====== ENV-003i — Remove or Isolate Residual State ======
[[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-01-test-environment-requirements:env-003-establish-controlled-starting-state:start|Go to ENV-003 — Establish Controlled Starting State]]
===== Statement =====
Before each [[dido:99_annexes:annex-b-terms-and-definitions:t:test_execution|Test Execution]], the [[dido:99_annexes:annex-b-terms-and-definitions:d:dido-te|DIDO-TE]] SHALL remove or isolate each residual state element not included in the required controlled starting state.
===== Derived From =====
* [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-01-test-environment-requirements:env-003-establish-controlled-starting-state:start|ENV-003 — Establish Controlled Starting State]]
* [[dido:03-dido-te:99-annexes:annex-b-references:dte-005|[DTE5] DIDO-TE Requirements Register]], source requirement identifier and obligation to be assigned
* [[dido:03-dido-te:99-annexes:annex-b-references:dte-006|[DTE6] Structured Information Processing Reference Architecture (SIP-RA)]]
* [[dido:03-dido-te:99-annexes:annex-b-references:dte-007|[DTE7] Federated Data Interpretation Systems Reference Architecture (FDIS-RA)]]
===== Rationale =====
Residual state includes data, processes, messages, files, caches, temporary resources, communication relationships, credentials, locks, subscriptions, transactions, and other state remaining from a prior activity or [[dido:99_annexes:annex-b-terms-and-definitions:t:test_execution|Test Execution]].
Residual state may alter the behaviour of a [[dido:99_annexes:annex-b-terms-and-definitions:n:node|Node]], [[dido:99_annexes:annex-b-terms-and-definitions:t:test_object|Test Object]], or supporting [[dido:99_annexes:annex-b-terms-and-definitions:t:test_resource|Test Resource]].
Removing or isolating residual state prevents a prior Test Execution or unrelated activity from influencing a later [[dido:99_annexes:annex-b-terms-and-definitions:t:test_result|Test Result]]. This separation supports [[dido:99_annexes:annex-b-terms-and-definitions:r:reproducibility|Reproducibility]] and [[dido:99_annexes:annex-b-terms-and-definitions:c:comparability|Comparability]].
===== Applies To =====
* [[dido:99_annexes:annex-b-terms-and-definitions:t:test_environment|Test Environment]]
* [[dido:99_annexes:annex-b-terms-and-definitions:t:test_definition|Test Definition]]
* [[dido:99_annexes:annex-b-terms-and-definitions:t:test_execution|Test Execution]]
* [[dido:99_annexes:annex-b-terms-and-definitions:n:node|Node]]
* [[dido:99_annexes:annex-b-terms-and-definitions:t:test_object|Test Object]]
* [[dido:99_annexes:annex-b-terms-and-definitions:t:test_resource|Test Resource]]
* [[dido:99_annexes:annex-b-terms-and-definitions:t:test_input|Test Input]]
* [[dido:99_annexes:annex-b-terms-and-definitions:c:configuration|Configuration]]
* [[dido:99_annexes:annex-b-terms-and-definitions:c:constraint|Constraint]]
* [[dido:99_annexes:annex-b-terms-and-definitions:e:evidence|Evidence]]
===== Verification =====
Verification confirms that:
* The DIDO-TE identifies residual state before Test Execution.
* The DIDO-TE determines whether each identified residual state element belongs to the required controlled starting state.
* The DIDO-TE removes or isolates each residual state element not included in the required controlled starting state.
* Isolation prevents the residual state element from influencing the applicable Test Execution.
* Removal or isolation addresses residual data, processes, messages, files, caches, resources, communication relationships, credentials, locks, subscriptions, and transactions, where applicable.
* The resulting Test Environment contains only state permitted by the controlled descriptive information.
* The DIDO-TE records each detected residual state element and the action taken.
* The DIDO-TE maintains [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]] among each residual state element, its originating activity when known, the removal or isolation action, and the applicable Test Execution.
* Unidentified, unremoved, ineffectively isolated, prohibited, or untraceable residual state constitutes nonconformance with this requirement.
Verification includes:
* Inspection of the Test Environment following a prior Test Execution
* Inspection for residual data, processes, messages, files, caches, resources, communication relationships, credentials, locks, subscriptions, and transactions
* Observation of residual-state removal or isolation
* Confirmation that isolated residual state cannot influence the applicable Test Execution
* Comparison of the resulting Test Environment state with the required controlled starting state
* Inspection of residual-state detection and disposition records
* Inspection of Traceability records connecting each residual state element to its origin, disposition, and applicable Test Execution
* Repetition of a Test Execution following a prior Test Execution
* A negative assessment containing prohibited or ineffectively isolated residual state
* Confirmation that the negative assessment produces a nonconformance result
===== Referenced By =====
{{backlinks>.}}
===== Related Architecture Sections =====
* Add links to the architecture sections governing Test Environment reset, state isolation, cleanup, Node lifecycle, Test Resource lifecycle, and Test Execution admission.
===== Delivery Phase =====
Assign the applicable delivery phase.
===== Requirement Status =====
Draft
===== Statement Reference =====
Use the following syntax to reference this requirement’s Statement section from another DokuWiki page:
{{section>dido:03-dido-te:99-annexes:annex-c-requirements:02-test-environment-requirements:env-003-establish-controlled-starting-state:env-003i-remove-or-isolate-residual-state#Statement&noheader&nofooter&noeditbtn}}
----
© 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.