Sie sind hier
E-Book

Software-Test: Verifikation und Validation

AutorGeorg E. Thaller
VerlagHeise Verlag
Erscheinungsjahr2002
Seitenanzahl396 Seiten
ISBN9783882291988
FormatPDF
KopierschutzDRM
GerätePC/MAC/eReader/Tablet
Preis37,40 EUR
Der Test der Software bleibt, auch fünfzig Jahre nach den ersten Computern, die wichtigste Methode zur Sicherstellung der Qualität von Software. Verifikation und Validation reicht allerdings in vielen Bereichen weit über den Test hinaus. Wer die Qualität seiner Software verbessern und im Markt langfristig Erfolge erzielen will, der kommt nicht darum herum, sich intensiv mit dem Test der Software zu beschäftigen. Dazu bietet dieses Buch die unentbehrlichen Grundlagen.

Aus dem Inhalt:

- Prozessmodelle, Software-Spezifikation, Testplanung und -strategie, Fagan Inspections und Code Walkthroughs
- Verifikation, Modultest, White Box Test, Testabdeckung, Incremental Testing
- Black Box Test, externe Testgruppe, Instrumentierung, Testabdeckung, Systemtests, Volume und Stress Test, Recovery Testing, Mutationstest, Benchmarks, Configuration, Compability und Usability Testing, Software für fremde Kulturen, Test der Dokumentation; OO-Testing, Test einer Website, Test bei sicherheitskritischer Software
- Software als Teil eines Systems: Analyse, Redundanz und Diversity

Die Neuauflage des Buches wurde durchgehend aktualisiert. Wesentlich erweitert wurden sie insbesondere bei den Themen:

- Test-Automation
- Management und Organisation: Debugging, Regression Testing, Werkzeuge. Fehlerbewertung, -verfolgung und -beseitigung, objektive Kriterien für das Testende, Freigabe-Politik
- Test und das CMM

Die Techniken und Methoden beim Test werden an einen durchgehenden Beispiel in C erläutert, so dass es auch der Leser leicht einarbeiten kann, der vorher nicht mit dem Test von Software befasst war. Das grundlegende Werk gehört auf den Schreibtisch jedes Software-Fachmanns.  

Kaufen Sie hier:

Horizontale Tabs

Kapitelübersicht
  1. Vorwort und Inhaltsverzeichnis
  2. Die Notwendigkeit zur Verifikation der Software
  3. Die Softwareentwicklung als Prozess
  4. Die Verifikation der Software
  5. Ein zweiter Ansatz: Black Box Test
  6. Die Ausprägungen von Tests
  7. Tests bei spezifischen Applikationen
  8. Software und System
  9. Test-Automation
  10. Management und Organisation
  11. Test und Capability Maturity Model
  12. Ausblick
  13. Anhang
  14. Stichwortregister
Leseprobe
4 Ein zweiter Ansatz: Black Box Test (S. 81-82)

Prüfe die Brücke, die dich tragen soll. Sprichwort

Neben dem White Box Test, der seit den Anfangstagen der Programmierung bekannt ist, steht gleichwertig der Black Box Test. Sein Ansatz ist verschieden vom White Box Test, und das bezieht sich vor allem auf die Person des Testers.

4.1 Die Motivation der externen Testgruppe

Wir sind bisher wie selbstverständlich immer davon ausgegangen, dass der Entwurf, das Kodieren und der anschließende Test von ein und derselben Person durchgeführt wird. Tatsächlich muss das nicht so sein; es sprechen eine ganze Reihe guter Gründe dafür, die Arbeit anders zu organisieren. Viele Organisationen haben mit wichtigen Projekten Schiffbruch erlitten, weil sie konstruktive und analytische Tätigkeiten nicht sauber voneinander getrennt haben. Lassen Sie mich zu diesem Punkt Tom DeMarco [29] zitieren. Ich könnte es mit meinen eigenen Worten nicht besser sagen.

»Ganz zu Beginn des Computerzeitalters gab es einmal im Bundesstaat New York eine Firma, die große blaue Computer baute. Sie lieferte auch gleich die passende Software dazu. Die Kunden dieser Firma waren recht nette Leute, aber sie konnten ganz schön böse werden, wenn fehlerhafte Programme ausgeliefert wurden. Eine Weile konzentrierte sich unser Konzern mit den blauen Computern darauf, die Kunden zu mehr Toleranz gegenüber fehlerhaften Programmen zu erziehen. Als das nichts fruchtete, entschloss man sich schließlich, den Fehlern in der Software auf den Leib zu rücken.

Der einfachste und offensichtliche Weg bestand darin, die Programmierer dazu zu bringen, vor der Auslieferung des Codes alle Fehler auszumerzen. Das funktionierte allerdings nicht. Aus irgendwelchen Gründen schienen die Programmierer – zumindest damals – daran zu glauben, dass ihre Programme keine Fehler hätten. Sie gaben ihr Möglichstes, aber den wirklich letzten Fehler zu finden war schwierig. Einige Programmierer schienen der gestellten Aufgabe allerdings besser gewachsen zu sein als andere Kollegen. Die Firma fasste diese Gruppe zusammen und stellte ihr die explizite Aufgabe, die Software vor der Auslieferung an die Kunden zu testen. Das Schwarze Team war geboren.

Dieses Team bestand ursprünglich aus Leuten, die im Testen von Software etwas besser waren als andere. Sie waren auch besser motiviert: Da sie den Programmcode nicht selber geschrieben hatten, hatten sie keine Angst vor gründlichen Tests.« Das Schwarze Team wurde im Lauf der Zeit immer besser. Sie erwarteten Fehler in der Software und waren entschlossen, sie aufzudecken. Sie standen in Opposition zum Schreiber des Programms. Die von ihnen ausgeheckten Tests waren ausgeklügelt, oft zerstörerisch und schwer zu bestehen. Die Mitglieder der Gruppe begannen, sich ganz in Schwarz zu kleiden. Es galt bald als eine Ehre, zum Schwarzen Team zu gehören. Fast unnötig zu sagen, dass die Firmenleitung begeistert war. Jeder gefundene Fehler war ein Defekt, den die Kunden nicht finden konnten. Das sparte viel Geld, das sonst für Wartung und Kundendienst hätte aufgewendet werden müssen. Manche Mitglieder verließen das Schwarze Team, doch sie wurden immer sofort wieder ersetzt. Die externe Testgruppe hatte sich innerhalb der Firma etabliert.

Es ist nicht zu leugnen, dass viele Menschen eine Hemmschwelle haben, wenn es um eigene Fehler geht. Den Balken im eigenen Auge sehen wir eben nicht. Warum sollte das bei Programmierern anders sein? Es ist also durchaus sinnvoll, nach dem Test durch den ursprünglichen Entwickler, etwa in der Form eines White Box Tests, den zweiten Schritt zu tun und das Programm einer externen Testgruppe zu übergeben. Das Wort extern bedeutet dabei außerhalb der Gruppe, die innerhalb der Firma für den Entwurf und dessen Implementierung verantwortlich ist. Black Box Test bedeutet, dass der Tester den Programmcode lediglich nach der Funktion beurteilt. Er weiß in der Regel gar nicht, wie eine Funktion implementiert wurde. Selbst wenn für ein Unterprogramm zwei durchaus unterschiedliche Lösungen möglich sind, den Tester interessiert das wenig: Solange die Routine die spezifizierte Funktion erfüllt, ist das Programm für ihn in Ordnung. Gewiss braucht der Tester einen Leitfaden, an dem er sich orientieren kann. Das kann zum einen das detaillierte Lastenheft der Software sein. Besonders gut eignet sich auch das Benutzerhandbuch, falls es zum Zeitpunkt des Tests vorliegt. Grundsätzlich sollte sich ein Mitglied der Testgruppe auf den Standpunkt eines Kunden und Benutzers des Programms stellen. Er darf kein Wissen voraussetzen, das der Entwickler vielleicht hat, der Benutzer aber nicht. Eine gewisse Robustheit und Tauglichkeit für den täglichen Betrieb sollte der Tester von der Software verlangen.
Inhaltsverzeichnis
Vorwort6
Acknowledgements9
Inhaltsverzeichnis10
1 Die Notwendigkeit zur Verifikation der Software14
1.1 Die stille Revolution16
1.2 Das Risiko17
1.3 Der Zwang zu qualitativem Wachstum28
1.4 Die Testverfahren im Überblick31
2 Die Softwareentwicklung als Prozess34
2.1 Die Prozessmodelle34
2.2 Die Spezifikation als Grundlage für den Test42
2.3 Die Testplanung48
2.4 Die Notwendigkeit zur frühen Verifikation51
2.5 Die Verifikation ohne Computer52
3 Die Verifikation der Software62
3.1 Die Rolle des Tests im Lebenszyklus der Entwicklung62
3.2 Die Abhängigkeit von Entwurf und Implementierung63
3.3 Top-down- versus Bottom-up- Strategie beim Test65
3.4 Der Modultest als White Box Test72
3.5 Die Testabdeckung82
3.6 Incremental Testing87
3.7 Die Schwächen des White Box Tests92
3.8 Die geeigneten Werkzeuge93
4 Ein zweiter Ansatz: Black Box Test94
4.1 Die Motivation der externen Testgruppe94
4.2 Bewährte Grundsätze beim Black Box Test96
4.3 Die Instrumentierung111
4.4 Vom Modul zum Programm118
4.5 Die Testabdeckung auf Systemebene131
4.6 Gray Box Testing132
5 Die Ausprägungen von Tests134
5.1 Der Funktionstest135
5.2 Volume Test137
5.3 Stress Test141
5.4 Speicherverbrauch und Auslastung des Prozessors142
5.5 Recovery Testing142
5.6 Der Mutationstest143
5.7 Benchmarks144
5.8 Der Test von Prozeduren und Verfahren147
5.9 Configuration Testing148
5.10 Compability Testing152
5.11 Usability Testing157
5.12 Software für fremde Kulturen und Sprachen169
5.13 Überprüfung von Dokumenten172
5.14 Der Systemtest175
6 Tests bei spezifischen Applikationen178
6.1 Objektorientierte Software178
6.2 Test einer Website187
6.3 Sicherheitskritische Software203
7 Software und System212
7.1 Unterschiede zwischen Hardware und Software213
7.2 Analyse217
7.3 Konstruktive Maßnahmen222
7.4 Prozessmodelle230
7.5 Redundanz und Diversity232
7.6 Normen234
8 Test-Automation238
8.1 Warum automatisieren?238
8.2 Beschaffung eines Tools245
8.3 Testen mit automatischen Tools248
8.4 Erfahrungen mit der Test- Automatisierung252
9 Management und Organisation258
9.1 Test im betrieblichen Rahmen258
9.2 Organisation267
9.3 Testplanung272
9.4 Fremdsoftware275
9.5 Einsatz von Werkzeugen278
9.6 Fehlerberichtigungssystem und Behandlung von Änderungen281
9.7 Debugging und Regression Test291
9.8 Metriken zum Test298
9.9 Die Freigabepolitik304
9.10 Wirksamkeit und Wirtschaftlichkeit307
9.11 Qualitätssicherung und Test312
9.12 Das Risiko beherrschen313
10 Test und Capability Maturity Model316
10.1 Capability Maturity Model316
10.2 Test Maturity Model331
11 Ausblick336
Anhang338
A.1 Literaturverzeichnis338
A.2 Spezifikation: Kernfunktionen der Kalenderroutinen342
A.3 Akronyme und Abkürzungen348
A.4 Glossar351
A.5 Normen und Standards358
A.6 Produktmuster für den Testplan362
A.7 Materialien: Fragebögen und Fehlervordruck369
A.8 Grundriss eines Usability Labs387
A.9 Ressourcen im Internet388
A.10 Stichwortregister390

Weitere E-Books zum Thema: Software - Betriebssysteme - Anwenderprogramme

Softwaretechnik

E-Book Softwaretechnik
Format: PDF

Software-Projekte geraten oft in Schwierigkeiten: Zeit und Budget werden überschritten; das Projekt tritt auf der Stelle; im schlimmsten Fall wird es ohne Ergebnis abgebrochen. Manche…

Softwaretechnik

E-Book Softwaretechnik
Format: PDF

Software-Projekte geraten oft in Schwierigkeiten: Zeit und Budget werden überschritten; das Projekt tritt auf der Stelle; im schlimmsten Fall wird es ohne Ergebnis abgebrochen. Manche…

Softwaretechnik

E-Book Softwaretechnik
Format: PDF

Software-Projekte geraten oft in Schwierigkeiten: Zeit und Budget werden überschritten; das Projekt tritt auf der Stelle; im schlimmsten Fall wird es ohne Ergebnis abgebrochen. Manche…

Statistische Grafiken mit Excel

E-Book Statistische Grafiken mit Excel
Format: PDF

Die grafische Veranschaulichung von Sachverhalten oder Entwicklungsverläufen spielt in allen empirisch orientierten Bereichen eine besondere Rolle. Empirische Informationen grafisch aufzubereiten,…

Statistische Grafiken mit Excel

E-Book Statistische Grafiken mit Excel
Format: PDF

Die grafische Veranschaulichung von Sachverhalten oder Entwicklungsverläufen spielt in allen empirisch orientierten Bereichen eine besondere Rolle. Empirische Informationen grafisch aufzubereiten,…

Computergrafik und OpenGL

E-Book Computergrafik und OpenGL
Format: PDF

Das Lehrbuch stellt die theoretischen Grundlagen zu den wichtigsten Themenbereichen der Computergrafik, wie Rastergrafik, Modellierung, Transformation, Projektion, Clipping, Sichtbarkeit, Farbe und…

Computergrafik und OpenGL

E-Book Computergrafik und OpenGL
Format: PDF

Das Lehrbuch stellt die theoretischen Grundlagen zu den wichtigsten Themenbereichen der Computergrafik, wie Rastergrafik, Modellierung, Transformation, Projektion, Clipping, Sichtbarkeit, Farbe und…

Computergrafik und OpenGL

E-Book Computergrafik und OpenGL
Format: PDF

Das Lehrbuch stellt die theoretischen Grundlagen zu den wichtigsten Themenbereichen der Computergrafik, wie Rastergrafik, Modellierung, Transformation, Projektion, Clipping, Sichtbarkeit, Farbe und…

Citrix Presentation Server

E-Book Citrix Presentation Server
Format: PDF

Der Citrix MetaFrame Presentation Server ist unangefochtener Marktführer unter den Terminalservern für Windows-Systeme. Unternehmen setzen ihn ein, um die Systemverwaltung von Windows-Netzwerken…

Citrix Presentation Server

E-Book Citrix Presentation Server
Format: PDF

Der Citrix MetaFrame Presentation Server ist unangefochtener Marktführer unter den Terminalservern für Windows-Systeme. Unternehmen setzen ihn ein, um die Systemverwaltung von Windows-Netzwerken…

Weitere Zeitschriften

bank und markt

bank und markt

Zeitschrift für Banking - die führende Fachzeitschrift für den Markt und Wettbewerb der Finanzdienstleister, erscheint seit 1972 monatlich. Leitthemen Absatz und Akquise im Multichannel ...

Computerwoche

Computerwoche

Die COMPUTERWOCHE berichtet schnell und detailliert über alle Belange der Informations- und Kommunikationstechnik in Unternehmen – über Trends, neue Technologien, Produkte und Märkte. IT-Manager ...

Demeter-Gartenrundbrief

Demeter-Gartenrundbrief

Einzige Gartenzeitung mit Anleitungen und Erfahrungsberichten zum biologisch-dynamischen Anbau im Hausgarten (Demeter-Anbau). Mit regelmäßigem Arbeitskalender, Aussaat-/Pflanzzeiten, Neuigkeiten ...

FileMaker Magazin

FileMaker Magazin

Das unabhängige Magazin für Anwender und Entwickler, die mit dem Datenbankprogramm Claris FileMaker Pro arbeiten. In jeder Ausgabe finden Sie von kompletten Lösungsschritten bis zu ...