Der Systemtest - Von den Anforderungen zum Qualitätsnachweis

Im Rahmen des Systemtests haben Tester dafür zu sorgen, dass Fehler in einer Software gefunden werden, ehe diese an die Anwender oder Kunden ausgeliefert wird. Sie testen dabei nicht nur die Software, sondern auch die implementierten Geschäftsprozesse und das System als Ganzes. Der Systemtest ist ein sehr komplexes Vorhaben, das eigene Methoden und Werkzeuge voraussetzt. Mit diesem Buch erhalten Sie eine praktische Anleitung zur Planung, Organisation und Durchführung des Systemtests, egal ob Sie die Systeme gekauft, von Open-Source-Bibliotheken übernommen, aus Legacy-Systemen migriert oder neu entwickelt haben. Die Autoren zeigen, wie man ein Testprojekt effizient aufsetzt, welche Methoden und Ansätze praktikabel sind und wie sich der Testablauf integrieren und automatisieren lässt. Außerdem erhalten Sie einen Überblick über nützliche Werkzeuge für den Systemtest.

Die 3. Auflage trägt mit zwei neuen Kapiteln den aktuellen Entwicklungen im Systemtest Rechnung: Der modellbasierten Testspezifikation und der Testautomatisierung.

Autoren: Harry M. Sneed, Manfred Baumgartner, Richard Seidl

Verlag: Carl Hanser Verlag

ISBN: 978-3-446-42692-4

Edition: 3. Auflage

Erhältlich im Buchhandel und bei Amazon

Inhaltsverzeichnis

1.1 Das Wesen eines Systemtests 1.2 Von Entwicklern und Anwendern zu Testern 1.3 Warum wir testen müssen 1.4 Ziele des Systemtests 1.5 Der Systemtestprozess 1.6 Systemtestnormen 1.7 Systemtestwerkzeuge 1.8 Systemtester 1.9 Zur Systemtestbarkeit   1.9.1 Testbarkeit der Anwendungsfälle   1.9.2 Testbarkeit der Benutzeroberflächen   1.9.3 Testbarkeit der Systemschnittstellen   1.9.4 Testbarkeit der Datenbanken   1.9.5 Testen ohne Benutzeroberfläche

2.1 Ansätze zur Formulierung der Anforderungen   2.1.1 Formale Spezifikation   2.1.2 Semiformale Spezifikation   2.1.3 Strukturierte Spezifikation   2.1.4 Informale Spezifikation 2.2 Ansätze zur Normierung der Anforderungen 2.3 Die Praxis der Anforderungsdokumentation 2.4 Das V-Modell-XT Lastenheft 2.5 Die Analyse natursprachlicher Anforderungen 2.6 Anforderungsbasierte Testfallermittlung 2.7 Ein Beispiel der Testfallermittlung 2.8 Zur Automatisierung der Testfallermittlung 2.9 Erfahrung mit der automatisierten Anforderungsanalyse

3.1 Woher kommt das Modell?   3.1.1 Übernahme des Entwicklermodells   3.1.2 Erstellung eines eigenen Testmodells   3.1.3 Gewinnung eines Modells aus der Anforderungsdokumentation   3.1.4 Gewinnung eines Modells aus dem Code 3.2 Ableitung der Testfälle aus einem UML‑Modell   3.2.1 Testfälle aus den UseCase-Diagrammen   3.2.2 Testfälle aus den Sequenzdiagrammen   3.2.3 Testfälle aus den Aktivitätsdiagrammen   3.2.4 Testfälle aus den Zustandsdiagrammen   3.2.5 Vereinigung der Testfälle 3.3 Vom Testmodell zur Testausführung 3.4 Alternative zum modellbasierten Test   3.4.1 Testen gegen die Vorstellungen des Testers   3.4.2 Testen gegen das Benutzerhandbuch   3.4.3 Testen gegen die Anforderungsdokumentation   3.4.4 Testen gegen das bestehende System 3.5 Beurteilung des modellbasierten Testens   3.5.1 Modellbasiertes Testen im Vergleich mit Testen gegen die Testervorstellungen   3.5.2 Modellbasiertes Testen im Vergleich zum Testen gegen das Benutzerhandbuch   3.5.3 Modellbasiertes Testen im Vergleich zum Testen gegen ein bestehendes System   3.5.4 Testen gegen ein Modell im Vergleich zum Testen gegen die Anforderungsspezifikation   3.5.5 Der optimale Testansatz ist situationsbedingt

4.1 Zweck der Testplanung 4.2 Voraussetzungen zur Testplanung 4.3 Schätzung der Testaufwände   4.3.1 Test-Points   4.3.2 Testproduktivität   4.3.3 Komplexität und Qualität   4.3.4 Die COCOMO-II Gleichung 4.4 Schätzung der Testdauer 4.5 Testprojektorganisation   4.5.1 Organisation der Testressourcen   4.5.2 Organisation des Testpersonals 4.6 Testrisikoanalyse 4.7 Festlegung der Testendekriterien 4.8 Gestaltung des Testplans nach ANSI/IEEE-829   4.8.1 Testkonzept-ID   4.8.2 Einführung   4.8.3 Zu testende Objekte   4.8.4 Zu testende Funktionen   4.8.5 Nicht zu testende Funktionen   4.8.6 Testvorgehensweise   4.8.7 Testendekriterien   4.8.8 Testabbruchkriterien   4.8.9 Testergebnisse   4.8.10 Testaufgaben   4.8.11 Testumgebung   4.8.12 Testverantwortlichkeiten   4.8.13 Testpersonalbedarf   4.8.14 Testzeitplan   4.8.15 Testrisiken und Risikomanagement   4.8.16 Genehmigungen 4.9 Die Prüfspezifikation nach V-Modell-XT   4.9.1 Einleitung   4.9.2 Prüfziele   4.9.3 Prüfobjekte   4.9.4 Prüffälle   4.9.5 Prüfstrategie   4.9.6 Prüfkriterien   4.9.7 Prüfergebnisse   4.9.8 Prüfaufgaben   4.9.9 Prüfumgebung   4.9.10 Prüffallzuordnung   4.9.11 Prüfaufwand   4.9.12 Risikovorkehrungen

5.1 Aufbau der Testfälle   5.1.1 Das Testfallkennzeichen   5.1.2 Der Testfallzweck   5.1.3 Die Testfallquelle   5.1.4 Die Testanforderung   5.1.5 Der Testvorgang   5.1.6 Die Testobjekte   5.1.7 Die Testfallvorzustände   5.1.8 Die Testfallnachzustände   5.1.9 Die Vorgängertestfälle   5.1.10 Die Nachfolgetestfälle   5.1.11 Die Testumgebung   5.1.12 Die Testfallargumente   5.1.13 Die Testfallergebnisse   5.1.14 Der Testfallstatus 5.2 Darstellung der Testfälle   5.2.1 Testfälle im Textformat   5.2.2 Testfälle im Tabellenformat   5.2.3 Testfälle im XML-Format   5.2.4 Testfälle in einer formalen Sprache – TTCN 5.3 Erstellung der Testfälle   5.3.1 Generierung der Grunddaten aus dem Anforderungstext   5.3.2 Ergänzungen der Testfälle 5.4 Speicherung der Testfälle   5.4.1 Testfälle als Texte   5.4.2 Testfälle als Tabellen   5.4.3 Testfälle als XML-Format 5.5 Qualitätssicherung der Testfälle   5.5.1 Testfallquantität   5.5.2 Messung der Testfallkomplexität   5.5.3 Messung der Testfallqualität 5.6 Überführung der Testfälle in einen Testentwurf 5.7 Wartung und Weiterentwicklung der Testfälle

6.1 Testdatenquellen   6.1.1 Die Anforderungsdokumentation als Quelle von Testdaten   6.1.2 Das Entwurfsmodell als Quelle von Testdaten   6.1.3 Der Source-Code als Quelle von Testdaten   6.1.4 Die alten Testdaten als Quelle von Testdaten   6.1.5 Die Produktionsdaten als Quelle von Testdaten   6.1.6 Die fachlogischen Testfälle als Quelle von Testdaten 6.2 Testdatenobjekte 6.3 Testdatenerstellungsansätze   6.3.1 Der blinde Ansatz zur Testdatenerstellung   6.3.2 Der gezielte Ansatz zur Testdatenerstellung   6.3.3 Der kombinierte Ansatz   6.3.4 Der Mutationsansatz 6.4 Testdatentypen   6.4.1 Datenbanken   6.4.2 Systemschnittstellen   6.4.3 Benutzeroberflächen 6.5 Testdatengenerierung   6.5.1 Datengenerierung aus den Testfällen   6.5.2 Datengenerierung aus Testprozeduren   6.5.3 Datengenerierung aus dem Source-Code   6.5.4 Datengenerierung aus vorhandenen Daten 6.6 Werkzeuge für die Testdatengenerierung   6.6.1 Datenbankgeneratoren   6.6.2 Schnittstellengeneratoren   6.6.3 Oberflächengeneratoren

7.1 Systemtypen   7.1.1 Alleinstehende Systeme   7.1.2 Integrierte Systeme   7.1.3 Verteilte Systeme   7.1.4 Web-basierte Systeme   7.1.5 Service-orientierte Systeme   7.1.6 Vollautomatische Systeme   7.1.7 Eingebettete Echtzeitsysteme 7.2 Test alleinstehender Systeme 7.3 Test integrierter Systeme   7.3.1 Funktionstest   7.3.2 Belastungstest   7.3.3 Benutzbarkeitstest 7.4 Test verteilter Systeme   7.4.1 Interaktionstest   7.4.2 Testverfolgung im Netz   7.4.3 Sicherheitstest 7.5 Test Web-basierter Systeme   7.5.1 Test der Web-Architektur   7.5.2 Test der Web-Anwendung 7.6 Test Service-orientierter Systeme   7.6.1 Vorbereitung des Servicetests   7.6.2 Ausführung des Web Service-Tests   7.6.3 Simulierter Test der Geschäftsprozesse   7.6.4 Integration der Services mit den Geschäftsprozessen 7.7 Test vollautomatisierter Systeme   7.7.1 Werkzeuge für den automatisierten Test   7.7.2 Tester für den automatisierten Test 7.8 Test eingebetteter Systeme 7.9 Kein System ist wie das andere

8.1 Zweck der Testauswertung 8.2 Auswertung der Testergebnisse   8.2.1 Sichtbare und unsichtbare Ergebnisse   8.2.2 Möglichkeiten der Ergebniskontrolle   8.2.3 Begründung der Ergebniskontrolle   8.2.4 Automatisierte Ergebniskontrolle 8.3 Messung der Testüberdeckung   8.3.1 Testüberdeckungsmaße   8.3.2 Function-Point-Überdeckung   8.3.3 Anforderungsüberdeckung   8.3.4 Überdeckung bisheriger Funktionalität   8.3.5 Fehlerüberdeckung 8.4 Fehleranalyse   8.4.1 Fehlerlokalisierung   8.4.2 Fehlermeldung 8.5 Systemtestmetrik   8.5.1 Testüberdeckungsmaße   8.5.2 Fehleranalysemaße   8.5.3 Messung der Testeffektivität 8.6 Systemtestmessung in der Praxis

9.1 Analyse der Änderungsanträge (CRs) 9.2 Fortschreibung und Optimierung des Testplans   9.2.1 Fortschreibung der Testziele   9.2.2 Fortschreibung der Testobjekte   9.2.3 Fortschreibung der zu testenden Funktionen   9.2.4 Fortschreibung der Teststrategie und Testendekriterien   9.2.5 Fortschreibung der Testergebnisse   9.2.6 Fortschreibung der Testaufgaben   9.2.7 Fortschreibung des Personalplanes   9.2.8 Fortschreibung der Testrisiken   9.2.9 Rekalkulation der Testkosten 9.3 Impaktanalyse der Software   9.3.1 Statische Impaktanalyse   9.3.2 Dynamische Impaktanalyse 9.4 Fortschreibung der Testfälle   9.4.1 Spezifikation neuer Testfälle   9.4.2 Anpassung bestehender Testfälle 9.5 Anreicherung der Testdaten   9.5.1 Direkte Anreicherung der Daten   9.5.2 Indirekte Anreicherung der Daten 9.6 Ausführen des Regressionstests   9.6.1 Eigenarten eines Regressionstests   9.6.2 Der Test im Dialogmodus   9.6.3 Der Test im Batch-Modus   9.6.4 Testautomatisierung beim Regressionstest 9.7 Auswertung des Regressionstests   9.7.1 Kontrolle der Regressionstestüberdeckung   9.7.2 Kontrolle der Regressionstestergebnisse   9.7.3 Protokollierung der Regressionstestergebnisse 9.8 Automatisierung des Regressionstests 9.9 Der Regressionstest in Migrationsprojekten   9.9.1 Voller Regressionstest   9.9.2 Selektiver Regressionstest

10.1 Ein Modell für die Testautomatisierung   10.1.1 Testeingaben   10.1.2 Testausgaben   10.1.3 Testobjektbeziehungen 10.2 Testereignisse   10.2.1 Planende Testereignisse   10.2.2 Vorbereitende Testereignisse   10.2.3 Ausführende Testereignisse   10.2.4 Abschließende Testereignisse   10.2.5 Zusammenfassung der Testereignisse 10.3 Zur Automation der Testereignisse   10.3.1 Automatische Ableitung der logischen Testfälle aus der Anforderungsdokumentation   10.3.2 Automatisierte Erzeugung eines Testplans   10.3.3 Automatische Erstellung eines Testentwurfs   10.3.4 Automatische Generierung der Testdaten   10.3.5 Automatisierte Erzeugung physikalischer Testfälle   10.3.6 Automatische Generierung der Testprozeduren   10.3.7 Automatische Instrumentierung des Codes   10.3.8 Die automatische Testausführung   10.3.9 Die automatische Ergebnisprüfung   10.3.10 Automatische Kontrolle der Testüberdeckung   10.3.11 Automatisch generierte Testmetrik 10.4 Voraussetzungen der Testautomation   10.4.1 Formalisierung der Anforderungsspezifikation   10.4.2 Standardisierung der Testdokumente   10.4.3 Definition der Datenwertebereiche   10.4.4 Qualifizierung der Tester 10.5 Systemtestautomation als eigenständiges Projekt   10.5.1 Erste Automatisierungsstufe   10.5.2 Zweite Automatisierungsstufe   10.5.3 Dritte Automatisierungsstufe   10.5.4 Vierte Automatisierungsstufe   10.5.5 Fünfte Automatisierungsstufe 10.6 Alternative zum automatisierten Test   10.6.1 Erste Alternative = weniger Testen   10.6.2 Zweite Alternative = massiver Personaleinsatz 10.7 Vergangenheit und Zukunft der Testautomation

11.1 Werkzeugkategorien – Einsatzgebiete 11.2 Funktionalität und Auswahlkriterien 11.3 Werkzeuge aus Projekten: Der Testarbeitsplatz

12.1 Notwendigkeit des Systemtestmanagements 12.2 Hauptaufgaben des Systemtestmanagements   12.2.1 Testplanung und Umsetzung des Testkonzeptes   12.2.2 Laufendes Controlling aller Testaktivitäten     12.2.2.1 Inhaltscontrolling     12.2.2.2 Controlling der Planungsgrößen     12.2.2.3 Controlling der Testendekriterien   12.2.3 Sicherstellung der Qualität der Testergebnisse     12.2.3.1 Qualität des Testdesigns und der Testfälle     12.2.3.2 Qualität der Protokollierung der Testdurchführung     12.2.3.3 Qualität des Fehlermanagements 12.3 Testprozessmanagement   12.3.1 Testprozessgestaltung   12.3.2 Testprozessreife 12.4 Testteamführung

13.1 Anhang A: Testplan nach ANSI/IEEE-829 13.2 Anhang B1: Schema für die Testfallspezifikation 13.3 Anhang B2: Beispiel einer Testfallspezifikation für den Test der Auftragsbearbeitung 13.4 Anhang C1: Testdatengenerierungsskript 13.5 Anhang C2: Testergebnisvalidierungsskript

Autor

Datum

ISBN

Auflage