|
Inhalt |
5 |
|
|
Vorwort |
11 |
|
|
Die Autoren |
13 |
|
|
1 Einführung in den Systemtest |
15 |
|
|
1.1 Das Wesen eines Systemtests |
15 |
|
|
1.2 Von Entwicklern und Anwendern zu Testern |
19 |
|
|
1.3 Warum wir testen müssen |
21 |
|
|
1.4 Die Systemtestziele |
23 |
|
|
1.5 Der Systemtestprozess |
25 |
|
|
1.6 Die Systemtestwerkzeuge |
28 |
|
|
1.7 Die Systemtester |
29 |
|
|
1.8 Zur Systemtestbarkeit |
30 |
|
|
1.8.1 Testbarkeit der Anwendungsfälle |
30 |
|
|
1.8.2 Testbarkeit der Benutzeroberflächen |
31 |
|
|
1.8.3 Testbarkeit der Systemschnittstellen |
31 |
|
|
1.8.4 Testbarkeit der Datenbanken |
32 |
|
|
1.8.5 Testen ohne Benutzeroberfläche |
32 |
|
|
2 Testanforderungsanalyse |
34 |
|
|
2.1 Ansätze zur Formulierung der Anforderungen |
34 |
|
|
2.2 Ansätze zur Normierung der Anforderungsdokumentation |
37 |
|
|
2.3 Zur Praxis der Anforderungsdokumentation |
39 |
|
|
2.4 Zur Analyse natursprachlicher Anforderungen |
41 |
|
|
2.5 Anforderungsbasierte Testfallermittlung |
43 |
|
|
2.6 Beispiel der Testfallermittlung |
46 |
|
|
2.7 Zur Automatisierung der Testfallermittlung |
54 |
|
|
3 Systemtestplanung |
58 |
|
|
3.1 Zweck der Testplanung |
58 |
|
|
3.2 Voraussetzungen einer systematischen Testplanung |
64 |
|
|
3.3 Schätzung der Testaufwände |
66 |
|
|
3.4 Schätzung der Testdauer |
70 |
|
|
3.5 Testprojektorganisation |
71 |
|
|
3.5.1 Organisation der Testressourcen |
71 |
|
|
3.5.2 Organisation des Testpersonals |
73 |
|
|
3.6 Testrisikoanalyse |
74 |
|
|
3.7 Festlegung der Testendekriterien |
75 |
|
|
3.8 Gestaltung des Testplans |
77 |
|
|
3.8.1 Testkonzept-ID |
78 |
|
|
3.8.2 Testeinführung |
78 |
|
|
3.8.3 Zu testende Objekte |
79 |
|
|
3.8.4 Zu testende Funktionen |
79 |
|
|
3.8.5 Nicht zu testende Funktionen |
79 |
|
|
3.8.6 Testvorgehensweise |
79 |
|
|
3.8.7 Testendekriterien |
79 |
|
|
3.8.8 Testabbruchkriterien |
80 |
|
|
3.8.9 Testergebnisse |
80 |
|
|
3.8.10 Testaufgaben |
80 |
|
|
3.8.11 Testumgebung |
81 |
|
|
3.8.12 Testverantwortlichkeiten |
81 |
|
|
3.8.13 Testpersonalbedarf |
81 |
|
|
3.8.14 Testzeitplan |
82 |
|
|
3.8.15 Testrisiken und Risikomanagement |
82 |
|
|
3.8.16 Genehmigungen |
82 |
|
|
4 Spezifikation der Testfälle |
84 |
|
|
4.1 Aufbau der Testfälle nach ANSI-Standard 829 |
84 |
|
|
4.1.1 Das Testfallkennzeichen |
86 |
|
|
4.1.2 Der Testfallzweck |
86 |
|
|
4.1.3 Die Testfallquelle |
86 |
|
|
4.1.4 Die Testanforderung |
87 |
|
|
4.1.5 Der Testvorgang |
87 |
|
|
4.1.6 Die Testobjekte |
87 |
|
|
4.1.7 Die Testfallvorzustände |
88 |
|
|
4.1.8 Die Testfallnachzustände |
88 |
|
|
4.1.9 Die Vorgängertestfälle |
88 |
|
|
4.1.10 Die Nachfolgetestfälle |
89 |
|
|
4.1.11 Die Testumgebung |
89 |
|
|
4.1.12 Die Testfallargumente |
89 |
|
|
4.1.13 Die Testfallergebnisse |
90 |
|
|
4.1.14 Der Testfallstatus |
90 |
|
|
4.2 Darstellung der Testfälle |
92 |
|
|
4.2.1 Testfälle im Textformat |
93 |
|
|
4.2.2 Testfälle im Tabellenformat |
95 |
|
|
4.2.3 Testfälle im XML-Format |
95 |
|
|
4.2.4 Testfälle in einer formalen Sprache |
97 |
|
|
4.3 Erstellung der Testfälle |
99 |
|
|
4.3.1 Generierung der Rahmendaten aus dem Anforderungstext |
99 |
|
|
4.3.2 Ergänzungen der Testfälle |
100 |
|
|
4.4 Speicherung der Testfälle |
101 |
|
|
4.4.1 Testfälle als Texte |
101 |
|
|
4.4.2 Testfälle als Tabellen |
101 |
|
|
4.4.3 Testfälle als XML-Format |
103 |
|
|
4.5 Qualitätssicherung der Testfälle |
103 |
|
|
4.5.1 Testfallquantität |
104 |
|
|
4.5.2 Messung der Testfallkomplexität |
106 |
|
|
4.5.3 Messung der Testfallqualität |
107 |
|
|
4.6 Wartung und Weiterentwicklung der Testfälle |
109 |
|
|
5 Bereitstellung der Testdaten |
112 |
|
|
5.1 Testdatenquellen |
113 |
|
|
5.1.1 Die Anforderungsdokumentation als Quelle von Testdaten |
114 |
|
|
5.1.2 Die Entwurfsdokumentation als Quelle von Testdaten |
114 |
|
|
5.1.3 Der Source-Code als Quelle von Testdaten |
114 |
|
|
5.1.4 Die alten Testdaten als Quelle von Testdaten |
115 |
|
|
5.1.5 Die Produktionsdaten als Quelle von Testdaten |
115 |
|
|
5.2 Testdatenerstellungsansätze |
115 |
|
|
5.2.1 Der blinde Ansatz zur Testdatenerstellung |
115 |
|
|
5.2.2 Der gezielte Ansatz zur Testdatenerstellung |
117 |
|
|
5.2.3 Der kombinierte Ansatz |
117 |
|
|
5.2.4 Der Mutationsansatz |
118 |
|
|
5.3 Testdatentypen |
118 |
|
|
5.3.1 Datenbanken |
118 |
|
|
5.3.2 Systemschnittstellen |
121 |
|
|
5.3.3 Benutzeroberflächen |
123 |
|
|
5.4 Testdatengenerierung |
125 |
|
|
5.4.1 Datengenerierung aus den Testfällen |
126 |
|
|
5.4.2 Datengenerierung aus Testprozeduren |
127 |
|
|
5.4.3 Datengenerierung aus dem Source-Code |
128 |
|
|
5.4.4 Datengenerierung aus vorhandenen Daten |
128 |
|
|
5.5 Werkzeuge für die Testdatengenerierung |
129 |
|
|
5.5.1 Datenbankgeneratoren |
131 |
|
|
5.5.2 Schnittstellengeneratoren |
132 |
|
|
5.5.3 Oberflächengeneratoren |
132 |
|
|
6 Systemtestausführung |
133 |
|
|
6.1 Systemtypen |
134 |
|
|
6.1.1 Standalone-Systeme |
134 |
|
|
6.1.2 Integrierte Systeme |
134 |
|
|
6.1.3 Verteilte Systeme |
135 |
|
|
6.1.4 Web-basierte Systeme |
136 |
|
|
6.1.5 Vollautomatische Systeme |
136 |
|
|
6.1.6 Eingebettete Echtzeitsysteme |
137 |
|
|
6.2 Test alleinstehender Systeme |
138 |
|
|
6.3 Test integrierter Systeme |
140 |
|
|
6.3.1 Funktionstest |
141 |
|
|
6.3.2 Belastungstest |
143 |
|
|
6.3.3 Benutzbarkeitstest |
144 |
|
|
6.4 Test verteilter Systeme |
144 |
|
|
6.4.1 Interaktionstest |
144 |
|
|
6.4.2 Testverfolgung im Netz |
145 |
|
|
6.4.3 Sicherheitstest |
146 |
|
|
6.5 Test Web-basierter Systeme |
146 |
|
|
6.5.1 Test der Web- Architektur |
147 |
|
|
6.5.2 Test der Web- Anwendung |
148 |
|
|
6.6 Test vollautomatisierter Systeme |
149 |
|
|
6.6.1 Werkzeuge für den automatisierten Test |
150 |
|
|
6.6.2 Tester für den automatisierten Test |
151 |
|
|
6.7 Test eingebetteter Systeme |
151 |
|
|
6.8 Systemregressionstest |
152 |
|
|
6.9 Kein System ist wie das andere |
154 |
|
|
7 Auswertung des Systemtests |
155 |
|
|
7.1 Zweck der Testauswertung |
155 |
|
|
7.2 Auswertung der Testergebnisse |
157 |
|
|
7.2.1 Sichtbare und unsichtbare Ergebnisse |
157 |
|
|
7.2.2 Möglichkeiten der Ergebniskontrolle |
158 |
|
|
7.2.3 Begründung der Ergebniskontrolle |
159 |
|
|
7.2.4 Automatisierte Ergebniskontrolle |
160 |
|
|
7.3 Messung der Testüberdeckung |
162 |
|
|
7.3.1 Testüberdeckungsmaße |
162 |
|
|
7.3.2 Function-Point-Überdeckung |
163 |
|
|
7.3.3 Anforderungsüberdeckung |
164 |
|
|
7.3.4 Überdeckung bisheriger Funktionalität |
165 |
|
|
7.3.5 Fehlerüberdeckung |
165 |
|
|
7.4 Fehleranalyse |
166 |
|
|
7.4.1 Fehlerlokalisierung |
166 |
|
|
7.4.2 Fehlermeldung |
167 |
|
|
7.5 Systemtestmetrik |
169 |
|
|
7.5.1 Testüberdeckungsmaße |
170 |
|
|
7.5.2 Fehleranalysemaße |
173 |
|
|
7.5.3 Messung der Testeffektivität |
174 |
|
|
8 Testpflege und -fortschreibung |
177 |
|
|
8.1 Analyse der Änderungs- und Ergänzungsanträge |
178 |
|
|
8.2 Fortschreibung des Testplans |
180 |
|
|
8.2.1 Fortschreibung der Testziele |
180 |
|
|
8.2.2 Fortschreibung der Testobjekte |
180 |
|
|
8.2.3 Fortschreibung der zu testenden Funktionen |
180 |
|
|
8.2.4 Fortschreibung der Teststrategie und Testendekriterien |
180 |
|
|
8.2.5 Fortschreibung der Testergebnisse |
181 |
|
|
8.2.6 Fortschreibung der Testaufgaben |
181 |
|
|
8.2.7 Fortschreibung des Personalplanes |
181 |
|
|
8.2.8 Fortschreibung der Testrisiken |
181 |
|
|
8.2.9 Rekalkulation der Testkosten |
182 |
|
|
8.3 Impaktanalyse der Software |
183 |
|
|
8.3.1 Statische Impaktanalyse |
183 |
|
|
8.3.2 Dynamische Impaktanalyse |
184 |
|
|
8.4 Fortschreibung der Testfälle |
185 |
|
|
8.4.1 Spezifikation neuer Testfälle |
185 |
|
|
8.4.2 Anpassung bestehender Testfälle |
185 |
|
|
8.5 Anreicherung der Testdaten |
186 |
|
|
8.5.1 Direkte Anreicherung der Daten |
186 |
|
|
8.5.2 Indirekte Anreicherung der Daten |
187 |
|
|
8.6 Ausführen der Regressionstests |
188 |
|
|
8.6.1 Eigenarten eines Regressionstests |
188 |
|
|
8.6.2 Der Test im Dialogmodus |
188 |
|
|
8.6.3 Der Test im Batch-Modus |
188 |
|
|
8.6.4 Zur Notwendigkeit der Testautomatisierung beim Regressionstest |
189 |
|
|
8.7 Auswertung des Regressionstests |
190 |
|
|
8.7.1 Kontrolle der Regressionstestüberdeckung |
190 |
|
|
8.7.2 Kontrolle der Regressionstestergebnisse |
191 |
|
|
8.7.3 Protokollierung der Regressionstestvorkommnisse |
191 |
|
|
9 Werkzeuge für den Systemtest |
193 |
|
|
9.1 Das Mercury Quality Center |
195 |
|
|
9.1.1 TestDirector |
195 |
|
|
9.1.2 WinRunner |
196 |
|
|
9.1.3 QuickTest Professional |
197 |
|
|
9.1.4 Der Business Process Tester |
197 |
|
|
9.2 Das Compuware QACenter |
198 |
|
|
9.2.1 QADirector |
200 |
|
|
9.2.2 QARun |
200 |
|
|
9.2.3 TrackRecord |
200 |
|
|
9.2.4 QALoad |
200 |
|
|
9.2.5 File- AID |
201 |
|
|
9.3 Die Imbus Testbench |
201 |
|
|
9.3.1 Anforderungsbasierte Testplanung |
202 |
|
|
9.3.2 Anforderungsbasierter Testfallentwurf |
202 |
|
|
9.3.3 Testautomatisierung |
203 |
|
|
9.3.4 Testauswertung |
203 |
|
|
9.4 Der ANECON Testerarbeitsplatz |
204 |
|
|
9.4.1 Der Textanalysator |
206 |
|
|
9.4.2 Der Testdatengenerator |
209 |
|
|
9.4.3 Der Testergebnisvalidator |
211 |
|
|
9.4.4 Der Testausführungsmonitor |
212 |
|
|
9.4.5 Der Testfallanalysator |
213 |
|
|
9.5 Die Empirix e-Test Suite |
215 |
|
|
9.5.1 e-Manager Enterprise |
216 |
|
|
9.5.2 e-Tester |
216 |
|
|
9.5.3 e-Load |
218 |
|
|
9.6 Die Zukunft der Testautomatisierung |
219 |
|
|
10 Testmanagement |
220 |
|
|
10.1 Notwendigkeit des Systemtestmanagements |
220 |
|
|
10.2 Die Hauptaufgaben des Systemtestmanagements |
221 |
|
|
10.2.1 Testplanung und Umsetzung des Testkonzeptes |
223 |
|
|
10.2.2 Laufendes Controlling aller Testaktivitäten |
225 |
|
|
10.2.3 Sicherstellung der Qualität der Testergebnisse |
233 |
|
|
10.2.4 Management des Testteams |
236 |
|
|
11 Anhang |
239 |
|
|
11.1 Anhang A: Testplan nach ANSI/IEEE-829 |
239 |
|
|
11.2 Anhang B1: Schema für die Testfallspezifikation |
245 |
|
|
11.3 Anhang B2: Beispiel einer Testfallspezifikation für den Test der Auftragsbearbeitung |
247 |
|
|
11.4 Anhang C1: Testdatengenerierungsskript |
249 |
|
|
11.5 Anhang C2: Testergebnisvalidierungsskript |
250 |
|
|
Literatur |
251 |
|
|
Register |
263 |
|
|
Mehr eBooks bei www.ciando.com |
0 |
|