Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
tutorial:state_modeling [2020/06/07 21:02] admin [Create Initial / Final Nodes] |
tutorial:state_modeling [2021/01/10 18:18] admin [Create 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: | + | {{wiki: |
Line 77: | Line 77: | ||
When done, close the property pane by clicking on ">" | When done, close the property pane by clicking on ">" | ||
+ | If needed, nodes, states and transitions can be deleted by clicking on " | ||
Line 113: | Line 114: | ||
{{wiki: | {{wiki: | ||
- | If your transitions | + | ==== Re-arrange States and Transitions ==== |
+ | States and transitions can be re-positioned on the model while in //Edit// mode. | ||
- | 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. | + | === Moving State === |
+ | To move a state, mouse over the state and drag on {{wiki: | ||
- | Transition | + | === Moving |
+ | If the transitions are not routed the way as shown above, you can change the transition routing | ||
- | Create | + | When you move the start or end segment of the transition |
+ | |||
+ | === Moving Transition Label === | ||
+ | Transition label can also be moved: mouse over the transition label and drag on {{wiki: | ||
+ | |||
+ | Transition label is positioned from the position of the start segment from the source state. | ||
+ | |||
+ | |||
+ | |||
+ | Be sure to save the model changes before moving | ||
Line 127: | Line 140: | ||
===== Generate Test Cases ===== | ===== Generate Test Cases ===== | ||
+ | When model is completed, we are ready to generate test cases from it. Test cases are generated by traversing the states and transitions to achieve the desired coverage using algorithms, aka model // | ||
+ | For purpose of this demonstration, | ||
- | ===== Make Changes ===== | + | Click on {{wiki: |
+ | 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: | ||
+ | |||
+ | Explanation on //RESULT// tab is covered in a separate tutorial. | ||
===== Model Graphs and Test Visualization ===== | ===== 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: | ||
+ | * {{wiki: | ||
+ | * {{wiki: | ||
+ | |||
+ | Click on each of the graphs on {{wiki: | ||
+ | |||
+ | 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: | ||
+ | * {{wiki: | ||
+ | * refreshing all outgoing and incoming transitions of a state with state context menu {{wiki: | ||
+ | * styling the states and transitions through [[../ | ||
+ | |||
+ | 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 // | ||