# Traceability-Matrix ## Prinzip Die Traceability-Matrix stellt die Rueckverfolgbarkeit von der Anforderung bis zum Test sicher: ``` System-Anforderung → Software-Anforderung → Architektur-Element → Implementierung (MR/Datei) → Testfall → Testergebnis ``` Jede Ebene muss bidirektional verfolgbar sein: - **Vorwaerts:** Anforderung → wurde sie implementiert und getestet? - **Rueckwaerts:** Testfall → welche Anforderung verifiziert er? ## Tabellenstruktur | Sys-Req | SW-Req | ASIL | Arch-Element | Implementierung | Testfall | Test-Ergebnis | Status | |---------|---------|------|--------------|----------------------|----------|---------------|--------------| | SYR-001 | SWR-010 | B | MOD-Timer | MR !23, timer.c | TC-010 | Pass (v1.2) | Vollstaendig | | SYR-001 | SWR-011 | B | MOD-Timer | MR !23, timer.c | TC-011 | Pass (v1.2) | Vollstaendig | | SYR-002 | SWR-020 | A | MOD-CAN | MR !31, can_driver.c | TC-020 | Pass (v1.2) | Vollstaendig | | SYR-003 | SWR-030 | B | MOD-Watchdog | — | — | — | Offen | | — | SWR-040 | QM | MOD-Diag | MR !35, diag.c | TC-040 | Fail (v1.1) | Finding offen| ## Spalten-Erklaerung | Spalte | Beschreibung | |------------------|----------------------------------------------------------------| | Sys-Req | System-Anforderungs-ID (GitLab Issue mit Label `req::system`) | | SW-Req | Software-Anforderungs-ID (GitLab Issue mit Label `req::software`) | | ASIL | Zugewiesener ASIL-Level | | Arch-Element | Architektur-Modul oder -Komponente | | Implementierung | Merge Request und/oder Datei | | Testfall | Testfall-ID (GitLab Issue mit Label `test::*`) | | Test-Ergebnis | Pass/Fail mit Version/Datum | | Status | Vollstaendig / Offen / Finding offen | ## Lueckenanalyse Die Matrix macht Luecken sichtbar: - **Anforderung ohne Test:** Zeile ohne Testfall-Eintrag → Test fehlt - **Anforderung ohne Implementierung:** Zeile ohne MR → nicht implementiert - **Test ohne Anforderung:** Testfall der keiner Anforderung zugeordnet ist → ueberpruefen - **Fail ohne Finding:** Fehlgeschlagener Test ohne dokumentiertes Finding → nacharbeiten ## Automatische Generierung aus GitLab Diese Matrix kann aus GitLab-Issues automatisch generiert werden: 1. Python-Skript liest ueber GitLab API alle Issues mit `req::*`-Labels 2. Folgt Issue-Links zu Architektur-Issues, MRs und Test-Issues 3. Liest CI-Pipeline-Ergebnisse (JUnit-XML) fuer Testergebnisse 4. Erzeugt die Matrix als Markdown-Tabelle oder CSV **Voraussetzung:** Issues sind korrekt verlinkt und gelabelt (siehe `gitlab-aspice-setup.md`). **Ausgabe-Formate:** - Markdown (fuer Wiki / Dokumentation) - CSV (fuer Import in Kundensysteme) - HTML (fuer Reporting) Ein Beispiel-Skript liegt unter `tools/traceability-report.py` im Projekt-Repository. --- *Die aktuelle Traceability-Matrix wird bei jedem Release aktualisiert und im Wiki abgelegt.*