文章目录
一、软件测试的分类
(一)按照开发阶段划分
单元测试
- 单元测试又称模块测试,是针对软件设计的最小单位----程序模块进行正确性检验的测试工作。
- 其目的在于检查每个程序单元能否正确实现详细设计说明中的模块功能、性能、接口和设计约束等要求,发现各个模块内部可能存在的各种错误。
- 单元测试需要从程序的内部结构出发设计测试用例。
- 多个模块可以平行地独立进行单元测试。
- 单元测试一般要读程序和代码,大多数时候,单元测试都是由开发人员自己去完成(交叉)(但一般不认为是做测试)
集成测试
- 集成测试也叫做组装测试;
- 通常在单元测试的基础上,将所有的程序模块进行有序的、递增的测试;
- 集成测试是检验程序单元或部件的接口关系,逐步集成为符合概要设计要求的程序部件或整个系统
- 集成测试比较多的涉及到接口测试;企业非常需要接口测试工程师,它是一个持续不断的过程。
确认测试
- 确认测试也叫有效性测试;一般都是正向的测试;
- 是在模拟的环境下,验证软件的所有功能和性能以及其他特性是否与用户的预期要求一致;
- 通过了确认测试之后的软件,才具备了进入系统测试阶段的资质;
- 确认测试又称冒烟测试,一般不作为正式的测试环节或测试阶段
系统测试
- 系统测试是在真实的系统运行的环境下,检查完整的程序系统能否和系统(包括硬件、外设、网络和系统软件、支持平台等)正确配置、连接,并最终满足用户的所有需求;
- 系统测试是全面(系统所有功能的测试)的,模拟所有的软件用户的操作;
- 系统测试是全方位的:和硬件系统的联系;和系统软件的联系;和其他软件的关系
验收测试
- 是软件产品检验的最后一个环节;
- 按照项目任务书或合同、供需双方约定的验收依据文档进行的对整个系统的测试与评审,决定是否接收或拒收系统;
- 验收测试一般由供求双方达成的;
- 一般有三种验收测试的主体:
- α测试:软件开发商自己进行的交付前的测试;
- β测试:软件的需求方自己进行的测试
- γ测试:第三方的软件测试
- 三个验收测试主体的关系如下:
(二)按照测试技术划分
黑盒测试【在软件的表层进行操作测试】
- 通过软件的外部表现来发现其缺陷和错误;
- 黑盒测试法把测试对象看成一个黑盒子,完全不考虑程序内部结构和处理过程;
- 黑盒测试是在程序界面处进行测试,它只是检查程序是否按照需求规格说明书的规定正常实现。
白盒测试【比如说查看源代码,能够看到代码是怎么写的】
- 通过对程序内部结构的分析、检测来寻找问题;
- 白盒测试可以把程序看成装在一个透明的盒子里,检查是否所有的结构及路径都是正确的,检查软件内部动作是否按照设计说明的规定正常进行;
- 白盒测试又称结构测试
- 白盒测试需要能看懂代码,能懂算法
灰盒测试
- 介于白盒测试和黑盒测试之间的测试;
- 灰盒测试关注输出对于输入的正确性;
- 同时也关注内部表现,但这种关注不像黑盒测试那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态。