Exception Handling
Discussion
Exception Handling identifies the defined processing performed in response to a detected Test Execution Exception.
Exception Handling can require DIDO-TE to:
-
Record the Test Execution Exception
-
Classify the Test Execution Exception
-
Continue Test Execution
-
Retry an operation
-
Repeat a Sequence Step
-
Skip a permitted Sequence Step
-
Select an alternative Execution Path
-
Restore a defined state
-
Perform a compensating operation
-
Isolate an affected Node
-
Replace an affected Operational Resource
-
Pause the Test Run
-
Resume the Test Run
-
Cancel the Test Run
-
Terminate the Test Run
-
Notify an authorized Actor
-
Request an authorized Actor decision
-
Generate a Test Result
-
Assign or request a Verdict
-
Preserve Evidence
Exception Handling can identify:
-
Its identity
-
Its name
-
Its description
-
Its applicable Test Execution Exception types
-
Its applicable exception severity
-
Its applicable Test Run States
-
Its entry conditions
-
Its handling operations
-
Its permitted retries
-
Its retry interval
-
Its applicable Timeouts
-
Its permitted Execution Paths
-
Its recovery conditions
-
Its escalation conditions
-
Its completion condition
-
Its failure condition
-
Its resulting Test Run State
-
Its applicable Test Run Termination Reason
-
Its applicable notification requirements
-
Its applicable authorization requirements
-
Its applicable Governance Policies
-
Its required Evidence
-
Its Provenance
-
Its Traceability
Exception Handling can be defined by:
-
A Sequence Step
-
A Governance Policy
-
The applicable Acceptance Criteria
-
Another controlling specification
When more than one Exception Handling definition applies, the applicable Governance Policies or Acceptance Criteria determine precedence and conflict resolution.
Definition
defined processing performed in response to a detected Test Execution Exception
Source
Adapted from:
-
DIDO Reference Implementation Conceptual Model
-
DIDO-TE draft Requirements Register
OMG TestIF defines information used to describe Test Sequences, Test Steps, Test Executables, Test Runs, and Test Results.
OMG TestIF does not define Exception Handling as a separate TestIF model element. This definition introduces Exception Handling to specify how DIDO-TE responds to Test Execution Exceptions and how those responses affect Test Execution, Test Run States, Test Results, Evidence, Provenance, and Traceability.
Note
Exception Handling differs from a Test Execution Exception:
-
A Test Execution Exception identifies an event or condition affecting Test Execution
-
Exception Handling identifies the defined response to the Test Execution Exception
Exception Handling differs from a Test Run Termination Reason:
-
Exception Handling specifies the processing performed in response to a Test Execution Exception
-
A Test Run Termination Reason identifies why a Test Run entered the Terminated Test Run State
Exception Handling does not necessarily terminate Test Execution.
Successful Exception Handling can:
-
Resolve the Test Execution Exception
-
Restore the required state
-
Permit Test Execution to continue
-
Preserve the current Test Run State
-
Return a paused Test Run to the Running state
Unsuccessful Exception Handling can cause a Test Run to:
-
Remain Paused
-
Enter the Terminated Test Run State
-
Become an Incomplete Test Run
Automated Exception Handling does not require human intervention.
Exception Handling requiring an authorized Actor decision is not fully automated during the period in which Test Execution waits for that decision.
A human notification does not by itself constitute human intervention. A human response affecting Test Execution constitutes human intervention.
Exception Handling can preserve Test Results produced before, during, or after the Test Execution Exception.
The applicable Acceptance Criteria determine whether Test Results affected by a Test Execution Exception can be used for:
-
Analysis
-
Diagnosis
-
Comparison
-
Regression analysis
-
Baseline establishment
Exception Handling should identify bounded retry behavior. An unlimited retry instruction does not provide an objectively verifiable completion or termination condition.
When Exception Handling permits multiple responses, it should identify the conditions governing selection of each response.
Exception Handling should preserve Traceability among:
-
The detected Test Execution Exception
-
The controlling Exception Handling definition
-
The processing performed
-
The affected Test Run
-
The preceding and resulting Test Run States
-
The applicable Test Run Termination Reason
-
The resulting Test Results
-
The supporting Evidence
Example
A Test Execution Exception occurs when an Execution Facility becomes temporarily unavailable during a Sequence Step.
The applicable Exception Handling requires DIDO-TE to:
-
Record the Test Execution Exception
-
Pause the Test Run
-
Attempt to restore the Execution Facility
-
Retry restoration no more than three times
-
Wait ten seconds between retry attempts
-
Resume the Test Run when the Execution Facility becomes available
-
Terminate the Test Run when the third retry fails
-
Notify the applicable Actor
-
Preserve the supporting Evidence
The Execution Facility becomes available during the second retry.
DIDO-TE:
-
Changes the Test Run State from Running to Paused
-
Restores the Execution Facility
-
Changes the Test Run State from Paused to Running
-
Repeats the affected Sequence Step
-
Continues Test Execution
-
Records the Exception Handling performed
-
Preserves Evidence, Provenance, and Traceability
Because the Exception Handling succeeds, the Test Run does not enter the Terminated Test Run State and does not receive a Test Run Termination Reason.
© 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.