软件测试按照所做工作的不同,可以分为很多的方面,下面我们一起来看一下,一些常见的分类,如下图:
下面,我们就上面的分类进行详细的学习吧!
一、按开发阶段划分
1.单元测试(Unit Testing)
单元测试,又称模块测试。对软件的组成单位进行测试,其目的是检验软件基本组成单位的正确性。测试的对象的是软件你测试的最小单位:模块。
- 测试阶段:编码后或者编码前
- 测试对象:模块
- 测试人员:白盒测试工程师或开发人员
- 测试依据:代码和注释+详细文档
- 测试方法:白盒测试
- 测试内容:模块接口测试、局部数据测试、路径测试、错误处理测试、边界测试
补充说明:
(1)学习测试依据时,我们可以对比软件测试的“V”模型结合记忆
(2)白盒测试不是单元测试,单元测试是白盒测试
(3)测试驱动开发:测试人员先编写测试用例,开发人员根据测试用例写程序
2.集成测试(Integration Testing)
集成测试也称联合测试(联调)、组装测试:将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。集成主要目的是检查软件单位之间的接口是否正确。- 测试阶段:一般是单元测试之后
- 测试对象:模块间的接口
- 测试人员:白盒测试工程师或开发工程师
- 测试依据:单元测试的文档+概要设计文档
- 测试方法:黑盒测试与白盒测试(灰盒测试)
- 测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能的正确性、全局数据结构、单模块缺陷对系统的影响
补充说明:
单元测试是一个模块内部的测试,集成测试是在模块之间进行测试(至少两个)
3.系统测试(System Testing)
系统测试:将软件系统看成是一个系统的测试。包括对功能、性能以及软件所运行的软硬件环境进行测试。时间大部分在系统测试执行阶段,包括回归测试和冒烟测试。
- 测试阶段:集成测试阶段之后
- 测试对象:整个系统(软件、硬件)
- 测试人员:黑盒测试工程师
- 测试依据:需求规格说明文档
- 测试方法:黑盒测试
- 测试内容:功能、界面、可靠性、易用性、性能、兼容性、安全性等
补充说明:
(1)系统测试是从完整的角度,广