Reliability Engineering WS25/26 - Modultest: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
| (Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
| Zeile 44: | Zeile 44: | ||
== 1. Simulink Test (offizielle MATLAB<sup>®</sup>/Simulink-Erweiterung)== | == 1. Simulink Test (offizielle MATLAB<sup>®</sup>/Simulink-Erweiterung)== | ||
[[Reliability_Engineering_WS25/26_-_Simulink Test|<code>Simulink Test</code> | [[Reliability_Engineering_WS25/26_-_Simulink Test|<code>Simulink Test</code>]] ist das bestes und umfangreichste Werkzeug für systematische Modultests. | ||
Funktionen: | Funktionen: | ||
| Zeile 61: | Zeile 61: | ||
Link zum MATLAB<sup>®</sup> Artikel: | Link zum MATLAB<sup>®</sup> Artikel: | ||
[https://de.mathworks.com/help/sltest/index.html Simulink Test] | |||
=== PDF-Dokumentation für Simulink Test === | === PDF-Dokumentation für Simulink Test === | ||
*[https://de.mathworks.com/help/pdf_doc/sltest/sltest_gs.pdf Simulink Test Getting Started Guide] | *[https://de.mathworks.com/help/pdf_doc/sltest/sltest_gs.pdf Simulink Test Getting Started Guide] | ||
Aktuelle Version vom 3. Dezember 2025, 13:04 Uhr
| Dozent: | Prof. Dr.-Ing. Schneider |
| Modul | Mechatronik, Systementwicklung (Wahlpflichtprofil „Systems Design Engineering“), Wintersemester |
| Modulbezeichnung: | MTR-B-2-7.09 |
| Modulverantwortung: | Mirek Göbel |
| Lehrveranstaltung: | Reliability Engineering |
| Zeit: | Donnerstag, 08:15 - 09:45 Uhr, uKW |
| Ort: | Labor L3.3-E01-180 (Autonome Systeme) |
| SVN-URL: | https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Reliability_Engineering/WS25/
|
Einleitung
Modultests bilden die unterste Ebene des Testprozesses und dienen dazu, einzelne Softwareeinheiten frühzeitig und isoliert auf ihre korrekte Funktion zu überprüfen. Ziel ist es, Fehler bereits in einem sehr frühen Entwicklungsstadium zu erkennen, um spätere Integrationsprobleme zu vermeiden und die Gesamtqualität des Systems nachhaltig zu erhöhen. Dabei wird jedes Modul unabhängig von anderen Komponenten getestet, wobei sowohl funktionale Anforderungen als auch typische Fehlerszenarien betrachtet werden. Durch klar definierte Testfälle, reproduzierbare Testumgebungen und objektive Bewertungskriterien stellen Modultests sicher, dass die implementierten Funktionen robust, zuverlässig und spezifikationskonform sind.
MATLAB® Modultest
Aufgabe 3 - Modultest
- Studieren Sie das Video Erste Schritte mit dem MATLAB Unit Test Framework.
- Weitere Informationen finden Sie im Artikel Ways to Write Unit Tests.
- Besuchen Sie den Online-Kurs Unit Testing
- Lassen Sie sich vom Copilot helfen einen Test zu generieren.
MATLAB Test features
- Generate Test with Copilot
| ID des Testfalls | Testfallname | Ersteller | Datum | ID der Anforderung | ID aus der Komponenntenspezifikation | Ausgangszustand | Aktion(en) | Erwartetes Ergebnis | Ergebnis | Bewertung | Test durchgeführt von | Test durchgeführt am | Bemerkung |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 01 | Stationären Endwert und damit den Verstärkungsfaktor prüfen | Prof. Schneider | 22.10.25 | 01 | 05 | PT1-Integratoren = 0, Eingang = 0 | Eingangssprung von 0 auf 1 bei t=0s | Stat. Endwert = 1 | xa(t=50s) = 1.4 | n.i.O. | Mustermann | 22.10.25 | Kp überprüfen |
| 02 | Beispiel | Beispiel | Beispiel | Beispiel | Beispiel | Beispiel | Beispiel | Beispiel | Beispiel | Beispiel | Beispiel | Beispiel | Beispiel |
| 03 | Beispiel | Beispiel | Beispiel | Beispiel | Beispiel | Beispiel | Beispiel | Beispiel | Beispiel | Beispiel | Beispiel | Beispiel | Beispiel |
Simulink Modultest
1. Simulink Test (offizielle MATLAB®/Simulink-Erweiterung)
Simulink Test ist das bestes und umfangreichste Werkzeug für systematische Modultests.
Funktionen:
- Test Manager für verwaltete Testsuiten
- Unit-Tests für einzelne Subsysteme oder Modelle
- Signal- und Parameter-Stubbing
- Baseline-Tests (Soll-Ist-Vergleich)
- Simulation-Based Tests
- Equivalence Testing (z.&thinspB. Modell vs. generierter Code)
- Coverage-Messung
Vorteile:
- Voll integriert
- GUI
- Automation (MATLAB scripts)
Link zum MATLAB® Artikel: Simulink Test
PDF-Dokumentation für Simulink Test
- Simulink Test Getting Started Guide
- Simulink Test User’s Guide
- Simulink Test Reference
- Simulink Test Release Notes
2. Simulink Subsystem-In-The-Loop (SIL/Model-in-the-Loop)
Model-in-the-Loop (MIL)
Du testest das Subsystem direkt im Modell. Gut für funktionale Tests ohne Codegeneration.
Software-in-the-Loop (SIL)
Test gegen generierten C-Code zur Prüfung von:
- Algorithmusgleichheit
- Rechenarteffekten
- Überläufen
- Fixed-Point-Fehlern
Processor-in-the-Loop (PIL)
Test direkt auf deinem Zielprozessor/Mikrocontroller.
Vorteile: Testet den Modell-/Code-Pfad realistisch. Nachteile: Etwas Setup-Aufwand.
3. Manuelle Modultests im Simulink-Modell
Möglichkeiten:
- Test-Harness bauen (virtuelle Umgebung, die dein Subsystem isoliert)
- Input-Signals aus MATLAB erstellen (z. B. timeseries, Signal Builder)
- Assertions und Verify-Blöcke nutzen
- Scope-Aufzeichnungen automatisiert vergleichen (MATLAB Skript)
Tools in Simulink dafür:
- Simulink Test Harness (auch ohne Lizenz nutzbar!)
- Verification Subsystem (Assertions)
- MATLAB Test Framework (xUnit-ähnlich)
4. MATLAB-basierte Tests (xUnit-Framework)
Sie können mit MATLAB-Klassen (matlab.unittest.TestCase) automatisierte Tests programmieren.
Beispiel:
- Modell per Script laden
- Parameter setzen
- Simulation starten
- Outputs prüfen
Vorteil: Voll automatisierbar
CI/CD einbindbar (GitLab/Jenkins/GitHub Actions)
5. Requirements-basiertes Testen
- Anforderungen mit Testfällen verknüpfen
- Coverage nach Anforderung auswerten
- Testbewertungen automatisch generieren
- Standard in sicherheitskritischen Bereichen (ISO 26262, DO-178C).
6. Code-basierte Unit Tests (für generierten C-Code)
Nach Codegenerierung über Embedded Coder kannst du klassische Unit-Test-Frameworks verwenden:
- Ceedling (C Unit Tests)
- GoogleTest
- Tessy (Industrie-Tool)
- VectorCAST
Dann über SIL/PIL wieder ans Modell anbinden.
Nützliche Artikel
→ zurück zum Hauptartikel: Reliability_Engineering_WS25/26