STD: Analyzer (ANALYZER)
Version: v1.0.0 Status: Draft SRS Source:
docusaurus/docs/srs/analyzer.mdDomain: 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 ID | Title | ACs | Tests | AC Coverage | Method | Gaps |
|---|---|---|---|---|---|---|
| REQ-ANALYZER-001 | Configure Accession Validation Enforcement | 7 | TC-ANALYZER-001, TC-ANALYZER-002, TC-ANALYZER-003, TC-ANALYZER-004 | 7/7 (100%) | TM-API | None |
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:
- Set client configuration
allowed_characters_in_accessions= ["-", "_"] - Import test run file via API
- 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:
- Set client configuration
allowed_characters_in_accessions= [] (empty array) - Import test run file via API
- 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:
- Set client configuration
allowed_characters_in_accessions= ["-", "_", "!"] - Import test run file via API
- Query control well validation status
- 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:
- Import run file for Client A with accession containing "-" character
- Import run file for Client B with accession containing "-" character
- Clear
allowed_characters_in_accessionssetting for Client C - 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 Category | Count | Covered | Notes |
|---|---|---|---|
| Validation Behavior | 2 | 2 | TC-001, TC-002 verify configured/empty character sets |
| Scope | 3 | 3 | TC-001/002 verify patient well scope; TC-003 verifies control well exclusion and other rules unaffected |
| Configuration | 1 | 1 | TC-004 verifies client-level control |
| Error Handling | 1 | 1 | TC-004 verifies default when setting not found |
Traceability to Existing Tests
| Test Case | Jira Test | Automation |
|---|---|---|
| TC-ANALYZER-001, TC-ANALYZER-002, TC-ANALYZER-003, TC-ANALYZER-004 | BT-5296 | Manual (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)