是否覆盖源代码
- 黑盒测试:不用关注代码,只关注客户需求,功能是否实现
- 白盒测试:关注代码实现的细节
- 灰盒测试:既关注客户需求也关注技术的实现上
按照阶段划分
- 单元测试:对软件中最小的可测单元进行的测试
- 集成测试:在单元测试的基础上,对多个单元组装后的产物进行测试
- 系统测试:在集成测试的基础上,把软件看作一个整体进行测试
- 验收测试:也叫交付测试,以最终用户的角度确认软件是否符合预期
是否运行
- 静态测试:不运行代码做的测试(编写规范,命名规范等)
- 动态测试:代码运行起来的进行的测试
是否自动化
- 手工测试:依赖人去操作,靠眼去观察判断
- 自动化测试:利用工具和代码去测试
更多分类
- 冒烟测试:在大规模测试前,对基本功能,主要功能进行的测试,避免测试资源的浪费
- 回归测试:对BUG或者测试用例进行回归测试
- 随机测试:假设第一次接触软件进行随机测试,避免惯性思维
- 探索测试:同时做测试设计和测试执行,探索复杂场景,容易被忽略的场景
总结复习
软件测试分类小结
- 黑盒测试
- 白盒测试
- 灰盒测试
- 单元测试
- 集成测试
- 系统测试
- 验收测试
- 静态测试
- 动态测试
- 手工测试
- 自动化测试
- 冒烟测试
- 回归测试
- 随机测试
- 探索测试