An example

Example for determining valid condition values with numerical operations.

Once any value of action A01 is e­xe­cu­ted, only value "No" should be valid for condition C06:

from 001 xcf 01

  • If errors are found when checking user entries, i.e. if action A01 is triggered, the value "Yes" should no longer be valid for C06

  • Therefore, it should not be possible to execute rule R09 after executing one of the rules R01, R02, R05, R06, or R07

  • On the other hand, rule R10 should only be executable if at least one rule was run with A01

  • Rule sequences that are not executable should not occur in test cases and should automatically be avoided when calculating test cases

  • The problem here is that LF‑ET e.g. cannot autonomously recognize the logical relation between action A01 and condition C06

Special functions are therefore made available which can be used by the test analyst for creating and evaluating logical states in test instructions. A condition value then serves as "valid" and executable if a logical expression, e.g. a numerical comparison, is defined for the condition value and this logical expression is evaluated as successful (is true or can be true).

Solution in 4 steps

 

Step 1


  • Define Yes, No – this instruction is used to create two different values: Yes and No that are later used for assignment or comparison operations

  • Set ErrorFree = Yes – a third value Errorfree is created and the logical relation "equals" is determined for the value Yes

  • As these instructions are specified in the precondition for a test case, this is the basic setting for all test cases

    from 002 xcf log 01
     

Step 2


In the general configuration for action A01 – collect errors:

  • Set Errorfree = No – this instruction is used to change the relation "Errorfree = Yes" preset in step 1 for each test case to "Errorfree = No"

  • This instruction will only run if action A01 (collect errors) is also run through in a rule

    from 002 xcf log 02
     

Step 3


In the test instruction for condition value C06/01 – Data complete and correct? – Yes

  • Errorfree == Yes – this instruction (without predefined SET) triggers no value assignment, rather a check is run to see if the specified logical relation is true. The comparative operator '==' is not absolutely necessary here, but visually supports an easier distinction between assignment and comparison

  • For condition C06 the condition value "Y" only serves as "executable" (valid) if the logical expression is evaluated as "is true"

    from 002 xcf log 03
     

Step 4


In the test instruction for condition value C06/02 – Data complete and correct? – No

  • Errorfree == No – this instruction (without predefined SET) triggers no value assignment, rather a check is run to see if the specified logical relation is true

  • For condition C06 the condition value "N" only serves as "executable" (permissible) if the logical expression is evaluated as "is true"

    from 002 xcf log 04