软件测试是软件质量保证的关键步骤。越早发现软件中存在的问题,修复问题的成本就越低,软件质量也就越高,软件发布后的维护费用越低。
为了能更好的保障软件质量,在软件测试的实践中,慢慢形成了一些流程用来达到这一目标。下面就来介绍一下常见的测试流程。
传统测试流程
在传统的测试流程中包含了如图所示的步骤。
下面分别介绍下每一步流程的含义。
单元测试
单元测试是对软件中的基本组成单位进行的测试。目的是检验软件基本组成单位的正确性。
-
测试阶段:编码后
-
测试对象:最小模块
-
测试人员:开发
-
测试依据:代码、注释、详细设计文档
-
测试方法:白盒测试
集成测试
集成测试是在软件系统集成过程中所进行的测试。目的是检查软件模块之间的接口是否正确。
-
测试阶段:单元测试完成后
-
测试对象:模块间的接口
-
测试人员:开发
-
测试依据:单元测试模块、概要设计文档
-
测试方法:黑盒与白盒结合
冒烟测试
冒烟测试是在软件开发过程中的一种针对软件版本包的快速基本功能验证策略,是对软件基本功能进行确认验证的手段。
-
测试阶段:提测后
-
测试对象:整个系统
-
测试人员:测试
-
测试依据:冒烟测试用例
-
测试方法:黑盒测试(手工或自动化手段)
系统测试
系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等是否满足其规约所指定的要求。
-
测试阶段:冒烟测试通过后
-
测试对象:整个系统
-
测试人员:测试
-
测试依据:需求文档、测试方案、测试用例
-
测试方法:黑盒测试
一般系统的主要测试工作都集中系统测试阶段。根据不同的系统,所进行的测试种类也很多。
在系统测试中,又包括如下测试种类:
-
功能测试:功能测试是对产品的各功能进行验证,以检查是否满足需求的要求。
-
性能测试:性能测试是通过自动化测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
-
安全测试:安全测试检查系统对非法入侵的防范能力。
-
兼容测试:兼容性测试主要是测试系统在不同的软硬件环境下是否能够正常的运行。
验收测试
验收测试是部署软件之前的最后一个测试操作。验收测试的目的是确保软件准备就绪,向软件购买都展示该软件系统满足其用户的需求。
-
测试阶段:发布前