SlideShare ist ein Scribd-Unternehmen logo
Komfortable, systematische Modellierung und
Automatisierung von GUI-Tests
Diplomverteidigung - Oliver Stadie
PRÄSENTATIONS-TITEL • DATUMVERTRAULICH1
29.09.2015
2
GLIEDERUNG
Einleitung
Grundlagen
Entwickelte Methode + Umsetzung
Auswertung, Fazit und Ausblick
3
Einleitung
Motivation + Zielstellung
4
• ein generischer Weg Software zu testen sind GUI-Tests
• Ziel: Entwicklung einer GUI-Test-Methode
• kombinieren existierender Methoden:
• Capture/Replay
• Widget-Trees
• Zustandsdiagramme
• Klassifikationsbaummethode
• Machbarkeit: Konzept und Implementation
• Vor- und Nachteile der Kombination
Einleitung
5
Grundlagen
Capture/Replay + Widget-Trees
6
Grundlagen
Capture/Replay
• Folge von Aktionen wird aufgenommen und wieder abgespielt
• Vorteile:
• einfache Bedienbarkeit
• weite Verbreitung
• Nachteil: hoher Wartungsaufwand
Widget-Trees (nach [Baue11])
• beschreibt die Widget-Hierarchie zu einem Zeitpunkt
• Vorteil: detaillierte Modellierung von GUI-Zuständen
• Nachteil: Beschränkung auf einen Zustand
Klassifikationsbaummethode + Zustandsdiagramm
7
Grundlagen
Klassifikationsbaummethode
• Vorteile:
• systematische Herleitung von Testfällen
• etabliert in der Praxis
• geeignet für funktionales Black-Box-Testen
• Nachteil: kann für komplexe Systeme zu groß werden
Zustandsdiagramm
• Vorteile:
• gute Modellierung von Systemverhalten (Sequenzen)
• leicht zu erlernen
• leicht zu warten
• Nachteil: schwer (voll-)automatisch konstruierbar
Zustandsdiagramme - Hierarchie
8
Grundlagen
• hilft der Übersichtlichkeit
• beschreibt XOR-Relation („1-aus-n“)
• Zustand A ⇔ Zustand A1 XOR Zustand A2
Zustandsdiagramme - Orthogonalität
9
Grundlagen
• UND-Relation
• 𝑍𝑢𝑠𝑡𝑎𝑛𝑑 𝐴 ⇔ 𝐵𝑒𝑟𝑒𝑖𝑐ℎ 𝑀 𝑈𝑁𝐷 𝐵𝑒𝑟𝑒𝑖𝑐ℎ 𝑀
⇔ (𝑀1 𝑋𝑂𝑅 𝑀2) 𝑈𝑁𝐷 (𝑁1 𝑋𝑂𝑅 𝑁1)
• reduziert Komplexität
• nur N+M Zustände erforderlich, anstatt N*M
10
Entwickelte Methode + Umsetzung
Überblick
11
Entwickelte Methode + Umsetzung
Phase 1: Capture
12
Entwickelte Methode + Umsetzung
Phase 1:
CapturePeripherie
SUT
GUI-Modell
Capture-
Sequenzen
Phase 1: Capture - Artefakte
13
Entwickelte Methode + Umsetzung
GUI-Modell
Capture-Sequenzen
0
2
4
16
64
2
4
x² x²
x³
0 2 4 16
2 x² x²
0 4 64
4 x³
Phase 2: Modelle abstrahieren
14
Entwickelte Methode + Umsetzung
Phase 2:
Modelle
abstrahieren
Abstrahiertes
GUI-Modell
GUI-Modell
Capture-
Sequenzen
Abstrahiertes GUI-Modell - vereinfacht
15
Entwickelte Methode + Umsetzung
[Krus11, KrWe12]
Phase 3: Testsequenzen generieren
16
Entwickelte Methode + Umsetzung
Phase 3:
Testsequenzen
generieren
Testsequenzen
Abstrahiertes
GUI-Modell
Phase 4: Tests ausführen
17
Entwickelte Methode + Umsetzung
Phase 4: Tests
ausführenTestsequenzen
Peripherie
SUT
Phase 2: Details
18
Entwickelte Methode + Umsetzung
1. Hierarchie erzeugen
2. Orthogonalität erzeugen
3. Sequenzen einbeziehen
4. Klassifikationsbaum erzeugen
Phase 2: Hierarchie erzeugen
19
Entwickelte Methode + Umsetzung
Phase 2: Hierarchie erzeugen
20
Entwickelte Methode + Umsetzung
Phase 2: Hierarchie erzeugen
21
Entwickelte Methode + Umsetzung
Window
Label …
Name
“Ergebnis”
Wert
“0”
Phase 2: Hierarchie erzeugen
22
Entwickelte Methode + Umsetzung
Window
Label …
Name Wert
“0”“Ergebnis”
Phase 2: Hierarchie erzeugen
23
Entwickelte Methode + Umsetzung
Window
Name
“Rechner”
Phase 2: Orthogonalität erzeugen
24
Entwickelte Methode + Umsetzung
Programmierer-Modus Programmierer-Modus
&
Menü
Standard-Modus
Phase 2: Orthogonalität erzeugen
25
Entwickelte Methode + Umsetzung
Window
Programmierer-
Menü-Eintrag
Label
…
Window
Programmierer-
Menü-Eintrag
Label
…
A
A A
Phase 2: Orthogonalität erzeugen + Transitionen
26
Entwickelte Methode + Umsetzung
27
Auswertung, Fazit und Ausblick
Auswertung & Fazit
28
Auswertung, Fazit und Ausblick
• vier Methoden erfolgreich kombiniert zu GUI-Test-Verfahren
• Prototyp evaluiert an einem Windows-Taschenrechner Tutorial
• erste Hinweise über die Praxistauglichkeit der Methode
• Machbarkeit ist gegeben
• produktiver Einsatz erfordert jedoch noch viel Arbeit
• bisher: Einschränkung auf Links-Klick und wenige Widget-Typen
• relevante Resultate
• keine Erkennung interner Zustandswechsel
• einige sichtbare Element fehlen im Widget-Tree
Ausblick
29
Auswertung, Fazit und Ausblick
Vertiefend
• fehlende Widget-Tree-Elemente untersuchen
• Prototyp vervollständigen
• Modellierungsmöglichkeiten für Tester verbessern
• Evaluation auf weiteren SUTs
Weiterführend
• Regressions-Tests und Testorakel.
• Variablen, Wächter
• Historie
• Nguyen et al. [NgMT12] zur Parametrisierung.
Quellen
30
Quellen
• [Baue11] BAUERSFELD, SEBASTIAN: A Metaheuristic
Approach to Automatic Test Case Generation for GUI-Based
Applications, Humboldt-Universität zu Berlin, 2011
• [Krus11] KRUSE, PETER M: Test Sequence Generation from
Classification Trees using Multi-agent Systems. In: EUMAS
2011. Maastricht, NL, 2011
• [KrWe12] KRUSE, PETER M. ; WEGENER, JOACHIM: Test
Sequence Generation from Classification Trees. In: 2012 IEEE
Fifth International Conference on Software Testing, Verification
and Validation. Montreal, QC : IEEE, 2012 — ISBN 978-0-7695-
4670-4, S. 539–548
• [NgMT12] NGUYEN, CU D ; MARCHETTO, ALESSANDRO ;
TONELLA, PAOLO: Combining Model-Based and Combinatorial
Testing for Effective Test Case Generation. In: Proceedings of
the 2012 International Symposium on Software Testing and
Analysis, ISSTA 2012. New York, NY, USA, 2012 — ISBN
9781450314541, S. 100–110
PRÄSENTATIONS-TITEL • DATUMVERTRAULICH31
ENGINEERING SOLUTIONS
AND PRODUCTS FOR AUTOMOTIVE
ELECTRONICS & SOFTWARE & MECHANICS

Weitere ähnliche Inhalte

Andere mochten auch

SMS = PIPOCA
SMS = PIPOCASMS = PIPOCA
SMS = PIPOCA
Mateus Martins
 
NUESTRAS OBRAS DE ARTE 2
NUESTRAS OBRAS DE ARTE 2NUESTRAS OBRAS DE ARTE 2
NUESTRAS OBRAS DE ARTE 2
escuela infantil
 
1
11
Tagesablauf des patienten v-klinik.de
Tagesablauf des patienten v-klinik.deTagesablauf des patienten v-klinik.de
Tagesablauf des patienten v-klinik.de
DrVorobievKlinik
 
Personenbeschreibung
PersonenbeschreibungPersonenbeschreibung
Personenbeschreibung
Marta Bargiel
 
NEREA REKALDE ARANZABAL
NEREA REKALDE ARANZABALNEREA REKALDE ARANZABAL
NEREA REKALDE ARANZABALnr1964
 
2013 Senior Profiles
2013 Senior Profiles2013 Senior Profiles
2013 Senior Profiles
Kelly Henson Mott
 
Bildergeschichten interaktiv auf_i_pad-erzählen14
Bildergeschichten interaktiv auf_i_pad-erzählen14Bildergeschichten interaktiv auf_i_pad-erzählen14
Bildergeschichten interaktiv auf_i_pad-erzählen14Heike Roegler
 
Unique_Arts_Katalog_2015
Unique_Arts_Katalog_2015Unique_Arts_Katalog_2015
Unique_Arts_Katalog_2015
Thomas Ramseier
 
Oxford II hundesofa chester and wells
Oxford II hundesofa chester and wellsOxford II hundesofa chester and wells
Oxford II hundesofa chester and wells
chesterandwells
 
Dresden #5
Dresden #5Dresden #5
CeBIT störing gebrauchtsoftware 08.03.2012
CeBIT störing gebrauchtsoftware 08.03.2012CeBIT störing gebrauchtsoftware 08.03.2012
CeBIT störing gebrauchtsoftware 08.03.2012
Marcst76
 
수식만들기
수식만들기수식만들기
수식만들기sy9131
 
HABSBURGER KARNEVAL 04.03.2014
HABSBURGER KARNEVAL 04.03.2014HABSBURGER KARNEVAL 04.03.2014
HABSBURGER KARNEVAL 04.03.2014
hotelfelcaro
 
Erstellen sie eine unverbindliche offerte
Erstellen sie eine unverbindliche offerteErstellen sie eine unverbindliche offerte
Erstellen sie eine unverbindliche offerte
jolie111
 

Andere mochten auch (16)

Whiteboard
WhiteboardWhiteboard
Whiteboard
 
SMS = PIPOCA
SMS = PIPOCASMS = PIPOCA
SMS = PIPOCA
 
NUESTRAS OBRAS DE ARTE 2
NUESTRAS OBRAS DE ARTE 2NUESTRAS OBRAS DE ARTE 2
NUESTRAS OBRAS DE ARTE 2
 
1
11
1
 
Tagesablauf des patienten v-klinik.de
Tagesablauf des patienten v-klinik.deTagesablauf des patienten v-klinik.de
Tagesablauf des patienten v-klinik.de
 
Personenbeschreibung
PersonenbeschreibungPersonenbeschreibung
Personenbeschreibung
 
NEREA REKALDE ARANZABAL
NEREA REKALDE ARANZABALNEREA REKALDE ARANZABAL
NEREA REKALDE ARANZABAL
 
2013 Senior Profiles
2013 Senior Profiles2013 Senior Profiles
2013 Senior Profiles
 
Bildergeschichten interaktiv auf_i_pad-erzählen14
Bildergeschichten interaktiv auf_i_pad-erzählen14Bildergeschichten interaktiv auf_i_pad-erzählen14
Bildergeschichten interaktiv auf_i_pad-erzählen14
 
Unique_Arts_Katalog_2015
Unique_Arts_Katalog_2015Unique_Arts_Katalog_2015
Unique_Arts_Katalog_2015
 
Oxford II hundesofa chester and wells
Oxford II hundesofa chester and wellsOxford II hundesofa chester and wells
Oxford II hundesofa chester and wells
 
Dresden #5
Dresden #5Dresden #5
Dresden #5
 
CeBIT störing gebrauchtsoftware 08.03.2012
CeBIT störing gebrauchtsoftware 08.03.2012CeBIT störing gebrauchtsoftware 08.03.2012
CeBIT störing gebrauchtsoftware 08.03.2012
 
수식만들기
수식만들기수식만들기
수식만들기
 
HABSBURGER KARNEVAL 04.03.2014
HABSBURGER KARNEVAL 04.03.2014HABSBURGER KARNEVAL 04.03.2014
HABSBURGER KARNEVAL 04.03.2014
 
Erstellen sie eine unverbindliche offerte
Erstellen sie eine unverbindliche offerteErstellen sie eine unverbindliche offerte
Erstellen sie eine unverbindliche offerte
 

Ähnlich wie Komfortable, systematische Modellierung und Automatisierung von GUI-Tests

Evaluation of Frameworks for Desktop-Like Web Applications in Pure JavaScript
Evaluation of Frameworks for Desktop-Like Web Applications in Pure JavaScriptEvaluation of Frameworks for Desktop-Like Web Applications in Pure JavaScript
Evaluation of Frameworks for Desktop-Like Web Applications in Pure JavaScript
Educational Technology
 
Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)
Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)
Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)
Florian Wolters
 
Scrum Rocks, Testing Sucks ?! RELOADED
Scrum Rocks, Testing Sucks ?! RELOADEDScrum Rocks, Testing Sucks ?! RELOADED
Scrum Rocks, Testing Sucks ?! RELOADED
SwissQ Consulting AG
 
Deployments Best Practices
Deployments Best PracticesDeployments Best Practices
Deployments Best Practices
Daniel Drexlmaier
 
Testmanagement mit Visual Studio 2013
Testmanagement mit Visual Studio 2013Testmanagement mit Visual Studio 2013
Testmanagement mit Visual Studio 2013
Nico Orschel
 
Continous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickelnContinous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickeln
Martin Seibert
 
Agiles Testen - Überblick
Agiles Testen - ÜberblickAgiles Testen - Überblick
Agiles Testen - Überblick
Claudia Haußmann 🦋
 
Präsentation RUP
Präsentation RUPPräsentation RUP
Präsentation RUP
Christin2209
 
PLM Open Hours - Best Practices in der Produkstrukturierung
PLM Open Hours - Best Practices in der ProdukstrukturierungPLM Open Hours - Best Practices in der Produkstrukturierung
PLM Open Hours - Best Practices in der Produkstrukturierung
Intelliact AG
 
Referat: Scrum Rocks – Testing Sucks?! (reloaded)
Referat: Scrum Rocks – Testing Sucks?! (reloaded)Referat: Scrum Rocks – Testing Sucks?! (reloaded)
Referat: Scrum Rocks – Testing Sucks?! (reloaded)
Digicomp Academy AG
 
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Markus Unterauer
 
CCD 2013: JIRA goes i18n
CCD 2013: JIRA goes i18nCCD 2013: JIRA goes i18n
CCD 2013: JIRA goes i18n
Communardo GmbH
 
Lean development 04
Lean development 04Lean development 04
Lean development 04SuperB2
 
DACHNUG50 LeapTippsAndTricks.pdf
DACHNUG50 LeapTippsAndTricks.pdfDACHNUG50 LeapTippsAndTricks.pdf
DACHNUG50 LeapTippsAndTricks.pdf
DNUG e.V.
 
Werkstattgespräch Agile Requirements Engineering
Werkstattgespräch Agile Requirements EngineeringWerkstattgespräch Agile Requirements Engineering
Werkstattgespräch Agile Requirements Engineering
uxHH
 
Remote-UAT: Herausforderungen und Lösungen
Remote-UAT: Herausforderungen und LösungenRemote-UAT: Herausforderungen und Lösungen
Remote-UAT: Herausforderungen und Lösungen
panayaofficial
 
Remote-UAT: Herausforderungen und Lösungen
Remote-UAT: Herausforderungen und LösungenRemote-UAT: Herausforderungen und Lösungen
Remote-UAT: Herausforderungen und Lösungen
panayaofficial
 
Angebotspräsentation
AngebotspräsentationAngebotspräsentation
AngebotspräsentationCirco Loco
 
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Andreas Wissel
 

Ähnlich wie Komfortable, systematische Modellierung und Automatisierung von GUI-Tests (20)

Evaluation of Frameworks for Desktop-Like Web Applications in Pure JavaScript
Evaluation of Frameworks for Desktop-Like Web Applications in Pure JavaScriptEvaluation of Frameworks for Desktop-Like Web Applications in Pure JavaScript
Evaluation of Frameworks for Desktop-Like Web Applications in Pure JavaScript
 
Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)
Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)
Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)
 
Scrum Rocks, Testing Sucks ?! RELOADED
Scrum Rocks, Testing Sucks ?! RELOADEDScrum Rocks, Testing Sucks ?! RELOADED
Scrum Rocks, Testing Sucks ?! RELOADED
 
Deployments Best Practices
Deployments Best PracticesDeployments Best Practices
Deployments Best Practices
 
Testmanagement mit Visual Studio 2013
Testmanagement mit Visual Studio 2013Testmanagement mit Visual Studio 2013
Testmanagement mit Visual Studio 2013
 
Continous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickelnContinous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickeln
 
Agiles Testen - Überblick
Agiles Testen - ÜberblickAgiles Testen - Überblick
Agiles Testen - Überblick
 
Präsentation RUP
Präsentation RUPPräsentation RUP
Präsentation RUP
 
PLM Open Hours - Best Practices in der Produkstrukturierung
PLM Open Hours - Best Practices in der ProdukstrukturierungPLM Open Hours - Best Practices in der Produkstrukturierung
PLM Open Hours - Best Practices in der Produkstrukturierung
 
Scrum 2009 10_23
Scrum 2009 10_23Scrum 2009 10_23
Scrum 2009 10_23
 
Referat: Scrum Rocks – Testing Sucks?! (reloaded)
Referat: Scrum Rocks – Testing Sucks?! (reloaded)Referat: Scrum Rocks – Testing Sucks?! (reloaded)
Referat: Scrum Rocks – Testing Sucks?! (reloaded)
 
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
 
CCD 2013: JIRA goes i18n
CCD 2013: JIRA goes i18nCCD 2013: JIRA goes i18n
CCD 2013: JIRA goes i18n
 
Lean development 04
Lean development 04Lean development 04
Lean development 04
 
DACHNUG50 LeapTippsAndTricks.pdf
DACHNUG50 LeapTippsAndTricks.pdfDACHNUG50 LeapTippsAndTricks.pdf
DACHNUG50 LeapTippsAndTricks.pdf
 
Werkstattgespräch Agile Requirements Engineering
Werkstattgespräch Agile Requirements EngineeringWerkstattgespräch Agile Requirements Engineering
Werkstattgespräch Agile Requirements Engineering
 
Remote-UAT: Herausforderungen und Lösungen
Remote-UAT: Herausforderungen und LösungenRemote-UAT: Herausforderungen und Lösungen
Remote-UAT: Herausforderungen und Lösungen
 
Remote-UAT: Herausforderungen und Lösungen
Remote-UAT: Herausforderungen und LösungenRemote-UAT: Herausforderungen und Lösungen
Remote-UAT: Herausforderungen und Lösungen
 
Angebotspräsentation
AngebotspräsentationAngebotspräsentation
Angebotspräsentation
 
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
 

Mehr von Oliver Stadie

UML Stereotypen und Profile
UML Stereotypen und ProfileUML Stereotypen und Profile
UML Stereotypen und Profile
Oliver Stadie
 
UML Composite Structure Diagrams
UML Composite Structure DiagramsUML Composite Structure Diagrams
UML Composite Structure Diagrams
Oliver Stadie
 
Schwarmverhalten - Anwendungen Formationen Emergenz
Schwarmverhalten - Anwendungen Formationen EmergenzSchwarmverhalten - Anwendungen Formationen Emergenz
Schwarmverhalten - Anwendungen Formationen Emergenz
Oliver Stadie
 
Irish Commission and Nedap Hack
Irish Commission and Nedap HackIrish Commission and Nedap Hack
Irish Commission and Nedap Hack
Oliver Stadie
 
Autonomic Computing - Diagnosis - Pinpoint Summary
Autonomic Computing - Diagnosis - Pinpoint SummaryAutonomic Computing - Diagnosis - Pinpoint Summary
Autonomic Computing - Diagnosis - Pinpoint Summary
Oliver Stadie
 
Ästhetik und Software
Ästhetik und SoftwareÄsthetik und Software
Ästhetik und Software
Oliver Stadie
 
Software Architecture & Design - Our Meetup Group
Software Architecture & Design - Our Meetup GroupSoftware Architecture & Design - Our Meetup Group
Software Architecture & Design - Our Meetup Group
Oliver Stadie
 
Software Architecture and Design - An Overview
Software Architecture and Design - An OverviewSoftware Architecture and Design - An Overview
Software Architecture and Design - An Overview
Oliver Stadie
 

Mehr von Oliver Stadie (8)

UML Stereotypen und Profile
UML Stereotypen und ProfileUML Stereotypen und Profile
UML Stereotypen und Profile
 
UML Composite Structure Diagrams
UML Composite Structure DiagramsUML Composite Structure Diagrams
UML Composite Structure Diagrams
 
Schwarmverhalten - Anwendungen Formationen Emergenz
Schwarmverhalten - Anwendungen Formationen EmergenzSchwarmverhalten - Anwendungen Formationen Emergenz
Schwarmverhalten - Anwendungen Formationen Emergenz
 
Irish Commission and Nedap Hack
Irish Commission and Nedap HackIrish Commission and Nedap Hack
Irish Commission and Nedap Hack
 
Autonomic Computing - Diagnosis - Pinpoint Summary
Autonomic Computing - Diagnosis - Pinpoint SummaryAutonomic Computing - Diagnosis - Pinpoint Summary
Autonomic Computing - Diagnosis - Pinpoint Summary
 
Ästhetik und Software
Ästhetik und SoftwareÄsthetik und Software
Ästhetik und Software
 
Software Architecture & Design - Our Meetup Group
Software Architecture & Design - Our Meetup GroupSoftware Architecture & Design - Our Meetup Group
Software Architecture & Design - Our Meetup Group
 
Software Architecture and Design - An Overview
Software Architecture and Design - An OverviewSoftware Architecture and Design - An Overview
Software Architecture and Design - An Overview
 

Komfortable, systematische Modellierung und Automatisierung von GUI-Tests

  • 1. Komfortable, systematische Modellierung und Automatisierung von GUI-Tests Diplomverteidigung - Oliver Stadie PRÄSENTATIONS-TITEL • DATUMVERTRAULICH1 29.09.2015
  • 2. 2 GLIEDERUNG Einleitung Grundlagen Entwickelte Methode + Umsetzung Auswertung, Fazit und Ausblick
  • 4. Motivation + Zielstellung 4 • ein generischer Weg Software zu testen sind GUI-Tests • Ziel: Entwicklung einer GUI-Test-Methode • kombinieren existierender Methoden: • Capture/Replay • Widget-Trees • Zustandsdiagramme • Klassifikationsbaummethode • Machbarkeit: Konzept und Implementation • Vor- und Nachteile der Kombination Einleitung
  • 6. Capture/Replay + Widget-Trees 6 Grundlagen Capture/Replay • Folge von Aktionen wird aufgenommen und wieder abgespielt • Vorteile: • einfache Bedienbarkeit • weite Verbreitung • Nachteil: hoher Wartungsaufwand Widget-Trees (nach [Baue11]) • beschreibt die Widget-Hierarchie zu einem Zeitpunkt • Vorteil: detaillierte Modellierung von GUI-Zuständen • Nachteil: Beschränkung auf einen Zustand
  • 7. Klassifikationsbaummethode + Zustandsdiagramm 7 Grundlagen Klassifikationsbaummethode • Vorteile: • systematische Herleitung von Testfällen • etabliert in der Praxis • geeignet für funktionales Black-Box-Testen • Nachteil: kann für komplexe Systeme zu groß werden Zustandsdiagramm • Vorteile: • gute Modellierung von Systemverhalten (Sequenzen) • leicht zu erlernen • leicht zu warten • Nachteil: schwer (voll-)automatisch konstruierbar
  • 8. Zustandsdiagramme - Hierarchie 8 Grundlagen • hilft der Übersichtlichkeit • beschreibt XOR-Relation („1-aus-n“) • Zustand A ⇔ Zustand A1 XOR Zustand A2
  • 9. Zustandsdiagramme - Orthogonalität 9 Grundlagen • UND-Relation • 𝑍𝑢𝑠𝑡𝑎𝑛𝑑 𝐴 ⇔ 𝐵𝑒𝑟𝑒𝑖𝑐ℎ 𝑀 𝑈𝑁𝐷 𝐵𝑒𝑟𝑒𝑖𝑐ℎ 𝑀 ⇔ (𝑀1 𝑋𝑂𝑅 𝑀2) 𝑈𝑁𝐷 (𝑁1 𝑋𝑂𝑅 𝑁1) • reduziert Komplexität • nur N+M Zustände erforderlich, anstatt N*M
  • 12. Phase 1: Capture 12 Entwickelte Methode + Umsetzung Phase 1: CapturePeripherie SUT GUI-Modell Capture- Sequenzen
  • 13. Phase 1: Capture - Artefakte 13 Entwickelte Methode + Umsetzung GUI-Modell Capture-Sequenzen 0 2 4 16 64 2 4 x² x² x³ 0 2 4 16 2 x² x² 0 4 64 4 x³
  • 14. Phase 2: Modelle abstrahieren 14 Entwickelte Methode + Umsetzung Phase 2: Modelle abstrahieren Abstrahiertes GUI-Modell GUI-Modell Capture- Sequenzen
  • 15. Abstrahiertes GUI-Modell - vereinfacht 15 Entwickelte Methode + Umsetzung [Krus11, KrWe12]
  • 16. Phase 3: Testsequenzen generieren 16 Entwickelte Methode + Umsetzung Phase 3: Testsequenzen generieren Testsequenzen Abstrahiertes GUI-Modell
  • 17. Phase 4: Tests ausführen 17 Entwickelte Methode + Umsetzung Phase 4: Tests ausführenTestsequenzen Peripherie SUT
  • 18. Phase 2: Details 18 Entwickelte Methode + Umsetzung 1. Hierarchie erzeugen 2. Orthogonalität erzeugen 3. Sequenzen einbeziehen 4. Klassifikationsbaum erzeugen
  • 19. Phase 2: Hierarchie erzeugen 19 Entwickelte Methode + Umsetzung
  • 20. Phase 2: Hierarchie erzeugen 20 Entwickelte Methode + Umsetzung
  • 21. Phase 2: Hierarchie erzeugen 21 Entwickelte Methode + Umsetzung Window Label … Name “Ergebnis” Wert “0”
  • 22. Phase 2: Hierarchie erzeugen 22 Entwickelte Methode + Umsetzung Window Label … Name Wert “0”“Ergebnis”
  • 23. Phase 2: Hierarchie erzeugen 23 Entwickelte Methode + Umsetzung Window Name “Rechner”
  • 24. Phase 2: Orthogonalität erzeugen 24 Entwickelte Methode + Umsetzung Programmierer-Modus Programmierer-Modus & Menü Standard-Modus
  • 25. Phase 2: Orthogonalität erzeugen 25 Entwickelte Methode + Umsetzung Window Programmierer- Menü-Eintrag Label … Window Programmierer- Menü-Eintrag Label … A A A
  • 26. Phase 2: Orthogonalität erzeugen + Transitionen 26 Entwickelte Methode + Umsetzung
  • 28. Auswertung & Fazit 28 Auswertung, Fazit und Ausblick • vier Methoden erfolgreich kombiniert zu GUI-Test-Verfahren • Prototyp evaluiert an einem Windows-Taschenrechner Tutorial • erste Hinweise über die Praxistauglichkeit der Methode • Machbarkeit ist gegeben • produktiver Einsatz erfordert jedoch noch viel Arbeit • bisher: Einschränkung auf Links-Klick und wenige Widget-Typen • relevante Resultate • keine Erkennung interner Zustandswechsel • einige sichtbare Element fehlen im Widget-Tree
  • 29. Ausblick 29 Auswertung, Fazit und Ausblick Vertiefend • fehlende Widget-Tree-Elemente untersuchen • Prototyp vervollständigen • Modellierungsmöglichkeiten für Tester verbessern • Evaluation auf weiteren SUTs Weiterführend • Regressions-Tests und Testorakel. • Variablen, Wächter • Historie • Nguyen et al. [NgMT12] zur Parametrisierung.
  • 30. Quellen 30 Quellen • [Baue11] BAUERSFELD, SEBASTIAN: A Metaheuristic Approach to Automatic Test Case Generation for GUI-Based Applications, Humboldt-Universität zu Berlin, 2011 • [Krus11] KRUSE, PETER M: Test Sequence Generation from Classification Trees using Multi-agent Systems. In: EUMAS 2011. Maastricht, NL, 2011 • [KrWe12] KRUSE, PETER M. ; WEGENER, JOACHIM: Test Sequence Generation from Classification Trees. In: 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation. Montreal, QC : IEEE, 2012 — ISBN 978-0-7695- 4670-4, S. 539–548 • [NgMT12] NGUYEN, CU D ; MARCHETTO, ALESSANDRO ; TONELLA, PAOLO: Combining Model-Based and Combinatorial Testing for Effective Test Case Generation. In: Proceedings of the 2012 International Symposium on Software Testing and Analysis, ISSTA 2012. New York, NY, USA, 2012 — ISBN 9781450314541, S. 100–110
  • 31. PRÄSENTATIONS-TITEL • DATUMVERTRAULICH31 ENGINEERING SOLUTIONS AND PRODUCTS FOR AUTOMOTIVE ELECTRONICS & SOFTWARE & MECHANICS