测试过程策略

测试类型概述

按照软件测试的策略和过程分类,软件测试可分为:

  • 单元测试(Unit Testing)
  • 集成测试(Integration Testing)
  • 确认测试(Validation Testing)
  • 系统测试(System Testing)
  • 验收测试(Verification Testing)

单元测试

单元测试是针对每个单元的测试,是软件测试的最小单位。

  • 又称模块测试,是针对软件设计的最小单位——程序模块进行正确性检验的测试工作
  • 确保每个模块能正常工作
  • 多数使用白盒测试,用以发现内部错误

集成测试

集成测试是对已测试过的模块进行组装,进行集成测试的目的主要在于检验与软件设计相关的程序结构问题。

  • 将多个单元模块组合在一起实现多个功能
  • 保证模块与模块之间能互相访问
  • 集成方式包括:一次性集成方式、增殖式集成方式、混合增殖式测试
  • 一般通过黑盒测试方法来完成

系统测试

系统测试的主要任务是检测被测软件与系统的其他部分的协调性。

包括与以下系统元素的协调:

  • 计算机硬件
  • 外设
  • 某些支持软件
  • 数据
  • 人员等其它系统元素

确认测试

确认测试是检验所开发的软件能否满足所有功能和性能需求的最后手段。

  • 通常采用黑盒测试方法
  • 验证软件的功能和性能及其它特性是否与用户的要求一致

验收测试

验收测试是软件产品质量的最后一关。

  • 以用户为主的测试
  • 测试主要从用户的角度着手
  • 参与者主要是用户和少量的程序开发人员
  • 基于客户或最终用户的需求的最终测试
  • 或基于用户一段时间的使用后,看软件是否满足客户要求

Alpha测试和Beta测试

Alpha测试

  • 在公司内部系统开发接近完成时对软件的测试
  • 测试后仍然会有少量的设计变更
  • α测试时,开发者坐在用户旁边,随时记录用户发现的问题
  • 是验收测试的一种

Beta测试

  • 当开发和测试根本完成时所做的测试
  • 最终的错误和问题需要在最终发行前找到
  • β测试时开发者不在测试现场
  • 是在开发者无法控制的环境下进行的测试
  • 通常是由软件开发者向用户散发β版软件,然后收集用户的意见

测试过程策略总结

测试类型目的方法参与者
单元测试发现内部错误白盒测试开发人员
集成测试检验模块间协调黑盒测试开发人员/测试人员
系统测试检测系统协调性黑盒测试测试人员
确认测试验证功能性能需求黑盒测试测试人员
验收测试最终质量把关黑盒测试用户为主
Alpha测试早期缺陷发现-开发人员+用户
Beta测试真实环境测试-用户