1.软件测试分为:单元测试、集成测试、系统测试、验收测试
单元测试:针对功能独立的代码段或程序中的单个子程序进行测试;
集成测试:先通过单元模块组装成系统或子系统,再进行测试,主要测试模块之间的接口是否正确;
系统测试:针对整个产品系统进行测试,验证系统是否满足需求规格的定义,以及软件系统的正确性和性能是否满足需求规格的要求(功能、兼容、文档);
验收测试:部署软件前的最后一个测试阶段,目的在于确保软件准备就绪,内测,公测,不同人群发觉项目缺陷。
单元测试 | 单个子程序、功能独立的代码段 |
集成测试 | 模块(单元)之间的接口测试 |
系统测试 | 整个产品系统的功能、兼容性、文档、性能等是否满足需求 |
验收测试 | 确保软件就绪,让用户用其执行软件的既定功能和任务 |
2.软件测试还可分为:黑盒测试、灰盒测试、白盒测试
黑盒测试与白盒测试主要依据测试工作中对软件代码的可见程度进行划分;
黑盒测试:
指将被测试的软件看做一个黑盒子,不关注盒子内部的构造,只关注输入的数据和输出的结果;
- 只检查程序呈现给用户的功能是否按照需求规格说明书的规定正常使用、程序能否接受输入数据并产生正确地输出数据。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面及软件功能进行测试。
- 方法:等价类划分法 边界值分析法 错误推测法 因果图方法 判定表驱动分析方法 正交试验设计方法 功能图分析方法 场景设计法
白盒测试:
指将盒子打开,研究源代码及程序执行的结果
- 按照程序内部结构测试程序,检测产品内部动作是否按照设计规格说明书的规定正常运行,检验程序中的每条逻辑路径是否都按照预定要求正确工作。
- 语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。
灰盒测试:介于黑盒测试和白盒测试之间
- 既关注输出对于输入的正确性,也关注内部表现。但并不像白盒测试那样详细、完整,只通过一些表征性的现象、事件、标志判断内部运行状态。若每次都采用白盒测试效率会很低。