komfortable, systematische modellierung und automatisierung von gui-tests
TRANSCRIPT
![Page 1: Komfortable, systematische Modellierung und Automatisierung von GUI-Tests](https://reader031.vdocuments.site/reader031/viewer/2022030206/58ab84a81a28ab3e738b5adf/html5/thumbnails/1.jpg)
Komfortable, systematische Modellierung und
Automatisierung von GUI-Tests Diplomverteidigung - Oliver Stadie
PRÄSENTATIONS-TITEL • DATUM VERTRAULICH 1
29.09.2015
![Page 2: Komfortable, systematische Modellierung und Automatisierung von GUI-Tests](https://reader031.vdocuments.site/reader031/viewer/2022030206/58ab84a81a28ab3e738b5adf/html5/thumbnails/2.jpg)
2
GLIEDERUNG
Einleitung
Grundlagen
Entwickelte Methode + Umsetzung
Auswertung, Fazit und Ausblick
![Page 3: Komfortable, systematische Modellierung und Automatisierung von GUI-Tests](https://reader031.vdocuments.site/reader031/viewer/2022030206/58ab84a81a28ab3e738b5adf/html5/thumbnails/3.jpg)
3
Einleitung
![Page 4: Komfortable, systematische Modellierung und Automatisierung von GUI-Tests](https://reader031.vdocuments.site/reader031/viewer/2022030206/58ab84a81a28ab3e738b5adf/html5/thumbnails/4.jpg)
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
![Page 5: Komfortable, systematische Modellierung und Automatisierung von GUI-Tests](https://reader031.vdocuments.site/reader031/viewer/2022030206/58ab84a81a28ab3e738b5adf/html5/thumbnails/5.jpg)
5
Grundlagen
![Page 6: Komfortable, systematische Modellierung und Automatisierung von GUI-Tests](https://reader031.vdocuments.site/reader031/viewer/2022030206/58ab84a81a28ab3e738b5adf/html5/thumbnails/6.jpg)
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
![Page 7: Komfortable, systematische Modellierung und Automatisierung von GUI-Tests](https://reader031.vdocuments.site/reader031/viewer/2022030206/58ab84a81a28ab3e738b5adf/html5/thumbnails/7.jpg)
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
![Page 8: Komfortable, systematische Modellierung und Automatisierung von GUI-Tests](https://reader031.vdocuments.site/reader031/viewer/2022030206/58ab84a81a28ab3e738b5adf/html5/thumbnails/8.jpg)
Zustandsdiagramme - Hierarchie
8
Grundlagen
• hilft der Übersichtlichkeit
• beschreibt XOR-Relation („1-aus-n“)
• Zustand A ⇔ Zustand A1 XOR Zustand A2
![Page 9: Komfortable, systematische Modellierung und Automatisierung von GUI-Tests](https://reader031.vdocuments.site/reader031/viewer/2022030206/58ab84a81a28ab3e738b5adf/html5/thumbnails/9.jpg)
Zustandsdiagramme - Orthogonalität
9
Grundlagen
• UND-Relation
• 𝑍𝑢𝑠𝑡𝑎𝑛𝑑 𝐴 ⇔ 𝐵𝑒𝑟𝑒𝑖𝑐ℎ 𝑀 𝑈𝑁𝐷 𝐵𝑒𝑟𝑒𝑖𝑐ℎ 𝑀
⇔ (𝑀1 𝑋𝑂𝑅 𝑀2) 𝑈𝑁𝐷 (𝑁1 𝑋𝑂𝑅 𝑁1)
• reduziert Komplexität
• nur N+M Zustände erforderlich, anstatt N*M
![Page 10: Komfortable, systematische Modellierung und Automatisierung von GUI-Tests](https://reader031.vdocuments.site/reader031/viewer/2022030206/58ab84a81a28ab3e738b5adf/html5/thumbnails/10.jpg)
10
Entwickelte Methode + Umsetzung
![Page 11: Komfortable, systematische Modellierung und Automatisierung von GUI-Tests](https://reader031.vdocuments.site/reader031/viewer/2022030206/58ab84a81a28ab3e738b5adf/html5/thumbnails/11.jpg)
Überblick
11
Entwickelte Methode + Umsetzung
![Page 12: Komfortable, systematische Modellierung und Automatisierung von GUI-Tests](https://reader031.vdocuments.site/reader031/viewer/2022030206/58ab84a81a28ab3e738b5adf/html5/thumbnails/12.jpg)
Phase 1: Capture
12
Entwickelte Methode + Umsetzung
Phase 1:
Capture Peripherie
SUT
GUI-Modell
Capture-
Sequenzen
![Page 13: Komfortable, systematische Modellierung und Automatisierung von GUI-Tests](https://reader031.vdocuments.site/reader031/viewer/2022030206/58ab84a81a28ab3e738b5adf/html5/thumbnails/13.jpg)
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³
![Page 14: Komfortable, systematische Modellierung und Automatisierung von GUI-Tests](https://reader031.vdocuments.site/reader031/viewer/2022030206/58ab84a81a28ab3e738b5adf/html5/thumbnails/14.jpg)
Phase 2: Modelle abstrahieren
14
Entwickelte Methode + Umsetzung
Phase 2:
Modelle
abstrahieren
Abstrahiertes
GUI-Modell
GUI-Modell
Capture-
Sequenzen
![Page 15: Komfortable, systematische Modellierung und Automatisierung von GUI-Tests](https://reader031.vdocuments.site/reader031/viewer/2022030206/58ab84a81a28ab3e738b5adf/html5/thumbnails/15.jpg)
Abstrahiertes GUI-Modell - vereinfacht
15
Entwickelte Methode + Umsetzung
[Krus11, KrWe12]
![Page 16: Komfortable, systematische Modellierung und Automatisierung von GUI-Tests](https://reader031.vdocuments.site/reader031/viewer/2022030206/58ab84a81a28ab3e738b5adf/html5/thumbnails/16.jpg)
Phase 3: Testsequenzen generieren
16
Entwickelte Methode + Umsetzung
Phase 3:
Testsequenzen
generieren Testsequenzen
Abstrahiertes
GUI-Modell
![Page 17: Komfortable, systematische Modellierung und Automatisierung von GUI-Tests](https://reader031.vdocuments.site/reader031/viewer/2022030206/58ab84a81a28ab3e738b5adf/html5/thumbnails/17.jpg)
Phase 4: Tests ausführen
17
Entwickelte Methode + Umsetzung
Phase 4: Tests
ausführen Testsequenzen
Peripherie
SUT
![Page 18: Komfortable, systematische Modellierung und Automatisierung von GUI-Tests](https://reader031.vdocuments.site/reader031/viewer/2022030206/58ab84a81a28ab3e738b5adf/html5/thumbnails/18.jpg)
Phase 2: Details
18
Entwickelte Methode + Umsetzung
1. Hierarchie erzeugen
2. Orthogonalität erzeugen
3. Sequenzen einbeziehen
4. Klassifikationsbaum erzeugen
![Page 19: Komfortable, systematische Modellierung und Automatisierung von GUI-Tests](https://reader031.vdocuments.site/reader031/viewer/2022030206/58ab84a81a28ab3e738b5adf/html5/thumbnails/19.jpg)
Phase 2: Hierarchie erzeugen
19
Entwickelte Methode + Umsetzung
![Page 20: Komfortable, systematische Modellierung und Automatisierung von GUI-Tests](https://reader031.vdocuments.site/reader031/viewer/2022030206/58ab84a81a28ab3e738b5adf/html5/thumbnails/20.jpg)
Phase 2: Hierarchie erzeugen
20
Entwickelte Methode + Umsetzung
![Page 21: Komfortable, systematische Modellierung und Automatisierung von GUI-Tests](https://reader031.vdocuments.site/reader031/viewer/2022030206/58ab84a81a28ab3e738b5adf/html5/thumbnails/21.jpg)
Phase 2: Hierarchie erzeugen
21
Entwickelte Methode + Umsetzung
Window
Label …
Name
“Ergebnis”
Wert
“0”
![Page 22: Komfortable, systematische Modellierung und Automatisierung von GUI-Tests](https://reader031.vdocuments.site/reader031/viewer/2022030206/58ab84a81a28ab3e738b5adf/html5/thumbnails/22.jpg)
Phase 2: Hierarchie erzeugen
22
Entwickelte Methode + Umsetzung
Window
Label …
Name Wert
“0” “Ergebnis”
![Page 23: Komfortable, systematische Modellierung und Automatisierung von GUI-Tests](https://reader031.vdocuments.site/reader031/viewer/2022030206/58ab84a81a28ab3e738b5adf/html5/thumbnails/23.jpg)
Phase 2: Hierarchie erzeugen
23
Entwickelte Methode + Umsetzung
Window
Name
“Rechner”
![Page 24: Komfortable, systematische Modellierung und Automatisierung von GUI-Tests](https://reader031.vdocuments.site/reader031/viewer/2022030206/58ab84a81a28ab3e738b5adf/html5/thumbnails/24.jpg)
Phase 2: Orthogonalität erzeugen
24
Entwickelte Methode + Umsetzung
Programmierer-Modus Programmierer-Modus
&
Menü
Standard-Modus
![Page 25: Komfortable, systematische Modellierung und Automatisierung von GUI-Tests](https://reader031.vdocuments.site/reader031/viewer/2022030206/58ab84a81a28ab3e738b5adf/html5/thumbnails/25.jpg)
Phase 2: Orthogonalität erzeugen
25
Entwickelte Methode + Umsetzung
Window
Programmierer-
Menü-Eintrag Label
…
Window
Programmierer-
Menü-Eintrag
Label
…
A
A A
![Page 26: Komfortable, systematische Modellierung und Automatisierung von GUI-Tests](https://reader031.vdocuments.site/reader031/viewer/2022030206/58ab84a81a28ab3e738b5adf/html5/thumbnails/26.jpg)
Phase 2: Orthogonalität erzeugen + Transitionen
26
Entwickelte Methode + Umsetzung
![Page 27: Komfortable, systematische Modellierung und Automatisierung von GUI-Tests](https://reader031.vdocuments.site/reader031/viewer/2022030206/58ab84a81a28ab3e738b5adf/html5/thumbnails/27.jpg)
27
Auswertung, Fazit und Ausblick
![Page 28: Komfortable, systematische Modellierung und Automatisierung von GUI-Tests](https://reader031.vdocuments.site/reader031/viewer/2022030206/58ab84a81a28ab3e738b5adf/html5/thumbnails/28.jpg)
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
![Page 29: Komfortable, systematische Modellierung und Automatisierung von GUI-Tests](https://reader031.vdocuments.site/reader031/viewer/2022030206/58ab84a81a28ab3e738b5adf/html5/thumbnails/29.jpg)
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.
![Page 30: Komfortable, systematische Modellierung und Automatisierung von GUI-Tests](https://reader031.vdocuments.site/reader031/viewer/2022030206/58ab84a81a28ab3e738b5adf/html5/thumbnails/30.jpg)
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
![Page 31: Komfortable, systematische Modellierung und Automatisierung von GUI-Tests](https://reader031.vdocuments.site/reader031/viewer/2022030206/58ab84a81a28ab3e738b5adf/html5/thumbnails/31.jpg)
PRÄSENTATIONS-TITEL • DATUM VERTRAULICH 31
ENGINEERING SOLUTIONS AND PRODUCTS FOR AUTOMOTIVE
ELECTRONICS & SOFTWARE & MECHANICS