| Next revision | Previous revision |
| dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step [2026/08/04 13:36] – created nick_dido | dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step [2026/08/05 10:45] (current) – nick_dido |
|---|
| ===== Discussion ===== | ===== Discussion ===== |
| |
| A Sequence Step identifies an occurrence of a [[dido:99_annexes:annex-b-terms-and-definitions:s:sequenced_test_object|Sequenced Test Object]] at a particular position within a [[dido:99_annexes:annex-b-terms-and-definitions:t:test_sequence|Test Sequence]]. | 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 Sequence Step references one Sequenced Test Object, such as a: | 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_set|Test Set]] |
| * [[dido:99_annexes:annex-b-terms-and-definitions:t:test_executable|Test Executable]] | * [[dido:99_annexes:annex-b-terms-and-definitions:t:test_executable|Test Executable]] |
| |
| A Sequence Step can identify: | A [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]] can identify: |
| |
| * Its identity | * Its identity |
| * Its name | * Its name |
| * Its description | * Its description |
| * Its referenced Sequenced Test Object | * 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: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: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:t:test_item|Test Items]] |
| * Its preconditions | * Its applicable [[dido:99_annexes:annex-b-terms-and-definitions:s:starting_condition|Starting Conditions]] |
| * Its starting condition | * Its applicable [[dido:99_annexes:annex-b-terms-and-definitions:t:timing_condition|Timing Conditions]] |
| | * Its required prior conditions |
| * Its completion condition | * Its completion condition |
| * Its failure condition | * Its failure condition |
| * Its timeout | * Its [[dido:99_annexes:annex-b-terms-and-definitions:t:timeout|Timeout]] |
| * Its permitted following Sequence Steps | * Its permitted following [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Steps]] |
| * Its progression conditions | * Its progression conditions |
| * Its error-handling path | * Its alternative progression |
| | * Its error-handling progression |
| * Its applicable [[dido:99_annexes:annex-b-terms-and-definitions:g:governance_policy|Governance Policies]] | * 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:p:provenance|Provenance]] |
| * Its [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]] | * Its [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]] |
| |
| A Sequence Step can use [[dido:99_annexes:annex-b-terms-and-definitions:t:test_argument_value|Test Argument Values]] to supply occurrence-specific inputs to the referenced Sequenced Test Object. | 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 Sequence Step can also establish progression to one or more following Sequence Steps. Progression can depend on: | 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 Sequence Step | * 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:t:test_result|Test Result]] |
| * A [[dido:99_annexes:annex-b-terms-and-definitions:v:verdict|Verdict]] | * A [[dido:99_annexes:annex-b-terms-and-definitions:v:verdict|Verdict]] |
| * A measured value | * A measured value |
| * An observed event | * An observed event |
| * A timeout | * A state |
| | * A [[dido:99_annexes:annex-b-terms-and-definitions:t:timeout|Timeout]] |
| * An error | * An error |
| * Another defined condition | * 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 ===== | ===== Definition ===== |
| |
| //position within a [[dido:99_annexes:annex-b-terms-and-definitions:t:test_sequence|Test Sequence]] that references an occurrence of a [[dido:99_annexes:annex-b-terms-and-definitions:s:sequenced_test_object|Sequenced Test Object]] and identifies permitted progression// | //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 ===== | ===== Source ===== |
| |
| * [[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]] | * [[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: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: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: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 Reference Implementation Conceptual Model |
| * DIDO-TE draft Requirements Register | * DIDO-TE draft Requirements Register |
| OMG TestIF also permits a SequenceStep to provide ArgumentValues for the input variables of its referenced SequencedTestObject. | OMG TestIF also permits a SequenceStep to provide ArgumentValues for the input variables of its referenced SequencedTestObject. |
| |
| This definition preserves those characteristics while describing Sequence Step independently of a specific graph-storage or implementation technology. | 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 ===== | ===== Note ===== |
| |
| A Sequence Step differs from a [[dido:99_annexes:annex-b-terms-and-definitions:t:test_step|Test 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:sequence|Sequence]]: |
| |
| * A Test Step specifies a reusable test action or [[dido:99_annexes:annex-b-terms-and-definitions:v:validation|Validation]] | * A Sequence defines an ordered or directed arrangement of elements and the progression relationships among them |
| * A Sequence Step identifies an occurrence of a Sequenced Test Object at a particular position within a Test Sequence | * A Sequence Step is one element within a Test Sequence |
| |
| A Sequence Step can reference a Test Step, but the Sequence Step and Test Step remain separate objects. | 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]]: |
| |
| The same Test Step can occur at multiple positions within one Test Sequence. Each occurrence uses a separate Sequence Step. | * A Test Sequence defines the overall ordering and permitted progression |
| | * A Sequence Step identifies one position and defined occurrence within that progression |
| |
| A Sequence Step differs from a [[dido:99_annexes:annex-b-terms-and-definitions:t:test_sequence|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_step|Test Step]]: |
| |
| * A Test Sequence defines the overall order and progression | * A Test Step specifies a reusable test action or [[dido:99_annexes:annex-b-terms-and-definitions:v:validation|Validation]] |
| * A Sequence Step identifies one position within that progression | * 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 Sequence Step differs from a [[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]] 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 Sequenced Test Object defines reusable test content |
| * A Sequence Step identifies an occurrence of that content within a Test Sequence | * A Sequence Step identifies how that content participates at one position within a Test Sequence |
| |
| The same Sequenced Test Object can participate in: | The same [[dido:99_annexes:annex-b-terms-and-definitions:s:sequenced_test_object|Sequenced Test Object]] can participate in: |
| |
| * Multiple Test Sequences | * Multiple [[dido:99_annexes:annex-b-terms-and-definitions:t:test_sequence|Test Sequences]] |
| * Multiple positions within one Test Sequence | * Multiple positions within one Test Sequence |
| * Multiple branches within one Test Sequence | * Multiple branches within one Test Sequence |
| * Multiple [[dido:99_annexes:annex-b-terms-and-definitions:t:test_run|Test Runs]] | * Multiple [[dido:99_annexes:annex-b-terms-and-definitions:t:test_run|Test Runs]] |
| |
| Each Sequence Step can provide different Test Argument Values, Expected Results, progression conditions, or other occurrence-specific information. | Each [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]] can provide different: |
| |
| A Sequence Step does not copy or redefine the referenced Sequenced Test Object. It supplies the information needed to use that object at a particular position. | * Test Argument Values |
| | * Expected Results |
| | * Starting Conditions |
| | * Timing Conditions |
| | * Progression conditions |
| | * Error-handling progression |
| | * Other occurrence-specific information |
| |
| Multiple initial Sequence Steps can identify parallel starting paths. | 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. |
| |
| Multiple following Sequence Steps can identify: | 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 | * Parallel progression |
| * Conditional progression | * Conditional progression |
| * Alternative paths | * Alternative progression |
| * Error-handling paths | * Error-handling progression |
| | |
| The Test Sequence must provide sufficient conditions to distinguish parallel progression from conditional or alternative progression. | |
| |
| A Sequence Step defines permitted progression. The applicable Test Run records the progression that actually occurred 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_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: | A [[dido:99_annexes:annex-b-terms-and-definitions:t:test_result|Test Result]] can reference both: |
| |
| * The Sequenced Test Object whose performance produced the outcome | * The [[dido:99_annexes:annex-b-terms-and-definitions:s:sequenced_test_object|Sequenced Test Object]] whose performance produced the outcome |
| * The Sequence Step that identifies the particular occurrence of that object | * 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 results produced by multiple occurrences of the same Sequenced Test Object. | This dual reference distinguishes Test Results produced by separate occurrences of the same Sequenced Test Object. |
| |
| ===== Example ===== | ===== 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 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 Sequence Steps that reference the same Test Step: | 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-01'' supplies the [[dido:99_annexes:annex-b-terms-and-definitions:e:endpoint|Endpoint]] and identity of Node A |
| * Sequence Step ''SS-03'' supplies the Endpoint and identity of Node C | * Sequence Step ''SS-03'' supplies the Endpoint and identity of Node C |
| |
| Each 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. | 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: | 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 | * Whether each Sequence Step occurred |
| * The Test Argument Values used for each occurrence | * 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 start time and completion time of each occurrence |
| * The [[dido:99_annexes:annex-b-terms-and-definitions:t:test_result|Test Result]] produced by each occurrence | * The Test Result produced by each occurrence |
| * The [[dido:99_annexes:annex-b-terms-and-definitions:v:verdict|Verdict]] assigned to each Test Result | * The Verdict assigned to each Test Result |
| * The progression path followed after each occurrence | * 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]] | * The supporting [[dido:99_annexes:annex-b-terms-and-definitions:e:evidence|Evidence]] |
| |
| Although all three Sequence Steps reference the same Test Step, each Test Result remains traceable to the particular Node and Sequence Step that produced it. | 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. |
| |
| ---- | ---- |