====== Functional Correctness ====== [[dido:99_annexes:annex-b-terms-and-definitions:start|Go up to Terms and Definitions]] ===== Discussion ===== Functional Correctness is a [[dido:99_annexes:annex-b-terms-and-definitions:q:quality_characteristic|Quality Characteristic]] concerning the degree to which a subject produces correct results with the required precision. Functional Correctness can apply to: * A [[dido:99_annexes:annex-b-terms-and-definitions:c:candidate_solution|Candidate Solution]] * A [[dido:99_annexes:annex-b-terms-and-definitions:d:distributed_system|Distributed System]] * A [[dido:99_annexes:annex-b-terms-and-definitions:n:node|Node]] * A [[dido:99_annexes:annex-b-terms-and-definitions:n:node_set|Node Set]] * A service * A software component * A calculation * A transformation * A transaction * A decision * Another subject producing an observable result Functional Correctness can concern: * Calculated values * Generated values * Transformed values * Selected values * Stored values * Transmitted values * State transitions * Transaction outcomes * Decisions * Messages * Events * Other functional outputs Functional Correctness can identify: * The evaluated function * The applicable inputs * The applicable [[dido:99_annexes:annex-b-terms-and-definitions:t:test_argument_value|Test Argument Values]] * The applicable [[dido:99_annexes:annex-b-terms-and-definitions:e:expected_result|Expected Results]] * The observed [[dido:99_annexes:annex-b-terms-and-definitions:t:test_result|Test Results]] * The required precision * The permitted tolerance * The comparison method * The reference value * The applicable DIDO [[dido:99_annexes:annex-b-terms-and-definitions:b:baseline|Baseline]] * The applicable [[dido:99_annexes:annex-b-terms-and-definitions:v:validation_criteria|Validation Criteria]] * The applicable [[dido:99_annexes:annex-b-terms-and-definitions:a:acceptance_criteria|Acceptance Criteria]] * Its [[dido:99_annexes:annex-b-terms-and-definitions:e:evidence|Evidence]] * Its [[dido:99_annexes:annex-b-terms-and-definitions:p:provenance|Provenance]] * Its [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]] Functional Correctness can be evaluated by comparing an observed Test Result with: * An Expected Result * An authoritative reference value * A result produced by an approved reference implementation * A corresponding Test Result in a controlling DIDO Baseline * A result calculated using an independently verified method * Another reference established by the Acceptance Criteria ===== Definition ===== //[[dido:99_annexes:annex-b-terms-and-definitions:q:quality_characteristic|Quality Characteristic]] concerning the degree to which a subject produces correct results with the required precision// ===== Source ===== Adapted from: * [[https://www.iso.org/standard/78176.html|ISO/IEC 25010:2023, Systems and software Quality Requirements and Evaluation (SQuaRE) — Product quality model]] * [[dido:99_annexes:annex-b-terms-and-definitions:q:quality_characteristic|Quality Characteristic]] * [[dido:99_annexes:annex-b-terms-and-definitions:e:expected_result|Expected Result]] * [[dido:99_annexes:annex-b-terms-and-definitions:t:test_result|Test Result]] * DIDO Reference Implementation Conceptual Model * DIDO-TE draft Requirements Register ISO/IEC 25010 identifies Functional Correctness as a product-quality subcharacteristic associated with producing correct results with the required precision. This definition adapts that concept for DIDO-TE evaluation of Candidate Solutions, Distributed Systems, Nodes, services, components, calculations, transactions, and other subjects producing observable results. ===== Note ===== Functional Correctness differs from functional completeness: * Functional Correctness concerns whether produced results are correct * Functional completeness concerns whether the available functions cover the specified tasks and objectives Functional Correctness differs from functional appropriateness: * Functional Correctness concerns the correctness of results * Functional appropriateness concerns whether functions facilitate accomplishment of specified tasks and objectives Functional Correctness differs from [[dido:99_annexes:annex-b-terms-and-definitions:r:reliability|Reliability]]: * Functional Correctness concerns whether a produced result is correct * Reliability concerns the degree to which a subject performs specified functions under specified conditions for a specified period A subject can produce an incorrect result reliably. A subject can produce correct results during successful operations while experiencing unacceptable failures. Functional Correctness does not require exact equality when the applicable Acceptance Criteria permit: * Numerical tolerance * Statistical tolerance * Rounding * Approximation * Nondeterministic ordering * Equivalent representations * Another bounded variation The applicable Acceptance Criteria determine: * The authoritative Expected Result or reference value * The comparison method * The required precision * The permitted tolerance * The treatment of missing values * The treatment of invalid values * The treatment of nondeterministic results A passing [[dido:99_annexes:annex-b-terms-and-definitions:v:verdict|Verdict]] can indicate that an observed Test Result satisfies the Functional Correctness criteria applicable to a particular Test Step or Test Run. One passing Verdict does not necessarily establish Functional Correctness across every input, condition, Configuration, or operational context. ===== Example ===== Three Candidate Solutions calculate the expected settlement amount for the same financial agreement. The applicable Acceptance Criteria establish: * The financial agreement * The applicable calculation rules * The Test Argument Values * The authoritative Expected Result * The currency * The required decimal precision * The permitted rounding method * The permitted tolerance DIDO-TE performs the applicable Test Definition for each Candidate Solution and compares each resulting Test Result with the authoritative Expected Result. A Candidate Solution exhibits Functional Correctness for the evaluated calculation when its Test Result satisfies the required precision and permitted tolerance. ---- © 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.