====== Sequence Step ====== [[dido:99_annexes:annex-b-terms-and-definitions:start|Go up to Terms and Definitions]] ===== Discussion ===== A [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]] is an element of a [[dido:99_annexes:annex-b-terms-and-definitions:t:test_sequence|Test Sequence]] that references a [[dido:99_annexes:annex-b-terms-and-definitions:s:sequenced_test_object|Sequenced Test Object]] and defines occurrence-specific information and permitted progression. A [[dido:99_annexes:annex-b-terms-and-definitions:t:test_sequence|Test Sequence]] is a specialization of [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence|Sequence]]. Each [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]] identifies one position within the ordering or directed progression established by the Test Sequence. A [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]] references one [[dido:99_annexes:annex-b-terms-and-definitions:s:sequenced_test_object|Sequenced Test Object]], such as a: * [[dido:99_annexes:annex-b-terms-and-definitions:t:test_set|Test Set]] * [[dido:99_annexes:annex-b-terms-and-definitions:t:test_case|Test Case]] * [[dido:99_annexes:annex-b-terms-and-definitions:t:test_step|Test Step]] * [[dido:99_annexes:annex-b-terms-and-definitions:t:test_executable|Test Executable]] A [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]] can identify: * Its identity * Its name * Its description * Its position within the [[dido:99_annexes:annex-b-terms-and-definitions:t:test_sequence|Test Sequence]] * Its referenced [[dido:99_annexes:annex-b-terms-and-definitions:s:sequenced_test_object|Sequenced Test Object]] * Its applicable [[dido:99_annexes:annex-b-terms-and-definitions:t:test_argument_value|Test Argument Values]] * Its applicable [[dido:99_annexes:annex-b-terms-and-definitions:e:expected_result|Expected Results]] * Its applicable [[dido:99_annexes:annex-b-terms-and-definitions:t:test_item|Test Items]] * Its applicable [[dido:99_annexes:annex-b-terms-and-definitions:s:starting_condition|Starting Conditions]] * Its applicable [[dido:99_annexes:annex-b-terms-and-definitions:t:timing_condition|Timing Conditions]] * Its required prior conditions * Its completion condition * Its failure condition * Its [[dido:99_annexes:annex-b-terms-and-definitions:t:timeout|Timeout]] * Its permitted following [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Steps]] * Its progression conditions * Its alternative progression * Its error-handling progression * Its applicable [[dido:99_annexes:annex-b-terms-and-definitions:g:governance_policy|Governance Policies]] * Its [[dido:99_annexes:annex-b-terms-and-definitions:p:provenance|Provenance]] * Its [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]] A [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]] can supply occurrence-specific Test Argument Values to the referenced [[dido:99_annexes:annex-b-terms-and-definitions:s:sequenced_test_object|Sequenced Test Object]]. A [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]] can also identify one or more permitted following [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Steps]]. Progression can depend on: * Completion of the current [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|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 state * A [[dido:99_annexes:annex-b-terms-and-definitions:t:timeout|Timeout]] * An error * Another defined progression condition The [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]] defines permitted progression. The applicable [[dido:99_annexes:annex-b-terms-and-definitions:e:execution_path|Execution Path]] identifies the progression that actually occurs during [[dido:99_annexes:annex-b-terms-and-definitions:t:test_execution|Test Execution]]. ===== Definition ===== //element of a [[dido:99_annexes:annex-b-terms-and-definitions:t:test_sequence|Test Sequence]] that references a [[dido:99_annexes:annex-b-terms-and-definitions:s:sequenced_test_object|Sequenced Test Object]] and defines occurrence-specific information and permitted progression// ===== Source ===== Adapted from: * [[https://www.omg.org/spec/TestIF/1.0/Beta3/PDF|OMG Test Information Interchange Format (TestIF), Version 1.0 Beta 3, Section 7.3.4, SequenceStep]] * [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence|Sequence]] * [[dido:99_annexes:annex-b-terms-and-definitions:t:test_sequence|Test Sequence]] * [[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_argument_value|Test Argument Value]] * [[dido:99_annexes:annex-b-terms-and-definitions:e:execution_path|Execution Path]] * DIDO Reference Implementation Conceptual Model * DIDO-TE draft Requirements Register OMG TestIF defines SequenceStep as a directed-graph node contained within a TestSequence. The SequenceStep references the SequencedTestObject represented at that position and identifies the SequenceSteps that can follow it. OMG TestIF also permits a SequenceStep to provide ArgumentValues for the input variables of its referenced SequencedTestObject. This definition preserves those characteristics while: * Defining [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]] as an element of a [[dido:99_annexes:annex-b-terms-and-definitions:t:test_sequence|Test Sequence]] * Relating [[dido:99_annexes:annex-b-terms-and-definitions:t:test_sequence|Test Sequence]] to the general concept of [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence|Sequence]] * Separating permitted progression from the [[dido:99_annexes:annex-b-terms-and-definitions:e:execution_path|Execution Path]] that actually occurs * Remaining independent of a particular graph-storage or implementation technology ===== Note ===== A [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]] differs from a [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence|Sequence]]: * A Sequence defines an ordered or directed arrangement of elements and the progression relationships among them * A Sequence Step is one element within a Test Sequence A [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]] differs from a [[dido:99_annexes:annex-b-terms-and-definitions:t:test_sequence|Test Sequence]]: * A Test Sequence defines the overall ordering and permitted progression * A Sequence Step identifies one position and defined occurrence within that progression A [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]] differs from a [[dido:99_annexes:annex-b-terms-and-definitions:t:test_step|Test Step]]: * A Test Step specifies a reusable test action or [[dido:99_annexes:annex-b-terms-and-definitions:v:validation|Validation]] * A Sequence Step identifies an occurrence of a Sequenced Test Object within a Test Sequence A [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]] can reference a Test Step, but the Sequence Step and Test Step remain separate TestIF objects. The same Test Step can occur at multiple positions within one [[dido:99_annexes:annex-b-terms-and-definitions:t:test_sequence|Test Sequence]]. Each occurrence uses a separate [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]]. A [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]] 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 Sequence Step identifies how that content participates at one position within a Test Sequence The same [[dido:99_annexes:annex-b-terms-and-definitions:s:sequenced_test_object|Sequenced Test Object]] can participate in: * Multiple [[dido:99_annexes:annex-b-terms-and-definitions:t:test_sequence|Test Sequences]] * Multiple positions within one Test Sequence * Multiple branches within one Test Sequence * Multiple [[dido:99_annexes:annex-b-terms-and-definitions:t:test_run|Test Runs]] Each [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]] can provide different: * Test Argument Values * Expected Results * Starting Conditions * Timing Conditions * Progression conditions * Error-handling progression * Other occurrence-specific information A [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]] does not copy or redefine the referenced [[dido:99_annexes:annex-b-terms-and-definitions:s:sequenced_test_object|Sequenced Test Object]]. It supplies or references the information needed to use that object at a particular position. A [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]] differs from an [[dido:99_annexes:annex-b-terms-and-definitions:e:execution_path|Execution Path]]: * A Sequence Step defines a potential occurrence and permitted progression within a Test Sequence * An Execution Path identifies which Sequence Steps occurred and how progression actually proceeded during Test Execution A [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]] can remain unperformed when: * [[dido:99_annexes:annex-b-terms-and-definitions:t:test_execution|Test Execution]] follows another conditional branch * A preceding Sequence Step fails * A [[dido:99_annexes:annex-b-terms-and-definitions:t:timeout|Timeout]] causes error-handling progression * Test Execution terminates before reaching the Sequence Step * An authorized [[dido:99_annexes:annex-b-terms-and-definitions:a:actor|Actor]] cancels the Test Run Multiple initial [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Steps]] can define parallel starting paths. Multiple following [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Steps]] can define: * Parallel progression * Conditional progression * Alternative progression * Error-handling progression The [[dido:99_annexes:annex-b-terms-and-definitions:t:test_sequence|Test Sequence]] provides sufficient progression information to distinguish parallel progression from conditional or alternative progression. A [[dido:99_annexes:annex-b-terms-and-definitions:t:test_result|Test Result]] can reference both: * The [[dido:99_annexes:annex-b-terms-and-definitions:s:sequenced_test_object|Sequenced Test Object]] whose performance produced the outcome * The [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]] that identifies the particular occurrence of that Sequenced Test Object This dual reference distinguishes Test Results produced by separate occurrences of the same Sequenced Test Object. ===== Example ===== A reusable [[dido:99_annexes:annex-b-terms-and-definitions:t:test_step|Test Step]] submits a proposed transaction to a [[dido:99_annexes:annex-b-terms-and-definitions:n:node|Node]]. A [[dido:99_annexes:annex-b-terms-and-definitions:t:test_sequence|Test Sequence]] contains three [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Steps]] that reference the same Test Step: * Sequence Step ''SS-01'' supplies the [[dido:99_annexes:annex-b-terms-and-definitions:e:endpoint|Endpoint]] and identity of Node A * Sequence Step ''SS-02'' supplies the Endpoint and identity of Node B * Sequence Step ''SS-03'' supplies the Endpoint and identity of Node C Each [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]] supplies occurrence-specific [[dido:99_annexes:annex-b-terms-and-definitions:t:test_argument_value|Test Argument Values]] while reusing the same Test Step. During [[dido:99_annexes:annex-b-terms-and-definitions:t:test_execution|Test Execution]], the [[dido:99_annexes:annex-b-terms-and-definitions:t:test_run|Test Run]] records: * Whether each Sequence Step occurred * The Test Argument Values used for each occurrence * The Starting Conditions applicable to each occurrence * The Timing Conditions applicable to each occurrence * The start time and completion time of each occurrence * The Test Result produced by each occurrence * The Verdict assigned to each Test Result * The [[dido:99_annexes:annex-b-terms-and-definitions:e:execution_path|Execution Path]] followed * The supporting [[dido:99_annexes:annex-b-terms-and-definitions:e:evidence|Evidence]] Although all three [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Steps]] reference the same [[dido:99_annexes:annex-b-terms-and-definitions:t:test_step|Test Step]], each Test Result remains traceable to the particular Node and Sequence Step that produced it. ---- © 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.