design and analysis of gui test-case prioritization using weight-based methods samra khan
TRANSCRIPT
„Design and analysis of GUI test-case prioritization using weight-based methods“
Samra Khan
Gliederung
1. Motivation2. Einordnung im Test3. weighted-event flow graph 4. Priorisierungsarten5. Funktionsweise6. Welche Priorisierungsart ist besser?7. ATCPAT8. 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ühren4. …
3. WEIGHTED-EVENT FLOW GRAPH
weighted-event flow graph
• Erweiterung vom event flow graphEvent 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 3
1
3
5
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)