help.hexawise.com (Lessons Explaining How to Use Hexawise Features) Instructions for the Expert ➜ Guru AchievementsHow do I create a risk-based testing plan that focuses more coverage on higher priority areas?

How do I create a risk-based testing plan that focuses more coverage on higher priority areas?

This lesson describes how you can use Hexawise's Mixed-Strength interactions test generation feature to create risk-based tests.

Hexawise allows you to adjust testing coverage to focus more thorough coverage on selected, high-priority areas.  One straightforward risk-based testing technique is to simply enter a specific value multiple times in the "Define Inputs" screen. Entering "Male, Male, Female, Male" as Values, for example, would result in "Male" appearing three times as often as "Female."  A more powerful Risk-Based Testing strategy, generating Multi-Strength test sets, is described in the following example. The Multi-Strength feature can be helpful to use in many (if not most) of the plans you will create.

Hexawise allows you to adjust testing coverage to focus more thorough coverage on selected, high-priority areas.  One straightforward risk-based testing technique is to simply enter a specific value multiple times in the "Define Inputs" screen. Entering "Male, Male, Female, Male" as Values, for example, would result in "Male" appearing three times as often as "Female."  A more powerful Risk-Based Testing strategy, generating Multi-Strength test sets, is described in the following example. The Multi-Strength feature can be helpful to use in many (if not most) of the plans you will create.

Let's set the context and the problem we're trying to address. We have a mission-critical application that includes several large changes in this release. We've filled in our inputs for our System Under Test, and we see that a 2-way solution based on our test inputs would require 90 tests.

Let's set the context and the problem we're trying to address. We have a mission-critical application that includes several large changes in this release. We've filled in our inputs for our System Under Test, and we see that a 2-way solution based on our test inputs would require 90 tests.

Curious to see how many tests would be needed for a more thorough test plan, we generate a set of 3-way tests. Unfortunately, this more thorough solution requires more than 4 times as many tests.  Uggh!  We don't have enough time to execute all those.

Curious to see how many tests would be needed for a more thorough test plan, we generate a set of 3-way tests. Unfortunately, this more thorough solution requires more than 4 times as many tests.  Uggh!  We don't have enough time to execute all those.

When we analyze our test inputs, we determine that we want to devote more thorough testing to the sets of Values highlighed below. What we want to do now is generate a set of tests that will focus extra coverage on the high-priority sets of values below while still maintaining pairwise coverage for every Value in our plan.  Creating a Mixed-strength plan will allow us to do exactly that.

When we analyze our test inputs, we determine that we want to devote more thorough testing to the sets of Values highlighed below. What we want to do now is generate a set of tests that will focus extra coverage on the high-priority sets of values below while still maintaining pairwise coverage for every Value in our plan.  Creating a Mixed-strength plan will allow us to do exactly that.

To generate a risk-based set of tests, first select "Mixed-strength interactions" on the Create Tests screen...

To generate a risk-based set of tests, first select "Mixed-strength interactions" on the Create Tests screen...

Next, identify at least 3 columns of Values which you would like to receive extra thorough coverage, and click on "Reapply" to generate a new set of tests.

Next, identify at least 3 columns of Values which you would like to receive extra thorough coverage, and click on "Reapply" to generate a new set of tests.

As explained more below, selecting 3-way coverage for those 3 high priority columns of Values results in 120 tests that achieve comprehensive coverage for all of the Values in those 3 columns with one another AND ALSO achieves 2-way coverage of all the possible pairs of Values.

As explained more below, selecting 3-way coverage for those 3 high priority columns of Values results in 120 tests that achieve comprehensive coverage for all of the Values in those 3 columns with one another AND ALSO achieves 2-way coverage of all the possible pairs of Values.

Another way to look at the set of Risk Based Tests tests that we have just created is to imagine temporarily removing everything from our plan except for the Values from the high priority Parameters...

Another way to look at the set of Risk Based Tests tests that we have just created is to imagine temporarily removing everything from our plan except for the Values from the high priority Parameters...

Simple math tells us that to test every possible combination involving all of the 3 sets of high priority Values requires 4 x 10 x 3 = 120 tests.  All 120 of these 3-way combinations are included in the 120 Mixed Strength (AKA "Risk-Based Testing") tests that we created...

Simple math tells us that to test every possible combination involving all of the 3 sets of high priority Values requires 4 x 10 x 3 = 120 tests.  All 120 of these 3-way combinations are included in the 120 Mixed Strength (AKA "Risk-Based Testing") tests that we created...

In addition to achieving comprehensive 3-way coverage of the high priority Values we identified, the 120 Mixed-strength tests we created ALSO made sure that we tested every single pair of Values together in at least one test case.

In addition to achieving comprehensive 3-way coverage of the high priority Values we identified, the 120 Mixed-strength tests we created ALSO made sure that we tested every single pair of Values together in at least one test case.

Surprisingly, perhaps, the Hexawise test generation algorithm is able to achieve both of these objectives in only 120 tests.  As shown in the two screen shot images above, we can see that it takes 120 tests to achieve 3-way coverage of all of the possible combinations of the 3 sets of high priority values and that it takes 90 tests to achieve 2-way coverage of all of the Values in the plan.  In this example, the Hexawise test generation algorithm identified a way to combine both of these objectives into only 120 Risk-Based Tests.

Surprisingly, perhaps, the Hexawise test generation algorithm is able to achieve both of these objectives in only 120 tests.  As shown in the two screen shot images above, we can see that it takes 120 tests to achieve 3-way coverage of all of the possible combinations of the 3 sets of high priority values and that it takes 90 tests to achieve 2-way coverage of all of the Values in the plan.  In this example, the Hexawise test generation algorithm identified a way to combine both of these objectives into only 120 Risk-Based Tests.

In short, even after focusing additional thoroughness on our three highest priority sets of values, we generated a solution with only 120 Mixed-strength tests (vs more than 3 times that many in the unweighted 3-way coverage option).  We were able to focus the additional coverage where we wanted it without generating lots of additional tests that we do not have time to execute.