参考资料《软件测试技术》第二版
表格 1 五大测试类型
| 单元测试 | 集成测试 | 确认测试 | 系统测试 | 验收测试 | 备注 |
时间 | 1 | 2 | 3 | 4 | 5 | 数字越小越早 |
对象 | 实现具体功能的单元(一个模块或方法) | 通过了单元测试的各个模块所集成起来的组件 |
| 软件、计算机硬件、计算机操作人员等的整个系统 |
|
|
方法 | 白盒为主 | 灰盒 | 黑盒为主 | 黑盒 |
|
|
内容 | 一段代码 | 主要是各个单元模块之间的接口 |
| 整个系统的功能和性能 |
|
|
目的 | 验证开发人员所编写的代码是可以按照设想的方式执行的,并产生符合预期值的结果 | ①发现单元之间接口的错误, ②以及发现集成后的软件同软件概要设计说明不一致的地方,以便确保各个单元模块组合在一起后,能够达到软件概要设计说明的要求,协调一致的工作 | 检验所开发的软件能否满足所有功能和性能需求 | 通过与系统需求定义相比较之后发现软件与系统定义不符合或矛盾的地方。
确保软件产品能够被用户或者操作者接受。 |
|
|
角度 | 开发人员 | 测试人员 |
| 用户 | 用户 |
|
对应的设计阶段 | 详细设计 | 概要设计 |
| 需求定义 |
|
|
意义 | 单元测试创建简单,维护更容易,并且可以方便地进行重复。因为成本低、费用低。 |
|
|
| 把控软件产品质量的最后一关。 |
|
表格 2 静态测试和动态测试
测试分类 | 静态测试 | 动态测试 |
|
|
|
概念 | 一种不运行被测程序,而是通过其他手段达到测试目的的方法。 | 需要执行被测程序。 |
采用的方法 | 代码检查、代码走查(需要准备简单的测试用例)、桌面检查和同行评分。 | 黑盒测试,白盒测试。 |
分类 |
|
|
涉及的活动 |
|
|
测试的对象 | 各种规格说明、代码等文档 | 能够由计算机真正运行的被测程序。 |
表格 3 三大测试模型
测试模型分类 | V模型 | W模型 | H模型 |
特点 | V模型对瀑布模型进行了改进,把测试看作是一个同开发过程同样重要的过程。 V模型描述了一些不同的测试级别,并说明了这些级别所对应的生命周期中不同的阶段。 | 与V模型相比,在W模型中很容易就能够看出测试伴随着整个的软件开发周期,测试的对象不仅仅是程序还包括需求和设计。 | H模型揭示了 ①软件测试不仅仅指测试的执行,还包括很多其他活动 ②软件测试是一个独立的流程,贯穿产品的整个开发周期,与其他流程并发进行。 ③软件测试要尽早准备,尽早执行。 ④软件测试根据被测物的不同是分层次的,不同层次的测试活动可以是按照,某个次序先后进行的,但也可能是反复的。 |
适用场景 | 所有类型的开发过程,但是不一定适用于开发和测试过程的所有方面。 |
|
|
示意图 | 图 1 V模型示意图
图 2 W模型示意图
图 3 H模型示意图
|
表格 4 测试和调试的比较
| 测试(以白盒测试为例) | 调试 |
对象 | 程序 | 程序 |
目的 | 让被测应用可以正常安全地运行,都是保证软件质量过程的一个环节。 | 让被测应用可以正常安全地运行,都是保证软件质量过程的一个环节。 |
承担的任务 | 发现缺陷 | 纠正缺陷 |
结果 | 有预知的结果:通过或者不通过测试 | 消除项目中的错误 |
执行的过程 | 发现错误的迹象,没用错误定位,也不需要找出错误的原因。 | 根据测试报告的纪录,在软件测试后纠正错误的工作,包括确定错误位置和修改错误。 |
准备工作 | 从已知的条件开始,使用预先定义的程序。 | 从不可知的内部条件开始,做统一性测试。 |
计划性 | 有计划的进行测试设计 | 不受时间约束 |
执行人员 | 测试人员 | 开发人员 |
工具 | 测试工具 | 调试工具 |