基于风险的测试:包含优秀实践的综合指南(下)

发表于:2023-6-08 09:26

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:科技狠活与软件技术    来源:今日头条

  选择哪种基于风险的测试技术
  基于风险的方法中的软件测试技术取决于产品、过程和项目考虑因素。质量风险分析被整合到敏捷项目的每个冲刺早期,风险与用户故事跟踪一起被编目。测试工作量的精确估计对于成功的项目高潮是至关重要的。
  对于复杂的系统系统,需要对每个单独的系统和整个系统的系统进行风险分析。任务关键型或安全关键型项目在其基于风险的测试技术中需要更高级别的形式和文档。此方法可用于任何阶段,包括用户验收测试。
  有效的基于风险的测试的基本组成部分是适当的利益相关者团队参与风险识别和评估。这些利益相关者通常分为两类:业务利益相关者和技术利益相关者。每个利益相关者都对什么构成产品质量以及他们对质量的优先事项和关注点提出了独特的看法。
  基于风险的测试阶段
  基于风险的测试涉及一系列必须遵循的步骤才能成功测试软件应用程序。以下是详细说明的步骤:
  风险识别
  基于风险的测试的第一步涉及识别与软件应用程序相关的潜在风险。您可以通过多种方式识别风险。其中一些是
  ·专家访谈
  · 独立评估
  · 项目回顾
  · 风险研讨会
  · 清单
  · 头脑风暴会议
  · 过去的测试经验
  · 德尔福技术
  · 因果图
  · 根本原因分析
  在过去遇到过任何潜在风险的开发团队之间进行清晰的沟通至关重要。这将有助于了解软件应用程序开发中的脆弱区域,这可能会影响其功能和性能。除此之外,该团队还分析需求、设计规范和文档以识别潜在风险。
  风险登记册
  在此阶段,将维护一个风险电子表格,其中将已识别的风险进一步划分为称为风险分解的子风险。风险分解结构是按类别和子类别组织的已识别风险列表的分层表示。这有助于轻松识别、分析软件项目风险并将其传达给涉众。
  在电子表格中登记风险允许在整个软件开发过程中跟踪和监控风险。您可以确定风险易发区域,从而简化风险管理的资源和时间分配。
  这是风险分解结构的示例,如下图所示。通常它将风险分类为外部风险(与市场、法律和监管因素相关)和内部风险(与项目管理、技术和资源相关)。然而,除此之外,还考虑了与环境和安全因素相关的风险。此外,这些风险也被细分为特定风险,然后对其进行严格评估。
  风险评估
  当风险被识别和分类时,风险评估就开始了。然而,风险评估也可以与风险登记并行,以确定与每个风险相关的可能性和影响。在某些情况下,风险评估也发生在使用清单进行识别的过程中。
  在这里,风险再次被分类为适当的类型,如性能、可靠性等。一些组织使用 ISO 25000 质量特性进行分类。然而,许多其他人使用不同的分类方案。
  风险分析
  根据评估对潜在风险进行列表和分类后,使用定量和定性风险分析方法对其进行分析和筛选。但是,重要的是要了解影响风险可能性的因素和影响风险影响的因素。这是那些:
  影响风险可能性的因素:
  · 软件应用程序的复杂性。
  · 团队中的冲突。
  · 地理分布的团队。
  · 软件测试工具和技术。
  · 管理薄弱。
  · 高早期缺陷区域。
  · 缺乏早期质量保证活动。
  · 导致风险影响的因素:
  · 软件应用程序受影响功能的使用频率。
  · 业务损失。
  · 执照遗失。
  · 安全。
  · 名誉受损。
  风险分析的主要目的是区分高价值和低价值测试用例以分配优先级值。这涉及以下步骤:
  第 1 步:使用 3X3 网格
  在这种方法中,开发团队评估软件应用程序的每个功能和非功能以及相关的测试用例的可能性或失败以及失败的影响。
  每个功能失败的可能性由技术专家分析,并分为可能失败、很可能失败和不太可能失败。
  此类功能故障的影响被归类为轻微、可见和中断。
  第 2 步:失败的可能性和影响
  每个已识别风险的可能性和影响都经过评估,并被评为低、中或高可能性,以及轻微、中等或严重的影响。结果值将相应的测试用例定位在 3X3 网格上。
  要量化可能性和影响,请将这两个值相乘以计算风险优先级数。然而,在大多数情况下,风险水平也是定性分析的,涉及的技术是风险矩阵。这用于查找风险的概率和影响。
  优先级和风险评估矩阵:
  风险评级衡量风险的潜在影响,计算方法是将风险发生的概率乘以其后果的严重程度。该公式通常表示为
  风险等级 = 概率 x 严重性
  优先级和风险评估矩阵用于评估每个已识别风险的概率和严重性,也称为概率影响矩阵;该矩阵提供了对风险及其相应优先级的快速概览。
  模棱两可的情况的可能性和严重性相乘以衡量风险等级。概率是一个百分比,可以根据事件发生的可能性分为以下几类:
  · 频繁 (91 – 100%)
  · 可能 (61 – 90%)
  · 偶尔 (41 – 60%)
  · 远程 ( 11 – 40%)
  · 不太可能 (0 -10%)
  · 淘汰 (0%)
  严重性按 1 到 4 的等级进行评估,可根据事件的影响分为灾难性、严重性、边缘性或可忽略性。
  之后,应用生成的风险评级将风险分配给四个优先级类别之一:严重、高、中或低。这些优先级类别根据风险的严重性和概率绘制成图表,如下表所示。
  通过利用优先级和风险评估矩阵,软件开发团队可以迅速检测风险并确定风险的优先级,从而使他们能够将测试工作集中在软件最关键的区域。这确保了可能的问题在开发过程的早期得到解决,减少了缺陷或故障的可能性并提高了软件的整体质量。
  在评估每个测试用例的风险级别后,风险评估矩阵利用失败的概率和影响,将它们放置在 3x3 网格上以确定它们的优先级。这种方法可以识别高值和低值测试。
  第 3 步:测试优先级网格
  该方法涉及创建测试优先级网格,该网格基于步骤 #2 中概述的测试用例在 3X3 网格中的定位。
  根据第 2 步中指定的风险评级,对测试进行优先级排序并标记为优先级数字 1、2、3、4 和 5。具有最高风险评级的测试被分配为第一优先级并位于网格的右上角,而较低优先级的测试被赋予较高的编号。
  优先级编号对测试用例进行排序后,按照优先级高低依次执行。优先级最高的测试首先执行,因为它们给项目带来的风险最大。相反,较低优先级的测试可能会稍后执行,甚至在必要时删除。
  使用测试优先级网格,测试团队可以根据每个已识别风险的潜在影响对他们的测试工作进行优先排序,确保最重要的测试首先进行,并在开发过程的早期解决潜在风险。这种方法旨在提高软件的整体质量并降低出现缺陷或故障的可能性。
  第 4 步:测试详情
  在测试过程的第四阶段,重点是根据测试用例的优先级确定适当的测试详细程度。分配了更高优先级的测试(用值 1 表示)被视为“更彻底”,因此需要更全面的测试级别。为确保这些高优先级功能及其相关测试用例按照高标准进行测试,必须为任务分配熟练的测试人员。
  对优先级排名为 2、3 和 4 的测试用例采用相同的方法;但是,与具有更高优先级的案例相比,测试这些案例所涉及的详细程度可能会降低。最后,对于优先级为 5 的测试用例,可以根据可用的时间和资源决定取消这些功能和测试的范围。这意味着这些测试用例可能需要测试或接受最少的测试。
  风险应对计划
  它涉及彻底分析已识别的风险以确定是否有必要做出响应。风险负责人将评估是否需要在项目规划或监控阶段采取行动,或者是否可以无人看管。
  如果风险需要响应,风险负责人将评估各种选项,以最大限度地减少风险对项目的可能性和影响。这些选项包括调整项目计划以消除风险、分配额外资源以降低风险或修改测试策略以集中于受风险影响最大的项目区域。
  风险应对计划的主要目标是尽量减少风险对项目的影响,并确保项目在预期的时间和预算限制内成功完成。
  风险缓解
  风险缓解涉及采取措施降低风险的可能性和/或影响。可以通过消除风险或将风险降低到可接受的水平来实现。风险缓解旨在降低软件应用程序中这些风险造成任何潜在危害的可能性,并确保企业有足够的能力应对任何不可预见的情况。
  有很多方法可以降低风险。例如,组织可以实施安全协议、建立冗余系统、培训员工处理紧急情况或投资保险。通过采取这些措施,企业可以将潜在风险的影响降至最低,并阻止它们演变成重大困境。
  风险应急
  或有风险涉及具有不确定或不可预见影响的意外事件发生的可能性。应急计划,或行动计划或备份计划,是为最坏情况做好准备的计算措施。应急计划的目的是确定可以针对不可预测的事件采取哪些措施,例如自然灾害、网络攻击或供应链中断。
  风险监控
  风险监控和控制流程用于跟踪已识别的风险、监控剩余风险、检测新风险、评估变化、执行响应计划和监控风险触发因素。此步骤的主要目的是有效地管理整个软件项目和业务流程中的风险。
  在实施这些技术时,您可以使用多种风险监控技术和工具,如风险评估、风险审计、差异和趋势分析、追溯会议等;您将能够管理风险并确保准备好及时响应潜在问题。
  基于风险的测试方法
  基于风险的方法是一种综合策略,涉及审查项目的要求并根据每个要求的可能性和潜在影响评估风险。通过识别高风险区域和确定需求的优先级,该方法有助于确保首先测试风险最高的项目。这是通过使用风险登记册列出已识别的风险并执行风险分析以了解风险能力和容忍度来完成的。
  该方法涉及根据风险评级计划和设计测试。通过采用适当的测试方法和设计技术,最高风险的项目得到最密集的覆盖。为确保最大覆盖率,测试方法包含多种功能和端到端业务场景。
  此外,该方法采用同行评审和试运行来识别缺陷和降低风险。报告和分析结果,并为高暴露风险制定应急计划。该方法还涉及缺陷分析和预防、重新测试和回归测试,以根据预先计算的风险分析验证修复。高风险地区得到最密集的覆盖。
  定期风险监测和控制、剩余风险计算和风险状况的重新评估也是该方法的重要组成部分。必要时实施应急计划。该方法可用于每个级别的测试,并根据风险级别建立退出标准或完成标准。最终目标是确保通过适当的行动或应急计划解决所有关键风险,并确保风险暴露处于或低于项目可接受的水平。
  基于风险的系统测试方法
  在系统测试期间使用基于风险的方法来根据潜在的相关风险对系统关键组件的测试工作进行优先排序和解决。这种方法有助于检测系统中的任何风险并确定其发生的可能性以及对系统和用户的影响。它涉及三种不同的测试,解释如下:
  技术系统测试:涉及系统的环境和集成测试。这涉及在开发、测试和生产环境中测试系统。
  功能系统测试:它涉及对系统的特性、功能、模块和程序的测试。其主要目的是分析系统是否满足最终用户的要求。
  非功能性系统测试:它涉及测试非功能性需求性能、负载测试、压力测试、安全性、配置和文档。此测试有助于确保系统可以在真实场景中执行。
  基于风险的测试清单
  基于风险的测试是一个详尽的过程,侧重于关键功能和相关的潜在风险。在这个过程中,重要的是要评估软件应用程序是否经过了全面测试,并且没有遗漏任何潜在风险。为此,清单有助于确保软件测试的所有关键组件都经过测试。以下是一些需要考虑的要点:
  · 软件项目的关键功能。
  · 软件项目的最终用户可见功能。
  · 查找具有最大安全影响的任何功能。
  · 对用户财务影响最大的功能
  · 源代码和易错代码的高复杂区域。
  · 在开发周期的早期测试特性和功能。
  · 在最后一刻添加到产品设计中的特性和功能。
  · 测试软件项目的关键因素。
  · 测试软件项目的主要因素。
  · 糟糕的需求会导致糟糕的设计和测试,并影响软件项目的目标。
  · 会导致持续的客户服务投诉的问题。
  · 端到端测试可以轻松地关注系统的多种功能。
  · 可以最大化风险覆盖率的最佳测试集。
  · 具有最佳高风险覆盖率与所需时间比率的测试。
  基于风险的测试工具
  对于执行基于风险的测试,使用自动化测试工具总是有益的。它不仅简化了测试过程,而且提高了测试速度。以下是一些可用于基于风险的测试的工具:
  HipTest:这是测试管理工具之一,为开发和测试团队提供协作平台以执行基于风险的测试。HipTest 允许测试人员根据风险确定测试用例的优先级,并使用可视化报告跟踪测试进度。
  TestRail:这种类型的测试管理工具允许团队组织、跟踪和管理测试工作。提供的功能包括测试用例管理、测试运行调度和基于风险的优先级排序。
  Zephyr:允许支持实施基于风险的测试的敏捷测试方法。您可以轻松地根据风险和自定义报告对测试用例进行优先级排序,以跟踪测试进度。
  qTest:该工具使管理测试用例、跟踪基于风险的测试进度以及轻松确定测试工作的优先级变得容易。基于其功能,如与自动化工具的集成,有助于优化基于风险的测试方法。
  如何执行基于风险的测试?
  了解基于风险的测试的不同阶段和方法,了解成功执行它所涉及的步骤同样重要。这些是您可以遵循的运行基于风险的测试的步骤。
  第 1 步:应通过准备构成应用程序的主要组件列表并确定 10 到 15 项重要功能来评估风险。这些关键功能应标明风险级别、概率和影响。
  第 2 步:根据风险评估评估测试覆盖范围,以确定覆盖范围中的任何漏洞。建议高风险和中风险地区应有足够的检测覆盖率;否则,应优先考虑它们。
  第 3 步:与开发和产品管理团队互动,了解将纳入的关键功能及其可能的影响和风险级别。
  第 4 步:创建一个测试计划,将更多的测试资源分配给高风险区域。关键特性通常会给应用程序带来更大的风险,因此在测试过程中优先考虑它们很重要。
  第 5 步:随着程序的执行,将更好地了解所做的工作、改进与团队的沟通以及对测试计划的调整。在适当的时候,目标是在最小化风险的同时获得高水平的测试覆盖率。
  基于风险的测试指标
  基于风险的测试的主要目标是识别和减轻软件应用程序的高风险区域。在这个过程中,重要的是评估测试过程的有效性,这样我们就可以知道如何成功地减轻软件应用程序开发过程中已识别的风险。以下是一些已知的基于风险的测试指标:
  · 测试覆盖率
  · 缺陷密度
  · 测试用例有效性
  · 缺陷严重程度
  · 降低风险
  · 测试有效性
  · 缺陷泄漏
  · 质量成本
  · 缺陷识别效能
  · 测试执行覆盖率
  基于风险的测试报告
  测试报告准备是创建文档的过程,这些文档可以就基于风险的测试结果传达给项目涉众。准备一份测试报告以清楚地了解测试过程并将预先定义的测试目标与测试结果进行比较是必不可少的。基于风险的测试报告需要详细、有条理和简洁。
  以下是准备测试报告的步骤:
  · 确定报告的目的和受众:首先,您必须了解预期的目的和受众,以确定应包含哪些信息以及如何使用报告。
  · 定义测试范围:您必须清楚所执行测试的范围。这涉及测试类型、测试环境和被测试的系统/应用程序。
  · 描述测试范围:在这里,你必须描述正在使用的测试过程,包括测试方法、测试计划和测试用例。您必须包括在基于风险的测试过程中遇到的任何问题。
  · 展示结果: 你必须清晰简洁地展示测试结果。这涉及使用表格、图表和图形来可视化数据并突出测试的严重性和优先级。它还涉及有关计划与执行的测试用例数量、通过/失败的测试用例数量、已识别缺陷数量及其状态和严重程度、缺陷数量及其状态、关键缺陷数量(仍未解决)、环境停机时间的信息– 如果有的话,showstoppers – 如果有的话,测试覆盖率报告。
  · 提供建议:这涉及针对测试期间发现的缺陷给出建议。此类建议包括代码更改、测试计划更新和所需的任何其他测试。
  · 总结报告:通过总结主要发现和建议来总结报告。这也可能涉及测试过程中的任何教训,并表示在未来的测试工作中需要更多关注的任何领域。
  在基于风险的测试中要避免的错误
  有不同的方法来分析和评估基于上下文经历各种形式的软件应用程序中的风险。尽管如此,在基于风险的测试中仍存在一些应该避免的常见错误。其中一些如下:
  · 在软件开发生命周期结束时执行基于风险的测试。
  · 以错误的方式定义可接受的风险水平。
  · 忽略软件应用程序的高风险区域或组件。
  · 不关注可能影响软件应用程序未来性能的风险。
  · 在没有完全理解测试影响的经验或知识的情况下参与基于风险的测试。
  建议在软件开发生命周期的规划和开发阶段开始风险分析,以正确评估和开发有效的测试方法。
  基于风险的测试的挑战
  基于风险的测试是一种最大限度地提高测试效率的方法,但它也面临着一系列挑战。需要了解这些挑战,以便在执行基于风险的测试时可以解决这些挑战。这将帮助您确保不会遗漏软件应用程序的关键风险区域。以下是一些常见的挑战:
  缺乏适当的规划:这是可能导致在软件应用程序中错过有效风险分析的主要挑战之一。需要对软件应用程序及其相关风险有透彻的了解。
  难以识别风险:主要是在涉及多个要测试的组件的复杂软件应用程序中执行基于风险的测试时,会遇到这种挑战。因此,确定哪些组件应优先用于高风险级别可能具有挑战性。
  缺乏资源:在基于风险的测试中,需要大量资源,例如时间和预算。但是,由于优先级相互竞争,将其分配给测试具有挑战性。
  不完整的覆盖:由于基于风险的方法只涉及测试软件应用程序的关键组件,其他重要组件被留下来进行彻底测试,导致不完整的测试覆盖。
  缺乏一致性:基于风险的测试需要在整个组织内进行一致的实施。这可能具有挑战性,尤其是当不同的团队负责软件的其他领域时。
  基于风险的测试的最佳实践
  基于风险的测试是软件开发的一个重要方面,有几个最佳实践可以确保其成功:
  您应该在软件开发的规划阶段尽早识别任何关键风险,在这个阶段解决它们更容易且预算友好。
  协作在基于风险的过程中也很重要。这需要开发人员、测试人员和业务分析师等各种利益相关者的有效合作。它将有助于识别潜在风险和确定测试工作的优先级。
  您应该执行全面的风险评估,其中包括识别风险并评估它们对软件应用程序的影响。
  根据风险评估,测试工作应优先考虑软件应用程序的最关键组件。
  您可以使用测试自动化来支持基于风险的测试,方法是对软件应用程序的高风险区域进行自动化测试。
  您应该在整个开发生命周期中执行持续的风险评估。
  结论
  基于风险的测试是一种软件测试方法,它优先考虑软件或系统的关键功能。该策略旨在优化测试过程的效率和有效性,最终改善用户体验和高质量软件。
  在这种方法中,风险级别根据其优先级进行识别、评估、分析和缓解。这种策略减少了过度测试,从而优化了测试过程的效率。
  基于风险的方法需要参与软件项目的开发人员和测试人员等利益相关者之间进行有效的协作和沟通。当您将所有视图都纳入风险评估时,团队可以轻松确保潜在风险识别及其修复。
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号