All Collections
Hexawise Features
Constraints
How do I create an "Invalid Constraint" to prevent impossible-to-test-for Values from appearing together?
How do I create an "Invalid Constraint" to prevent impossible-to-test-for Values from appearing together?

Using the "Constraints" tab to create invalid pairs.

Conor Wolford avatar
Written by Conor Wolford
Updated over a week ago

Use the "Invalid Constraint" feature to prevent certain combinations of Values from appearing together in the same test case

In this example, Internet Explorer (IE) is not supported on Apple computers so it would be impossible for a tester to execute a test case that instructed them to launch IE from a Mac running on its native operating system. Accordingly, we do not want any tests generated by Hexawise to include combinations such as "OS X" and "IE10".

On the "Constraints" screen, you will need to click on two red X's. Hover over the first Value of the Invalid Constraint and click on the red X that appears

Find the second Value that can never appear together with the first one, hover over it, and click on the red X to create your "Invalid Constraint"

Once you have entered your Invalid Constraints, you will see them listed to the left

Problem solved!

After you enter these two Invalid Constraints, clicking on the "Scenarios" button will create a completely new set of test cases that excludes those two pairs of Values (and only those two pairs of Values). Each test with 'OS X' as the operating system will have a browser other than IE.

As you use the Invalid Constraint feature and the related Bound Constraint Feature keep in mind these usage tips:

Do you need to add a lot of Invalid Constraints?

  • Imagine you had an application that asked "Would you like to add a hotel to your travel reservation?" Any scenarios with "Do Not Add a Hotel" would require many, many different Invalid Constraints between things like "Do Not Add a Hotel" and "Hotel Chain Preference =  X". For situations like those, Hexawise's Bound Constraint feature will help you accomplish your constraint handling much faster.

  • If you have more than 10 or so Invalid Constraints (or Bound Constraints) in your model, you might find that it is faster to export it into Excel and document your paired values in Excel. If so, make sure to both (1) add multiple paired values in Hexawise before you export into Excel (so you can copy and paste the Hexawise formatting for Invalid Constraints and/or Bound Constraints), and (2) ensure that you use the exact spelling of Values (e.g., 'cutting and pasting' Values will usually be safer than typing)

Watch out for "Not Applicable" Values.

  • Do you need to add some of them to your model? Do you need to invalidate the combination of "Not Applicable" with other specific Values? (In the Bound Constraint explanation, for example, we would not want "Do Add a Hotel" to appear together with 'Hotel Chain Preference = Not Applicable')

  • Especially watch out for situations where you have multiple related "Not Applicable" values in a model. Would it make sense to create a "Bound Constraint" between 'Hotel Chain Preference = Not Applicable' and 'Type of Room' = Not Applicable'? In the Bound Constraint explanation, for example, it would make sense to add that Bound Constraint.

Did this answer your question?