Testautomatisierung: Ein akademisches...
Transcript of Testautomatisierung: Ein akademisches...
Testautomatisierung: Ein akademisches Thema?
IT PowerConsultants
Testautomatisierung: Ein akademisches Thema?
Sadegh [email protected]
Agenda
� IT Power Consultants� Hintergrund� Testautomatisierung aus der Sicht der Industrie � Testautomatisierung in der akademischen
IT PowerConsultants
� Testautomatisierung in der akademischen Forschung
� Automatisierung der Testauswertung� Fazit
IT Power Consultants
Das Unternehmen� Gründung: Juni 2000� Standorte: Berlin und Dortmund� Mitarbeiter: 12
Unternehmensgegenstand
IT PowerConsultants
Unternehmensgegenstand� Dienstleistungen für Entwicklung
und Test eingebetteter Software– Anforderungsmanagement– Systematisches Testen– Modellbasierte Entwicklung
Industriebranchen� Automotive� Medizintechnik
Agenda
� IT Power Consultants� Hintergrund� Testautomatisierung aus der Sicht der Industrie � Testautomatisierung in der akademischen
IT PowerConsultants
� Testautomatisierung in der akademischen Forschung
� Automatisierung der Testauswertung� Fazit
Test
Edsgar W. Dijkstra:
TestEine Aktivität, worin ein Testobjekt unter bestimmten Bedingungen ausgeführt wird, die Ergebnisse beobachtet oder protokolliert werden, und eine Auswertung in Bezug auf die Aspekte des Testobjekts erfolgt. (IEEE 610.12-1990: Standard Glossary of Software Engineering Terminology)
IT PowerConsultants
Trotzdem ist das Testen das effektivste Mittel für– die Entdeckung von Software-Fehlern– die Bildung des Vertrauens in die Qualität der Software
„Program testing can be used to show the presence of bugs, but never to show their
absence!“
Edsgar W. Dijkstra:
Automatisierung
AutomatisierungDie mit Hilfe von Maschinen realisierte Übertragung von Arbeit vom Menschen auf Automaten.
TestplanungTestmanagem
ent
Testdokumentation
IT PowerConsultants
Testspezifikation
Testauswertung
Testdurchführung
Testmanagem
ent
Testdokumentation
� IT Power Consultants� Hintergrund� Testautomatisierung aus der Sicht der Industrie � Testautomatisierung in der akademischen
IT PowerConsultants
� Testautomatisierung in der akademischen Forschung
� Automatisierung der Testauswertung� Fazit
Nutzen der Testautomatisierung für Industrie
� Effektiveres und effizienteres Testen
� Größere Testabdeckung durch Automatisierung
� Höhere Qualität durch Operationalisierung
� Reproduzierbare und nachweisbare Testqualität
IT PowerConsultants
� Reproduzierbare und nachweisbare Testqualität
� Erfüllung von Normanforderungen
� Hohes Einsparpotential
- Personal
- Zeit
Test eingebetteter Systeme –State-of-the-Practice
� Verschiedene potentielle Testumgebungen
o Model-in-the-Loop (MiL)
o Software-in-the-Loop (SiL)
o Processor-in-the-Loop (PiL)
IT PowerConsultants
o Processor-in-the-Loop (PiL)
o Hardware-in-the-Loop (HiL)
o Produkttest in der realen Umgebung, z.B. Fahrzeugtest
� Tendenz zur modellbasierten Entwicklung und Durchführung von
Tests in frühen Entwicklungsphasen
� Verbale Testspezifikation und manuelle Testdurchführung noch weit
verbreitet
Aktueller Bedarf der Industrie an Testautomatisierung
� Testdurchführung, Testdurchführung, Testdurchführung!
TestplanungTestmanagem
ent
Testdokumentation
IT PowerConsultants
Testspezifikation
Testauswertung
Testdurchführung
Testmanagem
ent
Testdokumentation
Formale Testspezifikation
Für die Automatisierung der Testdurchführung muss die Testspezifikation maschinenlesbar sein!
Beispiele:
Maschinen lesbar
Menschen lesbar
Voraussetzungen einer Testautomatisierung –Formale Testspezifikation
IT PowerConsultants
Beispiele:• Excel-Tabelle mit Eingabewerten• CTE Spezifikationen• TTCN-3 Testbeschreibungen• Message Sequence Charts• Python-Skripte• …
Zu Bedenken:
Operationalisierte, automatisierte Tests sind in der Spezifikation aufwändiger als manuelle Tests, mindestens ~1.5 fach!
Formale Testspezifikationen: Excel
Beispiel: Excel Signal-Setzungen
IT PowerConsultants
Wartezeiten zwischen Setzungen [ms]
Beschreibungen
Formale Testspezifikationen: Sequenzdiagramme
Sequenzdiagramme
Ablaufbeschreibungen, Aufrufsequenzen von Methoden oder Ereignissen formal und ausführbar
IT PowerConsultants
Formale Testspezifikationen: CTE
IT PowerConsultants
Formale Testspezifikationen: TTCN-3
testcase PassengerUpDownObstacle () runs on Tester {setverdict(pass);Passenger_Up:= 0.0;Passenger_Down:=1.0;
log("Start test case");log("Window Down");cont {} until {[duration > 0.2] {}}cont {assert( position >= position.prev() );} until {[duration > 4.0] {Passenger_Down:= 0.0;}}
log("Window Up");Passenger_Up:= 1.0;
IT PowerConsultants
Passenger_Up:= 1.0;log(position);cont {} until {[duration > 0.2] {}}log("Check Window Up");
cont { assert( position <= position.prev() )} until {[position < 4.0] {Obstacle:=1.0;}}
cont {assert( position >3.5 )} until {[duration > 2.0] {}}Obstacle:=0.0;cont {} until {[position < 0.0] {}}Passenger_Up:= 0.0;Passenger_Down:=0.0;
} //testcase
Voraussetzungen einer Testautomatisierung –Testumgebung
Testumgebung
Eine Umgebung, bestehend aus Hardware, Instrumentierungen, Simulatoren, Software-Tools und anderen unterstützenden Artefakten, die für die Testausführung notwendig sind.
• Testbett als Kernstück einer Testumgebung:– Generierung von Test-Treibern
IT PowerConsultants
– Generierung von Test-Treibern– Ausführung mit Testdaten– Erfassung der Testergebnisse und
Auswertung
Testbett
Hardware-Testumgebung
� Manuelle Testdurchführung
Stromversorgung
IT PowerConsultants
Sensoren Aktuatoren
Kommunikationssysteme
Steuergerät
Hardware-in-the-Loop Umgebung
Stromversorgung
Testrechner
Aktuelle Probleme• Aufbau und Inbatriebnahme sehr
IT PowerConsultants
Sensoren Aktuatoren
Kommunikationssysteme
EntwicklungsrechnerSteuergerät
• Aufbau und Inbatriebnahme sehr aufwändig (Analoge Ein- und Ausgänge mit verschiedenen Eigenschaften, Bus-Schnittstellen, …)
• Harte Realzeitanforderungen
• Proprietäre Testumgebungen,; sehr teure „Standard-Umgebungen“
• Präsentationsnotation der Testspezifikationen
Voraussetzungen einer Testautomatisierung –Umgebungsmodell
Umgebungsmodell Abstraktion der Umgebung eines eingebetteten Systems.Streckenmodell, modellierte Regelstrecke des Reglers.
Sollwert Steuerung
Open-Loop Tests für Steuerungen, einfaches Umgebung smodell
IT PowerConsultants
RegelstreckeReglerIstwert Regelwert
Sensor Aktuator
RegelstreckeRegler
Sollwert
Istwert Regelwert
Sensor Aktuator
Regler
Closed-Loop Tests für Regler, komplexes Umgebungsmo dell
Umgebungsmodell – Beispiel Luftzufuhr-Regler
Die Luftzufuhr zu einem Motor soll elektronisch angesteuert werden. Für die Tests der Algorithmen wird die Umgebung in Form der Drosselklappenansteuerung mit modelliert.
Umgebungsmodell
IT PowerConsultants
mit modelliert.
Luftzufuhr-Regler
Zu Bedenken:
Hoher Aufwand realitätsnaher Modellierung der Umgebung
� IT Power Consultants� Hintergrund� Testautomatisierung aus der Sicht der Industrie � Testautomatisierung in der akademischen
IT PowerConsultants
� Testautomatisierung in der akademischen Forschung
� Automatisierung der Testauswertung� Fazit
Testautomatisierung in akademischer Forschung
� Fokus: Automatische Generierung von Testszenarien aus Modellen
TestplanungTestmanagem
ent
Testdokumentation
IT PowerConsultants
Testspezifikation
Testauswertung
Testdurchführung
Testmanagem
ent
Testdokumentation
Automatische Generierung von Testszenarien aus Modell – Grundidee
� Überdeckung der Pfade des endlichen Automaten, der dem Modell zugrunde liegt
W-Methode (Chow, 1978)Korrektheitsnachweis der Implementierung gegen das Modell anhand einer charakteristischen Menge von Pfaden als Testsequenzmenge
IT PowerConsultants
� Unabhängig von der Testhypothese repräsentiert die generierte Testsequenzmenge eine sinnvolle Auswahl von Testsequenzen
� Auch der Einsatz von Model Checking Algorithmen zur Generierung von Testsequenzen
Testsequenzmenge
Testhypothese:# Implementierungszustände =
# Modellzustände
Automatische Generierung von Testszenarien aus Modell
� Aktivitätsdiagramme, Zustandsdiagramme (UML)� Statecharts (Statemate), Stateflow (MATLAB/Simulink)
Notationen der Modellbeschreibung
IT PowerConsultants
� Implementierungsmodell: Detailiertes Modell aus Entwickler Sicht
� Testmodell: Abstraktes Modell aus Tester Sicht
Testbasis
Implementierungsmodell als Testbasis
� Automatische Generierung ausführbarer Testsequenzen� Problem: Zuordnung der generierten Testsequenzen zu
Anforderungen � Orakelproblem bei der Testauswertung
� Anwendungsfall: Back-to-Back-Test!
IT PowerConsultants
� Anwendungsfall: Back-to-Back-Test!
Testmodell als Testbasis
� Generierung abstrakter Testsequenzen, die eventuell manuell verfeinert werden.
� Funktionale Interpretation der generierten Testsequenzen möglich
� Beschränkung des Raums der Fehlerfindung auf die
IT PowerConsultants
� Beschränkung des Raums der Fehlerfindung auf die modellierten Aspekte
� IT Power Consultants� Hintergrund� Testautomatisierung aus der Sicht der Industrie � Testautomatisierung in der akademischen
IT PowerConsultants
� Testautomatisierung in der akademischen Forschung
� Automatisierung der Testauswertung� Fazit
Automatisierung der Testauswertung eingebetteter Systeme
1. Es existiert eine validierte Referenz des Testobje kts
• Back-to-Back-TestBack-to-Back-Tests überprüfen die Äquivalenz zwischen verschiedenen Repräsentationen eines Testobjekts, z.B. zwischen Modell und dem daraus generierten Programmcode.
• Regressionstest
IT PowerConsultants
• RegressionstestRegressionstests stellen sicher, dass die Modifikationen im Testobjekt die schon korrekt umgesetzte Funktionalität der älteren Version ebenfalls erfüllen.
2. Es existiert keine validierte Referenz des Testobj ekts
Schwierigkeit der genauen Berechnung des erwarteten Verhaltens bei regelnden Systemen � qualitative Beschreibung des Sollverhaltens
Back-to-Back-Test: Testauswertungsproblem
Problem:Diskretisierung und Rundung führen zu systematischen Abweichungen in den Signalwerten und Zeitverläufen!
IT PowerConsultants
Zeitverläufen!
Aufgabe:Abweichungen, hervorgerufen durch Diskretisierung und Rundung, müssen erkannt und kontrolliert toleriert werden
Back-to-Back-Test: Vergleich von Signalverläufen
=∆∆∆∆ tube
IT PowerConsultants
=∆∆∆∆ tube
• Diskretisierungs- und Rundungsfehler müssen erkannt und kontrolliert toleriert werden.
• Statistische Verfahren unterdrücken Peaks.
• Aufgabe: Detektion möglicher vorhandener Fehler und Lokalisierung der Fehlerstellen
• Lösung: Reparametrisierung des Signalverlaufs, Differenzmatrixverfahren, Dynamic Adaption
Automatische Testauswertung ohne Referenzobjekt
1. Identifikation relevanter Merkmale
t0 t1 t2 t3
Signalmerkmale
IT PowerConsultants
und ihr gefordertes Auftreten
Beispiel:
2. Zeitpartitionierung des Signales gemäß der geford erten Merkmale
Beispiel: t0, t1 t2 t3
Falls eine solche Partitionierung existiert, erfüllt das Signal die geforderten Merkmalseigenschaften.
Abhängigkeiten darüber definierbar und testbar!
� IT Power Consultants� Hintergrund� Testautomatisierung aus der Sicht der Industrie � Testautomatisierung in der akademischen
IT PowerConsultants
� Testautomatisierung in der akademischen Forschung
� Automatisierung der Testauswertung� Fazit
Fazit
� Eine Testautomatisierung kann die Testspezifikation, die Testdurchführung oder die Testauswertung im Fokushaben.
� Ein Großteil der Entwickler eingebetteter Softwarekämpfen noch mit den Problemen der automatischen Testdurchführung. Diese Probleme sind unter anderem:
• Auswahl, Einführung und Einsatz einer Beschreibungsnotation für Testfälle
Testplanung
Testspezifikation
Testauswertung
Testdurchführung
IT PowerConsultants
• Auswahl, Einführung und Einsatz einer Beschreibungsnotation für Testfälle• Modellierung der Umgebung• Aufbau der Hardware-Testumgebung• ….
� Methoden der automatischen Generierung von Testszenarien aus Modellen werden höchstwahrscheinlich erst später in der Industrie eingebetteter Systeme praktische Relevanz erfahren.
� Automatisierung der Testauswertung eingebetteter Systeme ist ein sowohl für die Industrie als auch für die wissenschaftliche Forschung interessantes Thema.
Vielen Dank für Ihre
IT PowerConsultants
Vielen Dank für Ihre Aufmerksamkeit!