Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
tutorial:state_modeling [2020/06/07 21:24] – [Generate Test Cases] admin | tutorial:state_modeling [2024/01/02 19:37] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
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 58: | Line 58: | ||
Since a model must have one //Initial// node and at least one //Final// node. Let's create these first and place one on the left and the other on the right of the modeling canvas: | Since a model must have one //Initial// node and at least one //Final// node. Let's create these first and place one on the left and the other on the right of the modeling canvas: | ||
- | * select //Initial// node icon {{wiki: | + | * select //Initial// node icon {{wiki: |
* click on left side of modeling canvas to place //Initial// node | * click on left side of modeling canvas to place //Initial// node | ||
* select //Final// node icon {{wiki: | * select //Final// node icon {{wiki: | ||
Line 114: | Line 114: | ||
{{wiki: | {{wiki: | ||
- | 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: | ||
+ | |||
+ | === Moving Transition === | ||
+ | If the transitions are not routed the way as shown above, you can change the transition routing | ||
+ | |||
+ | 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: | ||
+ | |||
+ | Transition label is positioned from the position of the start segment from the source state. | ||
- | 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: | ||
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: | 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: | + | 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: | + | {{wiki: |
+ | Explanation on //RESULT// tab is covered in a separate tutorial. | ||
- | ===== 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: | ||
+ | * {{wiki: | ||
+ | * {{wiki: | ||
+ | Click on each of the graphs on {{wiki: | ||
- | ===== 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: | ||
+ | * {{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 // | ||