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
Last revision Both sides next revision
tutorial:state_modeling [2020/06/07 21:24]
admin [Generate Test Cases]
tutorial:state_modeling [2021/01/10 18:18]
admin [Re-arrange States and Transitions]
Line 1: Line 1:
 ====== Tutorial: State-based Modeling and Test Generation ====== ====== Tutorial: State-based Modeling and Test Generation ======
  
-Learning Objectives:+====Learning Objectives ====
   * [[#What is a State Model]]   * [[#What is a State Model]]
   * [[#Create Model]]   * [[#Create Model]]
Line 48: Line 48:
 Our goal is to create a simple model that looks like the following when completed: Our goal is to create a simple model that looks like the following when completed:
  
-{{wiki:overview:ide_new_model_example.png?600}}+{{wiki:overview:tut_new_model_state_trans_created.png?600}}
  
  
Line 114: Line 114:
 {{wiki:overview:tut_new_model_state_trans_created.png?500}} {{wiki:overview:tut_new_model_state_trans_created.png?500}}
  
-If your transitions are not routed the way as shown above or you wish to change their routing, you can do so by dragging the transition segment.+==== Arranging States and Transitions ==== 
 +States and transitions can be re-positioned on the model while in //Edit// mode. 
 + 
 +=== Moving State === 
 +To move a state, mouse over the state and drag on  {{wiki:overview:ide_model_icon_move.png?16}}. 
 + 
 +=== Moving Transition === 
 +If the transitions are not routed the way as shown above, you can change the transition routing by dragging the transition segment
 + 
 +When you move the start or end segment of the transition to the adjacent side of the state, the transition will be re-routed from that side of the state. 
 + 
 +=== Moving Transition Label === 
 +Transition label can also be moved: mouse over the transition label and drag on  {{wiki:overview:ide_model_icon_move.png?16}}. 
 + 
 +Transition label is positioned from the position of the start segment from the source state.  This ensures that they are re-positioned automatically when its source state or transition start segment is moved.
  
-You can also change the side of the state the start and end segment of the transition by moving the segment to the adjacent side of the state. 
  
-Transition label can also be moved by dragging on {{wiki:overview:ide_model_icon_move.png?16}}. 
  
 Be sure to save the model changes before moving on to next. Be sure to save the model changes before moving on to next.
Line 134: Line 146:
 Click on {{wiki:overview:tut_model_btn_gen.png?16}} on the app toolbar to generate the test cases using //Optimal// sequencer. Click on {{wiki:overview:tut_model_btn_gen.png?16}} on the app toolbar to generate the test cases using //Optimal// sequencer.
  
-You should see some status messages showing up on the bottom of the screen. When done, it should auto select //RESULT// tab like below:+You should see some status messages showing up on the bottom of the screen. When done, it should auto select //RESULT// tab like below, if not click on //RESULT// tab on the app header:
  
-{{wiki:overview:tut_new_model_gen.png?600}}+{{wiki:overview:tut_new_model_result_gen.png?600}}
  
 +Explanation on //RESULT// tab is covered in a separate tutorial.  We will just review the test cases generated in the "Test Case" section.
  
-===== Make Changes ===== 
  
 +===== Model Graphs and Test Visualization =====
 +In addition to the test case list described in the previous section, you can view the test cases in graphs:
 +  * {{wiki:overview:tut_new_model_graph_trav.png?linkonly | Traversal}}
 +  * {{wiki:overview:tut_new_model_graph_cov.png?linkonly| Coverage}}
 +  * {{wiki:overview:tut_new_model_graph_msc.png?linkonly | Test Case}}
  
 +Click on each of the graphs on {{wiki:overview:tut_model_btn_graphs.png?250}}. 
  
-===== Model Graphs and Test Visualization =====+The graphs should be self-explanatory. 
 + 
 +===== Make Changes ===== 
 +As you followed this tutorial, you should have noticed that you can easily make changes to the model and re-generate test cases with minimum effort. 
 + 
 +Here are a few more changes you can make to the model: 
 +  * aligning states by selecting (marking) states and clicking on one of the alignment options from the toolbar 
 +  * re-routing transitions with transition context menu: 
 +    * {{wiki:idescreen:ide_model_btn_reroute_1.png?16}} - refreshing transition segments 
 +    * {{wiki:idescreen:ide_model_btn_reroute_2.png?16}} - changing transition source and/or target state 
 +  * refreshing all outgoing and incoming transitions of a state with state context menu {{wiki:idescreen:ide_model_btn_reroute_1.png?16}} 
 +  * styling the states and transitions through [[../ide_model#state_properties|State Properties]] and [[../ide_model#transition_properties | Transition Properties]]. 
 + 
 +You may also us //Box// node to group or highlight a set of states.
  
 +If you are modeling a workflow or process, you can use //Swimlanes// to distinguish multiple different process and actor.