STD: Print Reports (PRINT)
Version: v1.0.0 Status: Draft SRS Source:
docusaurus/docs/srs/print.mdDomain: PRINT
Overview
This document specifies tests for the Print Reports domain, which covers PDF export file naming, report header/footer formatting, data completeness, and metadata section display for printed reports.
Domain Characteristics:
- Primary function: PDF/print output generation
- Secondary function: Visual formatting (headers, footers, layout)
- Backend role: Data completeness (all rows/columns regardless of pagination)
- Frontend role: PDF generation, file naming, visual layout
Test Method Rationale: Per Test Plan §3.3, Reporting domains use TM-HYB as primary method. PRINT requirements involve visual output verification (headers, footers, layout) that requires human inspection of generated PDFs, combined with data completeness checks that can be automated.
Test Case Convention: Steps describe logical actions, not UI mechanics. Use "Export report to PDF" or "Print report", not "Click the print button" or "Select File > Export". This ensures test intent survives UI redesigns.
Coverage Summary
| REQ ID | Title | ACs | Tests | AC Coverage | Method | Gaps |
|---|---|---|---|---|---|---|
| REQ-PRINT-001 | Generate Standardized PDF File Names | 5 | TC-PRINT-001 | 5/5 (100%) | TM-HYB | None |
| REQ-PRINT-002 | Display Standardized Report Header | 3 | TC-PRINT-002 | 3/3 (100%) | TM-MAN | None |
| REQ-PRINT-003 | Include Complete Report Data | 6 | TC-PRINT-003, TC-PRINT-004 | 6/6 (100%) | TM-HYB | None |
| REQ-PRINT-004 | Display Standardized Report Footer | 5 | TC-PRINT-005 | 5/5 (100%) | TM-MAN | None |
| REQ-PRINT-005 | Include Report Metadata Section | 5 | TC-PRINT-006 | 5/5 (100%) | TM-MAN | None |
Totals: 5 REQs, 24 ACs, 6 Test Cases, 100% Coverage
Test Cases
TC-PRINT-001: PDF export file naming convention
Verifies: REQ-PRINT-001 (AC1, AC2, AC3, AC4, AC5)
Method: TM-HYB (Automated data setup, manual file name verification)
Priority: High
Preconditions:
- User logged in with report export permissions
- At least one report with data available for export
Test Data:
- Outcomes Report with creation date 15-Jun-2021
- Trends Report with creation date 22-Dec-2023
Steps:
- Open Outcomes Report
- Export report to PDF
- Observe default file name offered by browser
- Repeat for Trends Report
Expected Results:
- AC1: File name includes report name ("Outcomes Report", "Trends Report")
- AC2: File name includes report creation date
- AC3: File extension is .pdf
- AC4: Date format is dd-Mmm-yyyy (e.g., "15-Jun-2021")
- AC5: Complete file name follows pattern "[Report Name] dd-Mmm-yyyy.pdf"
- Outcomes Report: "Outcomes Report 15-Jun-2021.pdf"
- Trends Report: "Trends Report 22-Dec-2023.pdf"
Automation Status: Manual (Browser file save dialog inspection)
Jira: [Pending]
TC-PRINT-002: Report header content and placement
Verifies: REQ-PRINT-002 (AC1, AC2, AC3)
Method: TM-MAN
Priority: High
Preconditions:
- User logged in with print permissions
- Report with data available for printing/export
Test Data:
- Outcomes Report
Steps:
- Open Outcomes Report
- Print or export report to PDF
- Examine the first page of the printed/exported output
- Verify header section content
Expected Results:
- AC1: Header appears on the first page of the printed report
- AC2: Header includes application logo (pcr.ai logo)
- AC3: Header includes report title matching report type (e.g., "Outcomes Report")
Automation Status: Manual (Visual inspection required)
Jira: [Pending]
TC-PRINT-003: Column completeness in printed output
Verifies: REQ-PRINT-003 (AC1, AC2, AC3, AC6)
Method: TM-HYB (Automated column count comparison, manual visual verification)
Priority: Critical
Preconditions:
- Report with multiple columns visible on screen
- Report contains data rows
Test Data:
- Outcomes Report with 8 visible columns
Steps:
- Open Outcomes Report on screen
- Count and record all column headers displayed
- Print or export report to PDF
- Compare printed column headers to on-screen headers
Expected Results:
- AC1: Printed report includes all columns from on-screen report (8 columns)
- AC2: Column headers in printed output match on-screen column headers exactly
- AC3: Data values appear under correct column headers (verify by sampling 3-5 rows)
- AC6: Data is presented in tabular format
Automation Status: Partial (Column count can be automated; visual match requires manual)
Jira: [Pending]
TC-PRINT-004: Row completeness bypassing pagination
Verifies: REQ-PRINT-003 (AC4, AC5)
Method: TM-HYB (Automated row count via API, manual printed output verification)
Priority: Critical
Preconditions:
- Report query returns more rows than single-page display limit
Test Data:
- Outcomes Report with 150 total rows
- On-screen pagination set to 25 rows per page
Steps:
- Execute report query returning 150 rows
- Verify on-screen display shows paginated view (25 rows)
- Print or export full report to PDF
- Count total rows in printed output
Expected Results:
- AC4: Printed report includes all 150 rows returned by query
- AC5: Printed output is not limited by application pagination (contains all rows, not just 25)
Automation Status: Partial
Jira: [Pending]
TC-PRINT-005: Report footer content
Verifies: REQ-PRINT-004 (AC1, AC2, AC3, AC4, AC5)
Method: TM-MAN
Priority: High
Preconditions:
- User "John Smith" logged in
- Client configured as "Quest"
- Report available for printing
Test Data:
- Print timestamp: current date/time when test executed
Steps:
- Log in as user "John Smith"
- Open a report
- Print or export report to PDF
- Examine footer section on printed pages
Expected Results:
- AC1: Footer appears on printed report pages
- AC2: Footer displays "Printed by: John Smith"
- AC3: Footer includes confidentiality notice text "Confidential"
- AC4: Footer includes print timestamp (date and time printed)
- AC5: Footer includes client attribution "Property of Quest"
Automation Status: Manual (Visual inspection required)
Jira: [Pending]
TC-PRINT-006: Report Contents metadata section
Verifies: REQ-PRINT-005 (AC1, AC2, AC3, AC4, AC5)
Method: TM-MAN
Priority: High
Preconditions:
- User "Jane Doe" creates report
- Report created with filters applied
- Report creation date: 10-Jan-2024
Test Data:
- Report Name: "Outcomes Report"
- Created by: "Jane Doe"
- Creation Date: 10-Jan-2024
- Filters: Date range = "2023-01-01 to 2023-12-31", Status = "Completed"
Steps:
- Create or open a report with known metadata
- Print or export report to PDF
- Locate the Report Contents section in printed output
- Verify section content and position
Expected Results:
- AC1: Report Contents section is positioned above the main data section
- AC2: Section displays report name "Outcomes Report"
- AC3: Section displays "Created by: Jane Doe"
- AC4: Section displays report creation date "10-Jan-2024"
- AC5: Section displays filters used (Date range, Status values)
Automation Status: Manual (Visual inspection required)
Jira: [Pending]
Gap Analysis
No gaps identified. All 24 acceptance criteria have test coverage.
Coverage by AC Type
| AC Category | Count | Covered | Notes |
|---|---|---|---|
| File Naming | 5 | 5 | TC-PRINT-001 covers all naming conventions |
| Header Display | 3 | 3 | TC-PRINT-002 covers visual header verification |
| Data Completeness | 6 | 6 | TC-PRINT-003/004 cover columns and rows |
| Footer Display | 5 | 5 | TC-PRINT-005 covers all footer elements |
| Metadata Display | 5 | 5 | TC-PRINT-006 covers Report Contents section |
Traceability to Existing Tests
| Test Case | Jira Test | Automation |
|---|---|---|
| TC-PRINT-001 | [Pending] | Manual |
| TC-PRINT-002 | [Pending] | Manual |
| TC-PRINT-003 | [Pending] | Partial |
| TC-PRINT-004 | [Pending] | Partial |
| TC-PRINT-005 | [Pending] | Manual |
| TC-PRINT-006 | [Pending] | Manual |
Notes
- PRINT domain is primarily visual verification; TM-MAN is appropriate for most test cases
- Data completeness (REQ-PRINT-003) can be partially automated by comparing API row/column counts to printed output
- PDF generation is handled by frontend; backend controllers provide data without pagination limits
- Tests should cover both Trends Report and Outcomes Report variations where applicable