Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

In essence, Bound Constraints and Invalid Constraints perform similar tasks: they ensure that certain values only or never appear together - making all generated scenarios valid within the model scope. From a different point of view, Bound Constraints and Mutually Bound Constraints actually invalidate many values and Invalid Constraints bind many values, behind the scenes.


"Skip" constraints

"Skip" constraints are only available under the Advanced Mode which is enabled per request (toggle in the top left of the Constraints screen).

"Skip" constraints allow for certain parameters to be excluded from test cases when it is not appropriate for them to appear. It is a faster alternative to the "Not applicable" + Bound Pairs approach. However, as the feature is in the beta stage, please note that there are a couple open defects, specifically around the interaction of "Skip" constraints with the regular ones. So if you encounter any issues, feel free to reach out to Support or avoid skips for the time being.

How to Use Skip Constraints

For example, let’s use this plan below for a flight booking system:


Image Added


In this plan, only customers who are in First Class get in-flight dining. Coach and Business class customers do not get in-flight dining. Therefore, test cases with Coach and Business class customers should have no value for “Food Choice”.


First, navigate to Rules→ Constraints. Next, click the toggle to change to Advanced Mode – that is the only way to implement "Skip" constraints:

Image Added

Once in Advanced Mode, we use the following syntax for "Skip" constraints:

            Parameter[Parameter Value] >> Parameter(s) to be skipped

So for our example, the syntax is this:

Image Added


The ability to include multiple values in the same constraint is an aspect of the Advanced Mode that is not limited to "Skip" constraints.

Now, when we generate our test suite by navigating to Scenarios, any row that includes “Ticket Type” as “Coach” or "Business" will have no value for “Food Choice”:

Image Added


You can also skip multiple parameters that are listed next to each other in the Parameters screen. For example, let’s say that Coach customers now get no food, drink, or checked bag. Thus, they should have blanks for each of those parameters. Since we have those 3 sequentially in the table of parameters (refer to the model screenshot at the start of this article), we can use the following syntax:

          Parameter[Parameter Value] >> First Parameter to be skipped :: Last parameter to be skipped

The boundaries are inclusive, therefore, for our example, that looks like this:

Image Added


Now, when we generate our test suite by navigating to Scenarios, any rows with “Coach” for “Ticket Type” have no value for “Food Choice”, “Drink Choice”, or “Checked Bag”:


Image Added

The final component of "Skip" constraints is the ‘skip to end’ capability. In this case, we can tell DesignWise that for some parameters values, skip all parameters listed later (below) on the “Parameters” page.

So for our example, we could return to our Parameters page and reorder the elements so that “Food Choice”, “Drink Choice”, and “Checked Bag” are the last three parameters:

Image Added

Then, we use the syntax below to skip to end:

          Parameter[Parameter Value] >> First Parameter to be skipped::!!

For our example, that looks like this:

Image Added

Lastly, you can do a quick review of available options & syntax by clicking the “Usage” button in top-right section of the Advanced Mode:

Image Added