对于测试时间和测试资源有限的软件产品测试而言,基于风险的测试是一个比较好的选择,可以帮助测试人员更好地提高测试效率并提升对测试对象的信心。这种测试作为一种有效的软件测试方法,它自身又会面临各种挑战,它的风险又在哪里呢?本文将阐述基于风险的测试过程中经常面临的一些问题并根据实际情况给出的一些建议。
(1)测试风险分析自身的风险
基于风险的测试需要分析和评估测试中存在的风险,并根据得到的结果将测试对象按照不同优先级排列,首先测试最重要和优先级最高的部分。但是测试风险评估本身也可能存在偏差,导致测试人员和测试资源分配的不合理。更严重的情况可能是高优先级的测试对象被分析和评估为低优先级,甚至由于时间和成本的原因而没有测试。为了避免这种情况的出现,需要在测试风险分析和评估中采用如下一些方法。
°尽量召集各个方面的项目参与人员共同识别和分析测试风险,如项目经理、系统人员、开发人员、测试人员、实验室管理员和配置管理员等,以求测试风险的全面和准确。
°测试人员积极参与项目的各种评审,从项目管理、业务管理和用户角度深入分析和研究项目中可能存在的各个方面的风险。
°分析测试过程中发现的缺陷的来源。如果发现很多缺陷来自低优先级的测试对象,或者在这种对象中发现了严重的问题,那么需要重新分析和评估这部分测试对象的风险。
°对低风险的测试对象执行一些探索性测试,以判断风险分析和评估的正确性。
(2)完成测试之后的风险
如图9‑5所示,基于风险的测试可以加速提升对软件产品质量的信心。因此当时间、成本和资源等有限且在测试完成率为“可以发布”时,可能结束测试,而不是达到100%的测试完成率,测试完成率没有达到100%意味着低风险或优先级比较低的测试对象可能没有测试或完成测试。实际上这种情况也是存在风险的,需要进一步采取一些措施来减轻这方面的风险。
°在软件发布以后,测试团队在时间和资源允许的条件下,应该继续后续的测试。直到测试计划中的测试全部执行完毕,达到100%的测试完成率。
°将测试的软件产品和测试环境移交给软件产品的维护组,使其能够快速地定位和解决市场和用户反馈的问题和缺陷。
(3)基于风险的测试是管理人员的事情
在讨论基于风险的测试时,经常可以听到这样的言论:“这是管理人员的事情”,如根据产品风险对相关测试活动分配测试资源。实际上基于风险的测试不仅仅是管理人员的事情,测试分析、设计和执行人员在其中都有各自的职责。无论是风险识别和评估,还是制订和实施具体的风险应对措施都需要各方面人员的积极参与。
(4)风险列表不清晰
识别和分析风险可以有多种方法,测试过程中经常采用的是头脑风暴法,即测试经理召集测试团队成员和其他利益相关者开展风险识别活动。通过头脑风暴法,测试团队很快可以得到一个很长的风险列表。面对这样的一个风险列表,如何管理这些风险将是一个问题。例如,有的风险描述含糊不清,有些风险则冗余重复,因此较好的方法是将头脑风暴法和其他风险识别方法相结合。基于风险模板和基于质量特性的头脑风暴法可以为风险提供系统性的保障并避免风险的重复。
(5)项目成员不愿意谈论风险
开发人员在产品设计中运用了最新的技术,但是他们可能并不愿意承认新的技术中存在风险;用户可能也不愿意听到这个产品充满各种风险的消息;组织的律师可能会对产品的可靠性感到焦虑不安,因此让利益相关者公开讨论其中的风险比较困难。
当利益相关者不愿意讨论风险时测试经理可以采用另外的策略即讨论不同的选择方案。例如,选择测试的内容和深度,以及测试的重点和优先级等。尽管这些选择基于风险的分析和评估得出,但是风险被分析和评估的结果所代替,而不是直接讨论风险。
(6)风险级别难以达成一致
在风险分析过程中经常碰到的一个问题是风险分析团队成员很难对风险级别达成一致。有的认为当前估计的风险发生可能性过高,而有的认为可能性太低;对于风险的严重程度也会有截然不同的看法。这种情况常常会导致风险分析处于僵局的状态,从而降低了基于风险的测试的有效性。由于风险级别无法达成一致,所以会导致后续的测试工作量分配和测试优先级的计算处于不确定的状态。
可以通过不同方法解决风险级别难以达成一致的问题,首先,风险分析团队中最具有影响力的成员,如测试经理可以尝试确定最终的风险级别;其次,风险级别难以达成一致的深层次原因是对依赖于风险级别的测试工作量和优先级无法达成一致。此时可以询问争议双方是否可以在其他测试对象的风险级别做出折中,而让所有风险的总体级别更加符合双方的要求,从而得到所有成员均可接受的一个级别。
有时,在评估风险级别时出现不一致的情况源自众人看待风险的不同视野。例如,开发人员、测试人员和系统人员等会对某些类型缺陷的发生可能性有更强的洞察力,而技术支持人员和客户代表等对某些类型缺陷的严重程度更有发言权。通过有效的风险相关培训,可以较好地克服这个挑战,并且可以选择合适的利益相关者参加到风险评估过程中。
在风险级别无法达成一致时也可以将问题上报到上一级的管理层确定。由于这是风险评估过程中经常发生的一个挑战,因此应该在项目的初期由所有的利益相关者确定某个成员担当这样的角色。
(7)每个风险都有高的风险级别
在风险评估过程中风险评估团队也可能很容易对风险级别达成一致,因为每个成员均同意每个风险都具有高优先级,但是实际上就没有优先级了。这就损害了基于风险的测试的价值,因为在有限的测试资源和测试时间面前,测试人员将无法通过风险级别进行平衡。
所有项目的质量、进度和范围是不断变化的,需要在整个过程中合理平衡。因此在风险评估阶段,如果觉察到“一切风险都具有高优先级”这样的问题,则需要考虑,如果完全测试每个评估的风险,项目需要牺牲什么?例如,每个成员是否愿意延后发布一天、一星期,甚至一个月?或者项目是否愿意额外花费$10, 000、$100 ,000,甚至更多来如此处理?如果回答是否定的,则意味着并不是每个风险项都是高优先级的。
分享到:
相关推荐
ISTQB AL-TA(ISTQB高级测试分析员模块)主要是针对测试业务分析人员而设立的知识和实践。
本文件是ISTQB高级测试分析师(Advanced Level Tester)中文模拟题集,2012版,它是由ISTQB考题工作组的核心团队编写的,成员包括多位业界专家和资深测试人员。该模拟题集旨在为ISTQB成员委员会和考试委员会在编写...
- **测试技术分类**:按测试依据的不同将技术分为基于规格说明的测试(黑盒测试)、基于结构的技术(白盒测试)和基于经验的技术等。 - **选择测试技术**:根据项目特点选择合适的测试方法。 ##### 5. 测试管理 - ...
ISTQB(国际软件测试认证委员会)是全球范围内广泛认可的软件测试资格认证机构,它为专业人士提供了一系列层次分明、结构完善的测试认证体系。本压缩包文件聚焦于ISTQB的高级认证,包括测试经理(Test Manager, TM)...
在IT行业中,高级测试经理是负责确保软件质量的关键角色,他们需要具备全面的测试管理知识和技能。"ISTQB 高级水平测试经理大纲 chap02" 是一份针对这一角色的专业学习资料,涵盖了测试管理的核心内容。以下是大纲中...
ISTQB(国际软件测试资格认证板)的CTFL(Certified Tester Foundation Level)是软件测试领域最基础且广泛认可的认证之一。这个认证主要面向初次接触软件测试或希望提升测试知识的专业人士。"ISTQB-CTFL-1-测试概论...
- **基于风险的测试**: - **风险管理**:识别、评估和应对测试过程中的风险。 - **软件生命周期中的风险管理**:将风险管理贯穿于整个软件开发周期。 - **失效模式与影响分析**:一种用于预测潜在故障及其后果的...
根据提供的文档标题“ISTQB-2010-2011 500道模拟题答案”以及描述“Answers-to-500-ISTQB-Sample-Papers-2010-2011.pdf”,我们可以看出这是一份关于ISTQB认证考试的模拟试题答案集。ISTQB(国际软件测试资格认证...
国际软件测试资质认证委员会是国际唯一全面权威的软件测试资质认证机构,主要负责制订和推广国际通用资质认证框架,即“国际软件测试资质认证委员会推广的软件测试工程师认证”( ISTQB Certified Tester ) 项目。...
它延续了前两卷的主题——测试分析师(TA)与测试经理(TM),构建了一个全面的高级软件测试知识体系。虽然市面上已经有了更新版本的书籍,但该书因其经典性和完整性而备受推崇。 #### 二、作者简介 - **Rex Black...
### ISTQB软件测试初级认证大纲知识点解析 #### 一、ISTQB及认证概述 - **ISTQB**(International Software Testing Qualifications Board)是一家国际性的非营利组织,专注于软件测试领域的认证标准制定。 - **...
ISTQB(International Software Testing Qualifications Board)是一个国际性的软件测试资格认证组织,其认证被广泛认为是软件测试领域的权威认证之一。ISTQB的基础级认证主要面向初学者和有一定经验但希望获得正式...
- **定义**: 基于风险的测试是指根据项目风险优先级来设计和执行测试的方法。 - **应用场景**: 适用于所有类型的软件项目,尤其是在资源有限的情况下。 18. **Test Comparator (测试比较器)** - **定义**: 测试...
**认证测试工程师 人工智能测试大纲概述** ISTQB(国际软件测试认证委员会)推出的"CT-AI-1.0-CN-1.0"是专门针对人工智能测试的认证测试工程师大纲,旨在为专业人士提供全面的AI测试知识框架。此大纲涵盖了从人工...