Skip to main content
Version: Next

STD: Analyzer (ANALYZER)

Version: v1.0.0 Status: Draft SRS Source: docusaurus/docs/srs/analyzer.md Domain: ANALYZER


Overview

This document specifies tests for the Analyzer domain, which covers data processing and validation of imported run files, specifically the configurable accession character validation during patient well import.

Domain Characteristics:

  • Primary function: Backend validation logic during import
  • Configuration dependency: Client-level allowed characters setting
  • Scope: Patient wells only (control wells excluded)

Test Method Rationale:

Per Test Plan §3.3, Backend Services domains use TM-API as primary method. ANALYZER is pure backend validation logic executed during file import with no UI interaction required. All acceptance criteria are verifiable through API/service-level tests.

Test Case Convention:

Steps describe logical actions, not UI mechanics. Use "Import run file with configuration" or "Verify well import status", not "Click the import button" or "Check the database table". This ensures test intent survives implementation changes.


Coverage Summary

REQ IDTitleACsTestsAC CoverageMethodGaps
REQ-ANALYZER-001Configure Accession Validation Enforcement7TC-ANALYZER-001, TC-ANALYZER-002, TC-ANALYZER-003, TC-ANALYZER-0047/7 (100%)TM-APINone

Totals: 1 REQ, 7 ACs, 4 Test Cases, 100% Coverage


Test Cases

TC-ANALYZER-001: Allowed characters configured permits matching accessions

Verifies: REQ-ANALYZER-001 (AC1, AC3)

Method: TM-API

Priority: High

Preconditions:

  • Client configuration accessible via API
  • Test run file with patient wells containing accessions with special characters

Test Data:

  • Run file with 3 patient wells:
    • Well A1: Accession with "-" character
    • Well A2: Accession with "_" character
    • Well A3: Valid alphanumeric-only accession
  • Client configuration allowed_characters_in_accessions = ["-", "_"]

Steps:

  1. Set client configuration allowed_characters_in_accessions = ["-", "_"]
  2. Import test run file via API
  3. Query imported wells for accession error flags

Expected Results:

  • AC1: Wells A1 and A2 imported without accession errors flagged (their special characters are in the allowed set)
  • AC3: All patient wells in the import operation processed with configured allowed characters

Automation Status: Manual

Jira: BT-5296


TC-ANALYZER-002: Empty allowed characters rejects special character accessions

Verifies: REQ-ANALYZER-001 (AC2, AC3)

Method: TM-API

Priority: High

Preconditions:

  • Client configuration accessible via API
  • Test run file with patient wells containing accessions with special characters

Test Data:

  • Same run file as TC-ANALYZER-001
  • Client configuration allowed_characters_in_accessions = [] (empty)

Steps:

  1. Set client configuration allowed_characters_in_accessions = [] (empty array)
  2. Import test run file via API
  3. Query imported wells for accession error flags

Expected Results:

  • AC2: Wells A1 and A2 imported with accession errors flagged (special characters not in allowed set)
  • AC3: All patient wells in the import operation processed with alphanumeric-only validation

Automation Status: Manual

Jira: BT-5296


TC-ANALYZER-003: Allowed characters applies only to patient wells

Verifies: REQ-ANALYZER-001 (AC4, AC5)

Method: TM-API

Priority: High

Preconditions:

  • Client configuration accessible via API
  • Test run file with both patient and control wells

Test Data:

  • Run file with:
    • Patient Well A1: Accession with special characters
    • Control Well A2: Accession with special characters (if applicable to control logic)
    • Patient Well A3: Invalid format in non-accession field
  • Client configuration allowed_characters_in_accessions = ["-", "_", "!"]

Steps:

  1. Set client configuration allowed_characters_in_accessions = ["-", "_", "!"]
  2. Import test run file via API
  3. Query control well validation status
  4. Query patient well for non-accession validation errors

Expected Results:

  • AC4: Control well A2 follows separate validation logic (allowed characters setting not applied)
  • AC5: Patient well A3 with invalid format in non-accession field still receives format validation error (allowed characters does not affect other rules)

Automation Status: Manual

Jira: BT-5296


TC-ANALYZER-004: Client-level configuration and default behavior

Verifies: REQ-ANALYZER-001 (AC6, AC7)

Method: TM-API

Priority: Medium

Preconditions:

  • Access to client configuration management
  • Ability to remove/clear configuration settings

Test Data:

  • Client A: allowed_characters_in_accessions = ["-", "_"] (special characters allowed)
  • Client B: allowed_characters_in_accessions = [] (empty, alphanumeric only)
  • Client C: Configuration setting not present (cleared/never set)

Steps:

  1. Import run file for Client A with accession containing "-" character
  2. Import run file for Client B with accession containing "-" character
  3. Clear allowed_characters_in_accessions setting for Client C
  4. Import run file for Client C with accession containing "-" character

Expected Results:

  • AC6: Client A import has no accession error (client-level setting with "-" allowed respected)
  • AC6: Client B import has accession error flagged (client-level empty setting respected, alphanumeric only)
  • AC7: Client C import has accession error flagged (defaults to alphanumeric-only validation when setting not found)

Automation Status: Manual

Jira: BT-5296


Gap Analysis

No gaps identified. All 7 acceptance criteria have test coverage.

Coverage by AC Type

AC CategoryCountCoveredNotes
Validation Behavior22TC-001, TC-002 verify configured/empty character sets
Scope33TC-001/002 verify patient well scope; TC-003 verifies control well exclusion and other rules unaffected
Configuration11TC-004 verifies client-level control
Error Handling11TC-004 verifies default when setting not found

Traceability to Existing Tests

Test CaseJira TestAutomation
TC-ANALYZER-001, TC-ANALYZER-002, TC-ANALYZER-003, TC-ANALYZER-004BT-5296Manual (TM-MAN)

Epic: BT-5282 (Wildcard Targets)


Notes

  • ANALYZER is a small, focused domain with a single requirement covering configurable accession character validation
  • All tests are API-level (TM-API) as validation occurs during backend import processing
  • The existing Gherkin tests in the SRS (TC-ANALYZER-001, TC-ANALYZER-002) align with the first two test cases defined here
  • This STD expands coverage to include scope verification (control wells, other validation rules) and configuration edge cases (default behavior)