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

WordPress

E-Book WordPress
Einführung in das Content Management System Format: PDF

Das Buch beinhaltet das nötige Wissen für einen sicheren Umgang mit dem beliebten CMS (Content Management System): von der WordPress-Installation samt den notwendigen Voraussetzungen und dem…

Social Media

E-Book Social Media
Potenziale, Trends, Chancen und Risiken Format: PDF

Die Themen Digitalisierung und Social Media werden in der Gesellschaft kontrovers diskutiert. Fast jeder Mensch kommt auf seine Art und aus seinem Blickwinkel mit Social-Media-Anwendungen in…

Leben 3.0

E-Book Leben 3.0
Mensch sein im Zeitalter Künstlicher Intelligenz Format: ePUB

Die Nobelpreis-Schmiede Massachusetts Institute of Technology ist der bedeutendste technologische Think Tank der USA. Dort arbeitet Professor Max Tegmark mit den weltweit führenden Entwicklern k…

111 Thesen zur erfolgreichen Softwareentwicklung

E-Book 111 Thesen zur erfolgreichen Softwareentwicklung
Argumente und Entscheidungshilfen für Manager. Konzepte und Anleitungen für Praktiker Format: PDF

Ziel dieses Buches ist es, Managern Argumente und Entscheidungshilfen für die Einführung effizienter Techniken der Softwareentwi- lung zu geben, und Praktiker von der Notwendigkeit effizienter…

Statistik für Ökonomen

E-Book Statistik für Ökonomen
Datenanalyse mit R und SPSS Format: PDF

Die Autoren erläutern in einer anschaulichen, anwendungsorientierten und kompakten Darstellung alle elementaren statistischen Verfahren, die in der Ökonomie angewendet werden - ergänzt durch…

Kennzahlen in der IT

E-Book Kennzahlen in der IT
Werkzeuge für Controlling und Management Format: PDF

Dieses Buch entwirft ein zeitgemäßes Kennzahlenverständnis für den IT-Bereich. Vor dem Hintergrund der Balanced Scorecard werden die Ansätze in verschiedenen Teilbereichen sowie unterschiedliche…

Referenzmodelle für IT-Governance

E-Book Referenzmodelle für IT-Governance
Methodische Unterstützung der Unternehmens-IT mit COBIT, ITIL & Co Format: PDF

Das Buch zeigt, wie die Aufgaben der IT-Governance durch Best-Practice-Referenzmodelle sowie internationale Normen und Standards methodisch zu unterstützen und zu bewältigen sind, und gibt einen…

Weitere Zeitschriften

arznei-telegramm

arznei-telegramm

Das arznei-telegramm® informiert bereits im 51. Jahrgang Ärzte, Apotheker und andere Heilberufe über Nutzen und Risiken von Arzneimitteln. Das arznei-telegramm®  ist neutral und ...

BEHINDERTEPÄDAGOGIK

BEHINDERTEPÄDAGOGIK

Für diese Fachzeitschrift arbeiten namhafte Persönlichkeiten aus den verschiedenen Fotschungs-, Lehr- und Praxisbereichen zusammen. Zu ihren Aufgaben gehören Prävention, Früherkennung, ...

BONSAI ART

BONSAI ART

Auflagenstärkste deutschsprachige Bonsai-Zeitschrift, basierend auf den renommiertesten Bonsai-Zeitschriften Japans mit vielen Beiträgen europäischer Gestalter. Wertvolle Informationen für ...

Das Hauseigentum

Das Hauseigentum

Das Hauseigentum. Organ des Landesverbandes Haus & Grund Brandenburg. Speziell für die neuen Bundesländer, mit regionalem Schwerpunkt Brandenburg. Systematische Grundlagenvermittlung, viele ...

DHS

DHS

Die Flugzeuge der NVA Neben unser F-40 Reihe, soll mit der DHS die Geschichte der "anderen" deutschen Luftwaffe, den Luftstreitkräften der Nationalen Volksarmee (NVA-LSK) der ehemaligen DDR ...

die horen

die horen

Zeitschrift für Literatur, Kunst und Kritik."...weil sie mit großer Aufmerksamkeit die internationale Literatur beobachtet und vorstellt; weil sie in der deutschen Literatur nicht nur das Neueste ...

VideoMarkt

VideoMarkt

VideoMarkt – besser unterhalten. VideoMarkt deckt die gesamte Videobranche ab: Videoverkauf, Videoverleih und digitale Distribution. Das komplette Serviceangebot von VideoMarkt unterstützt die ...