ISTQB AL-TA/TTA连载系列20:基于风险的测试,它的风险在哪里?

对于测试时间和测试资源有限的软件产品测试而言,基于风险的测试是一个比较好的选择,可以帮助测试人员更好地提高测试效率并提升对测试对象的信心。这种测试作为一种有效的软件测试方法,它自身又会面临各种挑战,它的风险又在哪里呢?本文将阐述基于风险的测试过程中经常面临的一些问题并根据实际情况给出的一些建议。

(1)测试风险分析自身的风险

基于风险的测试需要分析和评估测试中存在的风险,并根据得到的结果将测试对象按照不同优先级排列,首先测试最重要和优先级最高的部分。但是测试风险评估本身也可能存在偏差,导致测试人员和测试资源分配的不合理。更严重的情况可能是高优先级的测试对象被分析和评估为低优先级,甚至由于时间和成本的原因而没有测试。为了避免这种情况的出现,需要在测试风险分析和评估中采用如下一些方法。

°尽量召集各个方面的项目参与人员共同识别和分析测试风险,如项目经理、系统人员、开发人员、测试人员、实验室管理员和配置管理员等,以求测试风险的全面和准确。

°测试人员积极参与项目的各种评审,从项目管理、业务管理和用户角度深入分析和研究项目中可能存在的各个方面的风险。

°分析测试过程中发现的缺陷的来源。如果发现很多缺陷来自低优先级的测试对象,或者在这种对象中发现了严重的问题,那么需要重新分析和评估这部分测试对象的风险。

°对低风险的测试对象执行一些探索性测试,以判断风险分析和评估的正确性。

(2)完成测试之后的风险

如图9‑5所示,基于风险的测试可以加速提升对软件产品质量的信心。因此当时间、成本和资源等有限且在测试完成率为“可以发布”时,可能结束测试,而不是达到100%的测试完成率,测试完成率没有达到100%意味着低风险或优先级比较低的测试对象可能没有测试或完成测试。实际上这种情况也是存在风险的,需要进一步采取一些措施来减轻这方面的风险。

°在软件发布以后,测试团队在时间和资源允许的条件下,应该继续后续的测试。直到测试计划中的测试全部执行完毕,达到100%的测试完成率。

°将测试的软件产品和测试环境移交给软件产品的维护组,使其能够快速地定位和解决市场和用户反馈的问题和缺陷。

(3)基于风险的测试是管理人员的事情

在讨论基于风险的测试时,经常可以听到这样的言论:“这是管理人员的事情”,如根据产品风险对相关测试活动分配测试资源。实际上基于风险的测试不仅仅是管理人员的事情,测试分析、设计和执行人员在其中都有各自的职责。无论是风险识别和评估,还是制订和实施具体的风险应对措施都需要各方面人员的积极参与。

(4)风险列表不清晰

识别和分析风险可以有多种方法,测试过程中经常采用的是头脑风暴法,即测试经理召集测试团队成员和其他利益相关者开展风险识别活动。通过头脑风暴法,测试团队很快可以得到一个很长的风险列表。面对这样的一个风险列表,如何管理这些风险将是一个问题。例如,有的风险描述含糊不清,有些风险则冗余重复,因此较好的方法是将头脑风暴法和其他风险识别方法相结合。基于风险模板和基于质量特性的头脑风暴法可以为风险提供系统性的保障并避免风险的重复。

(5)项目成员不愿意谈论风险

开发人员在产品设计中运用了最新的技术,但是他们可能并不愿意承认新的技术中存在风险;用户可能也不愿意听到这个产品充满各种风险的消息;组织的律师可能会对产品的可靠性感到焦虑不安,因此让利益相关者公开讨论其中的风险比较困难。

当利益相关者不愿意讨论风险时测试经理可以采用另外的策略即讨论不同的选择方案。例如,选择测试的内容和深度,以及测试的重点和优先级等。尽管这些选择基于风险的分析和评估得出,但是风险被分析和评估的结果所代替,而不是直接讨论风险。

(6)风险级别难以达成一致

在风险分析过程中经常碰到的一个问题是风险分析团队成员很难对风险级别达成一致。有的认为当前估计的风险发生可能性过高,而有的认为可能性太低;对于风险的严重程度也会有截然不同的看法。这种情况常常会导致风险分析处于僵局的状态,从而降低了基于风险的测试的有效性。由于风险级别无法达成一致,所以会导致后续的测试工作量分配和测试优先级的计算处于不确定的状态。

可以通过不同方法解决风险级别难以达成一致的问题,首先,风险分析团队中最具有影响力的成员,如测试经理可以尝试确定最终的风险级别;其次,风险级别难以达成一致的深层次原因是对依赖于风险级别的测试工作量和优先级无法达成一致。此时可以询问争议双方是否可以在其他测试对象的风险级别做出折中,而让所有风险的总体级别更加符合双方的要求,从而得到所有成员均可接受的一个级别。

有时,在评估风险级别时出现不一致的情况源自众人看待风险的不同视野。例如,开发人员、测试人员和系统人员等会对某些类型缺陷的发生可能性有更强的洞察力,而技术支持人员和客户代表等对某些类型缺陷的严重程度更有发言权。通过有效的风险相关培训,可以较好地克服这个挑战,并且可以选择合适的利益相关者参加到风险评估过程中。

在风险级别无法达成一致时也可以将问题上报到上一级的管理层确定。由于这是风险评估过程中经常发生的一个挑战,因此应该在项目的初期由所有的利益相关者确定某个成员担当这样的角色。

(7)每个风险都有高的风险级别

在风险评估过程中风险评估团队也可能很容易对风险级别达成一致,因为每个成员均同意每个风险都具有高优先级,但是实际上就没有优先级了。这就损害了基于风险的测试的价值,因为在有限的测试资源和测试时间面前,测试人员将无法通过风险级别进行平衡。

所有项目的质量、进度和范围是不断变化的,需要在整个过程中合理平衡。因此在风险评估阶段,如果觉察到“一切风险都具有高优先级”这样的问题,则需要考虑,如果完全测试每个评估的风险,项目需要牺牲什么?例如,每个成员是否愿意延后发布一天、一星期,甚至一个月?或者项目是否愿意额外花费$10, 000、$100 ,000,甚至更多来如此处理?如果回答是否定的,则意味着并不是每个风险项都是高优先级的。


阅读更多
换一批

没有更多推荐了,返回首页