When you creating the constraints, they are immediately compiled to test cases. The test cases contain one category with a choice for each category declared. Thus the test contains more inputs and sometimes outputs than the constraint. This is a clear advantage as acceptance criteria remain more understandable containing only relevant data with respect to a given requirement. In our example you can see that the bold parts are not in the constraints.
Card owner: card owner(I) =yes, book price(I) =49.99, price reduction(O) =10, total price(O) =44.99
Expensive: card owner(I) =no, book price(I) =50, price reduction(O) =10, total price(O) =45
Both: card owner(I) =yes, book price(I) =50, price reduction(O) =15, total price(O) =42.5
No reduction: book price(I) =49.99, card owner(I) =no, price reduction(O) =0, total price(O) =49.99
When you modify a constraint the test case will be modified immediately, thus you can validate it promptly. From these test cases you can generate manual test cases:
You can also generate executable test cases, however this step can be skipped as test cases can be executed immediately when an acceptance criterion is ready.
4Test generates the following executable test code:
There are special keywords to handle button pressing, validating the existence of a label, etc. For example, if we want to by and press button Pay, then it can be the following:
WHEN pay IS #pressed
And the generated code is
You can use the 4Test model-based testing tool, which has been invented to make test design more efficient. After registration, you will receive the link to the 4Test automated test design tool and user guide.
4Test-Plus is a disruptive test design automation and scriptless test automation tool based on an extended Gherkin language and test first method. Requirement engineering becomes transparent for all stake holders. 4Test-Plus enables real-time test automation and execution.