The Coverage matrix gives you an at-a-glance view of the latest result for every test case across every environment in your project. It answers the question “what is the current state of each test case in each deployment target?” without having to open individual runs.
Reaching the screen
Open a project, then click Coverage in the project sidebar (grid icon). The URL is /projects/:projectId/coverage-matrix.
How to read the matrix
The matrix is a table where:
- Rows are the project’s test cases, ordered by case number and grouped under suite-band headers. Cases not assigned to any suite appear under an Unassigned band.
- Columns are the project’s environments (see Environments). Column order follows the order environments were created.
- Each cell shows the most recent result recorded for that test case in that environment across all runs linked to it.
Cell states
| Cell appearance | Meaning |
|---|---|
| A softly tinted cell with a centred result icon — tick, cross, skip, block or retry | The most recent run result for this case in this environment (Passed, Failed, Skipped, Blocked, Retest) |
| A small grey dash | The case ran in this environment but no result was recorded (Untested) |
| An empty cell | No result has ever been recorded for this case in that environment (Not run) |
The icon carries the state and the tint only reinforces it, so the grid can be read without relying on colour; every cell also announces its state to a screen reader, including the two empty ones.
When multiple runs link to the same environment and include the same test case, only the result with the latest execution timestamp is shown. If two results share the same timestamp, the one with the higher internal ID wins.
Results from runs that have no environment assigned are never reflected in the matrix — each column only counts runs explicitly linked to that environment.
Filters
Above the matrix, the filter bar lets you narrow the visible rows. All active filters compose — rows must satisfy every active filter at once.
Suite filter
Select one or more suites to show only their test cases. Rows from any selected suite are included (OR semantics across the selection). Deselecting all suites removes the filter and shows all cases again.
- Single selection — identical to the previous behavior; only cases in that suite appear.
- Multiple selections — cases from any of the selected suites are shown together. For example, selecting both “Authentication” and “Checkout” shows all cases from either suite.
- Clearing the selection — all cases (regardless of suite) are shown.
Status filter
Filters rows by derived latest status. Select one or more statuses, including Not run (rows that have at least one empty cell in any environment). Multiple statuses are OR-combined.
Search bar
The search bar lets you find test cases by name or display ID. Type any text to filter rows to cases whose title or display ID contains your query as a case-insensitive substring.
Search by scope selector — click the icon to the left of the search field to choose what to match against:
| Scope | What it searches |
|---|---|
| All (default) | Case title or display ID |
| Title | Case title only |
| ID | Display ID only (the #<number> shown in the matrix) |
For example, typing 42 with scope ID finds only the case with display ID #42; typing 42 with scope All also finds any case whose title contains “42”.
The search query is written to the URL after a brief pause, so you can bookmark or share a filtered view. Clearing the field removes the text filter.
Changing the search scope does not reset your current query or other active filters.
All active filters (Suite + Status + Search) are reflected in the URL so you can bookmark or share a focused view.
The rows-per-page selector and the range summary appear below the matrix once there are enough test cases to paginate; the previous/next and page-number controls appear only when there are more test cases than fit on one page. Changing the page keeps the column list and active filters stable — only the rows change.
Related guides
- Environments — create and manage the environments that appear as matrix columns.
- Run execution panel — run test cases and record results that populate the matrix cells.