How can I get every value to appear without increasing my tests?
This lesson describes how to use the 1-way interaction strength and when to use it.
Keywords: 1-way, one way, interaction
Let's set the context and the problem we're trying to address.
Let's say we are testing a mortgage application process. We know what needs to be tested for applicant details and loan details. As we begin collecting information on the property details, we realize there might be an issue. We provide mortgages in all 50 states. If we wanted pairwise coverage for all those states, our number of tests generated would be quite large, more than 150 tests.
Our Stakeholders have asked to have a test for every state. Our Subject Matter Experts have assured us that the business rules aren't tied to the state itself but type of property. Therefore, the state doesn't need to be tested with every other parameter. This is a great situation to use 1-way testing.
Determining the 1-way coverage we want
1-way coverage can be applied in two fashions:
- To every parameter
- To a specific parameter(s)
Let's look at both and see which fits the situation we are currently facing.
Option 1: Applying 1-way strength to every parameter
Just like selecting any coverage strength, select 1-way from the drop-down.
Hexawise will regenerate your tests for the 1-way interaction strength.
You'll get a warning about creating a 1-way test plan
Creating an entire test plan on the 1-way strength produces a warning dialog. One-way strength doesn't guarantee coverage of pairs or any other combination, so it's important to understand the implications of this interaction strength.
Make sure you really understand the implications of a 1-way test plan
Clicking "1-way interactions means..." will open a dialog box with an example of what 1-way strength means for your particular plan.
Back to our plan ... is a 1-way strength plan what we need?
With 1-way interaction strength, we have 50 tests. 50 tests for 50 states. So that requirement is checked off. But under closer inspection, we don't have property type paired with every value from every other parameter. This will not go over well with our subject matter experts and business stakeholders. So, while having a plan of all 1-way strength interactions could be appropriate, it is not for our mortgage example.
Option 2: Selectively applying 1-way strength in our plan
So, a 2-way plan creates too many tests. And a 1-way plan doesn't get the coverage we need to satisfy our requirements. Our next option is to create a mixed-strength plan that selectively applies our 1-way strength.
Applying 1-way with the Mixed-Strength feature
To selectively apply the 1-way interaction strength, we'll choose '1-way' from the dropdown located over our 'Location of Property' parameter. For this plan, we'll keep all of our other parameters at the 2-way interaction strength.
As we can see in the picture above, we have 50 tests. So we have one test for every state: requirement satisfied. And since we've left all the other parameters at the 2-way strength, Hexawise will guarantee pairwise (or two-way) coverage for those parameters: requirement satisfied. We've successfully created a test plan that includes the variation our business needs, gets coverage for our important parameters and does it all in an optimized test set.
For more on the mixed-strength feature, please read the help file located here.
What if we needed to have the states paired with every other parameter?
This example produced a test set that has a test for each state, but does not guarantee coverage of every state with every other parameter value. If we needed to have every state paired with every value, we could create a two-way plan. That plan will have a lot of tests. To overcome that issue, we might consider using equivalence classes with the Value Expansion feature.
I don't see the 1-way strength option...what gives?
If you don't see the '1-way' strength option, that is because you have not leveled up. Level up to Expert by completing the various Hexawise test design achievements. We hide this feature from those that have not proven their worth. Given the extreme implications of a plan created without proper knowledge of the 1-way strength, we reserve this advanced feature for only those on the path to test design nirvana.