34
Testautomatisierung: Ein akademisches Thema? IT Power Consul tants Testautomatisierung: Ein akademisches Thema? Sadegh Sadeghipour [email protected]

Testautomatisierung: Ein akademisches Thema?spes2020.informatik.tu-muenchen.de/publications/2010-Sadegh_ATAMI-2010... · W-Methode (Chow, 1978) Korrektheitsnachweis der Implementierung

  • Upload
    lykhanh

  • View
    212

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Testautomatisierung: Ein akademisches Thema?spes2020.informatik.tu-muenchen.de/publications/2010-Sadegh_ATAMI-2010... · W-Methode (Chow, 1978) Korrektheitsnachweis der Implementierung

Testautomatisierung: Ein akademisches Thema?

IT PowerConsultants

Testautomatisierung: Ein akademisches Thema?

Sadegh [email protected]

Page 2: Testautomatisierung: Ein akademisches Thema?spes2020.informatik.tu-muenchen.de/publications/2010-Sadegh_ATAMI-2010... · W-Methode (Chow, 1978) Korrektheitsnachweis der Implementierung

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

Page 3: Testautomatisierung: Ein akademisches Thema?spes2020.informatik.tu-muenchen.de/publications/2010-Sadegh_ATAMI-2010... · W-Methode (Chow, 1978) Korrektheitsnachweis der Implementierung

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

Page 4: Testautomatisierung: Ein akademisches Thema?spes2020.informatik.tu-muenchen.de/publications/2010-Sadegh_ATAMI-2010... · W-Methode (Chow, 1978) Korrektheitsnachweis der Implementierung

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

Page 5: Testautomatisierung: Ein akademisches Thema?spes2020.informatik.tu-muenchen.de/publications/2010-Sadegh_ATAMI-2010... · W-Methode (Chow, 1978) Korrektheitsnachweis der Implementierung

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:

Page 6: Testautomatisierung: Ein akademisches Thema?spes2020.informatik.tu-muenchen.de/publications/2010-Sadegh_ATAMI-2010... · W-Methode (Chow, 1978) Korrektheitsnachweis der Implementierung

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

Page 7: Testautomatisierung: Ein akademisches Thema?spes2020.informatik.tu-muenchen.de/publications/2010-Sadegh_ATAMI-2010... · W-Methode (Chow, 1978) Korrektheitsnachweis der Implementierung

� 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

Page 8: Testautomatisierung: Ein akademisches Thema?spes2020.informatik.tu-muenchen.de/publications/2010-Sadegh_ATAMI-2010... · W-Methode (Chow, 1978) Korrektheitsnachweis der Implementierung

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

Page 9: Testautomatisierung: Ein akademisches Thema?spes2020.informatik.tu-muenchen.de/publications/2010-Sadegh_ATAMI-2010... · W-Methode (Chow, 1978) Korrektheitsnachweis der Implementierung

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

Page 10: Testautomatisierung: Ein akademisches Thema?spes2020.informatik.tu-muenchen.de/publications/2010-Sadegh_ATAMI-2010... · W-Methode (Chow, 1978) Korrektheitsnachweis der Implementierung

Aktueller Bedarf der Industrie an Testautomatisierung

� Testdurchführung, Testdurchführung, Testdurchführung!

TestplanungTestmanagem

ent

Testdokumentation

IT PowerConsultants

Testspezifikation

Testauswertung

Testdurchführung

Testmanagem

ent

Testdokumentation

Page 11: Testautomatisierung: Ein akademisches Thema?spes2020.informatik.tu-muenchen.de/publications/2010-Sadegh_ATAMI-2010... · W-Methode (Chow, 1978) Korrektheitsnachweis der Implementierung

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!

Page 12: Testautomatisierung: Ein akademisches Thema?spes2020.informatik.tu-muenchen.de/publications/2010-Sadegh_ATAMI-2010... · W-Methode (Chow, 1978) Korrektheitsnachweis der Implementierung

Formale Testspezifikationen: Excel

Beispiel: Excel Signal-Setzungen

IT PowerConsultants

Wartezeiten zwischen Setzungen [ms]

Beschreibungen

Page 13: Testautomatisierung: Ein akademisches Thema?spes2020.informatik.tu-muenchen.de/publications/2010-Sadegh_ATAMI-2010... · W-Methode (Chow, 1978) Korrektheitsnachweis der Implementierung

Formale Testspezifikationen: Sequenzdiagramme

Sequenzdiagramme

Ablaufbeschreibungen, Aufrufsequenzen von Methoden oder Ereignissen formal und ausführbar

IT PowerConsultants

Page 14: Testautomatisierung: Ein akademisches Thema?spes2020.informatik.tu-muenchen.de/publications/2010-Sadegh_ATAMI-2010... · W-Methode (Chow, 1978) Korrektheitsnachweis der Implementierung

Formale Testspezifikationen: CTE

IT PowerConsultants

Page 15: Testautomatisierung: Ein akademisches Thema?spes2020.informatik.tu-muenchen.de/publications/2010-Sadegh_ATAMI-2010... · W-Methode (Chow, 1978) Korrektheitsnachweis der Implementierung

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

Page 16: Testautomatisierung: Ein akademisches Thema?spes2020.informatik.tu-muenchen.de/publications/2010-Sadegh_ATAMI-2010... · W-Methode (Chow, 1978) Korrektheitsnachweis der Implementierung

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

Page 17: Testautomatisierung: Ein akademisches Thema?spes2020.informatik.tu-muenchen.de/publications/2010-Sadegh_ATAMI-2010... · W-Methode (Chow, 1978) Korrektheitsnachweis der Implementierung

Hardware-Testumgebung

� Manuelle Testdurchführung

Stromversorgung

IT PowerConsultants

Sensoren Aktuatoren

Kommunikationssysteme

Steuergerät

Page 18: Testautomatisierung: Ein akademisches Thema?spes2020.informatik.tu-muenchen.de/publications/2010-Sadegh_ATAMI-2010... · W-Methode (Chow, 1978) Korrektheitsnachweis der Implementierung

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

Page 19: Testautomatisierung: Ein akademisches Thema?spes2020.informatik.tu-muenchen.de/publications/2010-Sadegh_ATAMI-2010... · W-Methode (Chow, 1978) Korrektheitsnachweis der Implementierung

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

Page 20: Testautomatisierung: Ein akademisches Thema?spes2020.informatik.tu-muenchen.de/publications/2010-Sadegh_ATAMI-2010... · W-Methode (Chow, 1978) Korrektheitsnachweis der Implementierung

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

Page 21: Testautomatisierung: Ein akademisches Thema?spes2020.informatik.tu-muenchen.de/publications/2010-Sadegh_ATAMI-2010... · W-Methode (Chow, 1978) Korrektheitsnachweis der Implementierung

� 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

Page 22: Testautomatisierung: Ein akademisches Thema?spes2020.informatik.tu-muenchen.de/publications/2010-Sadegh_ATAMI-2010... · W-Methode (Chow, 1978) Korrektheitsnachweis der Implementierung

Testautomatisierung in akademischer Forschung

� Fokus: Automatische Generierung von Testszenarien aus Modellen

TestplanungTestmanagem

ent

Testdokumentation

IT PowerConsultants

Testspezifikation

Testauswertung

Testdurchführung

Testmanagem

ent

Testdokumentation

Page 23: Testautomatisierung: Ein akademisches Thema?spes2020.informatik.tu-muenchen.de/publications/2010-Sadegh_ATAMI-2010... · W-Methode (Chow, 1978) Korrektheitsnachweis der Implementierung

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

Page 24: Testautomatisierung: Ein akademisches Thema?spes2020.informatik.tu-muenchen.de/publications/2010-Sadegh_ATAMI-2010... · W-Methode (Chow, 1978) Korrektheitsnachweis der Implementierung

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

Page 25: Testautomatisierung: Ein akademisches Thema?spes2020.informatik.tu-muenchen.de/publications/2010-Sadegh_ATAMI-2010... · W-Methode (Chow, 1978) Korrektheitsnachweis der Implementierung

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!

Page 26: Testautomatisierung: Ein akademisches Thema?spes2020.informatik.tu-muenchen.de/publications/2010-Sadegh_ATAMI-2010... · W-Methode (Chow, 1978) Korrektheitsnachweis der Implementierung

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

Page 27: Testautomatisierung: Ein akademisches Thema?spes2020.informatik.tu-muenchen.de/publications/2010-Sadegh_ATAMI-2010... · W-Methode (Chow, 1978) Korrektheitsnachweis der Implementierung

� 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

Page 28: Testautomatisierung: Ein akademisches Thema?spes2020.informatik.tu-muenchen.de/publications/2010-Sadegh_ATAMI-2010... · W-Methode (Chow, 1978) Korrektheitsnachweis der Implementierung

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

Page 29: Testautomatisierung: Ein akademisches Thema?spes2020.informatik.tu-muenchen.de/publications/2010-Sadegh_ATAMI-2010... · W-Methode (Chow, 1978) Korrektheitsnachweis der Implementierung

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

Page 30: Testautomatisierung: Ein akademisches Thema?spes2020.informatik.tu-muenchen.de/publications/2010-Sadegh_ATAMI-2010... · W-Methode (Chow, 1978) Korrektheitsnachweis der Implementierung

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

Page 31: Testautomatisierung: Ein akademisches Thema?spes2020.informatik.tu-muenchen.de/publications/2010-Sadegh_ATAMI-2010... · W-Methode (Chow, 1978) Korrektheitsnachweis der Implementierung

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!

Page 32: Testautomatisierung: Ein akademisches Thema?spes2020.informatik.tu-muenchen.de/publications/2010-Sadegh_ATAMI-2010... · W-Methode (Chow, 1978) Korrektheitsnachweis der Implementierung

� 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

Page 33: Testautomatisierung: Ein akademisches Thema?spes2020.informatik.tu-muenchen.de/publications/2010-Sadegh_ATAMI-2010... · W-Methode (Chow, 1978) Korrektheitsnachweis der Implementierung

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.

Page 34: Testautomatisierung: Ein akademisches Thema?spes2020.informatik.tu-muenchen.de/publications/2010-Sadegh_ATAMI-2010... · W-Methode (Chow, 1978) Korrektheitsnachweis der Implementierung

Vielen Dank für Ihre

IT PowerConsultants

Vielen Dank für Ihre Aufmerksamkeit!