Test Reports¶
Version: 1.0.0 | Last Updated: 2025-01-06 | Status: Active
Overview¶
This section contains automated test execution reports generated by the CI/CD pipeline. Reports include unit tests, integration tests, E2E tests, and mutation testing results.
Latest Report¶
View Latest Test Report - Most recent test execution results.
Report Archive¶
2025 Reports¶
- January 2025 - Monthly test reports
- February 2025 - Monthly test reports
Report Structure¶
Each test report includes:
Summary Metrics¶
- Total Tests: Number of tests executed
- Passed: Tests that passed
- Failed: Tests that failed
- Skipped: Tests that were skipped
- Coverage: Code coverage percentage
- Duration: Test execution time
Coverage Report¶
Backend Coverage:
- Overall: 85% minimum
- Core (app/core/): 95% minimum
- Domains: 85% minimum
- Modules: 80% minimum
Mutation Testing¶
Mutation Score:
- Security-Critical: 90% minimum
- Core Components: 80% minimum
- Business Logic: 70% minimum
Failure Analysis¶
- Test Failures: Failed tests with stack traces
- Flaky Tests: Tests with intermittent failures
- Slow Tests: Tests exceeding time thresholds
Test Categories¶
Unit Tests¶
- Location:
backend/tests/unit/ - Execution:
pytest tests/unit/ -v - Requirements: No external dependencies
- Coverage Target: 85%+
Integration Tests¶
- Location:
backend/tests/integration/ - Execution:
pytest tests/integration/ -v - Requirements: Docker services (postgres, redis, rabbitmq)
- Coverage Target: 70%+
E2E Tests¶
- Location:
backend/tests/e2e/ - Execution:
pytest tests/e2e/ -v - Requirements: Full stack running
- Coverage Target: Critical user journeys
Mutation Tests¶
- Location:
backend/tests/mutation/ - Execution:
mutmut run - Requirements: Unit test suite
- Target: Kill 80%+ of mutations
CI/CD Integration¶
Pipeline Triggers¶
- Push to main branch
- Pull request creation/update
- Manual trigger from GitHub Actions
Pipeline Stages¶
- Lint - Code quality checks (Ruff, MyPy)
- Unit Tests - Fast feedback loop
- Integration Tests - Component interactions
- E2E Tests - Full system validation
- Mutation Tests - Security-critical code
- Report Generation - Publish test reports
Coverage Requirements¶
Minimum Coverage Thresholds¶
# backend/pyproject.toml
[tool.coverage.report]
fail_under = 85 # Overall minimum
[tool.coverage.paths]
core = app/core/*
core_target = 95 # Core requires 95%+
Mutation Testing Targets¶
# Security-critical files
security_critical:
- app/core/jwt.py
- app/core/security.py
- app/core/auth.py
mutation_target: 90%+
Historical Trends¶
Coverage History¶
| Month | Overall | Core | Domains | Modules |
|---|---|---|---|---|
| 2025-01 | 87% | 96% | 86% | 82% |
| 2024-12 | 85% | 94% | 84% | 80% |
Mutation Score History¶
| Month | Critical | Core | Business |
|---|---|---|---|
| 2025-01 | 92% | 85% | 75% |
| 2024-12 | 88% | 82% | 72% |
Generating Reports¶
Local Execution¶
# Run full test suite
make test-backend
# Generate coverage report
make test-backend -- --cov=app --cov-report=html
# Run mutation tests
make mutation-backend
CI Execution¶
Reports are automatically generated and published to this documentation site on every commit to the main branch.
Report Metadata¶
Report metadata is maintained in .meta/index.json:
{
"latest_report": "2025/01-06.md",
"total_reports": 150,
"coverage_trend": "upward",
"mutation_score_trend": "stable"
}
Related Documentation¶
- Testing Guide - Testing strategy and practices
- CI/CD Pipeline - Pipeline configuration
- Quality Assurance - QA processes