实施验收测试的常用策略包括三种:正式验收测试、非正式验收测试和 Beta 测试。这三种策 略各有其优缺点,在实际过程中可以根据需要选择不同的测试。选择策略时受双方合同、企业组织 的验收标准和系统所应用领域的影响。
正式验收测试 正式验收测试是一个严格管理的过程,其他测试过程与系统测试过程一致,需要设计相应的测 试计划、测试方案和测试用例,再执行验收测试,如果采用正式验收测试,那么其更像是系统测试 的延续。设计测试用例的方法有两种:一种是选择原系统测试过程中的部分测试用例作为验收测试 的测试用例;二是重新设计验收测试用例。不管是哪种设计测试用例方法,验收测试时都主要关注 核心业务和基本业务功能的验收。 正式验收测试的执行者可能有三种情况: (1)由最终用户组织相关测试团队进行验收测试,这种情况要求用户有专业的测试团队。 (2)开发商与最终用户共同组织相关测试团队进行验收测试。 (3)由最终用户选择第三方评测机构进行独立的、公正的验收测试。 正式验收测试形式的优点包括以下几点: (1)待验收测试对象的功能和特性是已知的、可确定的。 (2)测试过程是可以评测的,并且相关细节是已知的。 (3)正式测试过程中部分测试用例可以选择使用自动化测试的方式进行。 (4)正式验收测试支持回归测试。 (5)正式验收测试过程中,整个测试过程是可以度量和监控的。 (6)正式验收测试过程中,验收是否通过的标准是执行验收测试前就已经确定的。 正式验收测试形式的缺点包括以下几点: (1)正式验收测试相当于系统测试的延续,其要求大量的人力资源。 (2)这些测试可能是系统测试的再次实施。 (3)可能无法发现软件中由主观原因造成的缺陷,因为只查找预期要发现的缺陷。
非正式验收测试 正式验收测试最大的缺点是需要大量的人力资源,并且几乎对所有的测试用例再执行了一次, 相当于又做了一次回归测试。相对于正式验收测试,还有一种是非正式验收测试,它不像正式验收 测试那么严格,并不指定需要执行的测试用例,测试用例可以由执行测试的人员自己决定,并且也 不会制定相应的测试计划和测试方案。在实际验收测试过程中,根据项目的应用领域事先确定采用 正式还是非正式验收测试。 非正式测试虽然没有明确指定需要测试的测试用例,但是测试过程中还是会根据项目的实际情 况约束需要测试的主要功能。非正式测试更具主观性,一般由客户自己完成测试。 非正式验收测试的优点包括以下几点: (1)待测试的功能和特性都是已知的。 (2)可以对测试过程进行评测和监测。 (3)可接受性标准是已知的。 (4)与正式验收测试相比,可以发现更多由主观原因造成的缺陷。 非正式验收测试的缺点包括以下几点: (1)需求相关的测试资源和管理资源。 (2)无法控制所使用的测试用例。 (3)最终用户可能沿用系统工作的方式,并可能无法发现缺陷。 (4)最终用户可能专注于比较新系统与遗留系统,而不是专注于查找缺陷。 (5)用于验收测试的资源不受项目的控制,并且可能受到压缩。
Beta 测试 在上述三种验收测试策略中,Beta 测试需要的控制是最少的,它不需要准备验收测试计划和 测试用例,主要是由用户或潜在的用户进行,所以 Beta 测试的方法、测试用例、测试数据都由测 试人员自己准备。Beta 测试带有很强的主观性,不同的测试人员,其验收的、可接受的标准也有 所不同,即使同一个功能不同的用户也有着不同的理解,所以每个 Beta 测试人员测试的结果并不 一定是一致的,但 Beta 测试的结果可以帮助改进软件质量。Beta 测试不仅关注功能的使用,还关 注产品的可支持性,包括文档、用户培训和支持产品的生产能力。 Beta 测试的优点如下: (1)测试由最终用户或潜在用户实施。 (2)提高用户对参与人员的满意程度。 (3)与正式或非正式验收测试相比,可以发现更多由主观原因造成的缺陷。 (4)关注整个产品包的质量。 Beta 测试的缺点如下: (1)未对所有功能、特性进行测试。 (2)整个测试流程不受控制。 (3)最终用户可能沿用系统工作的方式,并可能没有发现或没有报告缺陷。 (4)最终用户可能专注于比较新系统与遗留系统,而不是专注于查找缺陷。 (5)用于验收测试的资源不受项目的控制,并且可能受到压缩。 (6)每个测试人员可接受的标准不一致。 (7)需要更多辅助性资源来管理 Beta 测试员。