Skip to main content
Version: 3.0.1

STD: WDCLS Invert Sigmoid Rule (WDCLSINVSIG)

Version: v1.0.0 Status: Draft SRS Source: docusaurus/docs/srs/rules/rule-wdcls-invert-sigmoid.md Rule Name: WDCLS_INVERT_SIGMOID_POS Domain: RULES-WDCLSINVSIG


Overview

This document specifies tests for the WDCLS Invert Sigmoid rule using decision tables and test vectors. The rule validates CLS (classification) discrepancies between DXAI and machine classifications while considering sigmoid curve patterns, applying intelligent skip conditions.

Rule Characteristics:

  • Pure business logic (no UI)
  • Three skip conditions evaluated in order: minimum fluorescence, max CT, sigmoid pattern
  • Sigmoid direction determination from readings array
  • Shared configuration with WDCLS/C Rules

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-WDCLSINVSIG-001Sigmoid Pattern Skip68100%None
REQ-RULES-WDCLSINVSIG-002CT Threshold Skip45100%None
REQ-RULES-WDCLSINVSIG-003Min Fluorescence Skip34100%None

Totals: 3 REQs, 13 Conditions, 17 Test Vectors, 100% Coverage


Input Variables

VariableTypeValid ValuesDescription
dxai_clsstringPos, NegDXAI classification
machine_clsstringPos, NegMachine classification
final_clsstringPositive, NegativeFinal resolved classification
sigmoid_directionstringUpward, Downward, NoneSigmoid curve pattern
readings_countint0..nNumber of readings in observation
final_ctfloatnumericObservation CT value
max_ct_for_cls_discrepancyfloat?null, numericConfig: Maximum CT threshold
max_readingfloatnumericMaximum value in readings array
minimum_fluorescence_to_positivefloatnumericConfig: Min fluorescence threshold

Output Variables

VariableTypeDescription
rule_skippedboolWhether the rule was skipped entirely
error_appliedboolWhether CLS discrepancy error was applied
skip_reasonstring?Reason for skip (Low Fluorescence, High CT, Valid Invert Pattern)

REQ-RULES-WDCLSINVSIG-001: Sigmoid Pattern Skip Condition

Precondition

All test vectors in this section assume:

  • dxai_cls != machine_cls (discrepancy exists)
  • max_reading >= minimum_fluorescence_to_positive (fluorescence check passed)
  • final_ct < max_ct_for_cls_discrepancy OR max_ct_for_cls_discrepancy = null (CT check passed)

Decision Table: Sigmoid and Classification Combinations

TVsigmoid_directionfinal_clserror_appliedskip_reasonCovers
TV-001-001DownwardNegativefalseValid Invert PatternAC: Downward + Negative = skip
TV-001-002DownwardPositivetruenullAC: Downward + Positive = error
TV-001-003UpwardNegativetruenullAC: Upward + Negative = error
TV-001-004UpwardPositivetruenullAC: Upward + Positive = error

Decision Table: Sigmoid Direction Determination

TVreadings_countmiddle_valuepenultimate_valuesigmoid_directionCovers
TV-001-005410080DownwardAC: middle > penultimate
TV-001-006480100UpwardAC: middle < penultimate
TV-001-0074100100NoneAC: middle == penultimate
TV-001-0083--NoneAC: readings < 4 = indeterminate

Automation Status

Test Vector RangeStatusNotes
TV-001-001 to TV-001-008AutomatedData-driven parameterized tests

REQ-RULES-WDCLSINVSIG-002: CT Threshold Skip Condition

Precondition

All test vectors in this section assume:

  • dxai_cls != machine_cls (discrepancy exists)
  • max_reading >= minimum_fluorescence_to_positive (fluorescence check passed)

Decision Table: CT Threshold Comparison

TVmax_ct_for_cls_discrepancyfinal_ctrule_skippedskip_reasonCovers
TV-002-001null36falsenullAC: Null config = proceed
TV-002-0023536trueHigh CTAC: final_ct > threshold = skip
TV-002-0033636trueHigh CTAC: final_ct == threshold = skip
TV-002-0043736falsenullAC: final_ct < threshold = proceed
TV-002-0053534.99falsenullAC: Boundary - just below threshold

Automation Status

Test Vector RangeStatusNotes
TV-002-001 to TV-002-005AutomatedData-driven parameterized tests

REQ-RULES-WDCLSINVSIG-003: Minimum Fluorescence Skip Condition

Precondition

All test vectors in this section assume:

  • dxai_cls != machine_cls (discrepancy exists)

Decision Table: Fluorescence Threshold Comparison

TVminimum_fluorescence_to_positivemax_readingrule_skippedskip_reasonCovers
TV-003-00110099trueLow FluorescenceAC: max < threshold = skip
TV-003-002100100falsenullAC: max == threshold = proceed
TV-003-003100101falsenullAC: max > threshold = proceed
TV-003-00410099.99trueLow FluorescenceAC: Boundary - just below threshold

Automation Status

Test Vector RangeStatusNotes
TV-003-001 to TV-003-004AutomatedData-driven parameterized tests

Decision Table: Full Rule Evaluation Order

This table verifies the correct evaluation order of skip conditions (fluorescence first, then CT, then sigmoid).

TVmax_readingmin_fl_thresholdfinal_ctmax_ct_thresholdsigmoidfinal_clsrule_skippederror_appliedskip_reason
TV-FULL-001501003035UpwardPositivetruefalseLow Fluorescence
TV-FULL-0021501004035UpwardPositivetruefalseHigh CT
TV-FULL-0031501003035DownwardNegativetruefalseValid Invert Pattern
TV-FULL-0041501003035UpwardPositivefalsetruenull
TV-FULL-00515010030nullDownwardPositivefalsetruenull

Traceability to Existing Tests

RequirementJira TestsStatus
REQ-RULES-WDCLSINVSIG-001BT-5221Existing
REQ-RULES-WDCLSINVSIG-002BT-5228, BT-5237Existing
REQ-RULES-WDCLSINVSIG-003BT-5369, BT-5700Existing

Gap Analysis

Identified Gaps

GapRequirementDescriptionPriorityOwner
None-All requirements have existing Jira test tickets--

Notes

  • All three requirements have linked Jira test tickets
  • Test vectors provide additional granularity for boundary conditions
  • Full evaluation order test vectors (TV-FULL-*) verify correct skip condition sequencing