Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
tutorial:debugging [2020/07/19 15:03]
admin
tutorial:debugging [2020/07/19 16:11]
admin [Debugging test generation]
Line 14: Line 14:
   * debug run mode - interactively stepping through model execution   * debug run mode - interactively stepping through model execution
   * play run mode - visualize model execution with ability to pause   * play run mode - visualize model execution with ability to pause
-  * [[../monitor | Execution Monitor]] - console to interrogate model during execution+  * [[../ide_monitor | Execution Monitor]] - console to interrogate model during execution
   * graphs - helpful for debugging test sequence issues   * graphs - helpful for debugging test sequence issues
   * logging - log messages to model log or Server Log   * logging - log messages to model log or Server Log
Line 20: Line 20:
  
 ===== Debugging test generation ===== ===== Debugging test generation =====
 +Debugging issues with test generation will require knowledge on the sequencer used. If you need a refreshing course on the sequencer works, check out [[../sequencers | Sequencers]].
 +
 +The first thing that you need is to identify the sequencer being used and the error message that may be displayed.
 +
 +The sequencer used is shown on application toolbar on the upper-left corner of the IDE.  Make sure that the expected sequencer has been chosen.
 +
 +In order for the sequencers to be able to generate test sequences from the model, the following conditions must hold true for all models:
 +   * there must be a path from initial state to every state in the model 
 +   * there must be a path from every state to a final state
 +
 +One of the common issues encountered during test generation is caused by missing transitions. An example model of such case is:
 +{{wiki:overview:tut_debugging_state_model_missing_trans.png?400}}
 +
 +As you may have picked up the error in the model - it breaks the first condition: there isn't a path from initial state "Start" to state "State 2" and thus it's impossible to cover "State 2" and it's outgoing transition.  If you run test generation using //Optimal// on this model, you would get the following error message:
 +   openOptima.NoSolutionException: Unable to reach following states from state 1: state 2
 +
 +Most sequencers will report the above error except //Random// and //Concurrent// sequencers due to the nature how these two sequencers generate test sequence. 
 +
 +
 +
 +
 +
  
 ===== Debugging automation script ===== ===== Debugging automation script =====