Skip to main content

UML Model Debugger

Testing

Testing is an important part of the software development process. We also work on the automatic test generator that together with the model debugger will provide a powerful toolset for model and application testing.

Testing toolset
Testing toolset

The following scenarios can be performed using this tool architecture (numbers correspond to the labels on the figure above).

Model debugging and test creation:

  1. Manual test creation. The test can be created and edited using forms and table based test editors.
  2. Model Debugging. In this scenario the model is validated dynamically. The execution of the model is simulated to discover defects and to understand how the modelled system behaves. Behavioural diagrams are visually animated. The user can interact with the executing model by sending stimuli (such as create objects, invoke operations, send signals) and by observing model's state (current state machine state, pending events, attribute values, etc.). During the debugging session the trace of the execution can be recorded in a form of a test for subsequent execution (see test execution scenarios 4 and 5). This is what we call assisted test creation.
  3. Automatic test generation. In this scenario a large number of tests are generated automatically by the test generator based on the provided test generation directives.

Test Execution:

  1. Model Testing. In this scenario the tests are executed on the model. This scenario is used in test-first modelling approach and for model regression testing.
  2. Model-driven testing of application. In this scenario the test is translated into concrete test execution environment and is executed on the application under test.