Quick Start
Set up TDD enforcement and validate test quality in your project.
Testing Quality Quickstart
Set up TDD enforcement and validate test quality in your project.
Installation
aiwg addon install testing-quality
Or manually:
cp -r agentic/code/addons/testing-quality/ .aiwg/addons/
Set Up TDD Enforcement
Run this once when starting a project or when adding testing gates to an existing one:
Set up TDD enforcement for this project
What gets installed:
- Pre-commit hook that runs `npm test` (or equivalent) before allowing commits
- CI coverage gate at 80% minimum
- `tdd_setup.py` script for non-npm projects
- TDD workflow documentation in `.aiwg/testing/`
After setup, commits that do not pass the test suite are blocked, and CI pipelines fail below 80% coverage.
Check Test Quality with Mutation Testing
To find out whether your tests would actually catch bugs:
Run mutation testing on src/auth/
Validate test quality for the payment module
What's our mutation score?
The skill detects your test framework and runs the appropriate mutation tool:
- JavaScript/TypeScript: Stryker
- Java: PITest
- Python: mutmut
Output is a mutation score report with:
- Overall score (target: ≥80%)
- Which specific functions/methods have weak test coverage
- For each weak test, what condition or behavior it fails to validate
Example output:
Mutation Score: 73% (target: 80%)
Weak tests identified:
src/auth/token.ts:validateExpiry()
- Mutant survived: Changed > to >= on line 47
- Tests should check boundary: token valid at exactly expiration time
src/auth/token.ts:generateToken()
- Mutant survived: Removed userId from payload on line 23
- Tests should verify userId is present in generated token
Fix the identified weak tests and re-run until the score reaches ≥80%.
Find and Fix Flaky Tests
When CI is reporting intermittent failures:
Find flaky tests
CI is unstable — find the flaky tests
The `flaky-detect` skill analyzes CI history to identify tests that fail intermittently and categorizes the root cause. To fix them:
Fix the flaky tests
Make the auth tests reliable
The `flaky-fix` skill applies deterministic replacements: proper async/await patterns for timing issues, state isolation for order-dependency issues, mocking for external dependencies.
Generate Test Data Factories
When writing tests that require complex model instances:
Generate factory for User model
Create test data factory for Order with traits for pending, completed, and cancelled orders
Output is a factory file with sensible defaults, Faker.js integration for realistic data, and traits for common test variants. The factory is placed in the project's existing test/factories/ directory (or created if absent).
Detect Orphaned Tests
When tests accumulate and fall out of sync with the codebase:
Find orphaned tests
Sync tests with the current codebase
`test-sync` identifies:
- Test files that reference source files which no longer exist
- Source files that have no corresponding test file
- Test functions that test code paths no longer present in the source
Run the /setup-tdd Command
For a one-command TDD infrastructure setup:
/setup-tdd
This combines `tdd-enforce` installation with test suite configuration, creating a complete TDD environment in one step.
Integrate with SDLC Quality Gates
If using sdlc-complete, the testing-quality addon hooks into the Construction phase:
Run quality gate check before transitioning to Transition
The quality gate runs `mutation-test` and `flaky-detect` as blocking checks. Both must pass (≥80% mutation score, <2% flaky rate) before the transition is approved.
References
- `@$AIWG_ROOT/agentic/code/addons/testing-quality/docs/overview.md` — All skills and quality targets
- `@$AIWG_ROOT/agentic/code/addons/testing-quality/skills/tdd-enforce/SKILL.md` — TDD enforcement details
- `@$AIWG_ROOT/agentic/code/addons/testing-quality/skills/mutation-test/SKILL.md` — Mutation testing details
- `@$AIWG_ROOT/agentic/code/frameworks/sdlc-complete/agents/test-engineer.md` — SDLC test engineer agent