DevOps creation

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:

SelectWindow( “Price reduction” );
SetValue( “card owner”, “yes” );
SetValue( “book price”, “49.99” );
VerifyValue( “, price reduction”, “10”);
VerifyValue( “, total price”, “44.99”);

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

ClickOn( “pay”);


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.


Select your option