A criterion has two separate state machines. One that controls when the Condition is checked (Test Session>Pass/Fail>View/Edit Criterion window) and another that deals with it’s status. The criterion status (or states) are NA, PENDING, PASSED, FAILED, and OCCURRED.
When a Test Case or Session is started, each criterion begins with a PENDING state ( Pass/Fail History sub tab). The condition is checked while the criterion is Started and not Stopped, that is, when the start-criterion condition is true and the stop-criterion condition is false.
NOTE: Some Test Cases can skip states. For example, the Network Host Test Case, does not do anything in the start function and goes directly from INITIALIZED to STARTED. |
Criterion can be reset, so they can be used multiple times, as in multiple iteration tests, or within one test iteration if an automation loop is occurring. To keep track of the multiple uses, each Criterion has a Failure Count, which increments each time a Criterion fails. In addition, the Pass/Fail History sub tab in the Reports tab, monitors the criteria like measurements.
This topic includes the following state machines diagrams:
Learn more about:
A Criterion state/status is managed in two separate ways:
Below are Criterion state diagrams for each Result type.
![]() |
![]() |
![]() |
NOTE: See Test Automation Control Steps to learn more about setting up and avoiding loop around issues. |
Test Sessions state represents the overall state or step for the test. There are two basic state machines for a test session, one for parallel execution and one for automation controlled tests. The Operators will work for test states based on these state machines.
For example, if you setup Criterion for Test State > RUNNING, then any of STOPPING, CLEANUP, WAIT_FOR_TRANSFERS, FINAL, or COMPLETE will return true.
NOTE: When working with multi-iteration tests, note that when the test loops and the state goes to INITIALIZING or STARTING, the Test Session State will be < RUNNING. To avoid the loop around issues, make sure you set the Start, Stop, Expire and/or Reset appropriately. See Test Automation Control Steps to learn more about setting up and avoiding loop around issues. |
![]() |
![]() |