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)