- 复习(理解万岁)
1.什么是软件测试?
验证软件是否满足用户的需求
2.软件测试和开发的区别?
(1)软件开发和软件测试中调试的区别
目的不同:软件测试的目的,测试人员根据需求判断软件是否满足用户需求
调试的目的,软件开发人员为了验证程序是否可以满足他想让程序实现的功能
角色不同:调试,开发人员 测试:测试人员,开发人员(单元测试) ,用户
阶段不同 :调试,软件开发的阶段
测试,整个软件开发的生命周期。
- 测试左移:需求前调研阶段和需求阶段,测试人员参加。
- 测试右移:产品上线后,系统监控,日志记录和分析。
3.一个测试人员所具备的素质?(为什么选择软件测试)
(1)兴趣(2)能力,沟通能力,编程能力,团队合作(3)责任感,发散性及逆向思维。
概念篇
软件测试的目的:验证软件有或没有问题 原则:以客户需求为中心,遵循软件测试的要求,规范,标准和流程
1.什么是需求?
eg:社交类app--朋友圈
用户需求:用户想让软件实现的功能 boss/实际用户(反馈和要求)公司的业务人员(针对公司的内部系统)
软件需求:用户需求的具体细化,是用户需求的具体实现细节,开发人员要根据软件需求进行开发
软件需求是用户需求转化而来的
软件开发中的需求:
需求就是满足用户期望或者合同规定的标准,规范。文档所需要的条件和权限。
水杯的测试用例
2.什么是bug?
(1)当软件需求规格(软件需求)存在并且合理,如果软件功能和软件需求不相符合,我们就说是软件错误(bug)
(2)当软件需求规格不存在的时候,用户需求存在并且合理 软件功能和用户需求不相符,就是软件错误(Bug)
3.什么是测试用例?
向被测试系统发起的一组集合,这组集合包括测试数据,步骤,测试平台,预期结果。
4.开发模型
(1)瀑布模型
优点:各个阶段比较独立,看重需求分析和软件测试
缺点:无法适应需求的变化,测试到编码后才介入,导致前期的缺陷无法及时发现,无法及时修正
适用项目:需求稳定的项目
(2)螺旋模型
使用的项目:前期需求不是很明确,并且有风险,项目比较庞大的系统开发
优点:强调软件质量;每一次迭代进行严格的风险分析,提供讨论项目是否有必要进行下去的机会
缺点:引入风险管理,会投入大量人力物力
(3)迭代,增量模型
一个系统的四个功能,A模块,B模块,C模块,D模块 ,两周时间
迭代模型:第一周开发人员完成ABCD四个模块基础功能, 第二周在基础功能之上进行细化和完善;
增量模型:第一周,完成AB模块,第二周,完成CD模块
迭代模型抗风险能力更强一些
(4)敏捷模型
轻文档,轻流程,重目标,重质量 拥抱变化,可以适应需求的变化 目标:交付一个高质量可用的软件