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:f:functional_correctness [2026/09/12 17:42] – removed - external edit (Unknown date) 127.0.0.1public:99_annexes:annex-b-terms-and-definitions:f:functional_correctness [2026/09/12 17:43] (current) – ↷ Links adapted because of a move operation nick_dido
Line 1: Line 1:
 +====== Functional Correctness ======
  
 +[[public:99_annexes:annex-b-terms-and-definitions:start|Go up to Terms and Definitions]]
 +
 +===== Discussion =====
 +
 +Functional Correctness is a [[public: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 [[public:99_annexes:annex-b-terms-and-definitions:c:candidate_solution|Candidate Solution]]
 +  * A [[public:99_annexes:annex-b-terms-and-definitions:d:distributed_system|Distributed System]]
 +  * A [[public:99_annexes:annex-b-terms-and-definitions:n:node|Node]]
 +  * A [[public: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 [[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:e:expected_result|Expected Results]]
 +  * The observed [[public: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 [[public:99_annexes:annex-b-terms-and-definitions:b:baseline|Baseline]]
 +  * The applicable [[public:99_annexes:annex-b-terms-and-definitions:v:validation_criteria|Validation Criteria]]
 +  * The applicable [[public:99_annexes:annex-b-terms-and-definitions:a:acceptance_criteria|Acceptance Criteria]]
 +  * Its [[public:99_annexes:annex-b-terms-and-definitions:e:evidence|Evidence]]
 +  * Its [[public:99_annexes:annex-b-terms-and-definitions:p:provenance|Provenance]]
 +  * Its [[public: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 =====
 +
 +//[[public: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]]
 +  * [[public:99_annexes:annex-b-terms-and-definitions:q:quality_characteristic|Quality Characteristic]]
 +  * [[public:99_annexes:annex-b-terms-and-definitions:e:expected_result|Expected Result]]
 +  * [[public: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 [[public: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 [[public: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.
 +
 +----
 +
 +<WRAP centeralign>
 +© 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.
 +</WRAP>