|
1 Einführung |
13 |
|
|
1.1 Wortwahl |
14 |
|
|
1.2 Was ist Keyword-Driven Testing |
15 |
|
|
1.3 Begriffe |
16 |
|
|
1.3.1 Der Begriff „Keyword“ |
16 |
|
|
1.3.2 Der Begriff „Framework“ |
18 |
|
|
1.4 Keywords unter der Lupe |
18 |
|
|
1.5 Evolution der Testautomatisierung |
21 |
|
|
1.6 Vorteile des Keyword-Driven Testing |
25 |
|
|
1.6.1 Klarheit |
25 |
|
|
1.6.2 Wiederverwendbarkeit |
26 |
|
|
1.6.3 Wartbarkeit |
26 |
|
|
1.6.4 Kommunikation |
28 |
|
|
1.6.5 Arbeitsteiligkeit |
29 |
|
|
1.6.6 Vereinfachte Testautomatisierung |
31 |
|
|
1.6.7 Geschwindigkeit |
32 |
|
|
1.7 Werkzeuge für Keyword-Driven Testing |
32 |
|
|
1.7.1 Testmanagementsysteme |
33 |
|
|
1.7.2 Full-Stack-Testautomaten |
33 |
|
|
1.7.3 Testautomatisierungsframeworks |
34 |
|
|
1.7.4 Testdesignwerkzeuge und Editoren |
35 |
|
|
1.8 Beispiele in diesem Buch |
36 |
|
|
1.9 Ressourcen |
37 |
|
|
2 Konzepte |
39 |
|
|
2.1 Verschlagwortung |
39 |
|
|
2.1.1 Qualitätsanforderungen an Namen |
40 |
|
|
2.1.2 Keyword-Umfang/-Abstraktion |
42 |
|
|
2.2 Abstraktionskonzepte |
44 |
|
|
2.2.1 Keyword Level |
45 |
|
|
2.2.2 Keyword Layer |
48 |
|
|
2.3 Data-Driven Testing |
53 |
|
|
2.4 Keyword-Driven Testing und manueller Test |
57 |
|
|
2.5 Keyword-Driven Testing im agilen Kontext |
58 |
|
|
2.6 Model-Based Testing und Keyword-Driven Testing |
61 |
|
|
2.6.1 Überblick Model-Based Testing |
61 |
|
|
2.6.2 Beispiel für Model-Based Testing |
63 |
|
|
2.6.3 Von der Sequenz zur Testautomatisierung |
67 |
|
|
2.7 Organisatorische Randbedingungen |
68 |
|
|
3 Umsetzung |
71 |
|
|
3.1 Layer und Level |
72 |
|
|
3.1.1 Definition des Low-Level |
72 |
|
|
3.1.2 Definition des High-Level |
76 |
|
|
3.1.3 Welche und wie viele Intermediate-Level |
1 |
|
|
3.1.4 Ablage und Trennung der Layer |
80 |
|
|
3.1.5 Regelwerke zu den Layern |
84 |
|
|
3.2 Lernen von Best Practices aus der Entwicklung |
86 |
|
|
3.3 Auswahl der Sprache |
87 |
|
|
3.3.1 Englisch |
88 |
|
|
3.3.2 Deutsch |
89 |
|
|
3.4 Objektorientierte Ansätze |
93 |
|
|
3.4.1 Typisierung von Daten |
93 |
|
|
3.4.2 Datenobjekte |
95 |
|
|
3.4.3 Page Objects |
97 |
|
|
3.5 Keyword-Review |
101 |
|
|
3.6 Keywords und Domain Specific Language |
103 |
|
|
3.7 Migration von Testfällen in schlüsselwortbasierten Test |
105 |
|
|
3.8 Wirtschaftliche Betrachtung |
106 |
|
|
3.8.1 Kostenfaktoren bei Keyword-Driven Testing |
106 |
|
|
3.8.2 Wirtschaftlicher Nutzen ohne Testautomatisierung |
108 |
|
|
3.8.3 Wirtschaftlicher Nutzen mit Testautomatisierung |
109 |
|
|
3.8.4 Wann lohnt sich Keyword-Driven Testing? |
113 |
|
|
4 Keywords und Normen |
117 |
|
|
4.1 Testnormen |
117 |
|
|
4.2 ISO 29119-5: Keyword-Driven Testing |
119 |
|
|
4.3 Frameworks in der Norm |
121 |
|
|
4.3.1 Editor |
124 |
|
|
4.3.2 Keyword Library |
125 |
|
|
4.3.3 Decomposer |
125 |
|
|
4.3.4 Data Sequencer |
126 |
|
|
4.3.5 Data Repository |
127 |
|
|
4.3.6 Manual Test Assistant |
128 |
|
|
4.3.7 Tool Bridge |
128 |
|
|
4.3.8 Script Repository |
130 |
|
|
4.3.9 Execution Engine |
131 |
|
|
4.3.10 SUT |
132 |
|
|
4.4 Bewertung von Framework-Komponenten |
132 |
|
|
5 Testautomatisierungsarchitektur |
139 |
|
|
5.1 Komponenten eines Testautomaten |
139 |
|
|
5.1.1 Testspezifikation |
140 |
|
|
5.1.2 Automatisierungstechnologie |
141 |
|
|
5.1.3 Automatisierungsbibliotheken |
142 |
|
|
5.1.4 Logging & Reporting |
143 |
|
|
5.1.5 Error-Handling |
144 |
|
|
5.1.6 Testdurchführung |
145 |
|
|
5.2 Layer der Testautomatisierungsarchitektur |
145 |
|
|
5.2.1 Testspezifikationsschicht |
145 |
|
|
5.2.2 Testdurchführungsschicht |
146 |
|
|
5.2.3 Technologieschicht |
147 |
|
|
5.2.4 Schichten sauber halten |
147 |
|
|
5.3 Werkzeugbeispiele und ihre Architektur |
149 |
|
|
5.3.1 Beispiel 0: Full-Stack-Testautomat |
149 |
|
|
5.3.2 Beispiel 1: Keyword-Driven-Testmanagement |
150 |
|
|
5.3.3 Beispiel 2: Open Source Framework |
150 |
|
|
5.3.4 Beispiel 3: Technologie Selenium |
152 |
|
|
5.4 Generische Testautomatisierungsarchitektur im ISTQB[0.9ex]® |
153 |
|
|
6 Keyword-Driven Testing Frameworks |
157 |
|
|
6.1 Anforderungen an ein Framework |
158 |
|
|
6.2 Open Source versus kostenpflichtig |
159 |
|
|
6.2.1 Definition von Open Source |
159 |
|
|
6.2.2 Nachteile von Open Source |
161 |
|
|
6.3 Professionelle Bausteine für Frameworks |
162 |
|
|
6.3.1 Robot Framework® |
163 |
|
|
6.3.2 imbus TestBench Enterprise Edition |
167 |
|
|
6.3.3 imbus TestBench Cloud Services |
172 |
|
|
6.4 Beispiele für Frameworks mit Bewertung |
175 |
|
|
6.4.1 Framework 1: TestBench |
177 |
|
|
6.4.2 Framework 2: Robot Framework |
183 |
|
|
7 Praxis mit Robot Framework |
189 |
|
|
7.1 Aufbau und Funktionsweise von Robot Framework |
189 |
|
|
7.1.1 Editoren für Robot Framework |
190 |
|
|
7.1.2 Kernkomponenten |
192 |
|
|
7.1.3 Struktur der Spezifikation |
194 |
|
|
7.1.4 Variablen und Daten |
198 |
|
|
7.1.5 Flusskontrolle |
201 |
|
|
7.1.6 Python-Keywords |
203 |
|
|
7.1.7 Behavior-Driven Testing |
205 |
|
|
7.1.8 Durchführung |
206 |
|
|
7.2 Praxisbeispiel |
208 |
|
|
7.2.1 Webautomatisierung und Ablösung von Selenium |
209 |
|
|
7.2.2 Werkzeugkasten |
212 |
|
|
7.2.3 Keyword-Layer & Sprache |
214 |
|
|
7.2.4 Endergebnis |
216 |
|
|
8 Brückenschlag |
219 |
|
|
8.1 Teststufen |
219 |
|
|
8.2 Test-Driven Development |
221 |
|
|
8.2.1 Vorgehensweise bei Test-Driven Development |
221 |
|
|
8.3 Behavior-Driven Testing |
223 |
|
|
8.3.1 Vorteile von Behavior-Driven Testing |
224 |
|
|
8.3.2 Struktur von Behavior-Driven Tests (Gherkin) |
225 |
|
|
8.3.3 Beispiel von Behavior-Driven Testing |
228 |
|
|
8.3.4 Dos and Don'ts bei Behavior-Driven Testing |
229 |
|
|
8.3.5 Anwendungsgebiete von Behavior-Driven Testing |
230 |
|
|
8.3.6 Unterschiede zu Keyword-Driven Testing |
232 |
|
|
8.4 Acceptance Test-Driven Development |
234 |
|
|
8.4.1 Anforderungen |
235 |
|
|
8.4.2 Tests bei Acceptance Test-Driven Development |
236 |
|
|
8.4.3 Keywords und Acceptance Test-Driven Development |
236 |
|
|
8.5 System Test-Driven Development |
237 |
|
|
8.6 Spezialanwendungen |
240 |
|
|
8.6.1 Keywords und Erstellung von Testdaten |
240 |
|
|
8.6.2 Keywords und Produktivdatenpflege |
242 |
|
|
8.6.3 Keywords und Deployment |
1 |
|
|
8.6.4 Keywords und Robotic Process Automation |
244 |
|
|
9 Ausblick |
247 |
|
|
Abkürzungen |
251 |
|
|
Literaturverzeichnis |
253 |
|
|
Index |
257 |
|