Files
Charon/docs/issues/created/20260202-manual-test-sprint1-e2e-fixes.md
akanealw eec8c28fb3
Some checks are pending
Go Benchmark / Performance Regression Check (push) Waiting to run
Cerberus Integration / Cerberus Security Stack Integration (push) Waiting to run
Upload Coverage to Codecov / Backend Codecov Upload (push) Waiting to run
Upload Coverage to Codecov / Frontend Codecov Upload (push) Waiting to run
CodeQL - Analyze / CodeQL analysis (go) (push) Waiting to run
CodeQL - Analyze / CodeQL analysis (javascript-typescript) (push) Waiting to run
CrowdSec Integration / CrowdSec Bouncer Integration (push) Waiting to run
Docker Build, Publish & Test / build-and-push (push) Waiting to run
Docker Build, Publish & Test / Security Scan PR Image (push) Blocked by required conditions
Quality Checks / Auth Route Protection Contract (push) Waiting to run
Quality Checks / Codecov Trigger/Comment Parity Guard (push) Waiting to run
Quality Checks / Backend (Go) (push) Waiting to run
Quality Checks / Frontend (React) (push) Waiting to run
Rate Limit integration / Rate Limiting Integration (push) Waiting to run
Security Scan (PR) / Trivy Binary Scan (push) Waiting to run
Supply Chain Verification (PR) / Verify Supply Chain (push) Waiting to run
WAF integration / Coraza WAF Integration (push) Waiting to run
changed perms
2026-04-22 18:19:14 +00:00

5.4 KiB
Executable File

Manual Test Plan: Sprint 1 E2E Test Timeout Fixes

Created: 2026-02-02 Status: Open Priority: P1 Assignee: QA Team Sprint: Sprint 1 Closure / Sprint 2 Week 1


Objective

Manually validate Sprint 1 E2E test timeout fixes in production-like environment to ensure no regression when deployed.


Test Environment

  • Browser(s): Chrome 131+, Firefox 133+, Safari 18+
  • OS: macOS, Windows, Linux
  • Network: Normal latency (no throttling)
  • Charon Version: Development branch (Sprint 1 complete)

Test Cases

TC1: Feature Toggle Interactions

Objective: Verify feature toggles work without timeouts or blocking

Steps:

  1. Navigate to Settings → System
  2. Toggle "Cerberus Security" off
  3. Wait for success toast
  4. Toggle "Cerberus Security" back on
  5. Wait for success toast
  6. Repeat for "CrowdSec Console Enrollment"
  7. Repeat for "Uptime Monitoring"

Expected:

  • Toggles respond within 2 seconds
  • No overlay blocking interactions
  • Success toast appears after each toggle
  • Settings persist after page refresh

Pass Criteria: All toggles work within 5 seconds with no errors


TC2: Concurrent Toggle Operations

Objective: Verify multiple rapid toggles don't cause race conditions

Steps:

  1. Navigate to Settings → System
  2. Quickly toggle "Cerberus Security" on → off → on
  3. Verify final state matches last toggle
  4. Toggle "CrowdSec Console" and "Uptime" simultaneously (within 1 second)
  5. Verify both toggles complete successfully

Expected:

  • Final toggle state is correct
  • No "propagation timeout" errors
  • Both concurrent toggles succeed
  • UI doesn't freeze or become unresponsive

Pass Criteria: All operations complete within 10 seconds


TC3: Config Reload During Toggle

Objective: Verify config reload overlay doesn't permanently block tests

Steps:

  1. Navigate to Proxy Hosts
  2. Create a new proxy host (triggers config reload)
  3. While config is reloading (overlay visible), immediately navigate to Settings → System
  4. Attempt to toggle "Cerberus Security"

Expected:

  • Overlay appears during config reload
  • Toggle becomes interactive after overlay disappears (within 5 seconds)
  • Toggle interaction succeeds
  • No "intercepts pointer events" errors in browser console

Pass Criteria: Toggle succeeds within 10 seconds of overlay appearing


TC4: Cross-Browser Feature Flag Consistency

Objective: Verify feature flags work identically across browsers

Steps:

  1. Open Charon in Chrome
  2. Toggle "Cerberus Security" off
  3. Open Charon in Firefox (same account)
  4. Verify "Cerberus Security" shows as off
  5. Toggle "Uptime Monitoring" on in Firefox
  6. Refresh Chrome tab
  7. Verify "Uptime Monitoring" shows as on

Expected:

  • State syncs across browsers within 3 seconds
  • No discrepancies in toggle states
  • Both browsers can modify settings

Pass Criteria: Settings sync across browsers consistently


TC5: DNS Provider Form Fields (Firefox)

Objective: Verify DNS provider form fields are accessible in Firefox

Steps:

  1. Open Charon in Firefox
  2. Navigate to DNS → Providers
  3. Click "Add Provider"
  4. Select provider type "Webhook"
  5. Verify "Create URL" field appears
  6. Select provider type "RFC 2136"
  7. Verify "DNS Server" field appears
  8. Select provider type "Script"
  9. Verify "Script Path/Command" field appears

Expected:

  • All provider-specific fields appear within 2 seconds
  • Fields are properly labeled
  • Fields are keyboard accessible (Tab navigation works)

Pass Criteria: All fields appear and are accessible in Firefox


Known Issues to Watch For

  1. Advanced Scenarios: Edge case tests for 500 errors and concurrent operations may still have minor issues - these are Sprint 2 backlog items
  2. WebKit: Some intermittent failures on WebKit (Safari) - acceptable, documented for Sprint 2
  3. DNS Provider Labels: Label text/ID mismatches possible - deferred to Sprint 2

Success Criteria

PASS if:

  • All TC1-TC5 test cases pass
  • No Critical (P0) bugs discovered
  • Performance is acceptable (interactions <5 seconds)

FAIL if:

  • Any TC1-TC3 fails consistently (>50% failure rate)
  • New Critical bugs discovered
  • Timeouts or blocking issues reappear

Reporting

Format: GitHub Issue

Template:

## Manual Test Results: Sprint 1 E2E Fixes

**Tester**: [Name]
**Date**: [YYYY-MM-DD]
**Environment**: [Browser/OS]
**Build**: [Commit SHA]

### Results

- [ ] TC1: Feature Toggle Interactions - PASS/FAIL
- [ ] TC2: Concurrent Toggle Operations - PASS/FAIL
- [ ] TC3: Config Reload During Toggle - PASS/FAIL
- [ ] TC4: Cross-Browser Consistency - PASS/FAIL
- [ ] TC5: DNS Provider Forms (Firefox) - PASS/FAIL

### Issues Found

1. [Issue description]
   - Severity: P0/P1/P2/P3
   - Reproduction steps
   - Screenshots/logs

### Overall Assessment

[PASS/FAIL with justification]

### Recommendation

[GO for deployment / HOLD pending fixes]

Next Steps

  1. Sprint 2 Week 1: Execute manual tests
  2. If PASS: Approve for production deployment (after Docker Image Scan)
  3. If FAIL: Create bug tickets and assign to Sprint 2 Week 2

Notes:

  • This test plan focuses on potential user-facing bugs that automated tests might miss
  • Emphasizes cross-browser compatibility and real-world usage patterns
  • Complements automated E2E tests, doesn't replace them