Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| public:99_annexes:annex-b-terms-and-definitions:e:exception_handling [2026/09/12 17:42] – removed - external edit (Unknown date) 127.0.0.1 | public:99_annexes:annex-b-terms-and-definitions:e:exception_handling [2026/09/12 17:43] (current) – ↷ Links adapted because of a move operation nick_dido | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Exception Handling ====== | ||
| + | [[public: | ||
| + | |||
| + | ===== Discussion ===== | ||
| + | |||
| + | Exception Handling identifies the defined processing performed in response to a detected [[public: | ||
| + | |||
| + | Exception Handling can require DIDO-TE to: | ||
| + | |||
| + | * Record the Test Execution Exception | ||
| + | * Classify the Test Execution Exception | ||
| + | * Continue [[public: | ||
| + | * Retry an operation | ||
| + | * Repeat a [[public: | ||
| + | * Skip a permitted Sequence Step | ||
| + | * Select an alternative [[public: | ||
| + | * Restore a defined state | ||
| + | * Perform a compensating operation | ||
| + | * Isolate an affected [[public: | ||
| + | * Replace an affected [[public: | ||
| + | * Pause the [[public: | ||
| + | * Resume the Test Run | ||
| + | * Cancel the Test Run | ||
| + | * Terminate the Test Run | ||
| + | * Notify an authorized [[public: | ||
| + | * Request an authorized Actor decision | ||
| + | * Generate a [[public: | ||
| + | * Assign or request a [[public: | ||
| + | * Preserve [[public: | ||
| + | |||
| + | Exception Handling can identify: | ||
| + | |||
| + | * Its identity | ||
| + | * Its name | ||
| + | * Its description | ||
| + | * Its applicable Test Execution Exception types | ||
| + | * Its applicable exception severity | ||
| + | * Its applicable [[public: | ||
| + | * Its entry conditions | ||
| + | * Its handling operations | ||
| + | * Its permitted retries | ||
| + | * Its retry interval | ||
| + | * Its applicable [[public: | ||
| + | * Its permitted Execution Paths | ||
| + | * Its recovery conditions | ||
| + | * Its escalation conditions | ||
| + | * Its completion condition | ||
| + | * Its failure condition | ||
| + | * Its resulting Test Run State | ||
| + | * Its applicable [[public: | ||
| + | * Its applicable notification requirements | ||
| + | * Its applicable authorization requirements | ||
| + | * Its applicable [[public: | ||
| + | * Its required Evidence | ||
| + | * Its [[public: | ||
| + | * Its [[public: | ||
| + | |||
| + | Exception Handling can be defined by: | ||
| + | |||
| + | * A [[public: | ||
| + | * A [[public: | ||
| + | * A Sequence Step | ||
| + | * A [[public: | ||
| + | * A [[public: | ||
| + | * A Governance Policy | ||
| + | * The applicable [[public: | ||
| + | * 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 [[public: | ||
| + | |||
| + | ===== Source ===== | ||
| + | |||
| + | Adapted from: | ||
| + | |||
| + | * [[https:// | ||
| + | * [[public: | ||
| + | * [[public: | ||
| + | * [[public: | ||
| + | * [[public: | ||
| + | * [[public: | ||
| + | * DIDO Reference Implementation Conceptual Model | ||
| + | * DIDO-TE draft Requirements Register | ||
| + | |||
| + | OMG TestIF defines information used to describe Test Sequences, Test Steps, Test Executables, | ||
| + | |||
| + | 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 [[public: | ||
| + | |||
| + | 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 | ||
| + | * [[public: | ||
| + | * [[public: | ||
| + | * A [[public: | ||
| + | |||
| + | 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. | ||
| + | |||
| + | ---- | ||
| + | |||
| + | <WRAP centeralign> | ||
| + | © 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc. | ||
| + | </ | ||