Seminar Qualitätsmanagement in der Softwaretechnik Testen eingebetteter Systeme Jens Rolfes rolfes@web.de Gliederung! Grundlagen! Präventive Analysemethoden! Messende Testtechniken! Fazit Testen eingebetteter Systeme 2
Eingebettete Systeme! elektronische Systeme! in größere Umgebungen integriert! mit dedizierten Funktionen! mit Standard-Mikroprozessoren / Mikrocontrollern ausgestattet! bestehen aus Hardware und Software! spezifische Schnittstellen zur Umgebung Testen eingebetteter Systeme 3 Anwendungsgebiete! Automobilindustrie! Luftfahrtindustrie! Telekommunikation! Haushaltsgeräte! Testen eingebetteter Systeme 4
Qualitätsmerkmale eingebetteter Systeme! Korrektheit! Sicherheit! Zuverlässigkeit! Verfügbarkeit! Echtzeitfähigkeit System ist fehlerfrei und verhält sich konsistent zur Spezifikation. Testen eingebetteter Systeme 5 Qualitätsmerkmale eingebetteter Systeme! Korrektheit! Sicherheit! Zuverlässigkeit! Verfügbarkeit! Echtzeitfähigkeit Fähigkeit, Gefährdungen für die Gesundheit und das Leben der Benutzer, unbeteiligter Dritter sowie für die Umgebung zu verursachen. Testen eingebetteter Systeme 6
Qualitätsmerkmale eingebetteter Systeme! Korrektheit! Sicherheit! Zuverlässigkeit! Verfügbarkeit! Echtzeitfähigkeit Maß für die Funktionstüchtigkeit eines Systems. Testen eingebetteter Systeme 7 Qualitätsmerkmale eingebetteter Systeme! Korrektheit! Sicherheit! Zuverlässigkeit! Verfügbarkeit! Echtzeitfähigkeit Maß für die Fähigkeit, zu einem bestimmten Zeitpunkt funktionsfähig zu sein. Testen eingebetteter Systeme 8
Qualitätsmerkmale eingebetteter Systeme! Korrektheit! Sicherheit! Zuverlässigkeit! Verfügbarkeit! Echtzeitfähigkeit! harte Echtzeitfähigkeit als funktionale Qualitätseigenschaft vs.! weiche Echtzeitfähigkeit Testen eingebetteter Systeme 9 Bedeutung von Testmethoden! konsistente Umsetzung in der Spezifikation festgelegter Anforderungen! Vermeidung von Gefahren durch den Betrieb für Mensch und Umgebung! Systeme mit hoher Sicherheitskritikalität! menschliches Eingreifen im Falle von Fehlermeldungen oder Ausfällen häufig nicht möglich! hohe Sicherheits- und Zuverlässigkeitsanforderungen Testen eingebetteter Systeme 10
Bedeutung von Testmethoden! präventive Analysemethoden! in frühen Phasen der Systementwicklung! Identifikation von Problembereichen und Risiken vor der eigentlichen Implementierung! Vermeidung kostenintensiver Nachbesserungen! formale Beweistechniken! ermöglichen vollständigen Korrektheitsnachweis! Bsp.: Vergleich Schaltung zu Spezifikation! messende Techniken! Messung direkt am Objekt! Verdichtung der Messdaten durch stochastische Analyse Testen eingebetteter Systeme 11 FMECA! Fehlermöglichkeits, -einfluss- und kritikalitätsanalyse (failure modes, effects and criticality analysis)! Vorwärtsanalyse! frühzeitige Erkennung potentieller Fehler! Spezifikation von Folgen der Fehler! Bewertung der Folgen der Fehler! Entwicklung von Gegenmaßnahmen Testen eingebetteter Systeme 12
FMECA Analysephase! Untersuchung der Komponente inkl. aller untergeordneten Baugruppen und Schnittstellen 1. Auflistung aller Funktionen einer Komponente 2. Identifikation aller potentiellen Fehler 3. Auflistung der Folgen eines Fehlers 4. Zuordnung von Ursachen zu den Fehlern Testen eingebetteter Systeme 14 FMECA Risikobewertung! Zuordnung von Risikoprioritätszahlen (RPZ) zu den potentiellen Fehlern! Skala von 1 bis 1000! Dokumentation bereits bestehender bzw. vorgesehener Prüfmaßnahmen Testen eingebetteter Systeme 15
FMECA Risikobewertung (2)! Risikoprioritätszahl (RPZ) entspricht dem Produkt aus! Eintrittswahrscheinlichkeit für den potentiellen Fehler! Bedeutung der Folgen des Fehlers! Wahrscheinlichkeit des Nicht-Entdeckens Testen eingebetteter Systeme 16 FMECA Maßnahmenentwicklung! Beschluss geeigneter Maßnahmen, um identifizierte Ursachen zu vermeiden! sukzessiv beginnend bei den Fehlerursachen mit der höchsten RPZ! erneute Quantifizierung nach Beschluss zur Ermittlung einer neuen Reihenfolge Testen eingebetteter Systeme 17
FMECA Beispiel! Klimaanlage in einem Fahrzeug System/ Komponente ES Klimaautomatik Potentielle Fe hle r Leiterbahn auf Hauptplatine unterbrochen Controllerchip ohne Kontakt Potentielle Folgen gestörte oder keine Funktion der Klimaautomatik gestörte oder keine Funktion der Klimaautomatik Potentielle Fehlerursachen Thermische Überlastung aufgrund Aussentemperatur Prüfmaßnahmen I II III RPZ 5 8 8 320 Materialfestlegung überprüfen Transportschaden 7 8 8 448 Einsatz spezifischer Transportmittel Chipsockel ausserhalb der Norm Arbeitsfehler beim Einsetzen des Chip Derzeitiger Zustand Temperaturprüfung 2Std, 80 C; elektr. Funktionsprüfung visuelle Kontrolle, Funktionsprüfung Empfohlene Gegenmaßnahmen 6 8 10 480 Spezifikation mit Sockel- /Chiplieferant überprüfen 5 8 9 360 Arbeitsplan überprüfen Testen eingebetteter Systeme 18 Fehlerbaumanalyse (FTA)! Fault Tree Analysis! Analyse sicherheitskritischer Auswirkungen von Ausfällen! Darstellung des Zusammenhangs verschiedener Ursachen und einer damit verbundenen Wirkung in einem Fehlerbaum! präventiv in einer frühen Entwicklungsphase Testen eingebetteter Systeme 19
FTA Qualitative Analyse! Identifikation aller möglichen Ausfallkombinationen, die zu einem Ausfall führen! Top-Down-Analyse! ausgehend von einem Top-Ereignis! systematische Analyse der Ursachen! bis zu nicht mehr zerlegbaren Basisereignissen! verknüpft durch logische Operatoren (NOT, UND, ODER, XOR, )! Grafische Repräsentation im Fehlerbaum Testen eingebetteter Systeme 20 FTA Quantitative Analyse! Quantifizierung von Ausfallwahrscheinlichkeiten! Kenntnis von Zuverlässigkeitskenngrößen für die Basisereignisse ermöglicht die Ermittlung von Zuverlässigkeitskenngrößen für das Top-Ereignis Testen eingebetteter Systeme 21
FTA Beispiel! Lenkungssystem in einem Fahrzeug! Top-Ereignis! Basis-Ereignisse! logische Operatoren Testen eingebetteter Systeme 22 FTA Beispiel! Lenkungssystem in einem Fahrzeug! UND-Operator n F ( t) = F ( t) A i= 1 i F E = F S 1 F S 2 = 0,2159*0,2159 = 0,0466 Testen eingebetteter Systeme 23
FTA Beispiel! Lenkungssystem in einem Fahrzeug! ODER-Operator n F ( t) = 1 (1 F ( t)) A i= 1 i F A = 1 = 1 (( 1 F )*( 1 F )) 4 E ( 0,9*0,9534) 0,1420 = 14,20% Testen eingebetteter Systeme 24 Bewertung präventiver Methoden! Nachteile! Modellcharakter! fehlende semantische Präzision! Vorteile! leicht verständlich, handhabbar! frühzeitige Anwendbarkeit! Vermeidung kostenintensiver Fehlentwicklungen Testen eingebetteter Systeme 30
Back to Back-Test! diversifizierendes Testverfahren! basierend auf dem heterogenen Redundanz-Prinzip! Anwendungsbereiche! große Anzahl gleichartiger Test! Testautomatisierung! Systeme deren Korrektheitsnachweis mit herkömmlichen Methoden sehr komplex ist Testen eingebetteter Systeme 31 Back to Back-Test Vorgehen Testen eingebetteter Systeme 32
Back to Back-Test Vorgehen (2) Testen eingebetteter Systeme 33 Back to Back-Test Fazit! Nachteil! bis um den Faktor n höherer Entwicklungsaufwand! kein vollständiger Korrektheitsnachweis! späte Anwendbarkeit! Vorteil! hoher Vertrauensgrad! Testautomatisierung! sehr intensive, umfangreiche Tests möglich! wirtschaftlich effiziente Durchführung Testen eingebetteter Systeme 34
Hardware in the Loop-Test! Idee: Simulation der Umgebung einer Komponente/eines Systems! Nachbildung der Schnittstellen des Testobjekts durch elektrische Simulationen! Steuerung der Simulation auf Basis eines Simulationsmodells mit einem entsprechend ausgestatteten PC-System Testen eingebetteter Systeme 35 Hardware in the Loop-Test (2) Testen eingebetteter Systeme 36
Hardware in the Loop-Test Ablauf! Einsatz von Testprofilen! Übertragung vordefinierter Stimuli an die Schnittstellen des Testobjekts! möglichst gute Kombination von Eingangs-/Ausgangsignalen! repräsentativ für den Einsatzzweck! normale Betriebszustände! kritische Grenz- und Fehlerfälle Testen eingebetteter Systeme 37 Hardware in the Loop-Test Beispiel! Simulationsmodell VeLoDyn (IAV GmbH)! Modell für die Echtzeitsimulation der Fahrzeuglängsdynamik von Kraftfahrzeugen und dem Test von Steuergeräten! Module Getriebe-Steuergerät, Fahrzeug und Umgebung und Fahrautomat Testen eingebetteter Systeme 38
Hardware in the Loop-Test Beispiel (2)! Getriebe-Steuergerät! realisiert direkte Anbindung an das Modell! Ablesen von Reaktionen über Aktuatoren des Steuergeräts! Generierung von Sensorsignalen! Fahrzeug und Umgebung! Simulation aller relevanten Teile des Fahrzeugs sowie der Fahrzeugumgebung! Fahrautomat! Nachbildung zufälliger sowie vorher definierter Fahrzustände Testen eingebetteter Systeme 39 Hardware in the Loop-Test Beispiel (3)! Nachbildung von Fahrten! verschiedener Länge,! mit unterschiedlichen Geschwindigkeiten,! auf verschiedenen Untergründen,!! unterschiedlichste Umweltbedingungen und Situationen! Simulation kritischer Zustände! explizite Injektion von Fehlern in das Modell! Gefahrensituationen Testen eingebetteter Systeme 40
Hardware in the Loop-Test Fazit! Nachteile! Aufwand für Testentwicklung, Entwicklung Simulationsmodell! Stichprobencharakter! späte Anwendbarkeit! Vorteile! Messungen direkt am Objekt! Nachweis der Korrektheit ggü. Auftraggebern! Automatisierung, Wiederverwendbarkeit, Vergleichbarkeit der Testergebnisse! Reduktion des Testaufwands nach wenigen Zyklen! Zugang zu in der Realität nicht einnehmbaren Beobachtungspunkten Testen eingebetteter Systeme 41 Testen eingebetteter Systeme Fazit! spezielle Tests zum Nachweis der Einhaltung von Qualitätsmerkmalen unumgänglich! präventive Techniken! unter der Prämisse des Modellcharakters! frühzeitige Untersuchungen! Vermeidung kostenintensiver Fehlentwicklungen! messende Techniken! bei relativ fortgeschrittener Entwicklung! Nachweis der Korrektheit ggü. Auftraggebern und Behören! Testautomatisierung und Wiederverwendung ermöglichen einen wirtschaftlich effizienten Einsatz Testen eingebetteter Systeme 42
Fragen! rolfes@web.de Testen eingebetteter Systeme 43