Skip to main content
Version: 3.0.1

STD: Non-Functional Requirements (NFR)

Version: v1.0.0 Status: Draft SRS Source: docusaurus/docs/srs/nfr.md Domain: 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 IDTitleACsTestsAC CoverageMethodGaps
REQ-NFR-001Page Load Time6TC-NFR-001, TC-NFR-002, TC-NFR-0036/6 (100%)TM-HYBNone
REQ-NFR-002Reanalysis Operation Time7TC-NFR-004, TC-NFR-005, TC-NFR-0067/7 (100%)TM-HYBNone
REQ-NFR-003Concurrent User Capacity5TC-NFR-007, TC-NFR-0085/5 (100%)TM-HYBNone
REQ-NFR-004Browser Resize Handling5TC-NFR-009, TC-NFR-0105/5 (100%)TM-MANNone
REQ-NFR-005Zoom Level Usability5TC-NFR-011, TC-NFR-0125/5 (100%)TM-MANNone

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:

  1. Ensure test environment is under normal load conditions
  2. Navigate to each representative application page
  3. Measure time from navigation initiation to fully rendered and interactive state
  4. 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:

  1. Navigate to data-heavy page (initial load)
  2. Measure initial data population time
  3. Trigger data refresh operation
  4. 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:

  1. Initiate operation that approaches or exceeds 10-second threshold
  2. Observe visual feedback during operation
  3. 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:

  1. Navigate to Runfile Report screen for Run A (100 wells)
  2. Initiate reanalysis
  3. Measure time to completion
  4. 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:

  1. Navigate to Runfile Report screen
  2. Perform edit operation on analyzed data
  3. Measure time to completion
  4. Perform manage results operation
  5. 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:

  1. Initiate reanalysis operation
  2. Observe progress feedback during operation
  3. 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:

  1. Initiate 30 concurrent user login sessions
  2. Verify all sessions established successfully
  3. Execute standard operations from each session simultaneously
  4. 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:

  1. From session A, modify user-specific data (e.g., filter settings)
  2. From session B, verify session A's changes are not visible
  3. 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:

  1. Load application page at full window size
  2. Scroll to middle of page content
  3. Resize browser window to smaller dimensions
  4. Observe content adaptation
  5. 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:

  1. Navigate to Run Page with wells table
  2. Apply filter to wells (creates unsaved view state)
  3. Resize browser window significantly smaller
  4. Verify table remains readable
  5. 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:

  1. Set browser zoom to 80%
  2. Navigate to each sample application page
  3. Verify text and UI element legibility
  4. Check for horizontal scrolling requirement
  5. 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:

  1. At 80% zoom, interact with various UI elements:
    • Click buttons
    • Open dropdowns
    • Fill form fields
    • Select table rows
  2. Adjust zoom to user preference (e.g., 70%, 90%, 100%)
  3. 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 CategoryCountCoveredNotes
Performance (Load Time)66Verified via TM-HYB with automated timing
Performance (Operation Time)77Verified via TM-HYB with automated timing
Scalability (Capacity)55Verified via TM-HYB with load test
Usability (Resize)55Verified via TM-MAN visual inspection
Usability (Zoom)55Verified via TM-MAN visual inspection

Method Distribution

MethodTest CasesRationale
TM-HYB8Performance metrics require automated measurement with manual environment verification
TM-MAN4Visual usability verification requires human judgment

Traceability to Existing Tests

Test CaseJira TestAutomation
TC-NFR-001, TC-NFR-002GI-625fee1dcb80cd86d84e0e6bGhost Inspector
TC-NFR-003[Pending]Manual
TC-NFR-004, TC-NFR-006GI-6261112f4766b258147fab9aGhost Inspector
TC-NFR-005GI-626105d9cb80cd86d8ef03bdGhost Inspector
TC-NFR-007, TC-NFR-008GI-Suite-61ae61d4abf75b1d770a3297Ghost 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