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...
___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 ..............................................................................................
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 ..............................................................................................
___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 ..............................................................................................
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 ..............................................................................................
___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 ..............................................................................................
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 ....................................................
___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 ..............................................................................................
___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 ........................................................................................................
Ü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 .......................................................................................................
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 ..............................................................................................
Die Karriere des Testingenieurs ..................................................................... Technische Kenntnisse ..................................................................................... Testprozesse ...................................................................................................... Teamarbeit ........................................................................................................
Ü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 .................................................................................................