====== Test Step ====== [[dido:99_annexes:annex-b-terms-and-definitions:start|Go up to Terms and Definitions]] ===== Discussion ===== A Test Step specifies one action or validation performed as part of a [[dido:99_annexes:annex-b-terms-and-definitions:t:test_sequence|Test Sequence]]. As a [[dido:99_annexes:annex-b-terms-and-definitions:s:sequenced_test_object|Sequenced Test Object]], a Test Step can contain or reference a Test Sequence that decomposes the Test Step into subordinate Test Steps or [[dido:99_annexes:annex-b-terms-and-definitions:t:test_executable|Test Executables]]. A Test Step can specify an action that: * Creates a [[dido:99_annexes:annex-b-terms-and-definitions:d:data_object|Data Object]] * Submits a transaction * Sends or receives a message * Invokes an operation * Changes a configuration * Changes a network condition * Changes a state * Advances or modifies time * Starts or stops a [[dido:99_annexes:annex-b-terms-and-definitions:n:node|Node]] * Introduces a fault * Retrieves information * Captures [[dido:99_annexes:annex-b-terms-and-definitions:e:evidence|Evidence]] A Test Step can specify a validation that: * Observes a value * Observes a state * Observes a state transition * Evaluates a condition * Compares an observed value with an [[dido:99_annexes:annex-b-terms-and-definitions:e:expected_result|Expected Result]] * Confirms an event * Confirms the absence of an event * Confirms satisfaction of an evaluation criterion * Produces a [[dido:99_annexes:annex-b-terms-and-definitions:t:test_result|Test Result]] A Test Step can identify: * Its identity * Its name * Its description * Its version * Its action or validation * 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_environment|Test Environments]] * Its Test Arguments * Its Test Argument Values * Its Expected Results * Its completion condition * Its failure condition * Its timeout * 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]] identifies the occurrence of a Test Step at a particular position in a Test Sequence. The same Test Step can participate in multiple Test Sequences or occur more than once within the same Test Sequence. ===== Definition ===== //[[dido:99_annexes:annex-b-terms-and-definitions:s:sequenced_test_object|Sequenced Test Object]] that specifies one action or validation performed as part of a [[dido:99_annexes:annex-b-terms-and-definitions:t:test_sequence|Test Sequence]]// ===== 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.16, TestStep]] * [[dido:99_annexes:annex-b-terms-and-definitions:t:test_object|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_case|Test Case]] * [[dido:99_annexes:annex-b-terms-and-definitions:t:test_sequence|Test Sequence]] * [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]] * DIDO Reference Implementation Conceptual Model * DIDO-TE draft Requirements Register OMG TestIF defines TestStep as an action or validation performed as part of a Test Sequence. TestIF permits Test Steps to contain other Test Steps so that a Test Step can decompose a larger action or validation. ===== Note ===== Every Test Step is a [[dido:99_annexes:annex-b-terms-and-definitions:s:sequenced_test_object|Sequenced Test Object]] and therefore a [[dido:99_annexes:annex-b-terms-and-definitions:t:test_object|Test Object]]. A Test Step differs from a [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]]: * A Test Step specifies a reusable action or validation * A Sequence Step identifies an occurrence of a Sequenced Test Object at a position within a Test Sequence A Test Step differs from a [[dido:99_annexes:annex-b-terms-and-definitions:t:test_case|Test Case]]: * A Test Step specifies one action or validation * A Test Case specifies the Test Steps and Expected Results used to verify a defined subject A Test Step differs from a [[dido:99_annexes:annex-b-terms-and-definitions:t:test_executable|Test Executable]]: * A Test Step specifies an action or validation independently of a particular execution mechanism * A Test Executable contains or references low-level procedural or executable information used to automate an action or validation A Test Step differs from a [[dido:99_annexes:annex-b-terms-and-definitions:t:test_result|Test Result]]: * A Test Step specifies the action or validation to perform * A Test Result records the outcome produced by performing the Test Step A Test Step can have one or more Expected Results when the action or validation produces or evaluates multiple independently identified outcomes. A Test Step can be performed manually or automatically. The Test Step definition remains independent of the execution mechanism. A change to the action, validation, Expected Results, completion condition, failure condition, or timeout can create a new Test Step version when the change affects [[dido:99_annexes:annex-b-terms-and-definitions:t:test_execution|Test Execution]], reproducibility, comparison, or validation. ===== Example ===== A [[dido:99_annexes:annex-b-terms-and-definitions:d:dido-te|DIDO-TE]] [[dido:99_annexes:annex-b-terms-and-definitions:t:test_case|Test Case]] verifies a proposed DIDO state transition. One Test Step submits a proposed transaction to a participating [[dido:99_annexes:annex-b-terms-and-definitions:n:node|Node]]. Another Test Step observes the resulting [[dido:99_annexes:annex-b-terms-and-definitions:d:dido|DIDO]] state and compares it with the applicable Expected Result. The [[dido:99_annexes:annex-b-terms-and-definitions:t:test_sequence|Test Sequence]] uses separate [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Steps]] to identify the order in which the two Test Steps occur. 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 the [[dido:99_annexes:annex-b-terms-and-definitions:t:test_result|Test Result]] associated with each executed Test Step. ---- © 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.