基于风险的测试终极指南:软件测试中的风险管理(四)

How is RBT Relevant to Agile and DevOps?

RBT与敏捷和DevOps的关系?

Now, after understanding the Risk Based Testing approach of carrying out the testing based on the prioritization of tests depending upon the ‘Risk of Failure’ of a particular feature and its ‘Impact to Customer’ in live, obviously one would raise the question of the relevance of Risk Based Testing approach in Agile and DevOps Practices.

现在,了解了基于风险的测试方法,即根据特定功能的“失败风险”及“对客户的影响”的来判断测试的优先级,并根据优先级来执行测试。显然,有人会提出一个问题: 敏捷和DevOps实践,与基于风险的测试方法有怎么样的相关性。

‘Automate Everything’, ‘Test Everything’, ‘Test Continuously’, ‘Test Repeatedly’ are the key concepts of these practices.

“自动化一切”,“测试一切”,“连续性测试”,“反复测试”是这些实践的关键概念。

Each time, when there is a change in the code or there is a release, all the designed tests are run through the automated Continous integration(CI) / Continuous delivery(CD) pipeline quickly and repeatedly, irrespective of their prioritization.

每次,当代码发生变化或发布时,通过自动持续集成(CI)/持续交付(CD),所有设计的测试都会被快速、重复地执行,而不再考虑它们的优先级如何。

Then what is the relation between RBT and DevOps? Where would RBT fit in and become relevant in Agile and DevOps???

那么RBT和DevOps之间的关系是什么? 在哪里适合使用RBT,在哪里RBT变得和敏捷和DevOps相关?

              

                         基于风险的测试终极指南:软件测试中的风险管理(四)

#1) Yes, as I said earlier, it is not that every Industry and every product has 100% automation coverage for their test executions. So, if at all the team has to make the choice of prioritization for test execution from the choice of manual test cases and would like to spare the energy and effort of the test resources towards other activities, then RBT is the best choice.

#1)是的,正如我之前所说,并不是每个行业和每个产品的测试执行都有100%的自动化覆盖率。 因此,如果团队想从手动测试用例中选择测试执行的优先级,并希望将节省下来的测试资源和精力用于其他活动,那么RBT是最佳选择。

Risk based approach is also a better bet for running automated tests with high priority ones and testing at the earliest.

基于风险的方法,对于运行具有高优先级的自动化测试和尽早进行测试,也是一种比较好的选择。

#2) QA team can adopt RBT approach more effectively during the Requirement Analysis in analyzing the requirements and providing an advance report of the probable risks of the products and the features so that appropriate actions could be taken proactively by the program team to mitigate it.

#2)质量保证团队可以更有效地采用RBT方法来分析需求:分析需求点,提*品和功能潜在风险的评估报告,以便技术团队可以采取适当的措施来降低风险。

#3) RBT approach can be effectively used in designing the Test Cases and scenarios based on High risk so that more focus can be paid towards high-risk features and functionalities.

#3)RBT方法可以有效地用于设计基于高风险的测试下的测试用例和场景,从而让高风险特性和功能获得更多关注。

#4) Identifying the ‘High Risk’ areas enables the QA team to focus their Testing effort on those areas to test ‘More thoroughly’ using ‘High Skilled Testers’.

#4)识别“高风险”区域,能够让QA团队将测试工作集中在这些领域,以便使用“高技能测试人员”进行“更彻底”的测试。

#5) ‘Fail Fast’, as we all know is the concept of ‘Agile’ and ‘DevOps’, for which RBT approach helps to identify the ‘high risk’ areas in the software, identify the defects early and allow them to fail fast and fail first and let the team fix it.

#5)'快速失败',是'敏捷'和'DevOps'中众所周知的概念,RBT方法有助于识别软件中的“高风险”区域,及早识别缺陷,并使其快速失败、快速失败,从而让团队解决它。

#6) The ultimate goal of Agile/DevOps is ‘Customer focus’ and hence RBT approach enables the QA to focus on Customer experience than just finding Defects.

#6)Agile / DevOps的最终目标是“以客户为中心”,因此RBT方法使QA能够专注于客户体验而不仅仅是找到缺陷

                              

                                    基于风险的测试终极指南:软件测试中的风险管理(四)

Benefits of Risk Based Testing approach(基于风险的测试方法的好处)

We already understood the purpose and use of RBT approach of analyzing the requirements, designing and executing the testing scenarios. There are several benefits of RBT.

我们已经理解了RBT方法的目标和用途,即分析需求,设计和执行测试场景。 RBT还有几个好处。

We can consolidate and list the benefits of Risk Based Testing as:

我们可以整合并列出基于风险的测试的好处:

  • Helps in more efficient and optimized use of Test Resources.
  • 有助于更有效和优化地使用测试资源。
  • Helps in easing the QA work, Testing, Test Design & Development and Test Preparation activities by Prioritising.
  • 通过优先排序,有助于简化QA工作,测试,测试设计&开发以及测试准备活动。
  • Helps in better managing the QA resources by allocating the key resources towards high focus areas.
  • 通过将关键资源分配给高关注度领域,有助于更好地管理QA资源。
  • Helps in effective utilization of resources and diverts their time and energy on better things in the project.
  • 有助于有效利用资源,并将时间和精力转移到项目中更有价值的事情上。
  • Helps the QA team in planning the testing efforts based on the risk assessment and identification of volatile and high-risk areas.
  • 有助于QA团队根据风险评估,易变性和高风险区域来规划测试工作。
  • Helps the team to optimize the tests to be conducted depending on the importance and hence de-scope low-value tests in agreement with the stakeholders.
  • 帮助团队根据重要性来优化测试,从而缩小对利益相关者价值低的测试的范围。
  • Overall it helps in Cost reduction through optimized and reduced testing activities.
  • 总体而言,通过优化和减少测试活动,有助于降低成本
  • RBT approach enables the QA team to test the high-risk areas first and allows the product to ‘Fail fast’ and fix fast.
  • RBT方法使QA团队能够首先测试高风险区域,并允许产品“快速失败”和“快速修复”。
  • RBT approach helps in bringing a clarity in the ‘Test Coverage’ and the ‘Test Scope’ to the entire group of Stakeholders.
  • RBT方法有助于为整个利益相关者群体提供清晰的“测试覆盖率”和“测试范围”。
  • The team can increase their focus on High-risk areas and keep less focus on the low-risk area.
  • 团队可以将重点放在高风险领域,并减少对低风险领域的关注。
  • RBT allows the Team to decide well in advance on the implementation of a most effective way of mitigation for the product risks.
  • RBT允许团队提前做出决定,以实施最有效的产品风险预防方案。
  • RBT Helps in avoiding the effect of inappropriate implementation of mitigations.
  • RBT有助于避免不当预防措施带来的影响。
  • Risk based testing allows the team to take appropriate action either to mitigate or to plan for contingency or to position any workaround to overcome the failure or reduce its impact if the risk occurs in Live.
  • 基于风险的测试,如果风险实实在在发生了,允许团队采取适当的行动来减轻偶发事件的影响,或为偶发事件做计划,或定位到解决方法来克服失败或减少其影响。
  • RBT helps in minimizing the residual risk in the release.
  • RBT有助于最大限度地降低发布中的其他风险。
  • Helps in achieving the ‘Improved Quality’ through less costly defects in the production.
  • 通过控制生产中的成本较低的缺陷,有助于实现“高质量”。
  • Ultimately helps in ‘Improved customer experience’ and ‘Satisfied Customer’.
  • 最终有助于“改善客户体验”和“客户满意度”。

Next, we will learn how to manage risks at Test Planning and Test execution phases of Software Testing Life Cycle.

接下来,我们将学习如何控制在软件测试生命周期中测试计划和测试执行阶段的风险。