Skip to main content
Version: 3.0.1

STD: ICCT Rule (Final CT/CLS Determination)

Version: v1.0.0 Status: Draft SRS Source: docusaurus/docs/srs/rules/rule-icct.md Rule Name: ICCT Domain: RULES-ICCT


Overview

This document specifies tests for the ICCT rule using decision tables and test vectors. The rule determines Final CT and Final CLS values based on manual user inputs, falling back to preferred result provider values when manual inputs are not specified.

Rule Characteristics:

  • Pure business logic (no UI)
  • Simple condition matching (2 boolean inputs)
  • Provider lookup for CLS matching
  • Null CT handling for Negative CLS

Test Method: TM-API (per Test Plan Section 3.3 - Rules use automated API tests)

Verification Approach: Rule verification is performed using data-driven test vectors. Each row in a decision table represents a complete verification scenario with defined inputs and expected outputs. This format enables exhaustive condition coverage while remaining concise and auditable.


Coverage Summary

REQ IDTitleConditionsTest VectorsCoverageGaps
REQ-RULES-ICCT-001Final CT/CLS Determination48100%None

Totals: 1 REQ, 4 Conditions, 8 Test Vectors, 100% Coverage

Automation Status: Automated


REQ-RULES-ICCT-001: Final CT/CLS Determination

Input Variables

VariableTypeValid ValuesDescription
has_manual_ct_providerbooltrue, falseWhether user specified a manual CT provider
manual_ct_provider.ctfloat?null, numericCT value from manual provider (when specified)
has_manual_clsbooltrue, falseWhether user specified a manual CLS
manual_clsstring?null, Positive, Negative, Amb, ...User-specified CLS value
preferred_provider.ctfloatnumericCT from preferred result provider
preferred_provider.clsstringPositive, Negative, Amb, ...CLS from preferred result provider
matching_provider.ctfloat?null, numericCT from provider whose CLS matches manual CLS

Output Variables

VariableTypeDescription
final_ctfloat?Resolved CT value (null for Negative CLS)
final_clsstringResolved CLS value

Decision Table: Primary Truth Table

This table covers the three documented input combinations from the SRS truth table.

TVhas_manual_ct_providerhas_manual_clsfinal_ctfinal_clsCovers
TV-001-001falsefalsepreferred_provider.ctpreferred_provider.clsAC: No manual inputs - default case
TV-001-002truefalsemanual_ct_provider.ctpreferred_provider.clsAC: Manual CT provider only
TV-001-003falsetruematching_provider.ctmanual_clsAC: Manual CLS only - matching provider lookup

Decision Table: Negative CLS Handling

This table covers the special case where manual CLS is specified as Negative.

TVhas_manual_ct_providerhas_manual_clsmanual_clsfinal_ctfinal_clsCovers
TV-001-004falsetrueNegativenullNegativeAC: Negative CLS sets CT to null
TV-001-005falsetruePositivematching_provider.ctPositiveAC: Non-negative CLS uses matching provider CT

Decision Table: Matching Provider Resolution

This table verifies the matching provider lookup behavior when manual CLS is specified.

TVmanual_clsproviders_availableprovider_with_matching_clsfinal_ctCovers
TV-001-006Positive[P1(cls=Neg, ct=20), P2(cls=Pos, ct=25)]P225AC: Correct provider selected by CLS match
TV-001-007Amb[P1(cls=Pos, ct=20), P2(cls=Amb, ct=30)]P230AC: Ambiguous CLS matching

Decision Table: Boundary and Edge Cases

TVScenariohas_manual_cthas_manual_clsInput StateExpected BehaviorCovers
TV-001-008Preferred provider valuesfalsefalsepref.ct=25.5, pref.cls=Positivefinal_ct=25.5, final_cls=PositiveAC: Exact value preservation

Traceability to SRS Acceptance Criteria

AC ReferenceDescriptionTest Vectors
No Manual Inputs (Default Case)Final CT/CLS from preferred providerTV-001-001, TV-001-008
Manual CT Provider OnlyCT from manual provider, CLS from preferredTV-001-002
Manual CLS OnlyCLS from manual, CT from matching providerTV-001-003, TV-001-006, TV-001-007
Negative CLS HandlingCT set to null for Negative CLSTV-001-004
Non-Negative CLSCT from matching providerTV-001-005

Traceability to Existing Tests

RequirementJira TestsStatus
REQ-RULES-ICCT-001BT-3861Existing

Gap Analysis

Identified Gaps

GapRequirementDescriptionPriorityOwner
--No gaps identified--

All acceptance criteria from REQ-RULES-ICCT-001 are covered by test vectors TV-001-001 through TV-001-008. The existing Jira test BT-3861 provides baseline coverage.

Notes

  1. Unspecified Combination: The SRS notes that the fourth combination (both Manual CT Provider AND Manual CLS specified) is not defined in requirements. This combination is intentionally excluded from test vectors as it represents an unspecified state.

  2. Provider Lookup Assumption: Test vectors assume a provider with matching CLS always exists when manual CLS is specified. Error handling for missing matching provider is not specified in the SRS.