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
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