How can I maximize variation without increasing the number of my tests?

If your Hexawise plan includes a long lists of Values, you are in danger of generating many more tests than you might need. The Value Expansions feature can dramatically reduce the number of tests that Hexawise generates in these situations.To demonstrate how this works, let's consider several possible test design approaches for a automobile rental application. If there are 45 vehicle models spread across 9 vehicle categories, how many values should you enter into Hexawise? Let's examine three different approaches to this test design decision.

If your Hexawise plan includes a long lists of Values, you are in danger of generating many more tests than you might need. The Value Expansions feature can dramatically reduce the number of tests that Hexawise generates in these situations.To demonstrate how this works, let's consider several possible test design approaches for a automobile rental application. If there are 45 vehicle models spread across 9 vehicle categories, how many values should you enter into Hexawise?  Let's examine three different approaches to this test design decision.

First, let's consider what happens if we enter all 45 vehicle models as individual values.

First, let's consider what happens if we enter all 45 vehicle models as individual values.

If we use 45 different specific car types as our Values in this example, we would need 450 tests to achieve pairwise coverage. That's a lot of tests!

If we use 45 different specific car types as our Values in this example, we would need 450 tests to achieve pairwise coverage.  That's a lot of tests!

We want to create a smaller set of tests that will take less time to execute. So let's try an alternative approach to identifying the Values that we enter into Hexawise...

So let's redefine our Values and see what happens when we use only 9 Values to describe the different categories of cars:

So let's redefine our Values and see what happens when we use only 9 Values to describe the different categories of cars:

Hey, cool! With this second approach, if we use 9 general car categories as our Values in this example, we would need only 90 tests to achieve pairwise coverage.

Hey, cool!  With this second approach, if we use 9 general car categories as our Values in this example, we would need only 90 tests to achieve pairwise coverage.

Executing 360 fewer tests would be great, but do you see a possible problem here?

Executing 360 fewer tests would be great, but do you see a possible problem here?

One problem with this second approach is that it could lead a tester to introduce wasteful repetition into those 90 tests. Every single time the tester was asked to select a luxury car, for example, the tester might select a Porsche 911.

One problem with this second approach is that it could lead a tester to introduce wasteful repetition into those 90 tests.  Every single time the tester was asked to select a luxury car, for example, the tester might select a Porsche 911.

Using Hexawise's Value Expansion feature will eliminate that risk. \ Instead of taking the risk that a tester might select Porsche 911 every single time a luxury car is specified in a test (and thereby repeat himself again and again), the tester executing tests will be prompted to execute a new and different model of luxury car which will be more effective at uncovering defects than testing the same thing repeatedly. By maximizing variation and minimizing repetition, the Value Expansions feature helps testers cover as much as possible in as few test cases as possible.

Let's now use a third strategy: utilizing Hexawise's Value Expansion feature. On the "Define Inputs" screen, click on the "Create New Value Expansion" link.

Let's now use a third strategy: utilizing Hexawise's Value Expansion feature.  On the "Define Inputs" screen, click on the "Create New Value Expansion" link.

As soon as you start to type one of the Values in your plan, you will be prompted with one or more options. Select the Value you would like to add your Value Expansion choices to.

As soon as you start to type one of the Values in your plan, you will be prompted with one or more options. Select the Value you would like to add your Value Expansion choices to.

Add the Value Expansions and click on the "Create" button to save them.

Add the Value Expansions and click on the "Create" button to save them.

If you would like each of these 5 "sub-values" to appear in your test scripts with equal weighting (e.g., have BMW 5 Series appear in approximately as many test cases as Porsche 911 would appear in), the "Use evenly" option is already set for you by default.

If you would rather have the sub-values that you put towards the top of your list appear more frequently in your tests than the sub-values towards the end of your list, select "Bias initial values" option.

Using the Value Expansions feature has a couple powerful advantages over the other options. Compared to using 45 individual Values, this approach has 360 fewer tests to execute. And compared to using the 9 categories of vehicles as your Values, these test cases generated with the Value Expansions feature are: (a) more specific, (b) more varied, and (c) achieve more coverage.

Using the Value Expansions feature has a couple powerful advantages over the other options.  Compared to using 45 individual Values, this approach has 360 fewer tests to execute.  And compared to using the 9 categories of vehicles as your Values, these test cases generated with the Value Expansions feature are: (a) more specific, (b) more varied, and (c) achieve more coverage.

A Caveat on Value Expansions

Value expansions are a great way to get additional variation in your tests without sacrificing the number of tests.

(And here comes the but...)

But not all value expansions are guaranteed to be included in your tests.

If you have a value with 10 value expansions. And you generate a set of tests that has maybe 20 tests. Clearly that value will only show up a few times of that 20, let's say 5 times. Of those 5 times, only half of the value expansions will be covered. And if you 'bias' the values, even fewer still. 

Luckily, our plan scorecard will alert you to this as shown below.

A Caveat on Value Expansions