软件测试分类
以下所有的内容初步了解即可,为以后的学习做铺垫。
文章目录
- 软件测试分类
-
- 1.按阶段划分
- 2.按运行代码划分
- 3.按软件特性划分
- 4.按测试技术划分
- 5.其他分类
- 6.总结
1.按阶段划分
按阶段可划分为单元测试(组件测试、模块测试)、集成测试(组装测试)、系统测试、验收测试。

-
单元测试
单元测试是对软件程序的最小单元进行的测试。所谓单元,需从实际定义去评判,Java中类可称为单元,C中函数可称为单元。这类测试的目的是检验单元的功能,健壮性,效率等,涉及到代码内部,所以主要是白盒测试,测试主体是开发工程师。
-
集成测试
集成测试又叫组装测试,通常是在单元的基础上,将所有的程序模块有序的,递增的测试。这类测试的目的是检验各单元之间的接口是否完善。这类测试是介于黑与白的测试,即灰盒测试(或者就叫接口测试),测试主体为开发工程师和测试工程师。
-
系统测试
系统测试即为模拟真实情况下系统运行情况的测试。这类测试的目的是检验系统功能,安全性,健壮性,效率等。这类测试主要是黑盒测试,测试主体为测试工程师。
-
验收测试
验收测试是验证功能需求是否真的可以工作,是否真的像用户需求的那样。这类测试主要是黑盒测试,测试的主体根据实际情况,或为开发软件团队,或为外包公司,或为需求提出方。
这里需要补充说明,集成测试之后可以有一步确认测试(又叫冒烟测试),一般不作为正式的测试环节,它的目的是检验需求是否符合需求说明书的要求,完成此步才能进入系统测试。
如何区别确认测试和验收测试呢认测试是按照需求说明书,确认功能是否完成。验收测试是看软件是否符合用户的预期。简单来说,确认测试就是按着本本一个一个打钩,验收测试是看用户是不是真的觉得你的软件符合他的品味。
如何去记过积木就可以记忆了,单元测试是看各个零件是否ok,集成测试是看各个零件是否真能拼出来一个小人,确认测试是看这个小人是不是真的像说明书那样,系统测试是把小人放在水里看是不是真的防水,验收测试是看小孩子是不是真的喜欢。
2.按运行代码划分
-
静态测试
不运行代码,只看程序和文档
-
动态测试
运行代码,检验是否符合规范。
3.按软件特性划分
- 功能测试
- 逻辑功能测试
- 界面测试
- 易用性测试
- 安装/卸载测试
- 兼容性测试
- …
- 性能测试
- 时间性能测试
- 空间性能测试
- 安全性测试
- …
4.按测试技术划分
- 黑盒测试(不涉及内部代码)
- 参见第3节功能测试
- 参见第3节性能测试
- …
- 白盒测试(涉及内部代码)
5.其他分类
-
回归测试
进行版本更细时,用以前版本的测试用例进行测试:
目的:
1.检验之前的版本的缺陷是否修复
2.确认修复这些缺陷没有引发新的缺陷
-
冒烟测试(确认测试)
非正式测试阶段的测试方法,在进行系统测试之前的一次检验功能是否按需求说明书那样完成。
-
随机测试
随机测试是有经验的人员不完全按着测试用例进行的测试,可以查看H模型的探索性测试。
6.总结
下面这个部分参考了千锋的课程小结,故摘抄如下(加粗代表侧重点)
单元测试 | 集成测试 | 确认测试 | 系统测试 | 验收测试 | |
---|---|---|---|---|---|
测试技术 | 黑盒 白盒 |
黑盒 白盒 |
黑盒 白盒 灰盒 |
黑盒 白盒 |
黑盒 白盒 |
代码运行 |
动态 静态 |
动态 静态 |
动态 静态 |
动态 静态 |
动态 静态 |
软件特性 | 功能 性能 安全 |
功能 性能 安全 |
功能 性能 安全 |
功能 性能 安全 |
功能 性能 安全 |
其他测试(出现) | 冒烟测试 | 回归测试 | 随机测试 |
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!