Reports Test Result Matrix - sebiboga/testlink-upgraded GitHub Wiki
Test Result Matrix β Modernized Screen
The Test Results Matrix report (ASIDE β Reports β Test Results Matrix) shows, for every
test case linked to the test plan, the execution status per build, plus derived columns for
the latest created build and the globally latest execution. It replaces the legacy 1.9.20
lib/results/resultsTC.php HTML/ExtJS view with a modern Dashio-styled page backed by a
plain-PHP REST BFF.
Path: ASIDE menu β Reports β Test Results Matrix
URL: gui/templates/results/resultsMatrix.html?tproject_id=<id>&tplan_id=<id>
BFF API: api/reports/index.php β GET ?action=metrics_results_matrix&tproject_id=&tplan_id= (+ do_action=result&build_set[]= after a launcher apply)
Rights: testplan_metrics
Tracking issue: #681
Overview
- Header: test project / test plan context, locale switcher, toolbar.
- One row per test case (one per platform when platforms exist), grouped column layout:
| Column | Content |
|---|---|
| Test Suite | top-level suite name (legacy grouping) |
| Test Case | PREFIX-id: name + history / edit popup links (legacy icons) |
| Priority | High/Medium/Low β only when the project has priority enabled |
| Build Aβ¦N | per-build status badge (localized label + version) + execute popup icon |
| [Latest created build] | result cell of the newest active build (legacy quirk: "latest" = end of ordered set) |
| Exec Notes for Latest Created Build | notes recorded on that build |
| Latest execution | status of the globally most recent execution |
| Notes (latest exec) | its execution notes |
- Statuses follow the results-config display order; NOT RUN is synthesized by BFF SQL so never-executed cases still render every build column.
Toolbar actions (legacy parity)
- Refresh β re-fetches the matrix.
- Export as Spreadsheet β legacy
resultsTC.php?format=3&doAction=resultβ¦download. - Send spreadsheet by email β same controller with
sendSpreadSheetByMail_x=1.
Build-selection launcher (> 6 active builds)
With more than resultMatrixReport.buildQtyLimit (6) active builds the screen switches to the
legacy launcher behavior: warning text ("Amount of potential dataβ¦", "You have N Active Builds,
please choose no more than 6"), one checkbox per active build and an Apply button. Applying a
selection β€ limit reloads the matrix restricted to those builds (do_action=result +
build_set[]), exactly like the legacy form submit.
Empty & error states
- Plan without linked test cases β friendly empty box (legacy rendered nothing).
- Missing rights β localized "Insufficient rights" message instead of data.
- Unknown tplan/tproject β empty shell with feedback line, never a PHP error.
Legacy bug fixed during modernization
XLS export crashed on PHP 8 with β₯2 builds
(#682):
buildDataSet() wrote $r4build['text'] at the top of each loop iteration although the XLS
branch had turned $r4build into a plain string in the previous iteration β TypeError.
Fix: removed the stray pre-initialization (the non-XLS branch initializes its own shape).