public:99_annexes:annex-b-terms-and-definitions:t:test_executable

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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.1public: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
Line 1: Line 1:
 +====== 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>