====== Test Sequence ====== [[dido:99_annexes:annex-b-terms-and-definitions:start|Go up to Terms and Definitions]] ===== Discussion ===== A Test Sequence defines the order and progression of [[dido:99_annexes:annex-b-terms-and-definitions:s:sequenced_test_object|Sequenced Test Objects]] during [[dido:99_annexes:annex-b-terms-and-definitions:t:test_execution|Test Execution]]. A Test Sequence contains one or more [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Steps]]. Each Sequence Step identifies: * A position within the Test Sequence * The applicable Sequenced Test Object * The applicable [[dido:99_annexes:annex-b-terms-and-definitions:t:test_argument_value|Test Argument Values]] * The Sequence Steps that can follow it * The conditions governing progression to those Sequence Steps A Test Sequence can direct the execution of: * [[dido:99_annexes:annex-b-terms-and-definitions:t:test_sets|Test Sets]] * [[dido:99_annexes:annex-b-terms-and-definitions:t:test_cases|Test Cases]] * [[dido:99_annexes:annex-b-terms-and-definitions:t:test_steps|Test Steps]] * [[dido:99_annexes:annex-b-terms-and-definitions:t:test_executable|Test Executables]] A Test Sequence can define: * One or more initial Sequence Steps * Sequential progression * Parallel progression * Conditional progression * Repetition * Alternative paths * Error-handling paths * Completion conditions * Termination conditions Progression can depend on: * Completion of a Sequence Step * A [[dido:99_annexes:annex-b-terms-and-definitions:t:test_result|Test Result]] * A [[dido:99_annexes:annex-b-terms-and-definitions:v:verdict|Verdict]] * A measured value * An observed event * A timeout * An error * A [[dido:99_annexes:annex-b-terms-and-definitions:g:governance_policy|Governance Policy]] * Another defined condition ===== Definition ===== //definition of the order and progression of [[dido:99_annexes:annex-b-terms-and-definitions:s:sequenced_test_object|Sequenced Test Objects]] during [[dido:99_annexes:annex-b-terms-and-definitions:t:test_execution|Test Execution]]// ===== Source ===== Adapted from: * [[https://www.omg.org/spec/TestIF/1.0/Beta3/PDF|OMG Test Information Interchange Format (TestIF), Version 1.0 Beta 3, Sections 7.3.4 and 7.3.14]] * [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]] * [[dido:99_annexes:annex-b-terms-and-definitions:s:sequenced_test_object|Sequenced Test Object]] * [[dido:99_annexes:annex-b-terms-and-definitions:t:test_execution|Test Execution]] * DIDO Reference Implementation Conceptual Model * DIDO-TE draft Requirements Register OMG TestIF defines TestSequence as the class that establishes the order and progression of execution for a series of SequencedTestObjects. OMG TestIF represents each position in the Test Sequence as a SequenceStep. Each SequenceStep references a SequencedTestObject and identifies the Sequence Steps that can follow it. ===== Note ===== A Test Sequence differs from a [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]]: * A Test Sequence defines the overall execution progression * A Sequence Step identifies one position within that progression A Test Sequence differs from a [[dido:99_annexes:annex-b-terms-and-definitions:s:sequenced_test_object|Sequenced Test Object]]: * A Sequenced Test Object defines reusable test content * A Test Sequence defines how occurrences of Sequenced Test Objects progress during Test Execution A Test Sequence differs from [[dido:99_annexes:annex-b-terms-and-definitions:t:test_execution|Test Execution]]: * A Test Sequence defines the planned progression * Test Execution performs the applicable Sequenced Test Objects according to that progression A Test Sequence can contain multiple Sequence Steps that reference the same Sequenced Test Object. Each Sequence Step represents a separate occurrence and can supply different Test Argument Values or progression conditions. Multiple initial Sequence Steps indicate parallel starting paths. Multiple following Sequence Steps can indicate parallel or conditional progression according to the applicable sequence rules. The structural presence of multiple following Sequence Steps does not by itself determine whether they execute concurrently or conditionally. The Test Sequence must provide sufficient progression information to resolve that behavior. A Test Sequence does not record what occurred during Test Execution. The applicable [[dido:99_annexes:annex-b-terms-and-definitions:t:test_run|Test Run]] and Test Results record the actual execution path and outcomes. ===== Example ===== A Test Sequence evaluates a proposed transaction across a [[dido:99_annexes:annex-b-terms-and-definitions:n:node_set|Node Set]]. The Test Sequence defines Sequence Steps that: * Establish the applicable [[dido:99_annexes:annex-b-terms-and-definitions:t:test_environment|Test Environment]] * Submit the proposed transaction * Observe the response from each applicable [[dido:99_annexes:annex-b-terms-and-definitions:n:node|Node]] * Compare the observed states with the applicable [[dido:99_annexes:annex-b-terms-and-definitions:e:expected_result|Expected Results]] * Collect the supporting [[dido:99_annexes:annex-b-terms-and-definitions:e:evidence|Evidence]] * Terminate successfully when all required Test Results receive a passing Verdict * Follow an error-handling path when a required Node fails to respond The resulting [[dido:99_annexes:annex-b-terms-and-definitions:t:test_run|Test Run]] identifies the Sequence Steps actually performed and the Test Results produced for those steps. ---- © 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.