forked from bptlab/fCM-design-support
-
Notifications
You must be signed in to change notification settings - Fork 1
Test Cases
Rebekka Lohse edited this page Jun 1, 2023
·
8 revisions
Since there are no automatic tests for our project, we have decided to set up a manual test list. These test cases can be used to check the functionality of the code before pushing onto the main branch. The order of test is as follows: isolated tests, import/ export tests and then interaction tests.
| Step | Action | Desired Result |
|---|---|---|
| 01 | create a start event using the "Create StartEvent" Button from the panel | Start event exists |
| 02 | create an intermediate/ boundary event using the "Create Intermediate/ Boundary Event" Button from the panel | Intermediate/ Boundary event exists |
| 03 | create a gateway using the "Create Gateway" button from the panel | Gateway exists |
| 04 | create an activity using the "Create Task" button from the panel | Activity exists |
| 05 | create a data object reference using the "Create DataObjectReference" button from the panel | Data object reference exists |
| 06 | create the class "Class 0" using the drop down menu of the data object reference and select this class | Data object reference has the class "Class 0" |
| 07 | create the state "State 0" using the drop down menu of the data object reference and select this state | Data object reference has the state "State 0" |
| 08 | close the drop down menu by clicking outside of all objects | Drop down menu disappears |
| Step | Action | Desired Result |
|---|---|---|
| 09 | change to Data Model | in Data Model |
| 10 | create a class using the "Create Class" button from the panel | class exists |
| 11 | name this class "Class 1" by clicking on the class | class is called "Class 1" |
| 12 | connect a new class with Class 1 using the "Link with new object" button from the context pad of Class 1 | second connected class exists |
| 13 | name the new class "Class 2" | new class is called "Class 2" |
| 14 | create a new class using the "Create Class" Button from the panel | class exists |
| 15 | name this class "Class 3" by clicking on the class | class is called "Class 3" |
| 16 | connect Class 2 and Class 3 using the "Link object to other objects" button from the context pad of Class 2 | Class 2 and Class 3 are connected |
| 17 | create a new class using the "Create Class" Button from the panel | class exists |
| 18 | name this class "Class 4" by clicking on the class | class is called "Class 4" |
| 19 | connect Class 3 and Class 4 using the "Associate Classes" button from the panel | Class 3 and Class 4 are connected |
| 20 | delete Class 4 * | Class 4 ist gone (including all connections) |
| Step | Action | Desired Result |
|---|---|---|
| 21 | change to Objective Model | in Objective Model |
| 22 | create an objective using the "Create Objective" button from the panel | object exists |
| 23 | create a class called "Class 4" using the dropdown menu and select it | object is off Class 4 |
| 24 | create an instance called "Instance 1" using the dropdown menu and select it | object is Instance 1 |
| 25 | create a state called "State 1" using the dropdown menu and select it | object is in State 1 |
| 26 | create a new object using the "Link with new object" button from the context pad of Instance 1 | second object exists |
| 27 | select for this object also Class 4 and name it "Instance 2" | new object is called "Instance 2" |
| 28 | create a new objective using the "Create Objective" button from the panel | third object exists |
| 29 | select for this object also Class 4 and name it "Instance 3" | new object is called "Instance 3" |
| 30 | connect Instance 2 and Instance 3 using the "Link object to other objects" button from the context pad of Instance 2 | Instance 2 and Instance 3 are connected |
| 31 | create a new objective using the "Create Objective" button from the panel | fourth object exists |
| 32 | select for this object Class 1 | drop down has no instances for this class |
| 33 | create "Instance 1" for this object and select it | new object is called "Instance 1" |
| 34 | delete Instance 3 | Instance 3 is gone |
| 35 | create a new objective called "Objective 2" using the drop down menu | Objective 2 exists and is empty |
| Step | Action | Desired Result |
|---|---|---|
| 36 | change to Termination Condition | in Termination Condition |
| 37 | add a new statement using the + button | statement for Class 1 exists |
| 38 | select State 1 | statement "Class 1 [State 1] exists |
| ? | ? | ? |
| Step | Action | Desired Result |
|---|---|---|
| 39 | change to Dependency Model | in Dependency Model |
| 40 | connect Start State and Objective 2 | Start State and Objective 2 are connected |
| 41 | create a new objective using the "Append Objective" button from the context pad of Objective 2 | new objective exists |
| 42 | name this objective "Objective 3" by double clicking on the objective | objective is called Objective 3 |
| 43 | create a new objective using the "Create Objective" button from the panel | another objective exists |
| 44 | name this objective "Objective 4" by double clicking on the objective | objective is called Objective 4 |
| 45 | connect Objective 3 and Objective 4 using the "Create Objective" button from the context pad of Objective 3 | Objective 3 and Objective 4 are connected |
| 46 | delete Objective 3 using ? | Objective 3 is gone, all connected edges are gone, Warning is shown |
| Step | Action | Desired Result |
|---|---|---|
| 47 | change to OLC Model | in OLC |
| 48 | create a class called "Class 5" using the dropdown menu and select it | Class 5 exists |
| 49 | create a new state using the "Create State" button from the panel | state exists |
| 50 | name this state "State 1" by double clicking on the state | state is called State 1 |
| 51 | create a new state using the "Append State" button from the context pad of State 1 | new state exists and is connect to State 1 |
| 52 | name this state "State 2" by double clicking on the state | state is called State 2 |
| 53 | create a new state using the "Create State" button from the panel | state exists |
| 54 | name this state "State 3" by double clicking on the state | state is called State 3 |
| 55 | connect State 2 and State 3 using the "Connect" button from the context pad of State 2 | State 2 and State 3 are connected |
| 56 | create a new state using the "Create State" button from the panel | state exists |
| 57 | name this state "State 4" by double clicking on the state | state is called State 4 |
| 58 | connect State 3 and State 4 using the "Connect" button from the context pad of State 3 | State 3 and State 4 are connected |
| 59 | delete State 4 using ? | State 4 is gone, all connected edges are gone |
| ? | change to different class | ? |
| Step | Action | Desired Result |
|---|---|---|
| ? | export the project using the "Save" button the top bar | project is exported without any errors |
| ? | hard refresh and import the same project using the "Open" button the top bar | project is displayed exactly as is was before the export |
##Interaction between Models
Background
General Characteristics of fCM (> old wiki)
Example Use Case Construction Process Goal Modeling for-Construction-Modeling
Modeling
Data Modeler
Fragment Modeler
Objective Modeler
Dependency Modeler
Resource Modeler
Role Modeler
General (> old wiki)
Fragment Model
Dependency Model
Objective Model
Consistency (> old wiki)