Test cases and traceability
Test cases prove acceptance criteria. Their results, reported by CI, coding agents or people, decide whether the criteria are met; Traceability follows every requirement to its criteria, tests, work and code.
For: Tester, Team developer, Project lead
How results drive criteria
- A test case verifies one or more acceptance criteria; only active tests count.
- Any failing active test makes its criteria Not met; when all active tests of a criterion have passed, it becomes Met.
- Blocked or not-run tests leave the criterion as it is. People can still verify a criterion by hand.
- A story or task cannot be moved to Done while a test of a criterion it covers is failing.
Where results come from
| Source | How |
|---|---|
| CI | POST /api/test-results with a service token (Agents → Agent tokens) that has the propose permission. Tests are named by code or automation reference. Report skipped tests too, and send complete: true for the whole suite: a test that passed and is now skipped or missing raises DRF-06. |
| Coding agent | propose_test_case registers the tests it writes; report_test_result reports runs. |
| People | The Passed / Failed / Blocked buttons on the test case page, for manual and UAT tests. |
Code links
Connect the GitHub repository on the Project settings page. Pull requests and commits that mention a story, task or record code in the title, description, branch name or commit message are linked to it. Opening a story's pull request moves it to Code review; merging it moves it to Verification. Links can also be added by hand or by agents (link_code).
With the webhook events Pull request reviews and Workflow runs (or Check suites), a review asking for changes is written into the history of the cited work and reaches the people behind it, and so their agent; the CI result of each pull request shows next to it in the agent's work context. A CI failure on work in Code review is announced too. A defect that goes to Code review without a test that failed on it gets a warning: fixes start from a test that reproduces the bug.
A pull request closed without merging sends its work back from Code review to In progress. The repository kit also includes corpole-tests.yml: when your CI uploads JUnit reports as an artifact named junit, the test results go to Corpole after every run, including skipped and missing tests.
Traceability gaps
No test: a criterion nothing proves. No work: a criterion no story or task covers. No code: covering work without a pull request or commit. Failing: a test of the criterion fails.