Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf ·...

39
Berend Semke Juli 2014 Oberflächentests kosteneffizient automatisieren

Transcript of Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf ·...

Page 1: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

Berend Semke

Juli 2014

Oberflächentests kosteneffizient automatisieren

Page 2: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

Quellen: http://de.wikipedia.org/wiki/Effizienz http://de.wikipedia.org/wiki/Wirtschaftlichkeit

2014-07-17 Oberflächentests kosteneffizient automatisieren 2

Effizienz

Page 3: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

2014-07-17 Oberflächentests kosteneffizient automatisieren 3

Effizienz bei Testautomatisierung

• Mögliche Strategien: • Entweder bei konstanten Kosten die Qualitätsaussagen erhöhen, • oder bei konstanter Qualitätsaussage die Kosten reduzieren.

Wirtschaftlichkeit = = Ertrag Aufwand

Qualitätsaussage Kosten

Testende-Kriterium

Page 4: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

2014-07-17 Oberflächentests kosteneffizient automatisieren 4

Inhalt

Erfolg(-reiche Testautomatisierung)

braucht Ziele.

Page 5: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

2014-07-17 Oberflächentests kosteneffizient automatisieren 5

Inhalt

Erfolg braucht Ziele.

Capture and Replay ist die Wurzel allen Übels.

Page 6: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

2014-07-17 Oberflächentests kosteneffizient automatisieren 6

Inhalt

Erfolg braucht Ziele.

Capture and Replay die Wurzel allen

Übels.

Ein Hammer erschlägt jedes Problem.

Page 7: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

2014-07-17 Oberflächentests kosteneffizient automatisieren 7

Inhalt

Erfolg braucht Ziele.

Capture and Replay die Wurzel allen

Übels.

Ein Hammer erschlägt jedes

Problem.

A fool with a tool…

Page 8: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

Ein Hammer erschlägt jedes

Problem.

Werkzeuge brauchen Wissen.

Capture and Replay die Wurzel allen

Übels.

Erfolg braucht Ziele.

2014-07-17 Oberflächentests kosteneffizient automatisieren 8

Inhalt

Womit? Wer?

Wie? Was?

Page 9: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

Ein Hammer erschlägt jedes

Problem.

Werkzeuge brauchen Wissen.

Capture and Replay die Wurzel allen

Übels.

Erfolg braucht Ziele.

2014-07-17 Oberflächentests kosteneffizient automatisieren 9

Erfolgssummanden faktoren

Womit? Wer?

Wie? Was?

Page 10: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

2014-07-17 Oberflächentests kosteneffizient automatisieren 10

Was automatisiert testen?

Wer das Ziel kennt, kann entscheiden wer entscheidet, findet Ruhe wer Ruhe findet, ist sicher

wer sicher ist, kann überlegen wer überlegt, kann verbessern.

(Konfuzius)

Page 11: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

2014-07-17 Oberflächentests kosteneffizient automatisieren 11

Was automatisiert testen?

Wer das Ziel kennt, kann entscheiden wer entscheidet, findet Ruhe wer Ruhe findet, ist sicher

wer sicher ist, kann überlegen wer überlegt, kann verbessern.

Kosten Qualitätsaussage

Page 12: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

2014-07-17 Oberflächentests kosteneffizient automatisieren 12

Kosten

manuell automatisiert

Aufwände bei wenig Wiederholungen

Test-Spec Impl. Test

manuell automatisiert

Aufwände bei vielen Wiederholungen

Test-Spec Impl. Test

Page 13: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

2014-07-17 Oberflächentests kosteneffizient automatisieren 13

Kosten

manuell man. (pro Test)

automatisiert aut. (pro Test)

Kosten

Wiederholungen

Page 14: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

2014-07-17 Oberflächentests kosteneffizient automatisieren 14

Qualitätsaussage

manuell automatisiert

Test-Qualität

Wiederholungen

Page 15: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

2014-07-17 Oberflächentests kosteneffizient automatisieren 15

Qualitätsaussage / Kosten

Viele Wiederholungen verringern nicht nur die Kosten, sie verbessern auch die relative Qualitätsaussage einer

Automatisierung

Page 16: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

2014-07-17 Oberflächentests kosteneffizient automatisieren 17

Effizient automatisieren

Ob eine Automatisierung wirtschaftlich ist, muss für jede Anforderung individuell bewertet werden.

Page 17: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient
Page 18: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

2014-07-17 Oberflächentests kosteneffizient automatisieren 19

Kosten / Nutzen - Einflüsse

Spezifikation Implementierung Test Test Test Test Test

Erfordert Stabilität & Frequenz

Erhöht sich durch Komplexität

• Standard-Widgets? • Statische oder berechnete Werte? • Kontrollstrukturen benötigt? • …

Konstant Auch automatisierte Oberflächentests brauchen qualitativ hochwertige Testspecs!

Page 19: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

2014-07-17 Oberflächentests kosteneffizient automatisieren 20

Anforderungen auswählen

• Wie wähle ich die relevanten Anforderungen aus?

BYOI (Build your own index)

Page 20: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

2014-07-17 Oberflächentests kosteneffizient automatisieren 21

Anforderungen auswählen

Zum Beispiel:

E = Ertrag / Aufwand = Ertrag / Komplexität = Auswirkung * Frequenz / Komplexität = Auswirkung * Frequenz * Stabilität / Komplexität = Auswirkung * Frequenz * Stabilität * Lösbarkeit = xa*Auswirkung * xf*Frequenz * xs*Stabilität * xl*Lösbarkeit

BYOI (Build your own index)

Page 21: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

Ein Hammer erschlägt jedes

Problem.

Werkzeuge brauchen Wissen.

Capture and Replay die Wurzel allen

Übels.

Erfolg braucht Ziele.

2014-07-17 Oberflächentests kosteneffizient automatisieren 25

Erfolgsfaktoren

Womit? Wer?

Wie? Was?

Page 22: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

2014-07-17 Oberflächentests kosteneffizient automatisieren 26

Wie automatisiert testen?

Es sind gerade die Inkonsequenzen des Lebens, welche die größten Konsequenzen haben.

(André Gide)

Page 23: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

2014-07-17 Oberflächentests kosteneffizient automatisieren 27

Wie automatisiert testen?

Es sind gerade die Inkonsequenzen des Lebens, welche die größten Konsequenzen haben.

Kleine Vorteile

jetzt Große Vorteile später

Page 24: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient
Page 25: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient
Page 26: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

Ein Hammer erschlägt jedes

Problem.

Werkzeuge brauchen Wissen.

Capture and Replay die Wurzel allen

Übels.

Erfolg braucht Ziele.

2014-07-17 Oberflächentests kosteneffizient automatisieren 31

Erfolgsfaktoren

Womit? Wer?

Wie? Was?

Page 27: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

2014-07-17 Oberflächentests kosteneffizient automatisieren 32

Womit automatisiert testen?

Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

(Paul Watzlawick)

Page 28: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

2014-07-17 Oberflächentests kosteneffizient automatisieren 33

Tools…

• … gibt es.

Page 29: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

2014-07-17 Oberflächentests kosteneffizient automatisieren 34

Unterschiede der TA-Tools

• Technologie • Unterstützte Tool-Kits • Unterstützte Programmiersprachen • Objekt-Erkennung

• Integration in Tool-Chain

• Ergonomie

• Erweiterbarkeit

• Anschaffungskosten

Page 30: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

2014-07-17 Oberflächentests kosteneffizient automatisieren 35

Objekt-Erkennung

• Technologie • Unterstützte Tool-Kits • Unterstützte Programmiersprachen

• Objekt-Erkennung • abgeleitete Widgets • verschobene Widgets

• innerhalb des Containers • in neuen Container • auf anderen Monitor

• Test auf Abwesenheit

Page 31: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

Ein Hammer erschlägt jedes

Problem.

Werkzeuge brauchen Wissen.

Capture and Replay die Wurzel allen

Übels.

Erfolg braucht Ziele.

2014-07-17 Oberflächentests kosteneffizient automatisieren 38

Erfolgsfaktoren

Womit? Wer?

Wie? Was?

Page 32: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

2014-07-17 Oberflächentests kosteneffizient automatisieren 39

Wer testet automatisiert?

A fool with a tool is still a fool (Grady Booch)

Page 33: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

2014-07-17 Oberflächentests kosteneffizient automatisieren 40

Anforderungsprofil - Klassisch Test-

kenntnisse

Anforderungs- erhebung

Programmier- kenntnisse

Entwickler

Tester

RE

Page 34: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

2014-07-17 Oberflächentests kosteneffizient automatisieren 41

Anforderungsprofil - Agil Test-

kenntnisse

Anforderungs- erhebung

Programmier- kenntnisse

Entwickler

Tester

RE

Oberflächen-test

Automatisierer

Page 35: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

2014-07-17 Oberflächentests kosteneffizient automatisieren 42

Dem Anforderungsprofil entsprechen

• SW-Entwickler Testkenntnisse näher bringen

• Testern Programmierkenntnisse näher bringen

Page 36: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

2014-07-17 Oberflächentests kosteneffizient automatisieren 43

Dem Anforderungsprofil entsprechen

• SW-Entwickler Testkenntnisse näher bringen • Status & Anerkennung • Fachkenntnisse Test & QM • Einfach mal Fragen!

• Testern Programmierkenntnisse näher bringen

Page 37: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

2014-07-17 Oberflächentests kosteneffizient automatisieren 44

Dem Anforderungsprofil entsprechen

• SW-Entwickler Testkenntnisse näher bringen

• Testern Programmierkenntnisse näher bringen

• Einfach mal Fragen! • „Serious games“?

http://www.antme.net/ http://blobby.sourceforge.net/

Page 38: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

Testautomatisierung ist Software-Entwicklung

benötigt sowohl Test- als auch SW-Entwicklungs-

Kenntnisse

Objekterkennung spart Wartungskosten

Lizenzkosten meist irrelevant

Testautomatisierung ist Software-Entwicklung

Zieldefinition: Kosten oder Qualitätsaussage

Anforderungsmanagement führt zu Test-Spec. BYOI

2014-07-17 Oberflächentests kosteneffizient automatisieren 45

Zusammenfassung

Womit? Wer?

Wie? Was?

Page 39: Oberflächentests kosteneffizient automatisieren2014.java-forum-stuttgart.de/_data/G7_2014.pdf · 17.07.2014  · BYOI (Build your own index) 2014-07-17 Oberflächentests kosteneffizient

2014-07-17 Oberflächentests kosteneffizient automatisieren 46

etamax space GmbH

Berend Semke

Frankfurter Straße 3 d

D-38122 Braunschweig

Tel +49 (0)531.866688.35

Fax +49 (0)531.866688.99

www.etamax.de

Email [email protected]

www.xing.com/profile/Berend_Semke