> ## Documentation Index
> Fetch the complete documentation index at: https://docs.atconseil.info/llms.txt
> Use this file to discover all available pages before exploring further.

# The Test coverage tab (on the work item)

> See whether a user story's tests pass — and open any test case in one click — right on the work item, read-only.

TestPulse adds a **read-only "Test coverage" tab** to a **User Story / PBI** work item. It is auto-placed and mounts when you open the tab — no configuration, and it never writes to your data.

It answers a sharper question than a coverage percentage: not just *"is this story covered?"* but *"does it pass — and where can I dig?"*

## The headline

At the top, two pills load instantly:

* **Coverage** — are there linked test cases, and how many?
* **Depth** — do those tests have real steps, or are they shallow / underspecified? An advisory, AI-free signal — never blocking.

## Execution verdict

A colour-coded banner reduces all the outcomes below to a single answer:

<CardGroup cols={2}>
  <Card title="Passed" icon="circle-check">Every test passes in the current scope.</Card>
  <Card title="Not OK" icon="circle-x">At least one test failed.</Card>
  <Card title="Not Run" icon="circle-minus">Nothing failed, but some tests have not run (Blocked / Not Applicable count as Not Run).</Card>
  <Card title="Not covered" icon="circle-dashed">No linked test — a neutral state.</Card>
</CardGroup>

Precedence is strict: any **Failed** leads to **Not OK**; otherwise any non-passed result leads to **Not Run**; only 100% **Passed** gives **Passed** (there is no "partial"). It always shows an **icon + label** (never colour alone) and **never recolours** the Coverage pill — coverage and execution stay distinct axes.

## Scope selector

<Note>The scope selector is shown **whenever the story is covered** — so you always know the results are the **latest execution**.</Note>

Choose the scope of the pass/fail:

* **Latest (all plans)** — the default.
* **A specific test plan** — re-frames status, failures and freshness to that plan, and masks the tests that are not in it (with an *"X of N in this plan"* line).

It is remembered **per work item**, switches **instantly in memory** (no new read), and the **execution verdict re-computes** with it. Coverage, Depth and the bug list stay **plan-independent** — a bug binds to a test case, not a plan.

## Clickable test IDs

Each linked test shows a **clickable #ID** that opens the **test case** in a new tab — no hunting through plans and suites.

## The results table

For each linked test: its **#ID**, title (with its type tag), **outcome**, **last run** date, and the **bug** behind a failure — or a *failing-with-no-defect* flag when a test fails without a linked bug.

## What it does not do

* **Read-only.** No new API call, no new scope, no new dependency.
* It **never writes** to your data and **never reads comments**.
* Live and independent of published reports — it reuses the same depth / status / failure engines.

## Related

<CardGroup cols={2}>
  <Card title="Concepts: statuses & results" icon="book">How outcomes are read and reduced.</Card>
  <Card title="Quality Gate & GO/NO-GO" icon="shield-check">Turn results into a release decision.</Card>
</CardGroup>
