(一)软件测试的定义、目的
软件测试的目的,就是以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正各种错误和缺陷提高软件质量,避免软件发布后由于潜在的软件缺陷和错误造成的隐患所带来的商业风险。
(二)引起软件缺陷的原因
注意:
软件测试包括动态测试和静态检查两类方法,
测试的执行包括人工和自动化两类策略。
(三)什么是软件质量
软件产品中能满足给定需要的性质和特性的总体。
软件具有所期望的各种属性的组合程度。
顾客和用户觉得软件满足其综合期望的程度。
确定软件在使用中将满足顾客预期要求的程度。
将内部质量和外部质量统一为产品质量,并增加了两个属性:安全性、兼容性
软件缺陷
IEEE说:
从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题; 从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。
建议:
根据用户的意见和反馈执行测试; 依据需求规格说明书, 针对系统在有效输入及有效操作下的正常功能进行测试;
依据需求规格说明书的描述或个人经验,针对系统在异常情况或无效输入下的软件容错能力进行测试;
程序员应遵循良好的开发习惯,与用户和项目组成员及时沟通,避免植入无依据的软件缺陷;
需求分析阶段强调测试专家的介入,从测试的视角完善需求规格说明, 提高系统的外部环境容错能力。
(四)基本测试过程
(五)软件测试级别
测试类型
不同角度的测试分类
(1) 从测试阶段或对象的角度, 可以分为单元测试、集成测试、 系统测试和验收测试; (2) 从测试技术的角度, 可以分为黑盒测试、 白盒测试和灰盒测试;
(3) 从测试目标的角度, 可以分为更多的测试类型,包括回归测试、 功能测试、 性能测试、 Alpha测试、Beta测试、 压力测试、 负载测试、 安全性测试、 配置测试、 安装测试、 可用性测试、 可恢复性测试等。
(4) 从测试执行方式的角度, 可以分为手动测试、 自动化测试和半自动化测试。
测试方法和测试技术
静态测试技术
动态测试技术
- 基于规格说明的或黑盒测试技术
- 基于结构的或白盒技术
- 基于经验的软件测试技术
- 基于模型的软件测试技术