{{ theme.skipToContentLabel || 'Skip to content' }}

Test Strategy Document

Parent Document: TEST_PLAN.mdVersion: 1.2 | Date: January 5, 2026


2. Assumptions, Constraints & Risks

2.1 Assumptions

Environmental Assumptions

  • Users access via modern browsers (Chrome 90+, Firefox 88+, Safari 14+, Edge 90+)
  • Minimum 1 Mbps internet connectivity
  • Desktop/laptop with minimum 1366x768 resolution
  • Supabase platform maintains 99.9% uptime SLA

Data Assumptions

  • CSV files conform to DustRanger format (timestamp, device_id, PM2.5, PM10, TSP, etc.)
  • UTF-8 encoding with optional BOM
  • Individual files do not exceed 50MB
  • Concurrent users during peak: ≤50 users

Testing Assumptions

  • QA team has access to Supabase project dashboard
  • Test environments mirror production configuration
  • Automated tests run in CI/CD on every pull request

2.2 Constraints

Technical Constraints

ConstraintImpactMitigation
Supabase connection pool (60 max)Load testing limitsRespect connection limits
Google Gemini API (60 req/min)AI testing frequencyImplement rate limiting
Browser memory for PDF generationLarge reports may failOptimize rendering

Resource Constraints

  • Development team: 2-3 developers
  • QA team: 1-2 engineers
  • CI/CD runner minutes: 2,000/month (GitHub Actions free tier)

2.3 Risk Matrix

Risk IDRiskLikelihoodImpactMitigation
R-001Supabase Platform OutageLowHighLocal Supabase for dev testing
R-002Test Environment InstabilityMediumHighInfrastructure-as-code
R-003External API UnavailabilityMediumMediumMock API responses
R-004Performance DegradationMediumMediumBaseline metrics, profiling
R-005Insufficient Test CoverageHighMediumRisk-based prioritization
R-006Security Vulnerability DiscoveryLowCriticalEarly security testing

3. Testing Approach & Strategy

3.1 Test Pyramid


                   ╱ ╲           Manual/Exploratory/UAT
                  ╱   ╲          [10% of effort]
                 ╱─────╲         ─────────────────────
                ╱       ╲        E2E Tests (Playwright)
               ╱─────────╲       [20% of effort]
              ╱           ╲      ─────────────────────
             ╱─────────────╲     Integration Tests
            ╱               ╲    [30% of effort]
           ╱─────────────────╲   ─────────────────────
          ╱                   ╲  Unit Tests (Vitest)
         ─────────────────────── [40% of effort]

3.2 Test Levels

LevelCoverage TargetToolsFrequency
Unit Tests85%+ utilities, servicesVitest, RTLEvery commit
Integration Tests70%+ API interactionsVitest, Supabase localEvery PR
E2E Tests75%+ critical journeysPlaywrightEvery PR + nightly
Performance TestsKey metricsLighthouse CIWeekly
Security TestsDependency scanningnpm audit, SnykDaily

3.3 Testing Principles

  1. Shift-Left Testing: Quality begins during development
  2. Risk-Based Testing: Prioritize by criticality and complexity
  3. Continuous Testing: Automated tests in CI/CD pipeline
  4. Collaborative Testing: Developers, QA, and stakeholders collaborate

3.4 Unit Testing

Scope: Individual functions, React components, utility modules

Example Test Areas:

  • CSV parsing logic (csvParser.ts)
  • Date formatting utilities (lib/utils.ts)
  • Report data aggregation (reportDataService.ts)
  • Device timeline segment calculation
  • Data gap detection algorithm (threshold: >1 hour)

Coverage Targets:

  • Services/utilities: ≥85% line coverage
  • React components: ≥70% line coverage
  • Business logic: ≥90% line coverage

3.5 Integration Testing

Scope: Component interactions, API integrations, database operations

Example Test Areas:

  • Scraper data synchronization
  • RLS policy enforcement
  • Report generation with aggregated data
  • Device timeline chart with data gaps
  • Authentication flow

3.6 E2E Testing

Scope: Complete user workflows through browser interactions

Example Scenarios:

  • User registration → login → dashboard access
  • Data visualization → filtering → export
  • Report generation → download → PDF verification
  • Multi-site management → device assignment

Browsers: Chrome (primary), Firefox, Webkit

3.7 Performance Testing

Targets:

MetricTarget
Dashboard LCP<2.5s
API Response (Read)<500ms (p95)
PDF Generation<60s (up to 30 pages)
Concurrent Users50 without degradation

3.8 Security Testing

OWASP Top 10 Coverage:

  • SQL Injection: Parameterized queries
  • Broken Authentication: JWT validation
  • Sensitive Data Exposure: RLS enforcement
  • XSS: React built-in escaping
  • Known Vulnerabilities: npm audit

3.9 Readiness Reviews

ReviewPurposePrerequisites
VRR (Validation Readiness)Ready for validation testingUnit coverage met, no P0/P1 defects
IRR (Implementation Readiness)Ready for stagingValidation complete, security tested
ORR (Operational Readiness)Ready for productionUAT signed off, rollback tested

Related Documents: