Skip to content

Analysis mods

Alejandro Suzdaltsev edited this page Feb 20, 2023 · 7 revisions

Overview

Here is described analysis mods that have been implemented and tested upon QACoverageTool development.

State-Transitions Diagrams mod

Purposes

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.

Usage

Configuration

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

Required Table Structure

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

Parameters Traceability mod

Purposes

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

Usage

Configuration

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

Required table structure

There is no specific table structure required. Only one restriction is absence of merged cells

Example

INPUT Table

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

OUTPUT Table


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