PragmaDev Tester supports TTCN-3
international standard testing language including syntax and semantic verification, simulation, code generation, debug, and graphical traces. A video introduction to TTCN-3 is available here.
The formal models can be simulated against their related test suites.
The implementation of the model can be tested against the implementation of the test suites.
Traces and breakpoints can be set within the model or within the test suites and stepping
is available on both sides because the bug might be in the model or in the test suite.
Tester Introduction and demonstration
Sample test suite
A TTCN-3 example test suite
The test verdict is displayed in the debugger window and in the graphical execution trace window.
Test verdict in an execution trace
The generated code architecture makes integration on target easy and straight forward.
Macros are used for messages going out of the test case, and a chained list of message queues is used for incoming messages.
Easy integration on target
PragmaDev Tester is part of PragmaDev Studio. PragmaDev Studio is free for small projects and education. Download it here.
A key aspect of modeling is to use the model as a mean of interaction with the different stakeholders. As a result the model can be seen as a reference and the different scenarios used to validate the model are by definition nominal test cases. PragmaDev Studio can automatically convert the simulation scenarios to test cases that can be used on a real tester against the real system.
TTCN-3 test suites can be used to test the model or its implementation on target.
Automatic testing can be executed on whole or a part of the model or its implementation.
TTCN-3 can be used for unit testing, integration testing, validation testing.
Model driven testing
Test cases can be generated automatically out of:
TTCN-3 automatic generation out of MSCs
At any time during a test session it is possible to view graphically the model coverage at
any architecture level. You can see how many times a transition has been fired, how many times a state has been reached,
and how many times a symbol has been executed.