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

Risk Analysis Methodology(风险分析方法论)

Let us understand the ‘Risk based testing methodology’ in detail now.

现在让我们详细了解一下“基于风险测试的方法论”

The risk based testing approach uses RISK as the criteria at all test phases of the testing cycle, i.e., test planning, test design, test implementation, test execution and test reporting. Ideally, one can design a numerous number of possible test scenario combinations.

基于风险的测试方法使用RISK作为测试周期中所有测试阶段的标准,即测试计划,测试设计,测试实现,测试执行和测试报告。 理想情况下,可以设计大量可能的测试场景组合。

Hence, the RBT approach includes a ranking of the tests based on the risks severity to find out the most defective or risky area of failure, which causes high impact to the business.

因此,RBT方法包括根据风险程度进行的一系列测试优先级排序,以找出对业务产生很大影响、最可能有缺陷或风险最大的地方。

 

The main objective of Risk analysis is to distinguish between the ‘High value’ items like product features, functionalities, requirements, user stories, and test cases, and ‘Low Value’ ones and hence later to more focus on ‘High value’ Test Cases, by less focusing on ‘Low value’ Test Cases. This is the initial step of Risk analysis before starting the risk based testing.

风险分析的主要目标是区分“高价值”项目,如产品特性,功能,需求,用户故事和测试用例,以及“低价值”项目,因此后来更加关注具有“高价值”的测试用例 ,更少关注“低价值”的测试用例。 这是在开始基于风险的测试之前风险分析的第一步。

The main task of Categorization or grouping of Test Cases into High Value & Low Value and assigning the priority value to each of these test cases includes the following steps:

为了将测试用例分类,或将测试用例进行高价值和低价值分组,并将优先级值分配给每个测试用例,其主要任务包括以下步骤:

Step #1: Using a 3X3 grid

步骤#1:使用3X3网格

Risk analysis is performed using a 3X3 grid, where each functionality, non-functionality and its related Test cases are assessed by a team of stakeholders for its ‘Likelihood of failure’ and ‘Impact of failure’.

风险分析使用3X3网格进行,其中每个功能,非功能性及其相关测试用例由利益相关者团队评估其“失败的可能性”和“失败的影响”。

Likelihood of failure of each functionality in the production is generally accessed by a group of ‘Technical Experts’ and are categorized as ‘Likely to fail, quite likely and unlikely’ along the vertical axis of the grid.

产品中每个功能失败的可能性通常由一组“技术专家”评估,并且沿着网格的垂直轴被分类为“可能失败,很可能和不太可能”。

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

Similarly, the ‘Impact of failure’ of these features and functionalities in production is experienced by the end customer, if not tested is assessed by a group of Business Specialists” and are categorized under ‘Minor, Visible and Interruption’ categories along the horizontal axis of the grid.

类似,最终客户会体验到这些特征和功能在生产环境中的“失败的影响”,如果未经过测试,“失败的影响”则由一组“业务专家”进行评估,并按照网格的水平轴分类为“轻微,可见和中断”。                      

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

Step #2: Likelihood and Impact of failure

步骤#2:失败的可能性和影响

All the Test cases are positioned in the quadrants of the 3 X 3 grid based on the identified values of a likelihood of failure and impact of failure which are shown as dots in the picture below.

所有测试用例,都根据已经识别的失效可能性和失效影响,被定位在3×3网格的象限中,如下图所示。

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

Obviously high likelihood of failure and high impact of failure (interruption) are grouped in the top right corner of the grid, which is of high importance and hence it is identified that ‘High Value’ tests and ‘Low Value’ tests are grouped in the bottom left corner which is of least or no importance to the customer, where minor focus can be given to these features or test cases.

显然,失败的高可能性和失败的高影响(中断)被分组在网格的右上角,表示这是非常重要的,因此“高价值”测试和“低价值”测试被分组在网格的左下角,这表示对客户最不重要或不重要,可以对这些功能或测试用例进行少许关注即可。

Step #3: Testing Priority Grid

步骤#3:测试优先级网格

Based on the above positioning of the test cases in the grid, the tests are prioritized and labeled with priorities 1,2,3,4 and 5 and are marked against each of them. The most important tests are positioned in a 1st grid are assigned with priority 1 and similarly less important ones are ranked as 2, 3, 4 and 5.

基于测试用例在网格中的上述定位,这些测试被排序并用优先级1,2,3,4和5标记,即对每一项测试进行标记。 最重要的测试位于第一个网格中,优先级为1,同样不太重要的测试,优先级分别标记为2,3,4和5。

 

Finally, all the test cases are sorted based on their priority numbers and are picked up for execution in the order of priority. The high priority ones are picked up for execution first and low priority ones are either executed later or de-scoped.

最后,所有测试用例都根据其优先级进行排序,并按优先级顺序来执行。 首先执行的是高优先级的测试,然后低优先级的测试或被稍后执行,或缩小其执行范围。

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

Step #4: Details of Testing

步骤#4:测试细节

The next step is to decide on the level of details of testing for the defined scope of testing. The depth of scope of the testing can be decided based on the above ranking as per the below grid.

下一步是确定测试范围内的测试细节级别。 测试范围的深度可以根据以下网格的上述排序来确定。

High priority tests with ranking 1 are ‘More Thoroughly’ tested and accordingly, experts are deployed to test this high criticality features and its related Test Cases. Similarly test cases with priority 2, 3, and 4. A decision to de-scope priority 5 features and tests based on the available time and resources can be taken.

排名1的高优先级测试将“更彻底”被测试,因此,专家们被分配来测试这种高临界性功能及其相关的测试用例。 类似地,来执行优先级为2,3和4的测试用例。可以根据剩余时间和资源,来决定是否缩小优先级为5的功能和测试的范围。 

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

Hence, Level of Detail of Testing approach of prioritizing the features and its test cases not only helps the Testers to identify the ‘High Value Tests’ but also guides them to decide on their ‘detail level of testing’ based on these priority rankings and helps them to carry out better testing and reduces testing cost by optimization process.

因此,确定功能及其测试用例优先级的详细程度,不仅有助于测试人员识别“高价值测试”,还可以指导他们根据这些优先级排序确定他们的“测试详尽程度”,并帮助他们通过优化过程进行更好的测试并降低测试成本。