Commit Graph

1 Commits

Author SHA1 Message Date
David-Henri ARNAUD
7e948f2683 docs: Test Execution Guide - comprehensive testing strategy (Phase 4)
📋 Test Infrastructure Documentation
Complete guide for executing all test suites with prerequisites and troubleshooting

 Test Status Summary
- Unit Tests: 92/92 passing (100% success) - EXECUTED
- Load Tests (K6): Scripts ready - PENDING EXECUTION
- E2E Tests (Playwright): Scripts ready - PENDING EXECUTION
- API Tests (Newman): Collection ready - PENDING EXECUTION

📖 Guide Contents
1. Prerequisites & Installation
   - K6 CLI installation (macOS, Windows, Linux)
   - Playwright setup (v1.56.0 installed)
   - Newman/Postman CLI (available via npx)

2. Test Execution Instructions
   - Unit tests: Jest (apps/backend/**/*.spec.ts)
   - Load tests: K6 rate-search.test.js (5 trade lanes, 100 users, p95 < 2s)
   - E2E tests: Playwright booking-workflow.spec.ts (8 scenarios, 5 browsers)
   - API tests: Postman collection (12+ endpoints with assertions)

3. Performance Thresholds
   - Request duration p95: < 2000ms
   - Failed requests: < 1%
   - Load profile: Ramp 0→20→50→100 users over 7 minutes

4. Test Scenarios
   - E2E: Login → Rate Search → Booking Creation → Dashboard Verification
   - Load: 5 major trade lanes (Rotterdam↔Shanghai, LA→Singapore, etc.)
   - API: Auth, rates, bookings, organizations, users, GDPR endpoints

5. Troubleshooting Guide
   - Connection refused errors
   - Rate limit issues in test environment
   - Playwright timeout configuration
   - JWT token expiration
   - CORS configuration for tests

6. CI/CD Integration
   - GitHub Actions example workflow
   - Automated test execution pipeline
   - Docker services (PostgreSQL, Redis)

📊 Test Coverage
- Domain Layer: 100% (entities, value objects)
- Application Layer: ~82% (services)
- Overall: ~85%

🔧 Prerequisites for Execution
- K6 CLI: Not installed (requires manual installation)
- Backend server: Must run on http://localhost:4000
- Frontend server: Must run on http://localhost:3000
- Test database: Requires seed data (test users, organizations, mock rates)

🎯 Next Steps
1. Install K6 CLI
2. Start backend + frontend servers
3. Seed test database with fixtures
4. Execute K6 load tests
5. Execute Playwright E2E tests (5 browsers)
6. Execute Newman API tests
7. Document results in PHASE4_SUMMARY.md

Total: 1 file, ~400 LoC documentation
Status: Unit tests  passing | Integration tests  ready for execution

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-14 19:55:17 +02:00