d5cfec9e42
- README.md: full English rewrite - All 13 vorlagen MD templates hand-translated: PID, PM-Plan, QA-Plan, SWE-Plan, Test-Plan, SA, SWA, Review-Protokoll, Non-Conformity, MISRA-Deviation-Permit, MISRA-Deviation-Record, Traceability-Matrix, angebot (quotation) - Master Word template (slohmaier-doc-template.docx) regenerated in English: cover page, document control, TOC headers, classification banner all English - All derived Word vorlagen regenerated from English MD sources Still to translate: toolstack.md, gitea-aspice-setup.md
3.2 KiB
3.2 KiB
Traceability Matrix
Principle
The traceability matrix ensures end-to-end traceability from requirement to test:
System requirement → Software requirement → Architecture element → Implementation (PR/file) → Test case → Test result
Each level must be traceable in both directions:
- Forward: requirement → has it been implemented and tested?
- Backward: test case → which requirement does it verify?
Table structure
| Sys-Req | SW-Req | ASIL | Arch element | Implementation | Test case | Test result | Status |
|---|---|---|---|---|---|---|---|
| SYR-001 | SWR-010 | B | MOD-Timer | PR !23, timer.c | TC-010 | Pass (v1.2) | Complete |
| SYR-001 | SWR-011 | B | MOD-Timer | PR !23, timer.c | TC-011 | Pass (v1.2) | Complete |
| SYR-002 | SWR-020 | A | MOD-CAN | PR !31, can_driver.c | TC-020 | Pass (v1.2) | Complete |
| SYR-003 | SWR-030 | B | MOD-Watchdog | — | — | — | Open |
| — | SWR-040 | QM | MOD-Diag | PR !35, diag.c | TC-040 | Fail (v1.1) | Finding open |
Column explanation
| Column | Description |
|---|---|
| Sys-Req | System requirement ID (Gitea issue with label req::system) |
| SW-Req | Software requirement ID (Gitea issue with label req::software) |
| ASIL | Assigned ASIL level |
| Arch element | Architecture module or component |
| Implementation | Pull request and/or file |
| Test case | Test case ID (Gitea issue with label test::*) |
| Test result | Pass/Fail with version/date |
| Status | Complete / Open / Finding open |
Gap analysis
The matrix makes gaps visible:
- Requirement without test: row without test-case entry → test missing
- Requirement without implementation: row without PR → not implemented
- Test without requirement: test case not assigned to any requirement → verify
- Fail without finding: failed test without a documented finding → rework
Automatic generation from Gitea
The matrix can be generated automatically from Gitea issues:
- A Python script reads all issues with
req::*labels via the Gitea API - It follows issue links to architecture issues, PRs, and test issues
- It reads CI-pipeline results (JUnit XML) for test outcomes
- It produces the matrix as a Markdown table or CSV
Precondition: issues are correctly linked and labelled (see gitea-aspice-setup.md).
Output formats:
- Markdown (for wiki / documentation)
- CSV (for import into customer systems)
- HTML (for reporting)
An example script lives at tools/traceability-report.py in the project repository.
The current traceability matrix is updated on every release and stored in the wiki.