STD: Non-Functional Requirements (NFR)
Version: v1.0.0 Status: Draft SRS Source:
docusaurus/docs/srs/nfr.mdDomain: NFR
Overview
This document specifies tests for the Non-Functional Requirements domain, which covers quality attributes including page load times, operation completion times, concurrent user capacity, and display usability across different browser configurations.
Domain Characteristics:
- Primary function: Performance verification (response times, throughput)
- Secondary function: Usability verification (browser resize, zoom)
- Environment dependency: Load testing infrastructure, production-like conditions
Test Method Rationale: Per Test Plan §3.2 and §4.2, NFR domains have a 70% AC coverage target since some NFRs require production-like environments. Performance requirements (REQ-NFR-001, REQ-NFR-002, REQ-NFR-003) use TM-HYB with automated timing measurement and manual environment verification. Usability requirements (REQ-NFR-004, REQ-NFR-005) use TM-MAN since they require human judgment for visual verification.
Test Case Convention: Steps describe logical actions, not UI mechanics. Use "Navigate to application page" or "Measure page load time", not "Click the menu item" or "Start stopwatch". This ensures test intent survives UI redesigns.
Coverage Summary
| REQ ID | Title | ACs | Tests | AC Coverage | Method | Gaps |
|---|---|---|---|---|---|---|
| REQ-NFR-001 | Page Load Time | 6 | TC-NFR-001, TC-NFR-002, TC-NFR-003 | 6/6 (100%) | TM-HYB | None |
| REQ-NFR-002 | Reanalysis Operation Time | 7 | TC-NFR-004, TC-NFR-005, TC-NFR-006 | 7/7 (100%) | TM-HYB | None |
| REQ-NFR-003 | Concurrent User Capacity | 5 | TC-NFR-007, TC-NFR-008 | 5/5 (100%) | TM-HYB | None |
| REQ-NFR-004 | Browser Resize Handling | 5 | TC-NFR-009, TC-NFR-010 | 5/5 (100%) | TM-MAN | None |
| REQ-NFR-005 | Zoom Level Usability | 5 | TC-NFR-011, TC-NFR-012 | 5/5 (100%) | TM-MAN | None |
Totals: 5 REQs, 28 ACs, 12 Test Cases, 100% Coverage
Test Cases
TC-NFR-001: Page load time within threshold
Verifies: REQ-NFR-001 (AC1, AC4)
Method: TM-HYB (Automated timing measurement, manual environment verification)
Priority: Critical
Preconditions:
- Network conditions are within normal operating parameters
- Test environment represents production configuration
- Automated timing instrumentation is active
Test Data:
- Sample of representative pages: Dashboard, Run Files list, Run Page, Reports
- Normal network conditions (latency < 100ms, bandwidth > 10 Mbps)
Steps:
- Ensure test environment is under normal load conditions
- Navigate to each representative application page
- Measure time from navigation initiation to fully rendered and interactive state
- Record timing for each page
Expected Results:
- AC1: Page load time does not exceed 10 seconds under normal network conditions
- AC4: Load time is measurable via automated testing tools
Automation Status: Not Implemented
Jira: GI-625fee1dcb80cd86d84e0e6b
TC-NFR-002: Data population and refresh within threshold
Verifies: REQ-NFR-001 (AC2, AC3)
Method: TM-HYB
Priority: High
Preconditions:
- Pages with data-heavy content available (Run Files list with 100+ runs, Run Page with 384 wells)
Test Data:
- Run Files page with 150 runfiles
- Run Page with 384-well run
Steps:
- Navigate to data-heavy page (initial load)
- Measure initial data population time
- Trigger data refresh operation
- Measure screen repopulation time
Expected Results:
- AC2: Initial data population completes within 10-second load time threshold
- AC3: Screen repopulation after data refresh completes within 10-second threshold
Automation Status: Not Implemented
Jira: GI-625fee1dcb80cd86d84e0e6b
TC-NFR-003: Progress indicator for extended loads
Verifies: REQ-NFR-001 (AC5, AC6)
Method: TM-HYB
Priority: Medium
Preconditions:
- Environment configured to simulate slow response (or known slow operation)
Test Data:
- Operation approaching 10-second threshold
Steps:
- Initiate operation that approaches or exceeds 10-second threshold
- Observe visual feedback during operation
- Verify progress indicator behavior
Expected Results:
- AC5: Progress indicator shown for operations approaching 10-second threshold
- AC6 (Error Handling): System displays progress indicator until loading completes when threshold exceeded
Automation Status: Manual (requires controlled latency injection)
Jira: [Pending]
Deviation: TM-MAN used instead of TM-HYB due to requirement to simulate network conditions. Remediation: Consider infrastructure for latency injection in CI environment.
TC-NFR-004: Reanalysis time for standard run sizes
Verifies: REQ-NFR-002 (AC1, AC2)
Method: TM-HYB
Priority: Critical
Preconditions:
- Runfile Report screen accessible
- Runs with 100 wells and 384 wells available
Test Data:
- Run A: 100 wells
- Run B: 384 wells
Steps:
- Navigate to Runfile Report screen for Run A (100 wells)
- Initiate reanalysis
- Measure time to completion
- Repeat for Run B (384 wells)
Expected Results:
- AC1: Reanalyze action completes within 20 seconds for runs up to 100 wells
- AC2: Reanalyze action completes within 20 seconds for runs up to 384 wells
Automation Status: Not Implemented
Jira: GI-6261112f4766b258147fab9a
TC-NFR-005: Edit and manage results operation time
Verifies: REQ-NFR-002 (AC3, AC4, AC7)
Method: TM-HYB
Priority: High
Preconditions:
- Runfile Report screen with analyzed data
Test Data:
- Run with completed analysis
- Edit operations: well status change, outcome override
Steps:
- Navigate to Runfile Report screen
- Perform edit operation on analyzed data
- Measure time to completion
- Perform manage results operation
- Measure time to completion
Expected Results:
- AC3: Edit operations on analyzed data complete within 20 seconds
- AC4: Manage results operations complete within 20 seconds
- AC7: This requirement applies specifically to Runfile Report screen operations
Automation Status: Not Implemented
Jira: GI-626105d9cb80cd86d8ef03bd
TC-NFR-006: Progress feedback during reanalysis
Verifies: REQ-NFR-002 (AC5, AC6)
Method: TM-HYB
Priority: High
Preconditions:
- Runfile Report screen with run ready for reanalysis
Steps:
- Initiate reanalysis operation
- Observe progress feedback during operation
- Verify progress indicator type and behavior
Expected Results:
- AC5: Progress feedback is displayed during reanalysis operations
- AC6: Progress feedback shows meaningful progress (determinate, not indeterminate)
Automation Status: Not Implemented
Jira: GI-6261112f4766b258147fab9a
TC-NFR-007: Concurrent user login and operation
Verifies: REQ-NFR-003 (AC1, AC2, AC3)
Method: TM-HYB (Automated load test with manual verification)
Priority: Critical
Preconditions:
- Load testing infrastructure available
- 30 distinct user credentials prepared
Test Data:
- 30 authenticated user sessions
- Standard operations: page navigation, data retrieval, filter application
Steps:
- Initiate 30 concurrent user login sessions
- Verify all sessions established successfully
- Execute standard operations from each session simultaneously
- Measure response times across all sessions
Expected Results:
- AC1: 30 users can log in simultaneously
- AC2: All users can perform standard operations without timeout or failure
- AC3: Page load times remain within specified thresholds under concurrent load
Automation Status: Not Implemented
Jira: GI-Suite-61ae61d4abf75b1d770a3297
TC-NFR-008: Session isolation and scalability
Verifies: REQ-NFR-003 (AC4, AC5)
Method: TM-HYB
Priority: High
Preconditions:
- 30 concurrent sessions active from TC-NFR-007
Steps:
- From session A, modify user-specific data (e.g., filter settings)
- From session B, verify session A's changes are not visible
- Document actual concurrent capacity observed
Expected Results:
- AC4: No session conflicts occur between concurrent users
- AC5: 30 concurrent user threshold is minimum capacity (actual may be higher)
Automation Status: Not Implemented
Jira: GI-Suite-61ae61d4abf75b1d770a3297
TC-NFR-009: Content reflow on browser resize
Verifies: REQ-NFR-004 (AC1, AC2, AC3)
Method: TM-MAN
Priority: Medium
Preconditions:
- Application page loaded with scrollable content
- Browser window in resizable state (not fullscreen)
Test Data:
- Window sizes: 1920x1080 (full), 1280x720 (medium), 800x600 (small)
- Pages: Run Files list, Run Page with wells, Reports
Steps:
- Load application page at full window size
- Scroll to middle of page content
- Resize browser window to smaller dimensions
- Observe content adaptation
- Verify scroll position relative to content
Expected Results:
- AC1: Screen content adjusts to fit new window dimensions
- AC2: Vertical scroll position adjusts to maintain user context
- AC3: No content is clipped or hidden inappropriately after resize
Automation Status: Manual (requires visual verification)
Jira: [Pending]
TC-NFR-010: Table readability and operation stability on resize
Verifies: REQ-NFR-004 (AC4, AC5)
Method: TM-MAN
Priority: Medium
Preconditions:
- Run page with data table visible
- Unsaved changes present (if applicable)
Steps:
- Navigate to Run Page with wells table
- Apply filter to wells (creates unsaved view state)
- Resize browser window significantly smaller
- Verify table remains readable
- Verify data and navigation state preserved
Expected Results:
- AC4: Tables and data grids remain readable at smaller window sizes
- AC5: Resize operations do not cause data loss or navigation disruption
Automation Status: Manual (requires visual and state verification)
Jira: [Pending]
TC-NFR-011: Display quality at 80% zoom
Verifies: REQ-NFR-005 (AC1, AC2, AC3)
Method: TM-MAN
Priority: Medium
Preconditions:
- Standard laptop display (1920x1080 resolution)
- Browser capable of zoom adjustment
Test Data:
- Browser zoom set to 80%
- Sample pages: Dashboard, Run Files, Run Page, Reports
Steps:
- Set browser zoom to 80%
- Navigate to each sample application page
- Verify text and UI element legibility
- Check for horizontal scrolling requirement
- Verify layout integrity
Expected Results:
- AC1: All UI elements remain legible at 80% zoom
- AC2: No horizontal scrolling required at 80% zoom on 1920x1080 display
- AC3: Layout integrity is maintained at 80% zoom level
Automation Status: Manual (requires visual verification)
Jira: [Pending]
TC-NFR-012: Interactivity and flexibility at zoom levels
Verifies: REQ-NFR-005 (AC4, AC5)
Method: TM-MAN
Priority: Medium
Preconditions:
- Browser at 80% zoom
- Interactive elements available (buttons, dropdowns, form fields)
Steps:
- At 80% zoom, interact with various UI elements:
- Click buttons
- Open dropdowns
- Fill form fields
- Select table rows
- Adjust zoom to user preference (e.g., 70%, 90%, 100%)
- Verify application remains usable at alternate zoom levels
Expected Results:
- AC4: Interactive elements remain operable at 80% zoom
- AC5: Users can adjust zoom level based on preference and display size
Automation Status: Manual (requires interaction verification)
Jira: [Pending]
Gap Analysis
No gaps identified. All 28 acceptance criteria have test coverage.
Coverage by AC Type
| AC Category | Count | Covered | Notes |
|---|---|---|---|
| Performance (Load Time) | 6 | 6 | Verified via TM-HYB with automated timing |
| Performance (Operation Time) | 7 | 7 | Verified via TM-HYB with automated timing |
| Scalability (Capacity) | 5 | 5 | Verified via TM-HYB with load test |
| Usability (Resize) | 5 | 5 | Verified via TM-MAN visual inspection |
| Usability (Zoom) | 5 | 5 | Verified via TM-MAN visual inspection |
Method Distribution
| Method | Test Cases | Rationale |
|---|---|---|
| TM-HYB | 8 | Performance metrics require automated measurement with manual environment verification |
| TM-MAN | 4 | Visual usability verification requires human judgment |
Traceability to Existing Tests
| Test Case | Jira Test | Automation |
|---|---|---|
| TC-NFR-001, TC-NFR-002 | GI-625fee1dcb80cd86d84e0e6b | Ghost Inspector |
| TC-NFR-003 | [Pending] | Manual |
| TC-NFR-004, TC-NFR-006 | GI-6261112f4766b258147fab9a | Ghost Inspector |
| TC-NFR-005 | GI-626105d9cb80cd86d8ef03bd | Ghost Inspector |
| TC-NFR-007, TC-NFR-008 | GI-Suite-61ae61d4abf75b1d770a3297 | Ghost Inspector Suite |
| TC-NFR-009, TC-NFR-010, TC-NFR-011, TC-NFR-012 | [Pending] | Manual |
Notes
- NFR requirements span both automated performance testing and manual usability verification
- Performance tests (REQ-NFR-001, REQ-NFR-002, REQ-NFR-003) depend on production-like load testing environment
- Ghost Inspector is used for automated performance testing validation
- Usability tests (REQ-NFR-004, REQ-NFR-005) currently lack automation; manual verification is appropriate given visual nature
- The 10-second page load and 20-second operation thresholds are industry-standard usability guidelines
- The 80% zoom requirement addresses common laptop user behavior