Design and analysis of GUI test-case prioritization using weight-based methods Samra Khan.

23
„Design and analysis of GUI test- case prioritization using weight- based methods“ Samra Khan

Transcript of Design and analysis of GUI test-case prioritization using weight-based methods Samra Khan.

Page 1: Design and analysis of GUI test-case prioritization using weight-based methods Samra Khan.

„Design and analysis of GUI test-case prioritization using weight-based methods“

Samra Khan

Page 2: 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

Page 3: Design and analysis of GUI test-case prioritization using weight-based methods Samra Khan.

1. MOTIVATION

Page 4: Design and analysis of GUI test-case prioritization using weight-based methods Samra Khan.

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

Page 5: Design and analysis of GUI test-case prioritization using weight-based methods Samra Khan.

2. EINORDNUNG IM TEST

Page 6: Design and analysis of GUI test-case prioritization using weight-based methods Samra Khan.

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

Page 7: Design and analysis of GUI test-case prioritization using weight-based methods Samra Khan.
Page 8: Design and analysis of GUI test-case prioritization using weight-based methods Samra Khan.

3. WEIGHTED-EVENT FLOW GRAPH

Page 9: Design and analysis of GUI test-case prioritization using weight-based methods Samra Khan.

weighted-event flow graph

• Erweiterung vom event flow graphEvent flow graph: (gerichteter Graph)• Knoten: Events• Kanten: Interaktionen• Erweitung: Events haben Gewichte

Page 10: Design and analysis of GUI test-case prioritization using weight-based methods Samra Khan.

weighted-event flow graph

• Bsp:

• Event-interaction coverage:– Kanten von WEFG überdecken

Event 1

Event 2

Event 3

1

3

5

Page 11: Design and analysis of GUI test-case prioritization using weight-based methods Samra Khan.

4. PRIORISIERUNGSARTEN

Page 12: Design and analysis of GUI test-case prioritization using weight-based methods Samra Khan.

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

Page 13: Design and analysis of GUI test-case prioritization using weight-based methods Samra Khan.

5. FUNKTIONSWEISE

Page 14: Design and analysis of GUI test-case prioritization using weight-based methods Samra Khan.

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)

Page 15: Design and analysis of GUI test-case prioritization using weight-based methods Samra Khan.

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!

Page 16: Design and analysis of GUI test-case prioritization using weight-based methods Samra Khan.

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

Page 17: Design and analysis of GUI test-case prioritization using weight-based methods Samra Khan.

Testfälle anpassen

• Bsp:

• Ordnung ohne anpassen: t3, t5, t4, t2, t1 • Ordnung mit anpassen: t3, t4, t5, t1, t2

Page 18: Design and analysis of GUI test-case prioritization using weight-based methods Samra Khan.

6. WELCHE PRIORISIERUNGSART IST BESSER?

Page 19: Design and analysis of GUI test-case prioritization using weight-based methods Samra Khan.

Welche Priorisierungsart ist besser?

• Test: TerpPaint

Page 20: Design and analysis of GUI test-case prioritization using weight-based methods Samra Khan.

7. ATCPAT

Page 21: Design and analysis of GUI test-case prioritization using weight-based methods Samra Khan.

ATCPAT (Automated Test-Case Prioritizitaion Analysis Tool)

• verschiedene Priorisierungstechniken• Testfälle bestimmen und anordnen

Page 22: Design and analysis of GUI test-case prioritization using weight-based methods Samra Khan.

8. FAZIT

Page 23: Design and analysis of GUI test-case prioritization using weight-based methods Samra Khan.

Fazit

• Priorisierung verbessert Fehlerrate• fehleranfällig-gewichtung (angepasst)

• Zukunft:– neue Priorisierungsarten (einfache Regeln)