成品测试阶段需要各团队协同作战,成品测试的案例必须是以前测试阶段测试过的案例,而不应该是新测试案例或对系统平台设置的测试。
由于成品测试的特性,成品测试案例在前期测试阶段占所有测试案例的5%~10%。成品测试的主要目是测试最终截止和包装有无缺陷,以保证客户拿到最终产品时能顺利安装,并使用我们提供的光盘;另一个测试目的则是保证产品在前期缺陷修复过程中,不会因代码改动而产生新的问题。
成品测试阶段有其独特的测试策略和解决方案:
在已存在的测试案例里挑5%~10%重要案例来重新测试以保障以前的代码改动没带来新的质量问题。所被挑选的回归测试案例尽量能够涵盖程序的主要功能,以确保程序的主框架没有由于前期代码改动而产生缺陷。
尽量不要在此阶段运行新的测试案例,用于保障成品测试能在合理时间内完成(一般为2~4周)并成功交付给客户或投放市场。
由于不同操作系统平台或数据库调用的安装程序和启动的包装有可能不同,所以在测试中各测试团队要协同作战,尽可能涵盖所有系统平台和数据库,以保障客户在不同系统上的正常应用。
所有测试都应基于DVD或DVD ISO文件安装的应用程序,严禁再用测试驱动来安装应用程序并进行测试。
由于成品测试是测试的最后一个环节,且周期很短,因此就要求代码改动要特别慎重,以防引起回归问题。成品测试阶段项目组一般要每天审核所发现缺陷并做缺陷综合分析,根据分析结果制定相应灭虫策略,有些缺陷可延缓到以后修复。对于要修复的缺陷,必须要有足够的回归测试,以保证代码改动没带来新的质量问题。
成品测试之后,需要把最终结果填写到质量检测报告中并通过最终审批,产品才能最终交付客户。质量检测报告是项目中需要完成并得到审批的一个重要文件,其中包括下面几个方面:
项目特征、产品用户体验、性能指标、产品试用版本计划。
质量预见性指标,包括评审指标、测试指标、项目退出指标、延缓缺陷指标、源代码分析指标。
在产品交付后,需要对项目做经验总结,同时各测试团队要对所有缺陷做最终缺陷分析,以此总结经验教训,以便在今后的项目中做出改进。不同测试类型会有不同的缺陷分析侧重点。一般包括缺陷有效性分析、缺陷严重性分析、不同功能上发现的缺陷分析、按修复时间分析、按缺陷类别分析、按操作系统或数据库分析、按可用性分析等。
缺陷分析应该贯穿整个项目测试过程,而不仅仅是在测试完成后。通过不断进行缺陷分析,来监控在开发和测试中是否存在问题和漏洞,并根据分析结果来调整测试范围和策略,防患于未然。