- 什么是软件测试?
验证软件是否满足用户的需求(以用户需求为主)
- 软件测试和研发的区别
目的不同:软件测试是检查软件的质量(以需求为标准)
软件调试是开发人员为了检查程序是否实现了想让程序实现的功能
人员不一样:软件测试 黑盒测试工程师 白盒测试工程师 开发人员(单元测试,或者白盒测试)
阶段不同:软件调试:只在开发阶段
软件测试:贯穿整个软件开发的生命周期
3.难易程度以及技能要求广度大,专业度低
接口测试 postman soupui Charles
抓包 fiddler Charles
模拟弱网工具 (性能测试)
自动化测试 java Python ruby unittest TstNG
安全测试 网络知识 Linux tomcat 数据库
4.一个优秀的软件测试人员该具备什么素质?(为什么要选软件测试)大的方向:兴趣、技能 责任感和压力
我喜欢
5.你既然懂那么多的开发知识,为什么还要选择软件测试?- 什么是需求
用户需求:用户想要软件实现功能 boss/实际用户的反馈和要求、业务人员(针对公司的内部系统)
软件需求:用户需求的具体化,是用户需求具体的实现细节,开发人员要根据软件需求进行软件开发
软件开发中的需求:需求就是满足用户的期望或者合同规定的标准,规范,文档所需的条件和权限
- 什么是bug?
a.当软件需求规格(软件需求)存在并且合理,如果软件功能和软件需求规格不相符合,就是软件错误(BUG)
b.当软件需求规格不存在时,用户需求存在并且合理,软件功能和用户需求不相符,就是软件错误(BUG)
- 什么是测试用例?
向被测试系统发起的一组集合,这组集合包括测试数据,测试步骤,测试平台,预期结果
1.测试数据
2.步骤
3.测试平台
4.预期结果
- 5种开发模型
-
瀑布模型
优点:各个阶段比较独立,看重需求分析和软件测试
缺点:无法适应需求的变化,测试到编码后才介入,导致前期的缺陷无法及时发现
适用项目:需求稳定的项目
-
螺旋模型
优点:强调软件质量,每一次迭代进行严格的风险分析,项目比较庞大的系统开发
缺点:引入风险管理,会投入大量人力物力
适用项目:前期需求不是很明确,并且有风险,项目比较庞大的系统开发
-
迭代、增量模型
一个系统的四个功能,A,B,C,D模块,两周时间完成
迭代模型:第一周开发人员完成ABCD四个模块基础功能,第二周,在基础上进行细化和完善
增量模型:第一周,完成A,B模块,第二周完成C,D模块
-
敏捷模型
轻文档,轻流程,重目标,重质量
拥抱变化,可以适应需求的变化
scrum流程:
PO,product owner 产品经理,把客户需求整理成user story,客户代表方
SM,scrum master 项目经理,负责保证整个敏捷流程的顺利实施
ST,scrum Team 研发团队,目标是交付一个高质量可用软件
scrum流程:
1.发布计划会议
2.迭代计划会议
3.开发过程中,每日站会
4.产品演示评审会
5.回顾会议



