Test-Methodik für Embedded Software in der Automobil- und Medizintechnik Dr.-Ing. T. Zurawka, 22.09.2010 1
Umwelt Automobiltechnik Werkzeug (z. B. Testautomatisierung) Fahrer Bus Elektronische Steuergeräte Radbremse (Aktuator) Lenkwinkelsensor Raddrehzahlsensor Hydro- aggregat Fahrzeug Bremspedaleinheit (Sollwertgeber) Radbremse (Aktuator) 2
Embedded System (Steuergerät) Sollwertgeber: Fahrpedalstellung Getriebestufe Sollwertgeber Aktua- steuergerät Motor- Sensoren: Drosselklappen- toren stellung Sensoren Luftmasse Batteriespannung Ansauglufttemperatur Motortemperatur On-Board-Kommunikationsschnittstelle (z.b. CAN) Klopfintensität Lambda-Sonden Off-Board-Diagnoseschnittstelle Kurbelwellendrehzahl (z.b. K-Leitung oder CAN) und Oberer Totpunkt Nockenwellenstellung Fahrzeuggeschwindigkeit g Aktuatoren: Zündkerzen E-Gas-Steller Einspritzventile Kraftstoffpumpenrelais Heizung Lambda-Sonden Tankentlüftung Saugrohrumschaltung g Sekundärluftventil Abgasrückführventil 4
Embedded System (Steuergerät) Sollwertgeber: Display Sensoren: Puls (Herzfrequenz) Sauerstoffsättigung Sensoren Patienten- monitor Sollwertgeber Aktua- toren Aktuatoren: Display 5
Ebene Fahrzeug Ebene Fahrzeugsubsystem (zb (z.b. Antriebsstrang)... Ebene Steuergerät... Ebene Mikrocontroller... U R K Ebene Software Software-Subsystem Subsystem Software-Komponente... 6
Funktion f3 Funktion Funktion f1 f2 Flash Loader Diagnoseprotokoll ISO Betriebssystem OSEK-OS Network Layer ISO Interaction Layer OSEK-COM Bustreiber Netzwerkmanagement OSEK-NM Hardware Abstraction Layer (HAL)... Legende: I/O API 7
Fahrzeughersteller Fahrzeug Lieferant 1 Komponente X Komponente Y Lieferant 3 Subsystem B Lieferant 2 8
Vor dem Test: Wie sieht das Gesamtsystem aus? Subsystem Subsystem Antriebsstrang t Bus SG SG SG SG Subsystem Fahrwerk Bus SG SG SG SG Subsystem Komfort Karosserie Passive Sicherheit Bus SG SG SG SG Steuergerät Subsystem Multi-Media Bus SG SG Fahrzeug Fahrzeug Elektronische Systeme 9
Vor dem Test: Wie sieht das Gesamtsystem aus? Subsystem Subsystem Antriebsstrang f f f f f f f Subsystem f f Fahrwerk f f f Subsystem Karosserie Komfort Passive Sicherheit f f f f Funktion Subsystem Multi-Media f f f Fahrzeug Fahrzeug Elektronische Systeme 10
Vor dem Test: Wie sieht htdas Gesamtsystem t aus? Funktion f1 f2 f 3 f 4 SG 1 SG 2 Funktionen des Fahrzeugs SG 3 Bus Steuergerät Fahrzeug Steuergeräte des Fahrzeugs 11
Vor dem Test: Wie sieht das Gesamtsystem aus? Fahrer Umwelt Sollwertgeber Steuerung/ Regler Überwachung Aktuatoren Strecke Sensoren Fahrzeug Steuergerätenetzwerk Bus 12
Wie wird entwickelt? Entwicklung elektronischer lkt Systeme Partitionierung Integration Steuergeräte-Software- Entwicklung... Steuergeräte-Hardware- Entwicklung Sollwertgeber- und Sensorentwicklung Aktuatorentwicklung 13
Analyse der Benutzeranforderungen & Spezifikation der logischen Systemarchitektur Logische Systemarchitektur f 1 f 2 Akzeptanztest & Systemtest f 3 f 4 Funktion Kalibrierung System- entwicklung Software- Entwicklung Analyse der logischen Systemarchitektur & Spezifikation der technischen Systemarchitektur Analyse der Software-Anforderungen & Spezifikation der Software-Architektur Technische Systemarchitektur SG 1 SG 2 SG 3 Software Steuergerät Integrationstest ti t t des Systems Integration der Systemkomponenten Integrationstest der Software Integration der Software-Komponenten Spezifikation der Software-Komponenten Design & Implementierung der Software-Komponenten Test der Software- Komponenten 14
Iterative Entwicklung Integrationsstufe A Integrationsstufe B Integrationsstufe C Integrationsstufe D A-Muster B-Muster C-Muster D-Muster Entwicklungssteuergeräte Seriensteuergerät 15
Iterative Entwicklung Prototyp (A-, B-, C- Muster) Produkt (D-Muster) W W R U R U Entwicklungssteuergerät Seriensteuergerät 16
Gefahrenanalyse Identifikation relevanter Komponenten & Subsysteme Zuverlässigkeits- & Sicherheitsanalyse Gefährliche Situationen Zuverlässigkeits- & sicherheitsrelevante Komponenten & Subsysteme & Spezifikation zuverlässiger & sicherer Systeme Definition der Anforderungen an technische Komponenten und Subsysteme Risiko-, Ausfallarten- & Ausfallratenanalyse Zuverlässigkeits- & Sicherheitsanforderungen an das System Definition des Verifikations- & Validationsprozesses Definition des Software- Entwicklungsprozesses Verifikations- & Validationsprozess Zuverlässigkeits- & Sicherheitsanforderungen an die Hardware Zuverlässigkeits- & Sicherheitsanforderungen an die Software Software- Entwicklungsprozess 17
Unterstützungsprozesse Konfigurationsmanagement i Projektmanagement Kernprozess Anforderungen An nforderungsma anagement Elektronische Systeme des Fahrzeugs Lieferantenmanagement Qualitätssicherung 18
Modellbasierte SW-Entwicklung Modell der Software-Funktionen Modell von Fahrer, Fahrzeug & Umwelt 1 3 2 1 2 3 Modellierung und Simulation der Software-Funktionen, sowie des Fahrzeugs, Fahrers und der Umwelt Rapid-Prototyping der Software-Funktionen im realen Fahrzeug Design & Implementierung der Software-Funktionen 4 4 Integration und Test der Software-Funktionen mit Laborfahrzeugen und Prüfständen 5 Test & Kalibrierung der Software- Funktionen im Fahrzeug 5 Implementierung der Software-Funktionen Fahrer, Fahrzeug & Umwelt 19
Anforderungsanalyse Gesetzgeber Fahrer Fußgänger, Radfahrer, andere Fahrzeuge, andere Verkehrsteilnehmer,... Fahrzeug Passagiere Mitarbeiter im Service 20
Anforderungsanalyse Anforderungen an Benutzer- schnittstellen t Anforderungen an Kosten, Aufwand & Time to Market Anforderungen an Funktionalität Steuerungs- & regelungstechnische Anforderungen Anforderungen an Skalierbarkeit & Varianten Anforderungen an Bauraum, Gewicht & Stromaufnahme Zuverlässigkeitsanforderungen Sicherheitsanforderungen Echtzeitanforderungen Qualitätsanforderungen 21
Anforderungsanalyse Benutzeranforderungen Logische Systemarchitektur Technische Systemarchitektur Anforderungen A B C D Randbedingungen E F G H... Anforderungen Funktion X A1 A2 B D1 D2 F Randbedingungen Funktion X A3 E1 E2 E3 G.... Mechanik Hydraulik Elektrik Elektronik Hardware Software 22
Analyse der Benutzeranforderungen & Spezifikation der logischen Systemarchitektur Anwendungsfälle Testergebnisse Akzeptanztest & Systemtest Analyse der logischen Systemarchitektur & Spezifikation der technischen Systemarchitektur Testfälle Testergebnisse Kalibrierung Integrationstest des Systems Integration der Systemkomponenten Analyse der Software-Anforderungen & Spezifikation der Software-Architektur Testfälle Testergebnisse Integrationstest der Software Integration der Software-Komponenten Spezifikation der Software-Komponenten Design & Implementierung der Software-Komponenten Test der Software- Komponenten 23
Beispiel (Anforderungen): Anzeige des Datums Geschwindigkeits- Anzeige von anzeige Anzeige der Warnhinweisen Kühlmitteltemperatur Anzeige der Motordrehzahl Wegstrecken- Bordcomputer Anzeige der berechnung Uhrzeit Getriebestufenanzeige Kraftstoffverbrauch Batteriespannungsanzeige Service-Intervall- Anzeige Außentemperaturanzeige 24
Anforderungsanalyse mit Prototypen Fh Fahrer W* Umwelt Z Sollwertgeber Fahrzeug W Steuerung/ U Y X R Regler Überwachung Aktuatoren Strecke Sensoren R Simulationssystem 25
Anforderungsanalyse mit Prototypen Fahrer W* Umwelt Z Sollwertgeber Fahrzeug W Steuerung/ U Y X R Regler Aktuatoren Strecke Sensoren Überwachung R W R U Steuergerät Experimentiersystem 26
Anforderungsanalyse mit Prototypen Software-Architektur Horizontaler Prototyp Vertikaler Prototyp 27
Anforderungsanalyse mit Prototypen Horizontaler Prototyp W R Eingangssignalei Trigger Ausgangssignale Bypass-Schnittstelle U 28
Senden der Bypass- Eingangssignale Steuergerät Experimentiersystem Bypass- Eingangssignale Trigger Empfangen der Bypass- Eingangssignale Berechnung Berechnung der Steuergeräte- der Bypassfunktion Funktion Zeit t Empfangen der Bypass- Ausgangssignale & Prüfen auf Plausibilität: Übernahme der Bypass- Ausgangssignale oder Umschalten auf interne Ersatzwerte Bypass- Ausgangssignale Senden der Bypass- Ausgangssignale 29
Anforderungsanalyse mit Prototypen Vertikaler Prototyp t W R U 30
W R Anforderungsanalyse mit Prototypen Prototyp Eingangssignale g g Trigger Ausgangssignale U 2 U W 1 R 1 U 1 W 2 R 2 U 1 31
Beispiel ( weitere Aktivitäten): Berechnungsfunktionen Darstellung Bord- Tankfüll- Uhrzeit Aussentemperatur Uhr Display computer stand Datum Motordrehzahl Geschwindigkeit Kühlmittelemperatur Getriebestufe Batteriespannung Verbrauch Wegstrecken LED Anzeigeobjekte Zeigerinstrument Serviceintervall Wegstrecken Kraftstoffverbrauch Gesamt- Tages- Reich- strecke strecke weite 32
Beispiel ( weitere Aktivitäten): Motorsteuergerät ABS-Steuergerät CAN Kombiinstrument MOST Audiosystem MMI-System 33
Beispiel ( weitere Aktivitäten): Kombiinstrument Mikrocontroller Mikroprozessor Zeigeransteuerung Zeigerinstrumente A/D- Wandler Displayansteuerung Displays LED- Ansteuerung LEDs CAN- Schnittstelle MOST- Schnittstelle 34
Beispiel ( weitere Aktivitäten): f 1 f 2 f3 f 1.1 f 1.2 f 1.3 f 1.4 f 1.5 Logische Systemarchitektur für f 1, f 2, f 3 Steuergerät f 1 Mikrocontroller Software Technische Systemarchitektur für f 1.1, f 1.5, f 2, f 3 D/A- Wandlung f 1.5 Sollwertgeber A/D- Wandlung f12 1.2 Aktuator f 2 Sensor f 3 A/D- f 1.3 Wandlung f 1.1 f 1.4 Software- Anforderungen 35
Beispiel ( weitere Aktivitäten): Logische Systemarchitektur S1 S2 S3 S4 f 1 f 2 S5 f 3 S6, S7 Technische Systemarchitektur μc 1.1 μc 2.1 μc3.1 Mikro- controller μc 1.2 SG 1 SG 2 SG 3 Bus Nachricht 36
Beispiel ( weitere Aktivitäten): Logische Systemarchitektur Technische Systemarchitektur Nachricht 1 ID 1 Signal 1 Signal 2 Signal 3 S1 S2 S3 S1 S2 S3 Adressierung mit Identifier ID Status-, Steuer- & Prüfinformationen Nutzdaten 37
Beispiel ( weitere Aktivitäten): Software-System des Kombiinstruments Analog I/O Analog I/O Treiber Zeigertreiber Berechnungsfunktionen Zeigeransteuerung Digital I/O Digital I/O Treiber Displayansteuerung Anzeigeobjekte Displaytreiber Systemgrenze CAN- Treiber MOST- Treiber LED-Treiber LED- Ansteuerung CAN- Schnittstelle MOST- Schnittstelle Legende: Komponente Systemgrenze Schnittstelle t 38
Beispiel ( weitere Aktivitäten): Berechnungsfunktionen Anzeigeobjekte Flash Loader Diagnoseprotokoll ISO Betriebssystem OSEK-OS Network Layer ISO CAN-Treiber MOST-Treiber... Interaction Layer OSEK-COM Netzwerk- MOST- Management Netservices OSEK-NM HAL Zeiger- treiber Displaytreiber LED- Treiber I/O- Treiber 39
Beispiel ( weitere Aktivitäten): Motorsteuergerät ABS-Steuergerät Steuergerät CAN Kombiinstrument MOST Audiosystem MMI-System 40
Fahrer W* Sollwertgeber Fahrzeug Umwelt W Steuerung/ U Y X R Regler Aktuatoren Strecke Sensoren Überwachung R Z Steuergerät Mikrocontroller Test (SIL) W R D/A- Wandlung A/D- Wandlung A/D- Wandlung W K R K Software U K U Prüflinge Software-Komponente zur Berechnung einer Steuerungsund Regelungsfunktion 41
Test (HIL) Fahrer W* Sollwertgeber Fahrzeug Umwelt Z W Steuerung/ U Y X R Regler Aktuatoren Strecke Sensoren Überwachung R W Steuergerät U U W R R Prüfling Black Box Laborfahrzeug 42
Test (HIL) Fahrer W* Sollwertgeber Fahrzeug Umwelt W Steuerung/ U Y X R Regler Überwachung Aktuatoren Strecke Sensoren R Z W* X Sollwertgeber Sensoren Steuergerät Aktuatoren Y Y W* X Prüflinge Instrumentierung Laborfahrzeug 43
Test (HIL) Fahrer W* Sollwertgeber Fahrzeug Umwelt Z W Steuerung/ U Y X R Regler Aktuatoren Strecke Sensoren Überwachung R W Steuergerätenetzwerk U U W R R Prüflinge Instrumentierung Bus Laborfahrzeug 44
Test (HIL mit Restbussimulation) Fahrer W* Umwelt Z Sollwert- geber W 3 Steuerung/ U 1,2,3 Y X R W 12 Regler Aktuatoren Strecke Sensoren 1,2 Überwachung Fahrzeug R 1,2 R 3 W 1,2 Steuergerätenetzwerk U 1,2 W 3 U 3 W 1,2 U 1,2 R 1,2 R 3 R 12 1,2 Prüflinge Bus Instrumentierung Bus Laborfahrzeug 45
Test (Komponenten-Prüfstand) Fahrer Umwelt W* Z Sollwert- geber Fahrzeug W Steuerung/ Regler Überwachung R U Y 1 X 1 R Aktuatoren Y 2 X Sensoren Strecke 2 Sollwertgeber Aktuatoren Y W* 1 Y 1 W* X 1 Sensoren Steuergerät Prüfstand Motor Laborfahrzeug X 1 Prüflinge 46
Test (Methoden im Kleinen ) Statische Techniken Review Walkthrough, Fagan-Inspektion, Code-Inspektion, Peer-Review,... Analyse Statische Analyse, Formale Prüfung, Kontroll- und Datenfluss,... Animation Formale Spezifikation Modellierung Simulation Rapid Prototyping,... Dynamischer Test Komponenten-/Integrationstest Black-Box-Test Funktionale Leistungsfähigkeit, Stress, Grenzwert, Fehlererwartung,... White-Box-Test Struktur, Pfad, Zweig, Bedingung, Abdeckung,... Systemtest/Akzeptanztest Funktionale Leistungsfähigkeit Stresstests, Grenzwerttests, Fehlererwartungstests, Ursache-Wirkungs-Graph, Äquivalenzklassentests,... 47
Test & Testautomatisierung (Werkzeuge) Testcase Development & Management Microsoft Powershell Scripting Microsoft Visual Studio C# Test Automation Testbench Interface Electrical Error Simulation Communication Objects Reporting Provider Electrical Error Simulation Provider ASAM Standardized API Reporting Tool HILTool Error Simulation HIL System Enterprise Architect State Machines Code Generator Vehicle Model Communication Objects Target Speed Brake Pedal Wheel Speed FL Common Service Provider Vehicle Model Provider Climate Chamber Provider Diagnostic Provider HILTool Vehicle Model Climate Chamber Tool Diagnostic Tool Climate Chamber Code Generator Artisan State Machines additional Layers with higher Level Interfaces can also be supported (Driver-Vehicle- Environment) Diagnostic Communication Objects GPIB Voltage / Current Provider ECU Measurement Provider specific Tool Provider Communication via Networks (WCF) Multimeter Tool Measurement Tool specific Tool, e.g. Canoe Simulation of Tools supported 48