前言
验收测试(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)