WWW My Homepage


     Articles by category      Recent Articles         All articles   

Approach to Implementing Risk Based Testing

Kishore C.S.

Introduction

Motivated by articles on Risk based testing, I have attempted to implement this in my work and the following is my experience.

Also read my views on use of ‘Risk Based Testing’ in Software. Lack of risk strategies results in lost focus during a test project. Establishing this approach not only at project level but test case level enhances value of this approach.

 Approach

 The following is the pilot approach I have followed in implementation of Risk Based Testing. Initial stages of the project did not contain risk assessment and the test status was not clear. Realizing this the test cases were updated to include Risk and subsequent metrics generated out of the approach were much more meaningful for the project team.

 Step 1: Preparation of Test Cases

 After I was assigned the testing responsibility, I prepared the test plan identify the features to be covered. For each feature I detailed the test cases in the following format (Table 1)

 Table 1: Normal Test Cases

 

Test Case Steps

Expected Outcome

Status

Remarks

Last Status Date

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 These test cases were detailed out and reviewed by developers, peers and manager.

 Step 2: Normal Test Execution Results

 Once the test cases are executed the results are updated in the table. The status of the case is given as Pending, In Progress, Failed, Pass. Remarks column is used to add more information about the test execution. Status Date is also entered as and when status is updated.

 Using Excel Pivot Chart I created a summary table showing status of testing. Table 2 shows the test results summary.

Table 2: Test Results Summary

 

Status

No. Of Cases

Percentage

 

Failed

10

5.5

 

Pass

155

85.6

 

Pending

14

7.7

 

In Progress

2

1.2

 

TOTAL

181

100

 

 

This gave me a metric to communicate to my supervisor about how much testing is completed and how much is pending.

 Step 3: Introduction of Risk Factor

 But the project lead wanted to know how many critical cases have failed. It is at this point of time I put Risk Based Testing into practice

 I updated the Test Case Document to include Risk Column.

 I categorized Risks on 1 – 5 Scale (1 Low, 5 High). Failure of a risk 5 test case would mean the system is not acceptable. Risk 1 test case is a problem that needs to be resolved and is likely to inconvenience the user.

I updated the test case document by giving a risk for each test case.

Table 3 shows the test cases table after introduction of Risk

Table 3: Test Cases with Risk attached to each case.

Risk

Test Case Steps

Expected Outcome

Status

Remarks

Last Status Date

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 I created a new pivot table that gives me test case distribution by risk category. This helps me analyze that the testing is focused on high-risk areas. If the number of test cases in risks 3-5 forms at least 70-80% of my test cases, I can make an assumption that my test cases are good. If that is not the case, I may be testing unimportant aspects the software wasting time and energy.

 Table 4: Summary of Test Cases

 

Count of Test Case – Steps

 

 

Risk

Total

Percentage (%)

1

7

5

2

26

17

3

24

16

4

7

5

5

80

58

Grand Total

154

 

Step 4: Analyzing the new status

 And taking the status report based on test risk and status gave a matrix as shown below

 

Count of Test Case – Steps

Status

 

 

 

 

 

Risk

Failure

In Progress

Not Implemented

Pass

Pending

Grand Total

1

 

1

 

5

 

6

2

3

1

1

17

 

22

3

 

 

1

22

1

24

4

 

 

 

7

 

7

5

 

1

4

63

1

69

Grand Total

3

3

6

114

2

128

The above table reflects status of testing that there are no failures in High Risk Category and there are still some cases to be executed in high-risk category.

The above report acted as a very good metric to measure software quality and will be a key factor in making decisions related to software release.

Advantages of this approach

 -          Quantitative report of Software Risk that enables better decision making

-          Prioritization of Software Defects based on Risk

-          Focused approach on Critical User Requirements at testing stage resulting in easier acceptance of software by customer

Summary

 Implementation of Risk Based Testing starts with an understanding of the importance of the same. A pilot approach can be developed and implemented by any project. Templates and data developed can be applied to subsequent projects. Having a quality metric on a software projects gives a very good advantage for the project manager to make decisions. By reducing risks of the project the project can be a big success. Risk based testing approach eliminates ambiguity in status of test project and injects confidence into the process.