Select requirements & read coverage
Select requirements by area path, iteration, a WIQL query, or a list of IDs — you start from the features to cover, not from an existing plan. For each requirement, TestPulse resolves the test cases linked viaTestedBy and classifies it:
- Covered — at least one linked test.
- Gap — no linked test.
100% gaps is a valid result — a plan made entirely of empty suites, ready to fill. It is never an error.
”Covered but unplanned” (opt-in)
A third state — covered but unplanned (a test exists but is in no plan, so you’d reuse it rather than rewrite it) — sits behind an opt-in “Planning scan” toggle, off by default. The scan resolves planning per linked test case (one bounded, deduplicated lookup per unique test, with short timeouts) — it never enumerates the collection’s plans, so it stays usable on large repositories. If a lookup fails, that test is considered planned: the scan never invents a false “unplanned”. The state is never shown unless a real scan ran; without the toggle, the core stays two clean states.Where are the tests planned? (Plans column & execute links)
With the Planning scan on, a Plans column shows per requirement where its linked tests are planned: the plan name if unique, “N plans” if several, ”—” for a gap (or scan off). Expand a row to list each (plan, suite) pair with a one-click Run in Azure DevOps link opening the execute view, plus an n/m run execution progress fetched lazily on expand only (once per suite, cached for the session, degrading silently — a date the server cannot provide is hidden, never invented). The plan detail is extracted from the responses the scan already receives — no extra API call at table load.Preview and export (no write permission required)
TestPulse builds a plan spec: one requirement-based suite per requirement, each with its expected test cases and a gap flag. A preview shows what would be created (e.g. “9 requirement-based suites, 34 test cases”). The Export spec button is available without write permission — it serialises the spec to JSON, Markdown or CSV, so a quality lead without write rights keeps the full read value. The export reflects the preview exactly. Azure DevOps read permissions are still needed to load requirements and cases.Related
Create the plan in Azure DevOps
Create a new plan after confirmation.
Read-only by design
What it writes, and what it never touches.