KapAnfang. Inhaltsverzeichnis. Teil I Was versteht man unter automatisiertem Testen?

___softtestingIVZ.fm Seite XV Dienstag, 19. September 2000 3:29 15 KapAnfang Inhaltsverzeichnis Teil I Was versteht man unter automatisiertem Testen...
0 downloads 1 Views 433KB Size
___softtestingIVZ.fm Seite XV Dienstag, 19. September 2000 3:29 15

KapAnfang Inhaltsverzeichnis

Teil I Was versteht man unter automatisiertem Testen? 1. 1.1 1.2 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.4 1.4.1

1.4.3 1.4.4 1.5 1.6 1.7

Entstehung und Entwicklung des automatisierten Testens .......................... Automatisiertes Testen ..................................................................................... Hintergründe zum Testen von Software ......................................................... Die Automated Test Life-Cycle Methodology (ATLM) ................................. Die Entscheidung zum automatisierten Testen .............................................. Auswahl von Testwerkzeugen .......................................................................... Einführung des automatisierten Testens ........................................................ Planung, Design und Entwicklung der Tests .................................................. Ausführung und Verwaltung von Tests .......................................................... Prüfung und Beurteilung des Testprogramms ............................................... Die Rolle der ATLM beim Testen von Software ............................................. Der Zusammenhang zwischen der ATLM und dem Lebenszyklus der Systementwicklung...................................................... Test Maturity Model (TMM) – Erweiterung durch ein Reifegradmodell für das automatisierte Testen von Software ........................ Entwicklung automatisierter Tests .................................................................. Testaufwand ...................................................................................................... Karriereaussichten als Softwaretester .............................................................. Zusammenfassung ............................................................................................ Literaturhinweise ..............................................................................................

17 23 26 27 31 33

2. 2.1 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.2

Die Entscheidung zum automatisierten Testen ............................................. Ausräumen falscher Erwartungen an automatisierte Tests ............................ Erstellen eines Plans für das automatisierte Testen ........................................ Das ultimative Testwerkzeug ........................................................................... Unmittelbare Verringerung des Testaufwands ............................................... Unmittelbare Verkürzung des Zeitplans ......................................................... Benutzerfreundlichkeit des Testwerkzeugs ..................................................... Universelle Anwendbarkeit der Testautomatisierung .................................... 100%-Tests ....................................................................................................... Vorteile des automatisierten Testens ..............................................................

34 37 37 38 39 39 40 40 42 43

1.4.2

3 3 5 8 12 13 13 14 15 16 16 16

___softtestingIVZ.fm Seite XVI Dienstag, 19. September 2000 3:29 15

Links XVI

Inhaltsverzeichnis

2.2.1 2.2.2 2.2.3 2.3 2.3.1 2.4 2.5

Erstellung eines zuverlässigen Systems ............................................................ Verbesserung der Testqualität ......................................................................... Verringerung des Testaufwands und Minimierung des Zeitplans ................ Unterstützung durch die Geschäftsführung ................................................... Vorschlagen eines Testwerkzeugs .................................................................... Zusammenfassung ............................................................................................ Literaturhinweise ..............................................................................................

44 51 57 64 66 77 78

3. 3.1 3.1.1

Bewertung und Auswahl von Testwerkzeugen ............................................ Die Systementwicklungsumgebung der Organisation ................................... Externe Informationen von Geschäftsführung, Personal und Endbenutzern ............................................................................ Werkzeugkriterien vor dem Hintergrund der Systementwicklungsumgebung ....................................................................... Güte der Softwarequalität ................................................................................ Vorliegende Problemberichte .......................................................................... Einschränkungen im Budget ........................................................................... Testarten ........................................................................................................... Langfristige Aspekte der Investition ................................................................ Einführung des Testwerkzeugs ........................................................................ Vermeiden von Mängeln ................................................................................. Werkzeuge zur Unterstützung des Testlebenszyklus ..................................... Werkzeuge zur Geschäftsanalyse ..................................................................... Werkzeuge zum Definieren der Anforderungen ............................................ Werkzeuge für Analyse und Design ................................................................ Programmierwerkzeuge ................................................................................... Metrikwerkzeuge .............................................................................................. Andere Werkzeuge für den Testlebenszyklus ................................................. Testwerkzeuge .................................................................................................. Suche nach geeigneten Testwerkzeugen .......................................................... Verbesserungsmöglichkeiten ........................................................................... Definition von Bewertungsbereichen .............................................................. Bewertung von Werkzeugen in der Praxis ...................................................... Bewertungsbericht ............................................................................................ Lizenzvereinbarungen ...................................................................................... Zusammenfassung ............................................................................................ Literaturhinweise ..............................................................................................

79 83

3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.3 3.3.1 3.4 3.5 3.5.1 3.5.2 3.6 3.7

83 85 86 87 87 87 88 88 88 89 93 95 97 99 101 102 102 105 106 114 116 118 120 121 122

___softtestingIVZ.fm Seite XVII Dienstag, 19. September 2000 3:29 15

Rechts Inhaltsverzeichnis XVII

Teil II Einführung automatisierter Tests in ein Projekt 4. 4.1 4.1.1 4.1.2 4.1.3 4.2 4.2.1 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.3 4.4

Einführung des automatisierten Testens ....................................................... Analyse des Testprozesses ................................................................................ Überprüfung des bestehenden Prozesses ........................................................ Testziele ............................................................................................................. Teststrategien .................................................................................................... Überlegungen zum Testwerkzeug ................................................................... Überprüfung projektspezifischer Systemanforderungen ............................... Überblick über die zu testende Anwendung ................................................... Überprüfung des Projektzeitplans ................................................................... Überprüfung der Kompatibilität des Testwerkzeugs ..................................... Vorführung des Werkzeugs für das Projektteam ........................................... Unterstützungsprofil für ein Testwerkzeug .................................................... Überprüfung der Schulungsanforderungen .................................................... Zusammenfassung ............................................................................................ Literaturhinweise ..............................................................................................

125 128 130 135 141 154 157 158 160 161 163 164 166 166 167

5. 5.1 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.2 5.3 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 5.4 5.4.1 5.4.2 5.4.3 5.4.4 5.4.5 5.4.6 5.4.7 5.5 5.6 5.7

Testteam-Management ................................................................................... Organisatorische Struktur eines Testteams ..................................................... Durchgangs-Testteam ...................................................................................... Zentrales Testteam ........................................................................................... UVV-Testteam .................................................................................................. Team für Systemmethodik und Tests ............................................................. Zusammenfassung zu Testteams ..................................................................... Aufgaben im Rahmen des Testprogramms ..................................................... Umfang des Testaufwands ............................................................................... Methoden zum Bestimmen der Testteamgröße ............................................. Die verhältnisorientierte Methode .................................................................. Die Prozentmethode ........................................................................................ Die Testverfahrenmethode .............................................................................. Die Aufgabenplanungsmethode ...................................................................... Faktoren mit Einfluss auf den Testaufwand ................................................... Einstellen von Testingenieuren ....................................................................... Qualitäten von Testingenieuren ...................................................................... Zusammensetzung des Testteams ................................................................... Stellenausschreibung ........................................................................................ Einstellungsaktivitäten ..................................................................................... Finden von Testingenieuren ............................................................................ Gespräche mit Testingenieuren ....................................................................... Charakteristika des optimalen Bewerbers ....................................................... Rollen und Verantwortlichkeiten .................................................................... Zusammenfassung ............................................................................................ Literaturhinweise ..............................................................................................

169 172 173 174 176 177 178 181 189 191 192 193 194 195 197 199 200 202 205 205 207 208 210 212 217 218

___softtestingIVZ.fm Seite XVIII Dienstag, 19. September 2000 3:29 15

Links XVIII Inhaltsverzeichnis

Teil III Planung und Vorbereitung der Tests 6. 6.1 6.2 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.2.6 6.2.7 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.4 6.4.1 6.4.2 6.4.3 6.5 6.5.1 6.5.2 6.6 6.6.1 6.6.2 6.7 6.8

Testplanung: Intelligente Anwendung von Testverfahren ........................... Testplanungsaktivitäten ................................................................................... Der Anwendungsbereich des Testprogramms ................................................ Systembeschreibung ......................................................................................... Kritische und riskante Funktionen .................................................................. Testziele und -strategien .................................................................................. Testwerkzeuge .................................................................................................. Parameter des Testprogramms ........................................................................ Verifizierungsmethoden .................................................................................. Definition der Testanforderungen .................................................................. Testanforderungsmanagement ........................................................................ Werkzeuge für das Anforderungsmanagement .............................................. Beurteilen der Risiken von Testanforderungen .............................................. Festlegen von Testprioritäten .......................................................................... Anforderungsverfolgbarkeitstabelle ................................................................ Ereignisse, Aktivitäten und Dokumentation des Testprogramms ................ Ereignisse .......................................................................................................... Aktivitäten ........................................................................................................ Dokumentation ................................................................................................ Die Testumgebung ........................................................................................... Vorbereitung der Testumgebung .................................................................... Integration und Einrichtung der Testumgebung ........................................... Der Testplan ..................................................................................................... Kriterien für den Testabschluss/die Akzeptanz der Testergebnisse ............... Beispiel eines Testplans .................................................................................... Zusammenfassung ............................................................................................ Literaturhinweise ..............................................................................................

221 223 228 230 230 230 231 231 234 235 237 238 241 241 242 245 245 246 246 247 248 250 251 254 255 255 257

7. 7.1 7.1.1 7.1.2 7.2 7.2.1 7.2.2 7.2.3 7.2.4 7.3 7.3.1 7.3.2 7.3.3 7.3.4

Testanalyse und -design .................................................................................. Analyse der Testanforderungen ....................................................................... Testanalyse auf Entwicklungsebene (Struktureller Ansatz) ........................... Testanalyse auf Systemebene (Verhaltensorientierter Ansatz) ...................... Design des Testprogramms .............................................................................. Designmodelle für Testprogramme ................................................................ White-Box-Techniken (Tests auf Entwicklungsebene) ................................. Black-Box-Techniken (Tests auf Systemebene) ............................................. Dokumentation des Testdesigns ...................................................................... Entwerfen von Testverfahren .......................................................................... Definition von Testverfahren .......................................................................... Automatisierte oder manuelle Tests? .............................................................. Standards für das Design automatisierter Tests ............................................. Richtlinien für das Design manueller Tests ....................................................

258 261 262 264 268 269 273 281 293 295 296 302 308 315

___softtestingIVZ.fm Seite XIX Dienstag, 19. September 2000 3:29 15

Rechts Inhaltsverzeichnis

XIX

7.3.5 7.3.6 7.4 7.5

Detailliertes Testdesign .................................................................................... Anforderungen an die Testdaten ..................................................................... Zusammenfassung ............................................................................................ Literaturhinweise ..............................................................................................

318 320 326 328

8. 8.1 8.1.1 8.1.2 8.1.3

Entwicklung von Tests .................................................................................... Die Entwicklungsarchitektur für Tests ............................................................ Die technische Umgebung ............................................................................... Überprüfen der Einsatzbereitschaft der Testumgebung ................................ Analyse der Wiederverwendbarkeit vorhandener Automatisierungskomponenten ...................................................................... Zeitplan für die Entwicklung/Durchführung von Testverfahren .................. Analyse der Modularitätsbeziehungen ............................................................ Erläuterung der Beispieltabelle für Modularitätsbeziehungen ...................... Kalibrierung des Testwerkzeugs ...................................................................... Lösungen für Kompatibilitätsprobleme .......................................................... Manuelle Durchführung von Testverfahren ................................................... Inspektionen von Testverfahren – Peer Reviews ............................................ Konfigurationsmanagement für Testverfahren .............................................. Richtlinien für das Entwickeln von Tests ........................................................ Der Übergang vom Design zur Entwicklung .................................................. Wieder verwendbare Testverfahren ................................................................ Wartungsfreundliche Testverfahren ................................................................ Andere Richtlinien ........................................................................................... Automatisierungsinfrastruktur ........................................................................ Tabellengestützte Testautomatisierung ........................................................... Skript zum automatisierten Einrichten der PC-Umgebung .......................... Optionen zum automatisierten Aufzeichnen ................................................. Anmeldefunktion ............................................................................................. Funktion zum Beenden .................................................................................... Navigation ......................................................................................................... Verifizieren von GUI-Standards ...................................................................... Smoke-Test ....................................................................................................... Routinen zur Fehlerprotokollierung ............................................................... Verifizierungsskript für die Hilfe-Funktion .................................................... Funktionen für zeitgesteuerte Hinweisfenster ................................................ Fortgeschrittene mathematische Funktionen ................................................. Zusammenfassung ............................................................................................ Literaturhinweise ..............................................................................................

329 332 333 336

8.1.4 8.1.5 8.1.6 8.1.7 8.1.8 8.1.9 8.1.10 8.1.11 8.2 8.2.1 8.2.2 8.2.3 8.2.4 8.3 8.3.1 8.3.2 8.3.3 8.3.4 8.3.5 8.3.6 8.3.7 8.3.8 8.3.9 8.3.10 8.3.11 8.3.12 8.4 8.5

336 338 341 345 348 349 351 352 352 354 356 358 367 386 389 390 392 393 394 394 395 395 396 397 398 399 399 399 401

___softtestingIVZ.fm Seite XX Dienstag, 19. September 2000 3:29 15

Links XX

Inhaltsverzeichnis

Teil IV Testdurchführung und -überprüfung 9. 9.1 9.1.1 9.1.2 9.1.3 9.1.4 9.1.5 9.2 9.2.1 9.3 9.3.1 9.3.2 9.4 9.5

Testdurchführung ........................................................................................... Durchführung und Bewertung von Testphasen ............................................. Durchführung und Bewertung von Einheitentests ........................................ Durchführung und Bewertung von Integrationstests .................................... Durchführung und Bewertung von Systemtests ............................................. Ergebnisanalyse bei Regressionstests ............................................................... Durchführung und Bewertung von Benutzerakzeptanztests ......................... Fehlerverfolgung und Umgang mit neuen Softwareversionen ...................... Fehlerlebenszyklusmodell ................................................................................ Verfolgung des Testprogrammstatus .............................................................. Ertragsverwaltung ............................................................................................. Sammeln und Analysieren von Testmetriken ................................................. Zusammenfassung ............................................................................................ Referenzen ........................................................................................................

405 407 408 411 413 416 417 418 424 424 427 431 439 441

10. 10.1 10.2 10.3 10.4

Überprüfung und Bewertung des Testprogramms ....................................... Korrektur- und Verbesserungsmaßnahmen ................................................... Kosten/Nutzen-Analyse des Testprogramms ................................................. Zusammenfassung ............................................................................................ Literaturhinweise ..............................................................................................

442 444 457 468 469

Teil V Anhang A. A.1

Testen von Anforderungen ............................................................................. Ansatz zum Testen von Anforderungen ......................................................... Inhaltsangabe .................................................................................................... Das Qualitätstor ................................................................................................ Eine Anforderung messbar machen ................................................................ Quantifizierbare Anforderungen ..................................................................... Nicht quantifizierbare Anforderungen ........................................................... Verfolgen ........................................................................................................... Verständlichkeit und Konsistenz ..................................................................... Vollständigkeit .................................................................................................. Relevanz ............................................................................................................ Anforderung oder Lösung? .............................................................................. Bewertung durch Beteiligte .............................................................................. Verfolgbarkeit ................................................................................................... Ordnung in einer unordentlichen Welt .......................................................... Schlussfolgerungen ........................................................................................... Literaturhinweise .............................................................................................. Anmerkung .......................................................................................................

473 473 473 474 474 475 475 476 477 478 480 481 482 482 483 485 485 486

___softtestingIVZ.fm Seite XXI Dienstag, 19. September 2000 3:29 15

Rechts Inhaltsverzeichnis

B. B.1 B.2 B.2.1 B.2.2 B.2.3 B.2.4 B.2.5 B.3 B.3.1 B.3.2 B.3.3 B.4 B.4.1 B.4.2 B.4.3 B.5 B.5.1 B.5.2 B.5.3 B.5.4 B.5.5 B.6 B.6.1 B.6.2 B.7 B.7.1 B.7.2 B.7.3 B.8 B.8.1 B.8.2 B.8.3 B.8.4 B.8.5 B.8.6 B.9

C. C.1 C.2 C.3

XXI

Werkzeuge zur Unterstützung des Testlebenszyklus .................................... Einführung ........................................................................................................ Geschäftsanalyse ............................................................................................... Werkzeuge zur Geschäftsmodellierung ........................................................... Werkzeuge für das Konfigurationsmanagement ............................................ Fehlerverfolgungswerkzeuge ............................................................................ Verwaltung technischer Reviews ..................................................................... Dokumentationsgeneratoren ........................................................................... Anforderungsdefinition ................................................................................... Werkzeuge für das Anforderungsmanagement .............................................. Werkzeuge zur Anforderungsverifikation ...................................................... Anwendungsfallgeneratoren ............................................................................ Analyse und Design .......................................................................................... Werkzeuge für visuelles Modellieren .............................................................. Struktur-, Fluss- und Sequenzdiagramme ...................................................... Generatoren für Testverfahren ........................................................................ Programmierung .............................................................................................. Werkzeuge zur Syntaxüberprüfung/Debugger ............................................... Werkzeuge zur Erkennung von Speicherengpässen und Laufzeitfehlern .......................................................................................... Werkzeuge zur Codeüberprüfung ................................................................... Werkzeuge für die statische und dynamische Analyse ................................... Werkzeuge für den Einheitentest .................................................................... Metrikwerkzeuge .............................................................................................. Werkzeuge zur Analyse der Code- bzw. Testabdeckung und zur Codeinstrumentalisierung ................................................................. Werkzeuge zur Usability-Beurteilung ............................................................. Werkzeuge zur Testunterstützung .................................................................. Testdatengeneratoren ....................................................................................... Werkzeuge für den Dateienvergleich .............................................................. Simulationswerkzeuge ...................................................................................... Testphase ........................................................................................................... Werkzeuge für das Testmanagement .............................................................. Werkzeuge zum Testen von Netzwerken ........................................................ Werkzeuge zum Testen von GUI-Anwendungen .......................................... Werkzeuge für Belastungs-/Leistungstests ...................................................... Werkzeuge zum Testen von Web-Anwendungen .......................................... Jahr-2000-Testwerkzeuge ................................................................................. Weitere Hersteller von Testwerkzeugen .......................................................... Literaturhinweise ..............................................................................................

487 487 492 492 495 497 504 505 506 506 509 509 511 511 513 515 516 516

Die Karriere des Testingenieurs ..................................................................... Technische Kenntnisse ..................................................................................... Testprozesse ...................................................................................................... Teamarbeit ........................................................................................................

553 557 559 563

516 519 520 524 525 525 533 534 534 535 536 538 538 538 539 544 549 550 552 552

___softtestingIVZ.fm Seite XXII Dienstag, 19. September 2000 3:29 15

Links XXII Inhaltsverzeichnis

C.4 C.5 C.6

Technische Leitung .......................................................................................... Test-/Projektmanagement ............................................................................... Geschäfts-/Produktmanagement ..................................................................... Literaturhinweise ..............................................................................................

564 565 567 568

D. Beispiel eines Testplans ................................................................................... D.1 Einleitung .......................................................................................................... D.1.1 Absicht .............................................................................................................. D.1.2 Hintergrund ...................................................................................................... D.1.3 Systemübersicht ................................................................................................ D.1.4 Relevante Dokumente ...................................................................................... D.1.5 Übergeordneter Zeitplan ................................................................................. D.2 Aufgaben und Verantwortlichkeiten ............................................................... D.2.1 Projektorganisation .......................................................................................... D.2.2 Projektaufgaben und -verantwortlichkeiten ................................................... D.2.3 Struktur der Testaufgaben ............................................................................... D.2.4 Testteamressourcen .......................................................................................... D.3 Testprogramm .................................................................................................. D.3.1 Umfang ............................................................................................................. D.3.2 Testansatz .......................................................................................................... D.3.3 Teststrategien .................................................................................................... D.3.4 Automatisierte Werkzeuge .............................................................................. D.3.5 Qualifikationsmethoden .................................................................................. D.3.6 Testanforderungen ........................................................................................... D.3.7 Testdesign ......................................................................................................... D.3.8 Testentwicklung ............................................................................................... D.4 Testumgebung .................................................................................................. D.4.1 Testumgebungskonfiguration ......................................................................... D.4.2 Testdaten ........................................................................................................... D.5 Testdurchführung ............................................................................................ D.5.1 Testprogrammberichte .................................................................................... D.5.2 Testprogrammmetriken ................................................................................... D.5.3 Fehlerverfolgung ............................................................................................... D.5.4 Konfigurationsmanagement ............................................................................ D.6 Detaillierter Testzeitplan .................................................................................. Anhang D.A Entwicklungsrichtlinien für Testverfahren ..................................................... D.B Tabelle der Testverifizierungszusammenfassung ........................................... D.C Testverfahren und -skripts ...............................................................................

569 572 572 573 573 575 577 579 579 580 583 590 591 591 593 597 600 601 602 603 607 609 609 611 613 613 614 615 617 617

E. E.1 E.2 E.3

622 623 624 624

Empfohlene Vorgehensweisen ........................................................................ Dokumentierter Prozess .................................................................................. Umgang mit Erwartungen ............................................................................... Pilotprojekt .......................................................................................................

618 619 621

___softtestingIVZ.fm Seite XXIII Dienstag, 19. September 2000 3:29 15

Rechts Inhaltsverzeichnis XXIII

E.4 E.5 E.6 E.7 E.8 E.9 E.10 E.11 E.12 E.13 E.14 E.15 E.16 E.17 E.18 E.19 E.20 E.21 E.22

Überprüfung der Testwerkzeugkompatibilität ............................................... Aktualisierung von Testwerkzeugen ............................................................... Festlegen einer Baseline für Systemeinrichtung und -konfiguration ............ Softwareinstallationen in der Testumgebungs-Baseline ................................ Übergeordnete Ziele des Testprogramms ....................................................... Die Automatisierung einfach halten ............................................................... Standards für das Design und die Entwicklung von Testverfahren ............... Automatisierte oder manuelle Tests? .............................................................. Wiederverwendungsanalyse ............................................................................. Kommunikation des Testteams mit anderen Teams ...................................... Verträglichkeit der Zeitpläne ........................................................................... Einbeziehung des Kunden ............................................................................... Fehlerdokumentation und Fehlerberichte ...................................................... Fürsprecher und Experten im automatisierten Testen .................................. Zuordnungen innerhalb des Testteams .......................................................... Beteiligung von Benutzergruppen ................................................................... Vorschläge für die Verbesserung von Testwerkzeugen .................................. Beta-Tests .......................................................................................................... Expertenwissen .................................................................................................

625 625 627 627 627 628 628 629 629 630 630 631 632 632 632 633 633 634 634

Stichwortverzeichnis ..................................................................................................... 635

http://www.springer.com/978-3-540-67639-3

Suggest Documents