Skip to main content
Version: Next

STD: Reports (REPORTS)

Version: v1.0.0 Status: Draft SRS Source: docusaurus/docs/srs/reports.md Domain: REPORTS


Overview

This document specifies tests for the Reports domain, which covers analytical and statistical report generation, viewing, and export for PCR run data including Levey Jennings quality control charts, outcome trends analysis, and detailed outcomes reporting.

Domain Characteristics:

  • Primary function: Data visualization and export (charts, tables)
  • Secondary function: Backend aggregation, statistical calculation, alerting
  • Configuration dependency: Westgard settings, alert thresholds, display options
  • Integration points: Notifications (alerts), Run data, Multi-site filtering

Test Method Rationale: Per Test Plan Section 3.3, Reporting domains use TM-HYB as primary method with TM-MAN fallback. Reports involve significant backend statistical logic (TM-API) combined with chart/table rendering verification (TM-UI). Export verification uses TM-API for file content validation.

Test Case Convention: Steps describe logical actions, not UI mechanics. Use "Navigate to Levey Jennings report" or "Generate report with filters", not "Click the Reports menu and select LJ". This ensures test intent survives UI redesigns.


Coverage Summary

REQ IDTitleACsTestsAC CoverageMethodGaps
REQ-REPORTS-001Generate Levey Jennings Report10TC-REPORTS-001, TC-REPORTS-002, TC-REPORTS-00310/10 (100%)TM-HYBNone
REQ-REPORTS-002Create Levey Jennings Dataset4TC-REPORTS-004, TC-REPORTS-0054/4 (100%)TM-UINone
REQ-REPORTS-003Navigate from Levey Jennings Report4TC-REPORTS-0064/4 (100%)TM-UINone
REQ-REPORTS-004Export Levey Jennings Report4TC-REPORTS-0074/4 (100%)TM-HYBNone
REQ-REPORTS-005Manage Westgard Ranges12TC-REPORTS-008, TC-REPORTS-009, TC-REPORTS-01012/12 (100%)TM-HYBNone
REQ-REPORTS-006Bulk Edit Westgard Limits4TC-REPORTS-0114/4 (100%)TM-UINone
REQ-REPORTS-007Configure Westgard Display Options4TC-REPORTS-0124/4 (100%)TM-UINone
REQ-REPORTS-008Generate Trends Report6TC-REPORTS-013, TC-REPORTS-0146/6 (100%)TM-HYBNone
REQ-REPORTS-009Create Trends Dataset4TC-REPORTS-0154/4 (100%)TM-UINone
REQ-REPORTS-010Navigate from Trends Report2TC-REPORTS-0162/2 (100%)TM-UINone
REQ-REPORTS-011Export and Print Trends Report5TC-REPORTS-0175/5 (100%)TM-HYBNone
REQ-REPORTS-012Aggregate Trends Data6TC-REPORTS-0186/6 (100%)TM-HYBNone
REQ-REPORTS-013Manage Trends Alerts8TC-REPORTS-019, TC-REPORTS-0208/8 (100%)TM-HYBTC-020 Not Impl
REQ-REPORTS-014Trigger and Deliver Alert Notifications5TC-REPORTS-0215/5 (100%)TM-HYBNone
REQ-REPORTS-015Handle Special Trends Data3TC-REPORTS-0223/3 (100%)TM-UINone
REQ-REPORTS-016Generate Outcomes Report5TC-REPORTS-023, TC-REPORTS-0245/5 (100%)TM-HYBNone
REQ-REPORTS-017Create Outcomes Dataset4TC-REPORTS-0254/4 (100%)TM-UINone
REQ-REPORTS-018Navigate from Outcomes Report3TC-REPORTS-0263/3 (100%)TM-UINone
REQ-REPORTS-019Export and Print Outcomes Report6TC-REPORTS-0276/6 (100%)TM-HYBNone
REQ-REPORTS-020Configure Combined Outcomes3TC-REPORTS-0283/3 (100%)TM-UINone
REQ-REPORTS-021Multi-Site Report Access8TC-REPORTS-029, TC-REPORTS-0308/8 (100%)TM-HYBNone
REQ-REPORTS-022Exclude Archived Runs from Reports4TC-REPORTS-0314/4 (100%)TM-APINone
REQ-REPORTS-023Display Crossover Wells in Reports6TC-REPORTS-0326/6 (100%)TM-UINone
REQ-REPORTS-024Role-Based Report Access5TC-REPORTS-033, TC-REPORTS-0345/5 (100%)TM-APINone
REQ-REPORTS-025Report Performance4TC-REPORTS-0354/4 (100%)TM-HYBNone

Totals: 25 REQs, 125 ACs, 35 Test Cases, 100% Coverage


Test Cases

Levey Jennings Reporting


TC-REPORTS-001: Levey Jennings chart display with statistical bands

Verifies: REQ-REPORTS-001 (AC1-5: Chart Display)

Method: TM-HYB

Priority: Critical

Preconditions:

  • User logged in with at least Junior User role
  • Westgard-tracked controls exist with historical data points
  • At least one mix with configured Westgard ranges

Test Data:

  • Control with 20 data points over 30 days
  • Range with Mean=25.0, SD=1.5

Steps:

  1. Navigate to Reports > Levey Jennings
  2. Select Mix, Target, and Control from filters
  3. Generate report
  4. Observe chart display

Expected Results:

  • AC1: Levey Jennings chart displayed with control data points plotted against time
  • AC2: Statistical bands visible (Mean, +/-1SD, +/-2SD, +/-3SD)
  • AC3: Y-axis range is +/- 4 standard deviations from mean
  • AC4: Background colors indicate zones (Green within 1SD, Yellow 1-2SD, Red 2-3SD, Grey beyond 3SD)
  • AC5: When multiple extraction instruments selected, mean/SD lines hidden and background colors disabled by default

Automation Status: Automated

Jira: [Pending]


TC-REPORTS-002: Levey Jennings data table display

Verifies: REQ-REPORTS-001 (AC6-9: Data Table)

Method: TM-HYB

Priority: High

Preconditions:

  • Same as TC-REPORTS-001
  • More than one page of data (25+ records)

Test Data:

  • 30 control measurements across 30 days

Steps:

  1. Navigate to Levey Jennings report with data
  2. Observe data table below chart
  3. Navigate through pages

Expected Results:

  • AC6: Data table displays control measurements
  • AC7: Table includes columns: Date, Control Name, Range Name, Thermocycler, Extraction Instrument, CT/Quantity, Mean, SD, CV, Event
  • AC8: Data sorted by Extraction Date
  • AC9: Page navigation available for large datasets

Automation Status: Automated

Jira: [Pending]


TC-REPORTS-003: Levey Jennings data representation

Verifies: REQ-REPORTS-001 (AC10-12: Data Representation)

Method: TM-HYB

Priority: High

Preconditions:

  • Controls with various error statuses exist
  • Westgard settings recently updated

Test Data:

  • Control A: Normal status
  • Control B: Resolved error
  • Control C: Unresolved error
  • CT value: 24.678 (should display as 25)

Steps:

  1. Navigate to Levey Jennings report
  2. Generate report with controls having different error statuses
  3. Observe control display indicators
  4. Verify CT value rounding
  5. Check for Westgard settings notification banner

Expected Results:

  • AC10: Controls displayed based on error status (normal, resolved, unresolved) with distinct indicators
  • AC11: CT values rounded to nearest integer (24.678 displays as 25)
  • AC12: Notification banner displayed when Westgard settings have been updated

Automation Status: Not Implemented

Jira: [Pending]


TC-REPORTS-004: Levey Jennings dynamic filter behavior

Verifies: REQ-REPORTS-002 (AC1-3: Filter Options, Dynamic Behavior)

Method: TM-UI

Priority: High

Preconditions:

  • Multiple mixes with different targets and controls configured
  • Some filter combinations have limited options

Test Data:

  • Mix A: 3 targets, 5 controls
  • Mix B: 1 target, 1 control (auto-select scenario)

Steps:

  1. Navigate to Levey Jennings page
  2. Observe available filters
  3. Select Mix A from dropdown
  4. Observe downstream filter updates
  5. Change to Mix B
  6. Observe auto-selection behavior

Expected Results:

  • AC1: Filters available for Date Range, Mixes, Target, Control, Control Type, Thermocycler, Extraction Instrument, Range Name
  • AC2: Control Type, Thermocycler, and Extraction Instrument support multi-select
  • AC3: Filter options update dynamically based on previous selections

Automation Status: Automated

Jira: [Pending]


TC-REPORTS-005: Levey Jennings filter auto-select and generate

Verifies: REQ-REPORTS-002 (AC4-5: Auto-select, Generate)

Method: TM-UI

Priority: Medium

Preconditions:

  • Mix configured with only one target available

Steps:

  1. Navigate to Levey Jennings page
  2. Select Mix with single target option
  3. Observe Target filter behavior
  4. Complete remaining selections
  5. Click generate/confirm button

Expected Results:

  • AC4: Filters with no available options are disabled
  • AC4: Filters with only one option auto-select that option
  • AC5: Dataset generated upon user confirmation

Automation Status: Automated

Jira: [Pending]


TC-REPORTS-006: Levey Jennings navigation

Verifies: REQ-REPORTS-003 (AC1-4)

Method: TM-UI

Priority: High

Preconditions:

  • Levey Jennings report generated with data points

Steps:

  1. Generate Levey Jennings report
  2. Select a data point on chart
  3. Verify detailed information displayed
  4. Select a table row
  5. Verify navigation to runfile
  6. Use reset/clear filters control
  7. Use back/breadcrumb navigation

Expected Results:

  • AC1: Selecting a data point displays detailed information for that point
  • AC2: Selecting a table row navigates to the associated runfile
  • AC3: Clear all filter selections control available and functional
  • AC4: Standard page navigation (back, breadcrumbs) supported

Automation Status: Automated

Jira: [Pending]


TC-REPORTS-007: Levey Jennings export

Verifies: REQ-REPORTS-004 (AC1-4)

Method: TM-HYB (UI trigger, API file validation)

Priority: High

Preconditions:

  • Levey Jennings report generated with data
  • Multi-site enabled for AC4

Test Data:

  • Report with Westgard configuration events
  • New range created but not yet visible in table

Steps:

  1. Generate Levey Jennings report
  2. Trigger export
  3. Download and parse export file
  4. Verify column headers
  5. Verify Event column content
  6. Verify newly created range inclusion
  7. (Multi-site) Verify Site column present

Expected Results:

  • AC1: Export includes column headers matching displayed table columns
  • AC2: Event column includes Westgard configuration events
  • AC3: Export includes newly created ranges not yet visible in table
  • AC4: Export includes Site column when multi-site is enabled

Automation Status: Automated

Jira: [Pending]


TC-REPORTS-008: Create Westgard range

Verifies: REQ-REPORTS-005 (AC1-5: Range Creation, Range Values)

Method: TM-HYB

Priority: Critical

Preconditions:

  • User has Westgard editing permissions
  • Control exists without any ranges

Test Data:

  • Range Name: "Test Range 2026"
  • Start Date: 2026-01-01
  • CT Type: CT
  • Mean: 25.0
  • SD: 1.5

Steps:

  1. Navigate to Levey Jennings page
  2. Select control without ranges
  3. Open range creation form
  4. Enter Name, Start Date, CT Type, Mean, SD
  5. Save the range
  6. Verify range creation

Expected Results:

  • AC1: Range creation allowed with Name, Start Date, CT/Quantity type, Mean, SD
  • AC2: Range name unique within the control (enforced)
  • AC3: End date automatically set to start of next range (or open)
  • AC4: Mean is positive number
  • AC5: SD is greater than zero

Automation Status: Automated

Jira: [Pending]


TC-REPORTS-009: Westgard range values and editing

Verifies: REQ-REPORTS-005 (AC6-10: Range Values, Editing)

Method: TM-HYB

Priority: High

Preconditions:

  • Existing range with associated controls
  • Data visible on LJ chart

Steps:

  1. Navigate to Levey Jennings report with data
  2. View existing range details
  3. Verify CV calculation displayed
  4. Enter Benchmark CV manually
  5. Trigger Mean/SD calculation from visible data
  6. Attempt to edit date range for range with controls
  7. Verify confirmation prompt before save

Expected Results:

  • AC6: CV calculated and displayed as percentage
  • AC7: Benchmark CV enterable manually
  • AC8: Each range has single Mean/SD/CV values
  • AC9: Mean/SD calculated from visible graph data upon request
  • AC10: Date range editing restricted for ranges with associated controls

Automation Status: Automated

Jira: [Pending]


TC-REPORTS-010: Westgard range validation and error handling

Verifies: REQ-REPORTS-005 (AC11-12, Error Handling)

Method: TM-HYB

Priority: High

Preconditions:

  • User with Westgard editing permissions
  • Range creation form accessible

Test Data:

  • Invalid SD: 0, -1.0
  • Invalid Mean: -5.0
  • Duplicate Name: "Existing Range"

Steps:

  1. Attempt to create range with SD = 0
  2. Verify validation error and save disabled
  3. Attempt to create range with negative SD
  4. Verify validation error
  5. Attempt to create range with negative Mean
  6. Verify validation error
  7. Attempt to create range with duplicate name
  8. Verify specific error message
  9. Verify edit settings disabled until required filters filled

Expected Results:

  • AC11: Changes require user confirmation before saving
  • AC12: Edit settings disabled until all required filters filled
  • ERR1: SD zero or negative shows validation error, save prevented
  • ERR2: Mean negative shows validation error, save prevented
  • ERR3: Duplicate range name shows "Range name must be unique within this control"

Automation Status: Automated

Jira: [Pending]


TC-REPORTS-011: Bulk edit Westgard limits

Verifies: REQ-REPORTS-006 (AC1-4)

Method: TM-UI

Priority: Medium

Preconditions:

  • User logged in as Senior or Super-Admin
  • Multiple controls with Westgard limits configured
  • Some limits with invalid date ranges
  • Multiple extraction instruments selected

Steps:

  1. Navigate to bulk Westgard edit interface
  2. Select multiple controls
  3. Apply bulk update
  4. Verify updates applied to matching limits
  5. Verify future unused limits ignored
  6. Observe warnings for invalid date ranges
  7. Verify confirmation prompt for multiple extraction instruments

Expected Results:

  • AC1: Updates apply to all Westgard limits matching current selection
  • AC2: Future unused Westgard limits ignored during bulk updates
  • AC3: Warnings displayed for invalid date ranges
  • AC4: Confirmation required before applying changes to multiple extraction instruments

Automation Status: Manual (complex multi-selection workflow)

Jira: [Pending]

Deviation: TM-MAN used due to complex multi-control selection and confirmation workflows. Remediation: Consider automation once UI stabilizes.


TC-REPORTS-012: Westgard display options

Verifies: REQ-REPORTS-007 (AC1-4)

Method: TM-UI

Priority: Medium

Preconditions:

  • Levey Jennings chart displayed with data
  • Multiple extraction instruments available

Steps:

  1. Navigate to Levey Jennings report
  2. Toggle Show Mean option
  3. Toggle Show SD Lines option
  4. Toggle Show Bands option
  5. Observe chart updates
  6. Verify legend displays symbol meanings
  7. Select multiple extraction instruments
  8. Enable Westgard bands display option
  9. Configure secondary priority ordering

Expected Results:

  • AC1: Toggles available for Show Mean, Show SD Lines, Show Bands
  • AC2: Legend showing symbol meanings is displayed
  • AC3: When multiple extraction instruments selected, option to display Westgard bands available
  • AC4: Secondary priority ordering configuration available for Westgard-tracked controls

Automation Status: Automated

Jira: [Pending]



Verifies: REQ-REPORTS-008 (AC1-4: Chart Display)

Method: TM-HYB

Priority: Critical

Preconditions:

  • User logged in with at least Junior User role
  • Run data exists with various outcomes over time
  • Multiple intervals worth of data (days, weeks, months)

Test Data:

  • 90 days of run data with mixed outcomes

Steps:

  1. Navigate to Reports > Trends
  2. Select filter criteria (Mix, Target)
  3. Generate report
  4. Observe chart display
  5. Change interval (Day/Week/Month)
  6. Verify X-axis updates
  7. Toggle Y-axis between count and percentage

Expected Results:

  • AC1: Trends chart displayed with outcomes plotted over time
  • AC2: X-axis displays date/time based on selected interval (Day/Week/Month)
  • AC3: Y-axis displays count or percentage
  • AC4: Outcome colors consistent with system color scheme

Automation Status: Automated

Jira: [Pending]


Verifies: REQ-REPORTS-008 (AC5-6: Data Table)

Method: TM-HYB

Priority: High

Preconditions:

  • Trends report generated with control and patient well outcomes

Steps:

  1. Generate Trends report
  2. Observe data table below chart
  3. Verify control outcomes distinguished from patient well outcomes

Expected Results:

  • AC5: Data table displays Date, Outcome, Count, Percentage columns
  • AC6: Control outcomes included and distinguished from patient well outcomes

Automation Status: Automated

Jira: [Pending]


Verifies: REQ-REPORTS-009 (AC1-4)

Method: TM-UI

Priority: High

Preconditions:

  • Multiple mixes with different targets configured

Steps:

  1. Navigate to Trends page
  2. Verify available filters
  3. Select a Mix
  4. Observe Outcome options update based on mix/target selection
  5. Make additional filter selections
  6. Navigate away and return
  7. Verify filter selections remembered
  8. Generate dataset

Expected Results:

  • AC1: Filters available for Date Range, Mix, Target, Outcome, Interval
  • AC2: Outcome options populated based on mix/target selection
  • AC3: Filter options update dynamically based on previous selections
  • AC3: Filter selections remembered during session
  • AC3: Extraction date used for date filtering
  • AC4: Dataset generated upon user confirmation

Automation Status: Automated

Jira: [Pending]


Verifies: REQ-REPORTS-010 (AC1-2)

Method: TM-UI

Priority: Medium

Preconditions:

  • Trends report displayed with data

Steps:

  1. Generate Trends report
  2. Select a data point on chart (or select table row)
  3. Verify navigation to Outcomes Report
  4. Verify matching filters applied
  5. Use back/breadcrumb navigation

Expected Results:

  • AC1: Selecting data point or row navigates to Outcomes Report with matching filters
  • AC2: Standard page navigation (back, breadcrumbs) supported

Automation Status: Automated

Jira: [Pending]


Verifies: REQ-REPORTS-011 (AC1-5)

Method: TM-HYB (UI trigger, file validation)

Priority: High

Preconditions:

  • Trends report generated with data

Steps:

  1. Generate Trends report
  2. Export to Excel format
  3. Verify Excel file content
  4. Export to CSV format
  5. Verify CSV file content
  6. Trigger print
  7. Verify print preview content
  8. Verify file name format

Expected Results:

  • AC1: Export to Excel supported
  • AC2: Export to CSV supported
  • AC3: Export includes all displayed columns
  • AC4: Print includes headers, footers, and full table contents
  • AC5: File names include report identifiers

Automation Status: Automated

Jira: [Pending]


Verifies: REQ-REPORTS-012 (AC1-6)

Method: TM-HYB

Priority: Medium

Preconditions:

  • Trends report with data across multiple thermocyclers and extraction instruments
  • Errors present in data

Steps:

  1. Generate Trends report
  2. Enable aggregation per filter type
  3. Observe aggregated data on graph
  4. Enable aggregated errors display
  5. Verify Y-axis adjusts to aggregated data
  6. Split data by thermocycler
  7. Split data by extraction instrument
  8. Use aggregated thermocycler option

Expected Results:

  • AC1: Aggregation per filter type supported
  • AC2: Aggregated errors displayable on graph
  • AC3: Y-axis range adjusts to aggregated data
  • AC4: Data split by thermocycler supported
  • AC5: Data split by extraction instrument supported
  • AC6: Aggregated thermocycler option available

Automation Status: Not Implemented

Jira: [Pending]


Verifies: REQ-REPORTS-013 (AC1-4: Alert Configuration)

Method: TM-HYB

Priority: High

Preconditions:

  • User with alert configuration permissions
  • Trends data available

Test Data:

  • Alert Name: "High Invalid Rate"
  • Condition: Greater than
  • Threshold: 5%
  • Target Mix: Mix A

Steps:

  1. Navigate to Trends alerts configuration
  2. Create new alert with name, condition, threshold
  3. Configure alert to target specific mix/target/outcome
  4. Save alert
  5. Enable/disable alert
  6. View Trends chart
  7. Verify threshold line displayed

Expected Results:

  • AC1: Alert creation with name, condition, threshold allowed
  • AC2: Alerts configurable to target specific mixes, targets, outcomes
  • AC3: Alerts enableable/disableable
  • AC4: Alert threshold values displayable on trends chart

Automation Status: Automated (Report Builder UI and stepper navigation verified; full alert CRUD requires seeded data)

Jira: [Pending]


Verifies: REQ-REPORTS-013 (AC5-8: Scheduling)

Method: TM-HYB

Priority: Medium

Preconditions:

  • Alert created from TC-REPORTS-019

Steps:

  1. Edit existing alert
  2. Configure scheduled evaluation (daily)
  3. Configure scheduled evaluation (weekly)
  4. Configure scheduled evaluation (monthly)
  5. Enable rolling time period evaluation
  6. Change default view mode to rolling period
  7. Verify schedule frequency options

Expected Results:

  • AC5: Alerts support scheduled evaluation (daily, weekly, monthly)
  • AC6: Alerts support rolling time period evaluation
  • AC7: Default view mode changeable to rolling period
  • AC8: Schedule frequency options include daily, weekly, monthly

Automation Status: Not Implemented

Jira: [Pending]


TC-REPORTS-021: Alert notification triggering and delivery

Verifies: REQ-REPORTS-014 (AC1-5)

Method: TM-HYB

Priority: High

Preconditions:

  • Alert configured with threshold that will be exceeded
  • Email notification recipients configured

Test Data:

  • Alert threshold: 5%
  • Current trend value: 8% (exceeds threshold)

Steps:

  1. Configure alert with threshold of 5%
  2. Generate or inject data that exceeds threshold (8%)
  3. Trigger alert evaluation (manually or wait for schedule)
  4. Verify notification generated
  5. Check email delivery to configured recipients
  6. Check system notification area
  7. Verify notification content includes alert name and timestamp
  8. Dismiss notification

Expected Results:

  • AC1: Alerts evaluated based on configured conditions
  • AC2: Notifications sent when alerts trigger
  • AC3: Notifications include relevant alert details
  • AC3: Email notifications sent to configured recipients
  • AC4: Notifications displayed in system notification area
  • AC4: Notifications include which alert triggered and timestamp
  • AC5: Notifications dismissible

Automation Status: Not Implemented

Jira: [Pending]


Verifies: REQ-REPORTS-015 (AC1-3)

Method: TM-UI

Priority: Low

Preconditions:

  • Outcomes with wildcard/placeholder values exist
  • Mix of exported and non-exported outcomes

Steps:

  1. Navigate to Trends report
  2. Generate report with data containing wildcards/placeholders
  3. Observe message display
  4. Generate report with mixed export status outcomes
  5. Verify both exported and non-exported displayed
  6. Verify export status indication

Expected Results:

  • AC1: Generalized explanatory message displayed for outcomes with wildcards/placeholders
  • AC2: Both exported and non-exported outcomes displayed together
  • AC3: Export status indicated when relevant

Automation Status: Automated

Jira: [Pending]

Deviation: TM-MAN used due to complex test data setup for wildcard scenarios. Remediation: Create fixture data for automated testing.


Outcomes Reporting


TC-REPORTS-023: Outcomes report data display

Verifies: REQ-REPORTS-016 (AC1-3: Data Display)

Method: TM-HYB

Priority: High

Preconditions:

  • User logged in with at least Junior User role
  • Run data with quantification values exists

Test Data:

  • Multiple runs with various outcomes including quantification data

Steps:

  1. Navigate to Reports > Outcomes
  2. Select filter criteria and generate report
  3. Observe table display
  4. Verify columns displayed
  5. Sort by different columns
  6. Verify dataset parameters displayed
  7. Verify quantification column shown when relevant

Expected Results:

  • AC1: Table displays Run Name, Date, Mix, Target, Well, Patient ID, Outcome, Quantification
  • AC2: Table sortable by configurable column
  • AC3: Dataset parameters displayed
  • AC3: Quantification column shown dynamically when relevant

Automation Status: Automated

Jira: [Pending]


TC-REPORTS-024: Outcomes report row expansion

Verifies: REQ-REPORTS-016 (AC4-5: Detail Expansion)

Method: TM-UI

Priority: Medium

Preconditions:

  • Outcomes report displayed with multiple rows

Steps:

  1. Generate Outcomes report
  2. Expand first row
  3. Verify additional well details displayed
  4. Expand second row without collapsing first
  5. Verify both rows expanded simultaneously
  6. Collapse rows

Expected Results:

  • AC4: Rows expandable to show additional well details
  • AC5: Multiple rows expandable simultaneously

Automation Status: Automated

Jira: [Pending]


TC-REPORTS-025: Outcomes dataset creation

Verifies: REQ-REPORTS-017 (AC1-4)

Method: TM-UI

Priority: High

Preconditions:

  • Multiple mixes and targets configured

Steps:

  1. Navigate to Outcomes page
  2. Verify available filters
  3. Apply multiple filters (Date Range, Mix, Target, Outcome, Patient ID)
  4. Verify filters combine correctly
  5. Observe dynamic filter updates
  6. Use clear all filters control
  7. Generate dataset

Expected Results:

  • AC1: Filters available for Date Range, Mix, Target, Outcome, Patient ID
  • AC2: Filters combinable
  • AC3: Filter options update dynamically based on previous selections
  • AC3: Clear all filter selections control available
  • AC3: Extraction date used for date filtering
  • AC4: Dataset generated upon user confirmation

Automation Status: Automated

Jira: [Pending]


TC-REPORTS-026: Outcomes report navigation

Verifies: REQ-REPORTS-018 (AC1-3)

Method: TM-UI

Priority: Medium

Preconditions:

  • Outcomes report with multiple pages of data

Steps:

  1. Generate Outcomes report with 50+ records
  2. Select a table row
  3. Verify navigation to associated runfile
  4. Return to Outcomes report
  5. Navigate through pages (next, previous, page numbers)
  6. Use back/breadcrumb navigation

Expected Results:

  • AC1: Selecting table row navigates to associated runfile
  • AC2: Page navigation controls available (next, previous, page numbers)
  • AC3: Standard page navigation (back, breadcrumbs) supported

Automation Status: Automated

Jira: [Pending]


TC-REPORTS-027: Outcomes export and print

Verifies: REQ-REPORTS-019 (AC1-6)

Method: TM-HYB (UI trigger, file validation)

Priority: High

Preconditions:

  • Outcomes report generated with data including well comments

Steps:

  1. Generate Outcomes report with wells containing comments
  2. Export to CSV
  3. Verify all displayed columns in export
  4. Verify well comments included in export
  5. Trigger print
  6. Verify headers, footers, and full table contents in print
  7. Verify landscape orientation available
  8. Verify file name includes report identifiers

Expected Results:

  • AC1: Export to CSV supported
  • AC2: Export includes all displayed columns
  • AC3: Well comments included in export
  • AC4: Print includes headers, footers, and full table contents
  • AC5: Landscape orientation supported for print
  • AC6: File names include report identifiers

Automation Status: Automated

Jira: [Pending]


TC-REPORTS-028: Combined outcomes configuration

Verifies: REQ-REPORTS-020 (AC1-3)

Method: TM-UI

Priority: Medium

Preconditions:

  • Combined outcome configuration accessible
  • Multiple sample types configured

Steps:

  1. Navigate to combined outcome configuration
  2. Select sample type from dropdown
  3. Normalize groups for combined outcomes
  4. Verify both exported and non-exported outcomes displayable together

Expected Results:

  • AC1: Sample type selection available in combined outcome configuration
  • AC2: Groups normalizable for combined outcomes
  • AC3: Combined outcomes support displaying both exported and non-exported outcomes together

Automation Status: Manual (configuration workflow)

Jira: [Pending]

Deviation: TM-MAN used due to configuration workflow complexity. Remediation: Automate after configuration UI stabilizes.


Cross-Cutting Report Capabilities


TC-REPORTS-029: Multi-site access and filtering

Verifies: REQ-REPORTS-021 (AC1-4: Access and Filtering)

Method: TM-HYB

Priority: High

Preconditions:

  • Multi-site mode enabled
  • User logged in as Manager
  • Data exists across multiple sites

Steps:

  1. Navigate to any report page (LJ, Trends, Outcomes)
  2. Verify Site filter visible (multi-select)
  3. Verify Site column in tables
  4. Select multiple sites
  5. Observe chart with site differentiation
  6. Export report
  7. Verify Site column in export

Expected Results:

  • AC1: Manager users have access to Site filter (multi-select)
  • AC2: Manager users see Site column in report tables
  • AC3: Charts differentiate data points by site
  • AC4: Exports include Site column when multi-site enabled

Automation Status: Automated (Manager sidebar access and page load verified; data-driven AC2-4 require seeded multi-site data)

Jira: [Pending]


TC-REPORTS-030: Multi-site data handling and restrictions

Verifies: REQ-REPORTS-021 (AC5-8: Data Handling)

Method: TM-HYB

Priority: High

Preconditions:

  • Multi-site mode enabled
  • Alerts configured for specific sites
  • Super-admin user for AC8

Steps:

  1. Select multiple sites in filter
  2. Verify data aggregated across selected sites
  3. Configure alert with site-specific scope
  4. Configure alert with global scope
  5. Trigger alert, verify notification indicates source site
  6. Login as Super-admin
  7. Attempt to modify Westgard settings across sites
  8. Verify restriction applied

Expected Results:

  • AC5: Multi-site data aggregated when multiple sites selected
  • AC6: Alerts support site-specific or global scope
  • AC7: Alert notifications indicate source site
  • AC8: Super-admin cannot modify Westgard settings across sites

Automation Status: Not Implemented

Jira: [Pending]


TC-REPORTS-031: Archived runs exclusion

Verifies: REQ-REPORTS-022 (AC1-4)

Method: TM-API

Priority: Critical

Preconditions:

  • Runs exist with archive tags applied
  • Unarchived runs exist in same date range

Test Data:

  • Run A: Archived
  • Run B: Not archived
  • Same date range for both

Steps:

  1. Via API, query Levey Jennings dataset for date range
  2. Verify Run A excluded, Run B included
  3. Query Trends dataset for date range
  4. Verify Run A excluded, Run B included
  5. Query Outcomes dataset for date range
  6. Verify Run A excluded, Run B included
  7. Verify behavior consistent with archive mode settings

Expected Results:

  • AC1: Archived runs not included in Levey Jennings report datasets
  • AC2: Archived runs not included in Trends report datasets
  • AC3: Archived runs not included in Outcomes report datasets
  • AC4: Exclusion behavior consistent with archive mode settings

Automation Status: Not Implemented

Jira: [Pending]


TC-REPORTS-032: Crossover wells display

Verifies: REQ-REPORTS-023 (AC1-6)

Method: TM-UI

Priority: Medium

Preconditions:

  • Runs with crossover wells exist

Test Data:

  • Well marked as crossover well in run data

Steps:

  1. Navigate to Levey Jennings report with crossover well data
  2. Verify crossover well displays distinct indicator
  3. Verify "R" tag indicator displayed
  4. Navigate to Trends report with same data
  5. Verify crossover wells indicated
  6. Navigate to Outcomes report
  7. Verify crossover well indicator
  8. Apply crossover filter in Trends
  9. Verify crossover wells distinguishable in charts and tables

Expected Results:

  • AC1: Crossover wells display distinct indicator in Levey Jennings
  • AC2: Crossover wells display "R" tag indicator
  • AC3: Crossover wells indicated in Trends report data
  • AC4: Crossover wells display appropriate indicator in Outcomes
  • AC5: Crossover wells filterable/highlightable in Trends
  • AC6: Crossover wells distinguishable from standard wells in charts and tables

Automation Status: Not Implemented

Jira: [Pending]


TC-REPORTS-033: Role-based report viewing access

Verifies: REQ-REPORTS-024 (AC1-3)

Method: TM-API

Priority: High

Preconditions:

  • Users with different roles available for testing

Steps:

  1. Login as Junior User
  2. Navigate to Reports menu
  3. Verify access to LJ, Trends, Outcomes reports
  4. Login as Senior User
  5. Verify same access
  6. Login as Super-Admin
  7. Verify same access
  8. Login as Manager
  9. Verify same access

Expected Results:

  • AC1: All authenticated users can view reports
  • AC2: Role-based restrictions apply to specific features (not viewing)
  • AC3: Feature access consistent with system role definitions

Automation Status: Automated (7 scenarios: JUNIOR/SENIOR/MANAGER/SUPER_ADMIN access all 3 reports, CLIENT_ADMIN denied)

Jira: [Pending]


TC-REPORTS-034: Role-based Westgard editing restrictions

Verifies: REQ-REPORTS-024 (AC4-5)

Method: TM-API

Priority: High

Preconditions:

  • Users with Junior, Senior, Super-Admin, Manager roles

Steps:

  1. Login as Junior User
  2. Navigate to Levey Jennings report
  3. Verify Westgard editing controls NOT available
  4. Login as Senior User
  5. Verify bulk Westgard editing available
  6. Login as Super-Admin
  7. Verify bulk Westgard editing available
  8. Login as Manager
  9. Verify multi-site features available

Expected Results:

  • AC4: Senior and Super-Admin have access to bulk Westgard editing
  • AC5: Manager role has access to multi-site features

Automation Status: Automated (4 scenarios: SENIOR/SUPER_ADMIN see pencil+panel, JUNIOR/MANAGER do not)

Jira: [Pending]


TC-REPORTS-035: Report performance

Verifies: REQ-REPORTS-025 (AC1-4)

Method: TM-HYB

Priority: Medium

Preconditions:

  • Large dataset available (10,000+ records)
  • Various browser window sizes

Test Data:

  • 15,000 record dataset for testing

Steps:

  1. Generate report with typical dataset (100 records)
  2. Measure initial population time
  3. Apply filter change
  4. Measure repopulation time
  5. Generate report with 15,000 records
  6. Verify progressive loading or pagination used
  7. Resize browser window
  8. Verify responsive resizing

Expected Results:

  • AC1: Reports initially populate within acceptable time for typical datasets
  • AC2: Reports repopulate within acceptable time after filter changes
  • AC3: Large datasets use progressive loading or pagination
  • AC4: Reports resize responsively when browser window resized

Automation Status: Manual (performance measurement)

Jira: [Pending]

Deviation: TM-MAN used for performance testing due to timing measurement requirements. Remediation: Integrate with performance monitoring tools.


Gap Analysis

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

Coverage by AC Type

AC CategoryCountCoveredNotes
Chart/Visual Display2828Verified via TM-UI + TM-API backend
Data Table Display1818Verified via TM-HYB
Filter/Navigation2525Verified via TM-UI
Export/Print1414Verified via TM-HYB (file validation)
Configuration/Settings2222Verified via TM-HYB
Role/Access88Verified via TM-API
Performance44Verified via TM-MAN
Error Handling66Verified via TM-HYB

Method Distribution

MethodTest CasesPercentage
TM-HYB1851%
TM-UI1234%
TM-API39%
TM-MAN26%

Traceability to SRS Tests

The SRS file contains Gherkin-style acceptance tests for many requirements. This STD formalizes those into structured test cases with explicit method assignment and coverage tracking.

SRS Test AnchorSTD Test Cases
test-req-reports-001TC-REPORTS-001, TC-REPORTS-002, TC-REPORTS-003
test-req-reports-002TC-REPORTS-004, TC-REPORTS-005
test-req-reports-003TC-REPORTS-006
test-req-reports-004TC-REPORTS-007
test-req-reports-005TC-REPORTS-008, TC-REPORTS-009, TC-REPORTS-010
test-req-reports-008TC-REPORTS-013, TC-REPORTS-014
test-req-reports-009TC-REPORTS-015
test-req-reports-013TC-REPORTS-019, TC-REPORTS-020
test-req-reports-014TC-REPORTS-021
test-req-reports-016TC-REPORTS-023, TC-REPORTS-024
test-req-reports-021TC-REPORTS-029, TC-REPORTS-030
test-req-reports-022TC-REPORTS-031
test-req-reports-023TC-REPORTS-032
test-req-reports-024TC-REPORTS-033, TC-REPORTS-034
test-req-reports-025TC-REPORTS-035

Notes

  • REPORTS is a complex domain with three major sub-areas (LJ, Trends, Outcomes)
  • Cross-cutting requirements (multi-site, archive exclusion, crossover wells) tested across all report types
  • Performance testing requires production-like data volumes
  • Alert notification testing requires email infrastructure verification
  • Manual test deviations documented with remediation plans