Design and analysis of GUI test-case prioritization using weight-based methods Samra Khan
Gliederung 1.Motivation 2.Einordnung im Test 3.weighted-event flow graph 4.Priorisierungsarten 5.Funktionsweise 6.Welche Priorisierungsart ist besser? 7.ATCPAT 8.Fazit
1. MOTIVATION
Motivation Testen sehr komplex viele Events => sehr viele Testfälle => zu zeitaufwendig wichtige Testfälle bestimmen =>Testfall Priorisierung (Events werden gewichtet) =>weighted-event flow graph
2. EINORDNUNG IM TEST
Einordnung im Test Testablauf: 1.Kriterium für erfolgreiches testen – White-box: Anweisungsüberdeckung, Zweigüberdeckung,.. – Black-box: Anforderungsspezifikation – neu: Event-interaction coverage 2.Testfälle bestimmen – Input, Output und erwartetes Ergebnis – Testfallpriorisierung 3.Testfälle ausführen 4.…
3. WEIGHTED-EVENT FLOW GRAPH
weighted-event flow graph Erweiterung vom event flow graph Event flow graph: (gerichteter Graph) Knoten: Events Kanten: Interaktionen Erweitung: Events haben Gewichte
weighted-event flow graph Bsp: Event-interaction coverage: – Kanten von WEFG überdecken Event 1 Event 2 Event
4. PRIORISIERUNGSARTEN
Priorisierungsarten gleich-gewichtet: – alle Events gleich wichtig – Testfalllänge ist entscheidend fehleranfällig-gewichtet: – kritische Events höher gewichtet random-gewichtet: – jedes Event zufällig gewichtet
5. FUNKTIONSWEISE
Funktionsweise gegeben: Testfälle Priorisierungsart auswählen Events Gewichte zuweisen Gewicht von Testfällen bestimmen – Gewichte der Events summieren Testfälle anordnen ausführen (anpassen)
Funktionsweise Bsp: Testfälle: t1, t2; Events: E1,E2,E3,E4,E5 t1: E1,E2,E3 ; t2: E4,E5 gleich-gewichtet: t1=3, t2=2 => t1 wichtiger fehleranfällig-gewichtet: E1=2,E2=3,E3=3,E4=5,E5=5 t1=8, t2=10 => t2 wichtiger Bereits erkannte Fehler werden nicht beachtet!
Testfälle anpassen Idee: E1 ausgeführt => Wahrscheinlichkeit, dass E1 Fehler findet sinkt Gewichte aller Events im Testfall um 1 reduzieren Gewichte der Testfälle neu berechnen
Testfälle anpassen Bsp: Ordnung ohne anpassen: t3, t5, t4, t2, t1 Ordnung mit anpassen: t3, t4, t5, t1, t2
6. WELCHE PRIORISIERUNGSART IST BESSER?
Welche Priorisierungsart ist besser? Test: TerpPaint
7. ATCPAT
ATCPAT (Automated Test-Case Prioritizitaion Analysis Tool) verschiedene Priorisierungstechniken Testfälle bestimmen und anordnen
8. FAZIT
Fazit Priorisierung verbessert Fehlerrate fehleranfällig-gewichtung (angepasst) Zukunft: – neue Priorisierungsarten (einfache Regeln)