Kernkonzept
TESTMETRIX® organisiert Testdaten in einer klaren hierarchischen Struktur.
Ein Projekt bildet die oberste Ebene und kann sowohl mehrere Pipeline-Definitionen als auch mehrere Verifikationsprojekte und Testsysteme enthalten. Jede Pipeline-Definition kann mehrfach ausgeführt werden, wodurch die Pipeline-Ausführungen entstehen, die wiederum aus einzelnen Testläufen bestehen. Ein Testlauf setzt sich aus mehreren Testfallausführungen zusammen.
Ein Verifikationsprojekt kann mehrere Anforderungsprojekte und Testfallprojekte enthalten.
Anforderungsprojekte enthalten die Anforderungen eines bestimmten Bereichs oder einer bestimmten Testebene, während Testfallprojekte die dazugehörigen Testfalldefinitionen enthalten.
Projekt
│
├── Pipeline-Definition
│ ├── Pipeline-Ausführung
│ │ ├── Testlauf
│ │ │ ├── Testfallausführung
│ │ │ └── ...
│ │ └── ...
│ └── ...
│
├── Verifikationsprojekt
│ ├── Anforderungsprojekt
│ │ ├── High-Level Anforderung
│ │ ├── Low-Level Anforderung
│ │ └── ...
│ │
│ ├── Testfallprojekt
│ │ ├── Testfalldefinition
│ │ └── ...
│ │
│ └── ...
│
└── Testsystem
├── DuT-Komponente
├── ...
├── Test-Equipment-Komponente
└── ...
Weitere Relationen
Zusätzlich zur hierarchischen Struktur können Ressourcen über Hierarchiegrenzen hinweg miteinander verknüpft werden.
- Ein Anforderungsprojekt kann genau einem Testfallprojekt zugeordnet werden und umgekehrt (1:1).
- Eine Testfalldefinition kann mit mehreren Low-Level-Anforderungen verknüpft werden. Gleichzeitig kann eine Low-Level-Anforderung durch mehrere Testfalldefinitionen abgedeckt werden (Many-to-Many).
Die übrigen Beziehungen ergeben sich direkt aus der oben dargestellten hierarchischen Struktur.
Kurzbeschreibung
| Ebene | Beschreibung | Beispiel |
|---|---|---|
| Projekt | Oberste Einheit, vergleichbar mit einem GitLab Projekt. | ESP32-Gateway |
| Pipeline-Definition | Art der Pipeline | - Post-Commit Pipeline die nach jedem Commit durchläuft - oder eine Nightly Pipeline die jeden Tag Nachts durchläuft - etc. |
| Pipeline-Ausführung | Konkrete Ausführung einer Pipeline | Nightly Run #123 |
| Testlauf | Sammlung ausgeführter Testfälle einer konkreten Testsuite | Integrationstest, Unit-Test, Smoke-Tests, etc. |
| Testfallausführung | Einzelne Testfallausführung innerhalb eines Testlaufs | test_bluetooth_verbindung() |
| Verifikationsprojekt | Fachliche Strukturierung von Anforderungen und Testfällen | Bluetooth-Gateway-Verifikation |
| Anforderungsprojekt | Gruppierung fachlich zusammengehöriger Anforderungen | Anforderungen für den Integrationtest |
| High-Level Anforderung | Übergeordnete fachliche Anforderung | Bluetooth-Kommunication |
| Low-Level Anforderung | Konkret testbare technische Anforderung | Das Gerät muss innerhalb von 30 Sekunden eine Bluetooth-Verbindung herstellen. |
| Testfallprojekt | Gruppierung fachlich zusammengehöriger Testfälle | Integrationstests |
| Testfalldefinition | Beschreibung eines konkreten Testfalls | Bluetooth-Kopplungsvorgang verifizieren |
| Testsystem | Konfiguration des Testsystems, bestehend aus DuT- und Test-Equipment-Komponenten | Hardware-in-the-Loop ESP32-Gateway |
| DuT-Komponente | Hardware- oder Software-Komponente des zu testenden Systems | ESP32-Firmware, Backend-Software, etc. |
| Test-Equipment-Komponente | Hardware- oder Software-Komponente, die zum Testen des DuT verwendet wird | Test-Automatisierungs-Framework, Tests, etc. |
Verbindung zwischen Verifikation und Testausführung
Testfalldefinitionen können über eindeutige IDs Testausführungen zugeordnet werden.
Dadurch entsteht folgende Verbindung:
Testfallausführung
→ Testfalldefinition
→ Low-Level Anforderung
Auf dieser Grundlage berechnet TESTMETRIX® automatisch die Anforderungsabdeckung für Integrations- und Systemtestebenen.
Zusätzliche Testdaten
Jedem Testlauf und jeder Testfallausführung können zusätzlich Daten beliebiger Art zugeordnet werden. Diese werden entsprechend miteinander verknüpft und im jeweiligen Kontext dargestellt.
Beispiele:
- Logs
- Metriken
- Screenshots
- Coverage Reports
- Testsystem-Konfigurationen
- Testartefakte
Messungen werden über ein spezielles JSON-Format hochgeladen und als interaktive Grafiken visualisiert.
Die Zuordnung sowie der Upload erfolgen primär über die REST-API, da TESTMETRIX® für eine nahtlose Integration und vollständige Automatisierung in bestehende Systeme entwickelt wurde.
Weitere Informationen zum unterstützten JSON-Format sowie zum Upload von Metriken und Testartefakten findet ihr in der API-Beschreibung.