软件测试阶段之验收测试

前言

验收测试(Acceptance Testing)是由用户(或客户)进行确认是否可以接受一个系统的验证性测试。根据用户需求,业务流程进行正式测试以确保系统符合所有验收准则。

1 软件测试阶段之验收测试

1.1 什么是验收测试

验收测试(Acceptance Testing)是由用户(或客户)进行确认是否可以接受一个系统的验证性测试。根据用户需求,业务流程进行正式测试以确保系统符合所有验收准则。[与IEEE 610-致]。

(1)由系统用户参与,按照客户的期望进行测试;

(2)通过测试来验证系统在现有的技术背景下,是否满足客户显性和隐性的需求

(3)验收测试的目标是对系统或子系统建立信心,对系统非功能性的特性赢得信任。(发现缺陷已经不再是验收测试的主要目标)

(4)验收测试不一定是最后的测试阶段。例如,在验收测试后可能进行大规模的系统集成测试。

(5)在早期的测试阶段也可以执行部分的验收测试。

1.2 验收测试的分类

1.2.1 用户验收测试

用户验收测试(user acceptance testing)是由商业用户(最终使用系统的用户)验证系统的可用性

1.2.2 运行验收测试

运行(操作)验证测试是由系统管理员对系统的测试,包括:

(1)测试备份和恢复备份(backup/restore)

(2)灾难恢复测试

(3)用户管理测试

(4)维护任务测试

(5)安全漏洞阶段性检查

1.2.3 合约验收测试

合同验收测试(contract acceptance testing),是根据合同中规定的生产客户定制软件的验收准则,对软件进行测试。应该在合同拟定时定义验收准则。

1.2.4 法规验收测试

法规性验收测试(Regulation acceptance testing),是根据必须要遵守的法律法规来进行测试。比如政府、法律和安全方面的法律法规。

1.2.5 现场验收测试

现场验收测试(site acceptance testing)包括Alpha和Beta测试。测试目的是识别在未知的或非特指的应用环境下对系统的影响。

1.2.5.1 Alpha测试

Alpha测试(alpha testing),是潜在的客户/用户在开发场地进行的测试

1.2.5.2 Beta测试

Beta测试(beta testing),是由潜在客户/用户在他自己的环境下测试软件系统。例如,商务标准软件(Commercialoff the shelf software, COTS)