Generation options for rule groups

gentst config main dialog rule groups 01

This area is only displayed for decision tables with rule groups.

In the case of decision tables with rule groups a test case usually consists of not only a single rule but also a sequence of several rules. LF‑ET recognizes rule groups automatically and makes the following options available for test case generation:

Switch coverage

In the case of State-based testing with LF‑ET a rule is regarded as a state transition. For an n-Switch-coverage, n stands for the number of states between the start state and the end state of a test case.

LF‑ET currently supports the following switch coverages:

No Switch coverage

Rule sequences are not analysed, i.e. a test case is simply ge­ne­ra­ted for each rule of a decision table

0-Switch coverage

Each rule should appear at least once in test cases

1-Switch coverage

Each possible combination of two consecutive rules should appear at least once in test cases

2-Switch coverage

Each possible combination of three consecutive rules should appear at least once in test cases

etc.

The highest selectable switch value produced each time individually by LF‑ET for each decision table: rule group count ‑ 1.

In the case of recursive rule groups, i.e. when rules lead to themselves or to a preceding rule group, higher switch coverages can be desired. In such cases the desired maximum value can be specified in an ini file:

GenTest.SwitchMax: nn
 LFET:

    GenTest:
      SwitchMax: nn

 

As the switch values increase, there is also a significant increase not only in calculation time but also in memory demand. In extreme cases, it can even happen that LF‑ET aborts calculation on its own when the risk of an "Out-of-Memory" error is recognized. In such cases the limit for the maximum permissible memory demand is increased by LF‑ET with an additional parameter; presented below are two examples:
 
Up to Java < 1.8 Update 191:
     -Xmx5g (max. 5 GB RAM)
 
From Java 1.8. Update 191:
     -XX:MaxRAMPercentage=80.0 (max. 80% of available RAM)

Output non-executable rules

It can happen in decision tables with rule groups that single rules are classified as "non-executable" as they do not appear in any of the executable rule sequences. These "non-executable" rules are output as a list with this option.

Output non-executable rule sequences

Rule sequences are classified as non-executable if various rules contain the same condition with different values in the rule sequence. LF‑ET recognizes such discrepancies automatically in the case of condition values. If necessary, "executability of individual conditions" can be purposefully determined by logical expressions in test instructions. See also Determining permissible values for conditions.

This option is used to output non-executable rule sequences as a list, in each case with information why the rule sequence has been evaluated as "non-executable".

In each rule sequence also a unique ID is placed in square brackets which can be used to search for specific edit details of a rule sequence in log files.