-
Notifications
You must be signed in to change notification settings - Fork 1
Analysis mods
Here is described analysis mods that have been implemented and tested upon QACoverageTool development.
This analysis mod is applicable to visualise transitions between any count of system states. State-Transitions Diagram mod may be required to check coverage of tests that follow All-States Coverage and All-Transitions Coverage criterias.
Be aware this mod is hard applicable to check path or transitions pairs due to path is not visualized directly, only states and transitions. However all unique path with theirs apperance frequency will be representated via <file_name>_stats.xlsx
and <file_name>_stats_vis.pdf
files.
There is an exmple of State-Transitions Diagrams mod section of yaml config:
state-transition:
#All generated files will be saved here.
output_directory: EXAMPLE
file_names: EX_TEST
#Table and sheet where data to analysis will be take from
input_directory: tables_to_analisys
input_table: EXAMPLE.xlsx
input_sheet: test
#States and transitions will be assigned to object based on these table columns.
#When values from objects columns is same for several states/transitions then these states/transitions
#will be related to this object
#You may mention here a several columns. So each unique compination of values of mentioned columns
#will be considered as one unique object
objects:
- TestCase
#Sequence of transitions and states will be considered based on this field
sequences:
- StepID
#Transitions will be took from these fields
#You may mention here a several columns. Each unique combination of values from mentioned columns
#will be considered as one transition
transitions:
- Action
#States will be took from these fields
#You may mention here a several columns. Each unique combination of values from mentioned columns
#will be considered as one state
states:
- CountToPlace
- CountToCancel
To make possible to apply this analysis mod for table the table must have columns that
- sequence of transition
- instance that's changes states or instance that transitions are taking place within
- transitions
- states
can be considered based on.
Example
TestCase | StepID | Action | CountToPlace | CountToCancel |
1 | 1 | place | 3 | 0 |
1 | 2 | cancel | 0 | 2 |
1 | 3 | place | 3 | 0 |
2 | 1 | place | 3 | 0 |
2 | 2 | cancel | 0 | 1 |
2 | 3 | place | 3 | 0 |
3 | 1 | place | 3 | 0 |
3 | 2 | cancel | 0 | 4 |
3 | 3 | place | 3 | 0 |
4 | 1 | place | 3 | 0 |
4 | 2 | cancel | 0 | 2 |
4 | 3 | place | 3 | 0 |
5 | 1 | place | 3 | 0 |
5 | 2 | cancel | 0 | 4 |
5 | 3 | place | 3 | 0 |
6 | 1 | place | 3 | 0 |
6 | 2 | cancel | 0 | 3 |
6 | 3 | place | 3 | 0 |
7 | 1 | place | 3 | 0 |
7 | 2 | cancel | 0 | 3 |
7 | 3 | place | 3 | 0 |
8 | 1 | place | 3 | 0 |
8 | 2 | cancel | 0 | 4 |
8 | 3 | place | 3 | 0 |
9 | 1 | place | 3 | 0 |
9 | 2 | cancel | 0 | 1 |
9 | 3 | place | 3 | 0 |
10 | 1 | place | 3 | 0 |
10 | 2 | cancel | 0 | 3 |
10 | 3 | place | 3 | 0 |
11 | 1 | place | 3 | 0 |
11 | 2 | cancel | 0 | 2 |
11 | 3 | place | 3 | 0 |
12 | 1 | place | 3 | 0 |
12 | 2 | cancel | 0 | 1 |
12 | 3 | place | 3 | 0 |
- TestCase can be considered as instance that changes states or instance that transitions are taking place within
- StepID can be considered as transitions sequence within TestCase
- Action can be considered as transition
- CountToPlace and CounToCancel can be considered as states within TestCase
This mod is applicable to check whether all required values combinations are covered or not. This approach may be applicable to check coverage of tests that follow pairwise or n-wise coverage criterias. The number of times a particular combination occurs will be reflected as number in cell across two or more values that present in columns and index of result table. So the number 1
stamped in cell across values index: IValue_1
, column: CValue_2
of result table means that combination IValue_1
+ CValue_2
appears only once in input table
There is an example of traceability-matrix
mod config section:
parameters-traceability:
#All generated files will be saved here.
output_directory: EXAMPLE
file_names: EX_TEST
#Table and sheet where data to analysis will be take from
input_directory: tables_to_analisys
input_table: TEST/1_2_1_TEST.xlsx
input_sheet: Cases
index:
- Sequencer
- Object
columns:
- Transitions
- States
There is no specific table structure required. Only one restriction is absence of merged cells
Example
CaseID | Sequencer | Object | Transitions | States | ConfigName |
1 | Multiple | Multiple | Multiple | Multiple | std_case_1 |
2 | Single | Single | Multiple | Single | std_case_2 |
3 | Single | Single | Single | Multiple | std_case_3 |
4 | Multiple | Single | Single | Single | std_case_4 |
5 | Single | Multiple | Single | Single | std_case_5 |
Transitions | Multiple | Single | |||
States | Multiple | Single | Multiple | Single | |
Sequencer | Object | ||||
Multiple | Multiple | 1 | 0 | 0 | 0 |
Single | 0 | 0 | 0 | 1 | |
Single | Multiple | 0 | 0 | 0 | 1 |
Single | 0 | 1 | 1 | 0 |
- Contacts