====== 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.