- 通常把编码和测试统称为实现。
- 编码:把软件设计结果翻译成用某种程序设计语言书写的程序。
1.软件测试基础
- 软件测试的目标:尽可能多地发现并排除软件中潜藏的错误,最终把一个高质量的软件系统交给用户使用
- 软件测试的定义:为了发现程序中的错误而执行程序的过程
- 软件测试的原则:
- 所有测试都应该能追溯到用户需求
- 尽早地和不断地进行软件测试
- 测试用例应该由测试输入数据和与之对应的预期输出结果两部分组成
- 程序设计者应避免测试自己的程序
- 测试用例应当包括合理的输入数据和不合理的输入数据
- 充分注意测试中的群集现象
- 严格执行测试计划,排除测试的随意性
- 对每个测试结果做全面检查
- 在测试程序时,不仅要检验程序是否做了该做的事,还有检验程序是否做了不该做的事
- 妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便
- 软件测试的方法:黑盒测试(检验功能)与白盒测试(内部结构与逻辑)
- 软件测试步骤:
- 单元测试:单元测试也称模块测试,是对软件最小单元的测试,也是对程序模块进行正确性检验的测试,其目的在于发现各模块内部可能存在的各种差错。测试重点:模块接口,局部数据结构,重要执行通路,出错处理通路,边界条件。
- 集成测试:也称组装测试,是在单元测试的基础上,将所有模块按照软件设计要求组装成执行子系统、功能子系统直至应用系统并进行测试的过程。有非渐增式组装测试方式和渐增式组装测试方式。
- 确认测试:确认测试进一步验证软件的有效性,即验证软件的功能、性能及其他特性是否与用户的要求一致。
- 系统测试:系统测试是将通过确认测试的软件,作为基于整个计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行—系列的组装测试和确认测试。
- 软件测试的信息流:①软件配置,包括需求说明书、设计计划书和源程序清单等②测试配置,包括测试计划和测试方案。
2.黑盒测试
- 把程序看成一个不透明的“黑盒子”,测试时完全不考虑程序的内部结构和处理过程,只按照规格说明书所规定的功能来设计测试用例,也就是检查程序是否符合它的功能需求。
- 等价类划分法
- 边界值法
- 错误推断法
- 因果图法
- 决策表法
- 场景法
- 正交实验法
3.白盒测试
- 白盒测试是把程序看成一个透明的盒子,测试人员完全了解的内部结构和处理过程,测试时根据程序的内部逻辑来设计测试用例,即检验程序中的每条路径是否都能按照预定的要求正确工作。
- 语句覆盖
- 判定覆盖
- 条件覆盖
- 判定/条件覆盖
- 条件组合覆盖
- 路径覆盖
- 基本路径测试
- 条件测试
- 循环测试
4.调试
- 目的:调试的目的是根据测试时发现的错误,找出错误的原因和具体位置,并且改正错误,因此,调试也称为纠错或排错。
- 步骤:①确定错误位置②研究、分析错误原因③修改设计和代码,排除错误④重复测试,确认错误被排除以及是否引进新的错误⑤纠错审核
- 调试技术:强行排错,回溯法排错,演绎法排错,归纳法,对分法
- 调试原则:查错原则,排错原则
5.软件可靠性
- 定义:软件可靠性是程序在给定时间间隔内,按照规格说明书的规定成功地运行的概率。可靠性随着给定的时间间隔的加大而减少。
- 软件可用性定义:是程序在给定的时间点,按照规格说明书的规定,成功地运行的概率。