Phase 7: Test
Verify quality and functionality.
Purpose
Ensure the software works correctly:
- Verify functionality meets requirements
- Find and fix bugs
- Validate performance
Activities
Functional Testing
- Test against acceptance criteria
- Verify user flows
- Check edge cases
Non-Functional Testing
- Performance testing
- Security testing
- Accessibility testing
Bug Fixing
- Triage issues
- Fix critical bugs
- Regression testing
Outputs
| Output | Description |
|---|---|
| Test Results | Pass/fail status |
| Bug Reports | Documented issues |
| Performance Metrics | Load test results |
Testing Pyramid
/\
/ \ E2E Tests (few)
/----\
/ \ Integration Tests (some)
/--------\
/ \ Unit Tests (many)
/------------\
Unit Tests
- Test individual functions
- Fast execution
- High coverage
Integration Tests
- Test component interactions
- Database operations
- API endpoints
End-to-End Tests
- Test full user flows
- Browser automation
- Critical paths only
Test Checklist
Functionality
- Happy path works
- Edge cases handled
- Error states covered
- Acceptance criteria met
Performance
- Page load times acceptable
- API response times meet SLA
- No memory leaks
Security
- Input validation
- Authentication/authorization
- No sensitive data exposure
Accessibility
- Keyboard navigation
- Screen reader compatible
- Color contrast
Exit Criteria
Ready to move to Ship when:
- All tests passing
- Critical bugs fixed
- Performance acceptable
- Security review complete
Tips
- Test early, test often
- Automate regression tests
- Don't ship known critical bugs
- Get fresh eyes on testing
Next Phase
Phase 8: Ship - Deploy to production.