四、软件测试阶段
1.测试阶段划分
单元测试(Unit Testing)
集成测试(Integration Testing)
系统测试(System Testing)
验收测试(Acceptance Testing)
测试划分阶段单元测试
单元测试是针对软件基本组成单元函数内部的语句、条件分支来进行正确性检验的测试工作
单元测试的目的是检测软件模块对“LLD”(详细设计说明书)的符合程度
集成测试
集成测试是在单元测试的基础上,将所有模块按照概要设计要求组装成为子系统或系统,验证组装后功能以及模块间接口是否正确的测试工作。
集成测试的目的是检测软件模对“HLD”(概要设计说明书)的符合程度。
系统测试
系统测试是将已经集成好的软件系统,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行(使用)环境下,对计算机系统进行一系列的测试工作。
系统测试的目的在于通过与“SRS”(需求规格说明书)作比较,发现软件与系统需求定义不符合或与之矛盾的地方。
2.单元测试、集成测试和系统测试的比较
测试方法不同
单元测试属于白盒测试范畴
集成测试属于灰盒测试范畴
系统测试属于黑盒测试范畴
测试对象不同
单元测试主要测试单元内部的数据结构、逻辑控制、异常处理等。
集成测试主要测试模块之间的接口和接口数据传递关系,以及模块组合后的整体功能。
系统测试主要测试整个系统相对于需求的符合度。
判断标准不同
单元测试判断标准是LLD(详细设计说明书)
集成测试的判断标准是HLD(概要设计说明书)
系统测试的判断标准是SRS(软件需求规格说明书)
3.验收测试
在通过了内部系统测试及软件配置审查之后,就可以开始验收测试。
验收测试是以用户为主的测试,验收组应该由项目组成员、用户代表等组成。
验收测试原则上在用户所在地进行,但如经用户同意也可以在公司内模拟用户环境进行。
验收测试根据合同、《需求规格说明书》或《验收测试计划》对成品进行验收测试。
验收测试的结果有两种情况:
软件功能、性能等质量特性与用户的要求一致,软件可以接受。
软件功能、性能等质量特性与用户的要求有差距,不被用户接受。
验收测试主要分为:
α(ALPHA)测试
β(BETA)测试
UAT(User Acceptance Test)测试
α测试:
α 测试是由用户在开发环境下进行的测试,也可以是开发机构内部的用户在模拟实际操作环境下进行的测试
α测试时,软件在一个自然设置状态下使用。开发者坐在用户旁,随时记下错误情况和使用中的问题。这是在受控制的环境下进行的测试
α测试的目的主要是评价软件产品的FLURPS(即功能、局域化、可用性、可靠性、性能和技术支持
β测试:
β测试是由软件的用户在实际使用环境下进行的测试
与α测试不同的是,β测试时开发者通常不在测试现场。因而,β测试是在开发者无法控制的环境下进行的软件现场应用
UAT测试:
UAT测试即用户接受度测试。一般用于商业用户验收系统的可用性。
一般用于商业用户验证系统的可用性,通常情况由终端用户或利益相关方对被测试对象进行选择性功能验证。
也有可能根据法律法规、行业现行标准进行验收测试。