| Both sides previous revision Previous revision Next revision | Previous revision |
| public:99_annexes:annex-b-terms-and-definitions:t:test_executable [2026/09/12 17:42] – removed - external edit (Unknown date) 127.0.0.1 | public:99_annexes:annex-b-terms-and-definitions:t:test_executable [2026/09/12 17:43] (current) – ↷ Links adapted because of a move operation nick_dido |
|---|
| | ====== Test Executable ====== |
| |
| | [[public:99_annexes:annex-b-terms-and-definitions:start|Go up to Terms and Definitions]] |
| | |
| | ===== Discussion ===== |
| | |
| | A Test Executable contains or references executable instructions that implement a test action or validation. |
| | |
| | As a [[public:99_annexes:annex-b-terms-and-definitions:s:sequenced_test_object|Sequenced Test Object]], a Test Executable can participate in a [[public:99_annexes:annex-b-terms-and-definitions:t:test_sequence|Test Sequence]]. |
| | |
| | A Test Executable can implement an action or validation specified by a [[public:99_annexes:annex-b-terms-and-definitions:t:test_step|Test Step]]. |
| | |
| | Executable instructions can include: |
| | |
| | * Source code |
| | * Compiled code |
| | * Scripts |
| | * Commands |
| | * Declarative automation |
| | * Tool-specific procedures |
| | * Test-framework instructions |
| | * Executable models |
| | * Service requests |
| | * Hardware-control instructions |
| | * References to externally maintained executable artifacts |
| | |
| | A Test Executable can identify: |
| | |
| | * Its identity |
| | * Its name |
| | * Its description |
| | * Its version |
| | * Its executable instructions |
| | * Its executable type |
| | * Its language or format |
| | * Its entry point |
| | * Its applicable [[public:99_annexes:annex-b-terms-and-definitions:t:test_argument|Test Arguments]] |
| | * Its applicable [[public:99_annexes:annex-b-terms-and-definitions:t:test_argument_value|Test Argument Values]] |
| | * Its produced outputs |
| | * Its applicable [[public:99_annexes:annex-b-terms-and-definitions:e:expected_result|Expected Results]] |
| | * Its required dependencies |
| | * Its required execution facilities |
| | * Its applicable [[public:99_annexes:annex-b-terms-and-definitions:t:test_item|Test Items]] |
| | * Its applicable [[public:99_annexes:annex-b-terms-and-definitions:t:test_environment|Test Environments]] |
| | * Its completion condition |
| | * Its failure condition |
| | * Its timeout |
| | * Its applicable [[public:99_annexes:annex-b-terms-and-definitions:g:governance_policy|Governance Policies]] |
| | * Its [[public:99_annexes:annex-b-terms-and-definitions:p:provenance|Provenance]] |
| | * Its [[public:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]] |
| | |
| | A [[public:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]] identifies the occurrence of a Test Executable at a particular position within a [[public:99_annexes:annex-b-terms-and-definitions:t:test_sequence|Test Sequence]]. |
| | |
| | The same Test Executable can participate in multiple [[public:99_annexes:annex-b-terms-and-definitions:t:test_sequence|Test Sequences]] or occur more than once within the same Test Sequence. |
| | |
| | Each Sequence Step can supply the applicable [[public:99_annexes:annex-b-terms-and-definitions:t:test_argument_value|Test Argument Values]] and [[public:99_annexes:annex-b-terms-and-definitions:e:expected_result|Expected Results]] for that occurrence. |
| | |
| | ===== Definition ===== |
| | |
| | //[[public:99_annexes:annex-b-terms-and-definitions:s:sequenced_test_object|Sequenced Test Object]] that contains or references executable instructions implementing a test action or validation// |
| | |
| | ===== 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.7, TestExecutable]] |
| | * [[public:99_annexes:annex-b-terms-and-definitions:t:test_object|Test Object]] |
| | * [[public:99_annexes:annex-b-terms-and-definitions:s:sequenced_test_object|Sequenced Test Object]] |
| | * [[public:99_annexes:annex-b-terms-and-definitions:t:test_step|Test Step]] |
| | * [[public:99_annexes:annex-b-terms-and-definitions:t:test_sequence|Test Sequence]] |
| | * [[public:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]] |
| | * [[public:99_annexes:annex-b-terms-and-definitions:t:test_argument|Test Argument]] |
| | * [[public:99_annexes:annex-b-terms-and-definitions:t:test_argument_value|Test Argument Value]] |
| | * DIDO Reference Implementation Conceptual Model |
| | * DIDO-TE draft Requirements Register |
| | |
| | OMG TestIF defines TestExecutable as a SequencedTestObject used for low-level procedural definitions, including code and scripts intended for test automation. |
| | |
| | This definition preserves that automation role while allowing the executable information to reside within the Test Executable or in an independently managed artifact referenced by it. |
| | |
| | ===== Note ===== |
| | |
| | Every Test Executable is a [[public:99_annexes:annex-b-terms-and-definitions:s:sequenced_test_object|Sequenced Test Object]] and therefore a [[public:99_annexes:annex-b-terms-and-definitions:t:test_object|Test Object]]. |
| | |
| | A Test Executable differs from a [[public:99_annexes:annex-b-terms-and-definitions:t:test_step|Test Step]]: |
| | |
| | * A [[public:99_annexes:annex-b-terms-and-definitions:t:test_step|Test Step]] specifies an action or validation independently of a particular execution mechanism |
| | * A Test Executable contains or references the executable instructions implementing an action or validation |
| | |
| | A Test Step can have: |
| | |
| | * No Test Executable when a human or external process performs the Test Step |
| | * One Test Executable when one executable artifact implements the Test Step |
| | * Multiple Test Executables when different tools, platforms, or [[public:99_annexes:annex-b-terms-and-definitions:t:test_environment|Test Environments]] require different realizations |
| | |
| | A Test Executable differs from a [[public:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]]: |
| | |
| | * A Test Executable identifies reusable executable instructions |
| | * A [[public:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]] identifies an occurrence of a [[public:99_annexes:annex-b-terms-and-definitions:s:sequenced_test_object|Sequenced Test Object]] within a [[public:99_annexes:annex-b-terms-and-definitions:t:test_sequence|Test Sequence]] |
| | |
| | A Test Executable differs from a [[public:99_annexes:annex-b-terms-and-definitions:t:test_result|Test Result]]: |
| | |
| | * A Test Executable identifies the executable instructions used during [[public:99_annexes:annex-b-terms-and-definitions:t:test_execution|Test Execution]] |
| | * A [[public:99_annexes:annex-b-terms-and-definitions:t:test_result|Test Result]] records an outcome produced by Test Execution |
| | |
| | A Test Executable can define [[public:99_annexes:annex-b-terms-and-definitions:t:test_argument|Test Arguments]] representing its input and output interface. |
| | |
| | A Test Executable does not assign occurrence-specific values to those Test Arguments. A [[public:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]] supplies the applicable [[public:99_annexes:annex-b-terms-and-definitions:t:test_argument_value|Test Argument Values]] for a particular occurrence of the Test Executable within a [[public:99_annexes:annex-b-terms-and-definitions:t:test_sequence|Test Sequence]]. |
| | |
| | A Test Executable can depend on a particular tool, programming language, operating system, processor architecture, or execution facility. The associated [[public:99_annexes:annex-b-terms-and-definitions:t:test_step|Test Step]] should remain independent of those implementation details when the action or validation can be expressed independently. |
| | |
| | A change to the executable instructions, referenced artifact, dependency, entry point, [[public:99_annexes:annex-b-terms-and-definitions:t:test_argument|Test Argument]] interface, or execution requirements can create a new Test Executable version. |
| | |
| | A reproducible [[public:99_annexes:annex-b-terms-and-definitions:t:test_run|Test Run]] should identify: |
| | |
| | * The exact Test Executable identity and version |
| | * The referenced executable artifact |
| | * The executable artifact digest |
| | * The applicable [[public:99_annexes:annex-b-terms-and-definitions:t:test_argument|Test Arguments]] |
| | * The applicable [[public:99_annexes:annex-b-terms-and-definitions:t:test_argument_value|Test Argument Values]] |
| | * Every executable dependency used during [[public:99_annexes:annex-b-terms-and-definitions:t:test_execution|Test Execution]] |
| | |
| | ===== Example ===== |
| | |
| | A [[public:99_annexes:annex-b-terms-and-definitions:t:test_case|Test Case]] contains a [[public:99_annexes:annex-b-terms-and-definitions:t:test_step|Test Step]] requiring submission of a proposed [[public:99_annexes:annex-b-terms-and-definitions:d:dido|DIDO]] transaction. |
| | |
| | A Test Executable references a versioned script that: |
| | |
| | * Connects to the applicable [[public:99_annexes:annex-b-terms-and-definitions:n:node|Node]] |
| | * Submits the proposed transaction |
| | * Records the transaction identifier |
| | * Returns the submission status |
| | |
| | The Test Executable defines: |
| | |
| | * ''transaction'' as a required input [[public:99_annexes:annex-b-terms-and-definitions:t:test_argument|Test Argument]] |
| | * ''targetNode'' as a required input [[public:99_annexes:annex-b-terms-and-definitions:t:test_argument|Test Argument]] |
| | * ''submissionIdentifier'' as an output [[public:99_annexes:annex-b-terms-and-definitions:t:test_argument|Test Argument]] |
| | * ''submissionStatus'' as an output [[public:99_annexes:annex-b-terms-and-definitions:t:test_argument|Test Argument]] |
| | |
| | A [[public:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]] references the Test Executable and supplies: |
| | |
| | * The proposed transaction as the [[public:99_annexes:annex-b-terms-and-definitions:t:test_argument_value|Test Argument Value]] for ''transaction'' |
| | * The applicable [[public:99_annexes:annex-b-terms-and-definitions:n:node|Node]] identity as the Test Argument Value for ''targetNode'' |
| | |
| | During [[public:99_annexes:annex-b-terms-and-definitions:t:test_execution|Test Execution]], the [[public:99_annexes:annex-b-terms-and-definitions:t:test_run|Test Run]] records: |
| | |
| | * The Test Executable identity and version |
| | * The referenced executable artifact |
| | * The executable artifact digest |
| | * The input [[public:99_annexes:annex-b-terms-and-definitions:t:test_argument_value|Test Argument Values]] |
| | * The output [[public:99_annexes:annex-b-terms-and-definitions:t:test_argument_value|Test Argument Values]] |
| | * The applicable [[public:99_annexes:annex-b-terms-and-definitions:t:test_environment|Test Environment]] |
| | * The resulting [[public:99_annexes:annex-b-terms-and-definitions:t:test_result|Test Result]] |
| | * The supporting [[public:99_annexes:annex-b-terms-and-definitions:e:evidence|Evidence]] |
| | |
| | ---- |
| | |
| | <WRAP centeralign> |
| | © 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc. |
| | </WRAP> |