[概述]
测试过程中,是不是经常碰到各种问题:测试人员无法及时到位?分包商无法及时交付软件?软件团队交付的产品质量低下?这些都是项目风险,如何对这些风险进行有效的监控,将直接影响终的测试成败。
[正文]
当潜在问题影响项目成功时,那么这个潜在问题被称为项目风险。项目风险会对项目交付产品能力构成威胁,例如:项目的失败、项目的延期、项目成本的严重超支等。对于测试经理而言,他们常常需要识别相关的项目风险,并有效的对它们进行管理。下面是几种常见的测试项目风险:
● 测试环境和测试工具的准备情况;
● 测试人员是否及时到位,并且具备必要的技能;
● 质量低下的测试交付物,例如:测试自动化脚本;
● 测试范围或者测试对象范围定义的频繁变更;
● 供应商方面的风险,例如:测试团队采购的测试仪表不能及时到货,分包商无法及时交付产品;
● 测试团队在经验不足的情况下使用新的技术、工具、编程语言或方法;
● 其他的项目风险还包括:人员沟通问题,例如:测试人员或测试结果没有得到重视;或者是内部的政治斗争,例如:不同部门之间缺乏合作;
在测试过程的早期,测试团队需要制订相关的风险应对计划,甚至是应急计划来处理测试相关的项目风险。测试团队可以采用一些措施,来对风险进行管理。下面是针对某些测试项目风险,可以采用的一些应对措施:
1)测试的尽早介入
测试应该在软件开发生命周期的早期介入,从而保证测试团队更早的完成测试件的准备。这样可以保证测试对象交付之后,测试团队可以马上开始正式测试。另外,测试团队在软件开发生命周期的早期介入,可以将测试活动,例如:测试分析、测试设计和测试实现等作为静态测试的一种手段,从而可以在早期达到发现缺陷和预防缺陷的目的,避免某些缺陷在高级别的动态测试中才被发现。
假如在高级别测试过程中,例如:系统测试和验收测试,测试团队发现大量意想不到的缺陷,将会导致严重的项目延期风险。因此,测试的尽早介入,并在软件开发生命周期的早期进行积极的缺陷预防活动,可以有效的降低项目风险,这是尽早开展测试活动可以带来的重要收益。
2)测试环境的检查
测试团队在测试执行正式开始之前,应该检查测试环境,并保证测试环境可用。在测试环境检查过程中,可以实施另一项风险缓解活动:在正式的测试执行开始前测试早期版本。例如:测试团队在测试正式开始之前验证测试件和测试环境的有效性、测试对象的安装过程,以及其他可能的测试执行过程。假如在测试执行正式开始之后,才发现测试件的质量低下、测试环境无法达到测试执行的要求,将会导致测试执行的延期,从而导致项目的延期。
3)测试入口准则的定义
测试团队面临的一个重要挑战是开发团队经常延期交付测试的软件版本,从而导致测试团队测试执行的延期,或者测试团队在无法更改测试完成日期的情况下,处于过高的时间压力之下。测试团队定义更严格的入口准则,是避免由于测试团队的原因而导致项目延期的有效方法。当然制订严格的入口准则的目的不仅仅是为了保证测试团队的利益,通过这种方式也可以让开发团队认识到交付高质量软件的重要性,从而促进开发团队提交高质量的软件。
4)可测试性的要求
测试团队应该对规格说明中的可测试性问题进行仔细评审,并且提出更加方便测试人员开展测试的需求和要求。例如:在可能的情况下,可以要求开发团队将测试对象的某些输入框,修改为不可修改的下拉菜单(例如:输入框输入的是日期格式)。经过这样的修改之后,在保证软件功能的前提下,测试人员不需要对各种输入格式进行测试,从而可以大量的减少测试团队的测试工作量,并且可以更好的实现测试的自动化。
5)不断进行项目进度和质量监控
测试团队,至少测试经理应该积极参与整个项目的进度以及测试对象质量的监控。测试团队可以更早的参与软件工作产品的评审,例如:需求规格说明。根据在早期评审中发现的缺陷分布和缺陷类型,测试团队可以采取合适的措施和手段,对测试对象中的不同部分进行优先级的划分。另外,测试团队应该积极参与整个项目的缺陷和变更管理。