image

Was sind E-Books von dpunkt?

Unsere E-Books sind Publikationen im PDF- oder EPUB-Format, die es Ihnen erlauben, Inhalte am Bildschirm zu lesen, gezielt nach Informationen darin zu suchen und Seiten daraus auszudrucken. Sie benötigen zum Ansehen den Acrobat Reader oder ein anderes adäquates Programm bzw. einen E-Book-Reader.

E-Books können Bücher (oder Teile daraus) sein, die es auch in gedruckter Form gibt (bzw. gab und die inzwischen vergriffen sind). (Einen entsprechenden Hinweis auf eine gedruckte Ausgabe finden Sie auf der entsprechenden E-Book-Seite.)

Es können aber auch Originalpublikationen sein, die es ausschließlich in E-Book-Form gibt. Diese werden mit der gleichen Sorgfalt und in der gleichen Qualität veröffentlicht, die Sie bereits von gedruckten dpunkt.büchern her kennen.

Was darf ich mit dem E-Book tun?

Die Datei ist nicht kopiergeschützt, kann also für den eigenen Bedarf beliebig kopiert werden. Es ist jedoch nicht gestattet, die Datei weiterzugeben oder für andere zugänglich in Netzwerke zu stellen. Sie erwerben also eine Ein-Personen-Nutzungslizenz.

Wenn Sie mehrere Exemplare des gleichen E-Books kaufen, erwerben Sie damit die Lizenz für die entsprechende Anzahl von Nutzern.

Um Missbrauch zu reduzieren, haben wir die PDF-Datei mit einem Wasserzeichen (Ihrer E-Mail-Adresse und Ihrer Transaktionsnummer) versehen.

Bitte beachten Sie, dass die Inhalte der Datei in jedem Fall dem Copyright des Verlages unterliegen.

Wie kann ich E-Books von dpunkt kaufen und bezahlen?

Legen Sie die E-Books in den Warenkorb. (Aus technischen Gründen, können im Warenkorb nur gedruckte Bücher ODER E-Books enthalten sein.)

Downloads und E-Books können sie bei dpunkt per Paypal bezahlen. Wenn Sie noch kein Paypal-Konto haben, können Sie dieses in Minutenschnelle einrichten (den entsprechenden Link erhalten Sie während des Bezahlvorgangs) und so über Ihre Kreditkarte oder per Überweisung bezahlen.

Wie erhalte ich das E-Book von dpunkt?

Sobald der Bestell- und Bezahlvorgang abgeschlossen ist, erhalten Sie an die von Ihnen angegebene Adresse eine Bestätigung von Paypal, sowie von dpunkt eine E-Mail mit den Downloadlinks für die gekauften Dokumente sowie einem Link zu einer PDF-Rechnung für die Bestellung.

Die Links sind zwei Wochen lang gültig. Die Dokumente selbst sind mit Ihrer E-Mail-Adresse und Ihrer Transaktionsnummer als Wasserzeichen versehen.

Wenn es Probleme gibt?

Bitte wenden Sie sich bei Problemen an den dpunkt.verlag:
Frau Karin Riedinger (riedinger (at) dpunkt.de bzw. fon 06221-148350).

Image

Andreas Spillner ist Professor für Informatik an der Hochschule Bremen, Fakultät für Elektrotechnik und Informatik. Er war über 10 Jahre Sprecher der Fachgruppe TAV »Test, Analyse und Verifikation von Software« der Gesellschaft für Informatik e.V. (GI) und bis Ende 2009 Mitglied im German Testing Board e.V. 2007 ist er zum Fellow der GI ernannt worden. Seine Arbeitsschwerpunkte liegen im Bereich Softwaretechnik, Qualitätssicherung und Testen.

Image

Thomas Roßner ist Mitgründer der imbus AG und in deren Vorstand verantwortlich für Forschung und Technologie des Unternehmens. In dieser Funktion leitete er in den vergangenen Jahren mehrere internationale Forschungsprojekte, u.a. zum Thema Softwarezuverlässigkeit und modellbasiertes Testen. Darüber hinaus arbeitet er aktiv in Testmanagementprojekten und Beratungsprojekten zum Thema Testprozessverbesserung.

Image

Mario Winter ist Professor am Institut für Informatik der Fachhochschule Köln und dort Mitglied des Forschungsschwerpunktes »Software-Qualität«. Er ist Mitglied im German Testing Board e.V. und war von 2003 bis Anfang 2011 Sprecher der Fachgruppe »Test, Analyse und Verifikation von Software« im Fachbereich Softwaretechnik der Gesellschaft für Informatik (GI). Seine Lehrund Forschungsschwerpunkte sind Softwareentwicklung und Projektmanagement, insbesondere die modellbasierte Entwicklung und Qualitätssicherung von Software.

Image

Tilo Linz ist Vorstand der imbus AG, eines führenden Dienstleisters für Softwaretest. Er ist Leiter des German Testing Board e.V. und war von 2002 bis 2005 Vorsitzender des ISTQB. Zu seinen Arbeitsschwerpunkten zählen die Themen Berufsbild und Ausbildung im Softwaretest sowie die Optimierung von Softwaretestprozessen.

Image

Zu diesem Buch – sowie zu vielen weiteren dpunkt.büchern – können Sie auch das entsprechende E-Book im PDF-Format herunterladen. Werden Sie dazu einfach Mitglied bei dpunkt.plus+:
www.dpunkt.de/plus

Praxiswissen Softwaretest – Testmanagement

Aus- und Weiterbildung zum Certified Tester – Advanced Level nach ISTQB-Standard

4., überarbeitete u. erweiterte Auflage

Andreas Spillner
Thomas Roßner
Mario Winter · Tilo Linz

Image

Andreas Spillner

Andreas.Spillner@hs-bremen.de

Thomas Roßner

thomas.rossner@imbus.de

Mario Winter

mario.winter@fh-koeln.de

Tilo Linz

tilo.linz@imbus.de

Lektorat: Christa Preisendanz

Copy-Editing: Ursula Zimpfer, Herrenberg

Satz & Herstellung: Birgit Bäuerlein

Umschlaggestaltung: Helmut Kraus, www.exclam.de

Druck und Bindung: Media-Print Informationstechnologie, Paderborn

Bibliografische Information der Deutschen Nationalbibliothek

Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar.

ISBN

Buch 978-3-86490-052-5

PDF 978-3-86491-515-4

ePub 978-3-86491-516-1

4., überarbeitete und erweiterte Auflage 2014

Copyright © 2014 dpunkt.verlag GmbH

Wieblinger Weg 17

69123 Heidelberg

Die vorliegende Publikation ist urheberrechtlich geschützt. Alle Rechte vorbehalten. Die Verwendung der Texte und Abbildungen, auch auszugsweise, ist ohne die schriftliche Zustimmung des Verlags urheberrechtswidrig und daher strafbar. Dies gilt insbesondere für die Vervielfältigung, Übersetzung oder die Verwendung in elektronischen Systemen.

Es wird darauf hingewiesen, dass die im Buch verwendeten Soft- und Hardware-Bezeichnungen sowie Markennamen und Produktbezeichnungen der jeweiligen Firmen im Allgemeinen warenzeichen-, marken- oder patentrechtlichem Schutz unterliegen.

Alle Angaben und Programme in diesem Buch wurden mit größter Sorgfalt kontrolliert. Weder Autor noch Verlag können jedoch für Schäden haftbar gemacht werden, die in Zusammenhang mit der Verwendung dieses Buches stehen.

5 4 3 2 1 0

Vorwort

Testmanagement reloaded

Nach den bisherigen Auflagen des Buches aus den Jahren 2006, 2008 und 2011 liegt nun die vierte Auflage von »Praxiswissen Softwaretest – Testmanagement« vor. Anlass war die Aufteilung und Erweiterung des Lehrplans zum ISTQB Certified Tester® »Advanced Level« in der 2012 veröffentlichten Version. Darüber hinaus haben auch die 2011 vom ISTQB veröffentlichten Lehrpläne zu den »Expert Level«-Modulen »Testmanagement« und »Improving the Testing Process« die erneute Überarbeitung des Buches motiviert. Überdies verdienen aktuelle Entwicklungen im Bereich internationaler Standards zum Softwaretest – Stichwort ISO 29119 – ihre Berücksichtigung. Und nicht zuletzt war auch die dritte Auflage des Buches erfreulich schnell vergriffen.

Was ist neu?

Der in der vierten Auflage abermals gestiegene Umfang sowie die Neustrukturierung des Buches sind hauptsächlich der neuen Version des Lehrplans geschuldet. Dieses Buch bezieht sich nun auf den Lehrplan zum ISTQB Certified Tester® – Advanced Level Testmanager von 2012, auch wenn es an einigen Stellen darüber hinausgeht und damit den Einstieg in die oben angesprochenen »Expert Level«-Module erleichtern kann.

Seit 2010 wurden im Glossar des ISTQB einige Begriffe ergänzt und bestehende Definitionen verfeinert. Auch diese Änderungen haben wir im Buch nachvollzogen. Zudem wurde das Quellenverzeichnis aktualisiert und neuere Veröffentlichungen aufgenommen sowie aktuelle Versionen der Standards berücksichtigt. Ebenso wurden die Angaben zu den Internetseiten (URLs) kontrolliert und ggf. aktualisiert bzw. ergänzt.

Webseite

Unsere Internetseite [URL: softwaretest-knowledge] informiert Sie weiterhin über Aktualisierungen, sei es bzgl. des Lehrplans, des Glossars oder aber ggf. hinsichtlich notwendiger Korrekturen und Ergänzungen zum Buchtext. Auf der Internetseite stehen die Vorworte der bisherigen Auflagen sowie das Geleitwort von Anton Schlatter zur 1. Auflage zur Verfügung.

Verbesserte Durchgängigkeit und Lesbarkeit

Wir hoffen, bei der notwendigen grundlegenden Überarbeitung des Buches die Durchgängigkeit und Lesbarkeit weiter verbessert zu haben, und freuen uns auf Ihr Feedback zum neuen »Praxiswissen Softwaretest – Testmanagement«!

Danksagung

An erster Stelle möchten wir wieder die vielen Leserinnen und Leser ansprechen, die uns in bester Tradition als Tester Fehler, Unstimmigkeiten und Verbesserungspotenziale des Buches gemeldet haben. Ihnen kommt unser ganz besonderer Dank zu! Weiterhin gilt unser Dank den Mitarbeiterinnen und Mitarbeitern des dpunkt.verlags, die einmal mehr dafür gesorgt haben, dass unsere Ausführungen in optisch und haptisch ansprechender Form zu Ihnen gelangen. Und nicht zuletzt gebührt unseren Familien großer Dank dafür, dass sie uns erneut Zeit und Raum gegeben haben, die nun vorliegende Auflage dieses Buches anzufertigen.

Wie schon in den vorangegangenen Auflagen wünschen wir Ihnen gutes Gelingen bei der Umsetzung der Testansätze in Ihrer Praxis und – sollte das Buch die Grundlage für die Vorbereitung der Prüfung zum »Certified Tester – Advanced Level Testmanager« sein – viel Erfolg bei der Prüfung!

Andreas Spillner, Thomas Roßner, Mario Winter, Tilo Linz
Bremen, Möhrendorf, Wuppertal
April 2014

Inhaltsübersicht

1        Einleitung

2        Fundamentaler Testprozess

3        Kontext des Testmanagements

4        Risikoorientierte und andere Testverfahren

5        Testaufwandsschätzung

6        Testdokumentation

7        Testmetriken definieren

8        Testmetriken anwenden

9        Der Mehrwert des Testens

10        Testorganisation

11        Normen und Standards

12        Reviews, Audits und Assessments

13        Fehlermanagement

14        Bewertung und Verbesserung des Testprozesses

15        Werkzeuge zur Unterstützung des Testprozesses

16        Kompetenzen und Teamzusammensetzung

Anhang

A        Glossar

B        Quellenverzeichnis

Index

Inhaltsverzeichnis

1     Einleitung

1.1    Basiswissen – komprimiert

1.2    Praxiswissen Testmanagement – Übersicht

2     Fundamentaler Testprozess

2.1    Testplanung

2.1.1     Definition der Teststrategie

2.1.2     Art und Umfang der Tests

2.1.3     Priorisierung

2.1.4     Planung und Koordination der Teststufen

2.1.5     Zeit- und Aktivitätenplanung

2.1.6     Sicherstellen der Rückverfolgbarkeit

2.1.7     Definition der Testumgebung

2.1.8     Vorteile frühzeitiger Testplanung

2.2    Testüberwachung und -steuerung

2.2.1     Überwachen des Testfortschritts

2.2.2     Steuern der Testaktivitäten

2.3    Testanalyse

2.3.1     Identifikation der Testbedingungen

2.3.2     Umfang und Detaillierungsgrad der Testbedingungen

2.4    Testentwurf

2.4.1     Eingangskriterien der Testbasis

2.4.2     Dokumentation der Testfälle

2.5    Testrealisierung

2.6    Testdurchführung

2.7    Bewertung von Endekriterien und Bericht

2.8    Abschluss der Testaktivitäten

2.8.1     Prüfung des Testendes

2.8.2     Übergabe der Testmittel

2.8.3     Retrospektive und Bewertung des Testprojekts

2.8.4     »Konservierung« der Testmittel

2.9    Zusammenfassung

3     Kontext des Testmanagements

3.1    Stakeholder und deren Ziele kennen

3.2    Entwicklungsmodelle für Software

3.2.1     Klassifikation der Entwicklungsmodelle

3.2.2     Verbindungen zwischen Testprozess und anderen Bestandteilen des Entwicklungsmodells

3.3    Der Testprozess im Kontext einzelner Entwicklungsmodelle

3.3.1     Allgemeines V-Modell

3.3.2     W-Modell

3.3.3     V-Modell XT

3.3.4     Rational Unified Process (RUP)

3.3.5     Extreme Programming (XP)

3.3.6     Scrum

3.4    Testen im Kontext der zu testenden Systeme

3.4.1     Testen von Multisystemen

3.4.2     Testen sicherheitskritischer Systeme

3.5    Testen im Kontext verschiedener Testaufgaben

3.5.1     Management nicht funktionaler Tests

3.5.2     Exploratives Testen

3.6    Zusammenfassung

4     Risikoorientierte und andere Testverfahren

4.1    Einführung

4.2    Risikoorientiertes Testen

4.2.1     Risikoidentifizierung

4.2.2     Techniken und Hilfsmittel zur Risikoidentifizierung

4.2.3     Risikobewertung

4.2.4     Risikoinventar

4.2.5     Risikobeherrschung

4.2.6     Risikomanagement im Softwarelebenszyklus

4.3    Risikoorientierte Testpriorisierung und Aufwandszuteilung

4.3.1     Zielgerichtete Testkonzepterstellung und Testplanung

4.3.2     Testpriorisierung nach Schaefer

4.3.3     »Breadth-first« – Bestimmung der Testintensität nach Gutjahr

4.4    Formale Verfahren zur Risikoidentifizierung und -bewertung

4.4.1     Fehlzustandsart- und -auswirkungsanalyse (FMEA)

4.4.2     Fehlzustandsart-, -auswirkungs- und -kritikalitätsanalyse (FMECA)

4.4.3     Fehlzustandsbaumanalyse (FTA)

4.4.4     Vor- und Nachteile von FMEA, FMECA und FTA

4.4.5     Quality Function Deployment (QFD)

4.5    »Leichtgewichtige« Ansätze zum risikoorientierten Test

4.5.1     Pragmatic Risk Analysis and Management (PRAM)

4.5.2     Systematic Software Testing (SST)

4.5.3     Product Risk Management (PRISMA)

4.5.4     Risikobeherrschung durch agile Vorgehensweisen

4.6    Andere Verfahren

4.6.1     Anforderungsbasierte Testauswahl

4.6.2     Nutzungsbasierte Testauswahl

4.6.3     Methodische erfahrungsbasierte Testauswahl

4.6.4     Reaktive Testauswahl

4.7    Zusammenfassung

5     Testaufwandsschätzung

5.1    Grundlegendes Vorgehen bei der Testaufwandsschätzung

5.2    Bestandteile und Einflussfaktoren für die Testaufwandsschätzung

5.3    Techniken zur Aufwandsschätzung

5.3.1     Expertenschätzungen

5.3.2     Vergleichende Verfahren

5.3.3     Formel- und metrikbasierte Schätztechniken

5.4    Zusammenfassung

6     Testdokumentation

6.1     Einführung und Übersicht

6.1.1     Dokumente auf Organisationsebene

6.1.2     Dokumente auf Projektebene

6.2     Zentrale Testdokumente

6.2.1     Qualitätspolitik und Testrichtlinie

6.2.2     Teststrategie bzw. Testhandbuch

6.2.3     Mastertestkonzept

6.2.4     Stufentestkonzept

6.2.5     Testberichte

6.3     Weitere Testdokumente

6.4     Zusammenfassung

7     Testmetriken definieren

7.1    Einführung

7.2    Etwas Maßtheorie

7.3    Definition und Auswahl von Metriken

7.4    Darstellung von Messwerten

7.5    Klassifikation von Testmetriken

7.6    Testfallbasierte Metriken

7.7    Testbasis- und testobjektbasierte Metriken

7.8    Fehlerbasierte Metriken

7.9    Risikobasierte Metriken

7.10    Kosten- und aufwandsbasierte Metriken

7.11    Zusammenfassung

8     Testmetriken anwenden

8.1    Initiieren der Testaufgaben

8.2    Überwachen des Testfortschritts

8.3    Reagieren auf Testergebnisse

8.4    Reagieren auf veränderte Rahmenbedingungen

8.5    Beurteilen der Testeffektivität

8.6    Abschätzen der Restfehler und Zuverlässigkeit

8.6.1     Restfehlerwahrscheinlichkeit

8.6.2     Zuverlässigkeitswachstumsmodelle

8.7    Testendebewertung

8.8    Zusammenfassung

9     Der Mehrwert des Testens

9.1    Nutzen des Testens

9.2    Qualitätskosten

9.3    Kosten-Nutzen-Relation optimieren

9.4    Zusammenfassung

10     Testorganisation

10.1    Organisationsmodelle

10.2    Sourcing-Modelle

10.3    Koordination der Testteams

10.4    Faktor Kommunikation

10.5    Zusammenfassung

11     Normen und Standards

11.1    Ziele und Positionierung

11.2    Firmenstandards

11.3    Best Practices und technische Spezifikationen

11.4    Branchenspezifische Normen und Standards

11.5    Allgemeingültige Normen und Standards

11.5.1     Terminologie- und Vertragsnormen

11.5.2     Prozessnormen

11.5.3     Produkt- und Dokumentationsnormen

11.5.4     Methoden- und Techniknormen

11.6    Anwendung von Normen

11.7    Zusammenfassung

12     Reviews, Audits und Assessments

12.1    Nutzen und Kosten von Reviews

12.2    Organisation und Management von Reviews

12.2.1     Planung und Aufwandsschätzung

12.2.2     Kick-off

12.2.3     Individuelle Vorbereitung

12.2.4     Reviewsitzung

12.2.5     Überarbeitung

12.2.6     Nachbereitung

12.3    Rollen und Verantwortlichkeiten

12.4    Reviewarten

12.4.1     Managementreviews und Audits

12.4.2     Assessments

12.4.3     Reviews von Arbeitsergebnissen

12.5    Kriterien zur Auswahl der Reviewart

12.6    Erfolgreicher Einsatz von Reviews

12.6.1     Organisatorische Erfolgsfaktoren

12.6.2     Technische Erfolgsfaktoren

12.6.3     Personenbezogene Erfolgsfaktoren

12.7    Metriken für Reviews

12.8    Zusammenfassung

13     Fehlermanagement

13.1    Fehler und Fehlerbericht

13.2    Dokumentation von Abweichungen

13.3    Lebenszyklus einer Abweichung

13.4    Werkzeugeinsatz im Abweichungsmanagement

13.5    Klassifikation nach IEEE 1044

13.5.1     Übersicht über den Klassifikationsprozess

13.5.2     Datenmodell: Kategorien, Klassifikationen und Ergänzungsdaten

13.5.3     Die Klassifikationsschritte im Detail

13.5.4     Tailoring des Standards

13.6    Zusammenfassung

14     Bewertung und Verbesserung des Testprozesses

14.1    Allgemeingültige Verfahren und Vorgehensweisen

14.2    Verbesserung des Softwareentwicklungsprozesses

14.2.1     Capability Maturity Model Integration (CMMI)

14.2.1     ISO/IEC 15504 (SPICE)

14.2.2     Vergleich von CMMI und SPICE

14.3     Bewertung von Testprozessen

14.3.1     Testing Maturity Model integrated (TMMi)

14.3.2     Business Driven Test Process Improvement (TPI Next®)

14.3.3     Systematic Test and Evaluation Process (STEP)

14.3.4     Critical Testing Processes (CTP)

14.4    Vergleich der Bewertungs- und Prozessmodelle

14.5    Audit und Assessment

14.5.1     Durchführung eines Audits oder Assessments

14.5.2     Vorbereitung auf ein Audit oder Assessment durch Externe

14.6    Zusammenfassung

15     Werkzeuge zur Unterstützung des Testprozesses

15.1    Motivation

15.2    Open-Source-Einsatz, Anschaffung oder spezifische Implementierung

15.2.1     Open-Source-Software

15.2.2     Kommerzielle Werkzeuge

15.2.3     Maßgeschneiderte Software

15.3    Auswahl und Beschaffung eines Werkzeugs

15.3.1     Grundsätzliche Entscheidung über Einsatz eines Werkzeugs

15.3.2     Festlegung von Anforderungen

15.3.3     Evaluation

15.3.4     Auswertung und Auswahl des zu beschaffenden Werkzeugs

15.4    Einführung des ausgewählten Werkzeugs

15.5    Der weitere Lebenszyklus eines Werkzeugs

15.5.1     Betrieb

15.5.2     Weiterentwicklung

15.5.3     Außerbetriebnahme

15.6    Werkzeuge für das Testmanagement

15.7    Zusammenfassung

16     Kompetenzen und Teamzusammensetzung

16.1    Teamrollen und Qualifikationsprofile

16.2    Individuelle Kompetenz

16.3    Mitarbeiter auswählen

16.4    Soziale Teamrollen

16.5    Faktor Motivation

16.6    Aus- und Weiterbildung

16.7    Zusammenfassung

Anhang

A     Glossar

B     Quellenverzeichnis

B.1     Literatur

B.2     Normen und Standards

B.3     WWW-Seiten

Index

1 Einleitung

Große Abhängigkeit von Software

Unser Alltag ist wie nie zuvor abhängig von Software und softwarebasierten Systemen. Es gibt kaum noch Geräte, Maschinen oder Anlagen, deren Funktion oder Steuerung nicht über Software bzw. Softwareanteile realisiert wird. Aber auch Verwaltungsvorgänge in Industrie und Staat werden durch oft komplexe IT-Systeme getragen. Die Verwaltung von Versicherungspolicen, das Mautsystem »TollCollect«, biometrische Merkmale in Pass und Personalausweis oder die elektronische Gesundheitskarte sind hierfür Beispiele.

Testen von Software ist eine eigenständige Berufsdisziplin.

Diese starke Abhängigkeit von Software erfordert immer höhere Investitionen in qualitätssichernde Maßnahmen, damit die IT-Systeme möglichst zuverlässig ihre Aufgaben erfüllen. Das Testen von Software hat sich vor diesem Hintergrund zu einer spezialisierten, eigenständigen Fachrichtung und Berufsdisziplin der Informatik entwickelt. Dies belegen auch die Ergebnisse der 2011 in Deutschland, Österreich und der Schweiz durchgeführten Umfrage zu Entwicklungen und Trends im Bereich Testen und Qualitätssicherung in Unternehmen. Über 80% der Befragten befürworten spezielle Weiterbildungen im Bereich der Qualitätssicherung [URL: Softwaretest-Umfrage].

Testmanagement

Innerhalb der Disziplin Softwaretest hat das Thema »Testmanagement« besondere Bedeutung. Das Testmanagement umfasst klassische Methoden des Projektmanagements und des Risikomanagements sowie das Wissen um den zweckmäßigen Einsatz wohldefinierter Testentwurfsverfahren. Mit diesem Handwerkszeug ausgerüstet, kann der Testmanager1 geeignete Maßnahmen zielgerichtet auswählen und umsetzen, die sicherstellen, dass eine bestimmte Mindestqualität des Produkts erreicht wird. Er verfolgt dabei ein ingenieurmäßiges Vorgehen.

Ausbildung für Testmanager

Während die Ausbildung zum Projektmanager seit Langem etabliert ist und eine Vielzahl von Studiengängen, Ausbildungsprogrammen und Spezialliteratur existiert (s. beispielsweise [Hindel 09], [Spitczok von Brisinski 2010], [Pichler 07] oder [Pichler 11]), waren die Ausbildungsinhalte zum »Softwaretestmanager« lange Zeit kaum definiert oder gar standardisiert. Angesichts der steigenden Verantwortung, die Testmanager im Rahmen ihrer Tätigkeit übernehmen, war das ein unerfreulicher Zustand.

ISTQB Certified Tester – Advanced Level – Testmanager

Mit dem »ISTQB Certified Tester – Advanced Level – Testmanager« steht mittlerweile ein international anerkanntes Ausbildungsschema zur Verfügung, das auch für den Beruf des Testmanagers Lehrinhalte und Qualifizierungsmodule definiert. Das vorliegende Buch »Praxiswissen Softwaretest – Testmanagement« vermittelt diese Lehrinhalte und kann als Lehrbuch bei der Vorbereitung auf die entsprechende Zertifizierung dienen.

Foundation Level

Das »ISTQB Certified Tester«-Qualifizierungsprogramm ist dreistufig aufgebaut. Die Grundlagen des Softwaretests sind im Lehrplan »Foundation Level« beschrieben [URL: GTB CTF]. Dieser Lehrstoff ist im Buch »Basiswissen Softwaretest« (s. [Spillner 12]) ausführlich dargestellt.

Advanced Level

Der »Advanced Level«-Lehrplan [URL: GTB CTA] umfasst weiterführende Kenntnisse im Prüfen und Testen von Software und zeigt drei Spezialisierungsmöglichkeiten auf:

Diese Aufteilung entspricht auch der Struktur des Lehrstoffs, wie sie von vielen akkreditierten Weiterbildungsanbietern vorgenommen wird. Da der Lehrstoff des »Advanced Level« sehr umfassend ist, wird dieser im vorliegenden Buch nicht komplett behandelt, sondern ausschließlich das Modul »Advanced Level – Testmanager«.

Expert Level

Die dritte Stufe, »Expert Level«, richtet sich an erfahrene, professionelle Softwaretester und besteht aus einer Reihe von Modulen zu unterschiedlichen Spezialthemen. Seit 2011 sind die Lehrpläne zu den Modulen »Improving the Testing Process – Implementing Improvement and Change« [Bath 14] und »Test Management – Managing Testing, Testers, and Test Stakeholders« veröffentlicht [URL: GTB CTE]. Geplant sind weitere Themen wie Test Automation, Security Testing, TTCN-3 [URL: TTCN-3] u.a.

Add-on-Erweiterungen

Es ist geplant, aktuelle Themen oder branchenorientierte Spezialgebiete im »Certified-Tester«-Schema bedarfsorientiert und kurzfristig im Rahmen sogenannter »Extensions« der Foundation- und Advanced-Level-Lehrpläne zu berücksichtigen. Als erster Extension-Baustein wird in 2014 »Foundation Level Extension Syllabus Agile Tester« veröffentlicht.

International Software Testing Qualifications Board (ISTQB)

Das »ISTQB« [URL: ISTQB] sorgt weltweit für die Einheitlichkeit und Vergleichbarkeit der Lehr- und Prüfungsinhalte unter allen beteiligten Ländern. In ihm sind mittlerweile knapp 50 nationale Initiativen und Verbände aus über 70 Ländern zusammengeschlossen. Weitere nationale Boards werden hinzukommen.

Nationale Testing Boards

Die nationalen Testing Boards sind in einem oder mehreren Ländern als unabhängige Expertengremien dafür zuständig, Ausbildung (Akkreditierung der Weiterbildungsanbieter) und Prüfungen (Zertifizierung durch eine unabhängige Institution) in den jeweiligen Ländern und Landessprachen zu ermöglichen und die Einhaltung der ISTQB-Standards zu überwachen.

Basiswissen wird vorausgesetzt.

Die drei ISTQB-Ausbildungsstufen bauen aufeinander auf. Das vorliegende Buch »Praxiswissen Softwaretest – Testmanagement« setzt den Stoff des »Foundation Level« voraus. Lesern, die neu in das Thema Softwaretest einsteigen, wird daher empfohlen, sich den Stoff des »Foundation Level« anzueignen. Dies kann durch den Besuch eines akkreditierten Seminars erfolgen oder durch das Durcharbeiten des Buches »Basiswissen Softwaretest« (s. [Spillner 12]). Im vorliegenden Buch werden lediglich knappe Wiederholungen der wichtigsten Grundlagen geboten.

1.1 Basiswissen – komprimiert

Im Folgenden wird der Inhalt des Lehrplans »Foundation Level« und somit auch das Buch »Basiswissen Softwaretest« kurz zusammengefasst.

Maßnahmen zur Verbesserung der Softwarequalität

Es gibt eine Vielzahl von Ansätzen und Vorschlägen, die Qualität der Software durch vorbeugende (konstruktive) Maßnahmen und den Einsatz von prüfenden (analytischen) Verfahren und Methoden zu verbessern. Zu den wichtigsten Maßnahmen gehören:

Qualitätsziele und Qualitätsmerkmale

Testmanager müssen diese Methoden, Techniken und Prozesse beherrschen oder zumindest kennen, um im Projektverlauf die der jeweiligen Situation angemessenen Maßnahmen auswählen und anwenden zu können. Die Eignung von qualitätssichernden Maßnahmen ist aber auch abhängig von den jeweils gesetzten Qualitätszielen. Das geforderte Qualitätsniveau kann dabei anhand verschiedener Qualitätsmerkmale definiert werden. Einen Katalog solcher Qualitätsmerkmale (z.B. Funktionalität, Zuverlässigkeit oder Benutzbarkeit) definiert die Norm [ISO 9126]2 (s.a. [ISO 25010]).

Testorakel

Wann liegt ein Defekt oder Fehler vor und was ist unter diesen Begriffen zu verstehen? Eine Situation oder ein Ergebnis kann nur dann als fehlerhaft eingestuft werden, wenn vorab festgelegt wurde, wie die erwartete, korrekte Situation bzw. das erwartete Ergebnis aussieht. Wird eine Image3 Abweichung zwischen dem beobachteten Istverhalten und dem erwarteten Sollverhalten festgestellt, liegt ein Fehler vor. Um Sollwerte bzw. das Sollverhalten zu ermitteln, ist eine Testbasis bzw. ein sogenanntes Testorakel als Informationsquelle erforderlich. Anforderungsdokumente, eine formale Spezifikation oder auch das Benutzungshandbuch sind Beispiele für solche Informationsquellen.

Fehlerbegriff

Der Begriff »Fehler« ist unpräzise. Es ist zwischen Fehlhandlung (engl. error), Fehlerzustand (engl. fault) und Fehlerwirkung (engl. failure) zu unterscheiden. Eine Fehlhandlung einer Person führt beispielsweise zu einer fehlerhaften Programmierung. Dadurch enthält das Programm einen Fehlerzustand, der zu einer »von außen« sichtbaren Fehlerwirkung führen kann, aber nicht zwangsläufig führen muss. Meist kommt ein Fehlerzustand erst bei nicht alltäglichen Situationen zum Tragen, z.B. wirkt sich eine fehlerhafte Berechnung des Schaltjahrs erst am 29. Februar eines Schaltjahrs aus. Abbildung 1–1 soll den Zusammenhang zwischen Fehlhandlung, Fehlerzustand und Fehlerwirkung veranschaulichen und darstellen, welche Gegenmaßnahmen bzw. Methoden zur Aufdeckung angewendet werden können.

Testbegriff

Ähnlich dem Fehlerbegriff ist auch der Begriff »Testen« mit verschiedenen Bedeutungen belegt. Mit Testen wird oft der gesamte Prozess bezeichnet, ein Programm auf systematische Weise zu prüfen, um Vertrauen in die korrekte Umsetzung der Anforderungen4 zu gewinnen und um Fehlerwirkungen nachzuweisen. Es ist auch ein Oberbegriff für alle Tätigkeiten und (Test-)Stufen im Testprozess. Jede einzelne Ausführung eines Testobjekts unter spezifizierten Bedingungen zum Zwecke der Überprüfung der Einhaltung der erwarteten Ergebnisse wird ebenso als Testen bezeichnet.

Image

Abb. 1–1 Zusammenhang zwischen den Fehlerbegriffen

Fundamentaler Testprozess

Testen umfasst eine Vielzahl von Einzelaktivitäten. Folgender fundamentaler Testprozess ist im Lehrplan »Foundation Level« definiert. Zum Prozess gehören folgende Aktivitäten:

Teststufen

Beim Testen kann das zu testende Produkt (Testobjekt) auf unterschiedlichen Abstraktionsebenen bzw. auf der Basis unterschiedlicher Dokumente und Entwicklungsprodukte betrachtet werden. Die entsprechende Bezeichnung ist ImageTeststufe. Es wird zwischen den Stufen Komponententest, Integrationstest, Systemtest und Abnahmetest unterschieden. Jede Teststufe zeichnet sich durch charakteristische Testziele, Testentwurfsverfahren und Testwerkzeuge aus.

Testarten

Daneben werden ImageTestarten unterschieden, die sich wie folgt abgrenzen lassen: funktionaler Test, nicht funktionaler Test, strukturbasierter Test und änderungsbezogener Test (s. [Spillner 12, Abschnitt 3.7]).

Statische und dynamische Prüfung

Beim Testen kann unterschieden werden, ob das Testobjekt zur Prüfung auf dem Rechner ausgeführt wird oder ob »nur« der zugehörige Programmtext, die zugrunde liegende Spezifikation oder Dokumentation geprüft wird. Im ersten Fall handelt es sich um sogenannte dynamische Prüfungen (mit den Vertretern Blackbox- und Whitebox-Testentwurfsverfahren, s. [Spillner 12, Kap. 5]), im zweiten Fall um statische Prüfungen (vertreten u.a. durch verschiedene Reviewarten und werkzeuggestützte statische Analysen, s. [Spillner 12, Kap. 4]).

Unabhängigkeit zwischen Test und Entwicklung

Unabhängig davon, welche Methoden zum Testen eingesetzt werden, sollen Entwicklung/Programmierung und Test organisatorisch möglichst getrennt bzw. unabhängig voneinander ablaufen. Denn ein Entwickler, der sein eigenes Programm testet, ist »blind« gegenüber eigenen Fehlhandlungen. Wer weist sich schon gerne seine eigenen Fehler nach?

Testwerkzeuge

Für das Testen von Software gibt es eine Vielzahl unterstützender Werkzeuge. Je nach Einsatzzweck werden verschiedene Werkzeugklassen unterschieden: u.a. Werkzeuge für Management und Steuerung von Tests, Werkzeuge zur Testspezifikation, zum statischen und dynamischen Test und für nicht funktionale Tests (s. [Spillner 12, Kap. 7]).

Testmanagement

Im »Foundation Level« werden auch schon die grundlegenden Aspekte des Testmanagements behandelt. Neben Testplanung, Teststeuerung und Berichtswesen gehören hierzu auch die Themen Fehler-, Änderungs- und Konfigurationsmanagement sowie das Thema Wirtschaftlichkeit des Testens (s. [Spillner 12, Kap. 6]). Das vorliegende Buch vertieft diese Aufgaben des Testmanagements.

Zur Veranschaulichung des Stoffs wird in diesem Buch das Fallbeispiel aus dem »Basiswissen«-Buch fortgesetzt:

Fallbeispiel »VirtualShow-Room« – VSR

Ein Automobilkonzern entwickelt ein neues elektronisches Verkaufssystem, genannt VirtualShowRoom (VSR). Das Softwaresystem soll in der Endausbaustufe weltweit bei allen Händlern installiert sein. Jeder Kunde, der ein Fahrzeug erwerben möchte, kann dann unterstützt durch einen Verkäufer oder vollkommen selbstständig sein Wunschfahrzeug am Bildschirm konfigurieren (Modellauswahl, Farbe, Ausstattung usw.).

Das System zeigt mögliche Modelle und Ausstattungsvarianten an und ermittelt zu jeder Auswahl des Kunden sofort den jeweiligen Listenpreis. Diese Funktionalität wird vom Teilsystem DreamCar realisiert.

Hat sich der Kunde für ein Fahrzeug entschieden, kann er am Bildschirm die für ihn optimale Finanzierung kalkulieren (EasyFinance), das Fahrzeug online bestellen (JustInTime) und bei Bedarf auch die passende Versicherung (NoRisk) abschließen. Das Teilsystem ContractBase verwaltet sämtliche Kundeninformationen und Vertragsdaten. Abbildung 1–2 zeigt eine schematische Darstellung des Systems.

Image

Abb. 1–2 Architektur des VSR-Systems

Jedes Teilsystem wird von einem eigenen Entwicklungsteam separat entworfen und entwickelt. Insgesamt sind ca. 50 Entwickler und weitere Mitarbeiter aus den jeweils betroffenen konzerninternen Fachabteilungen an dem Projekt beteiligt sowie externe Softwarefirmen.

Im »Basiswissen«-Buch wurden die verschiedenen ImageTestentwurfsverfahren und Vorgehensweisen beschrieben, um das System gründlich zu testen, bevor das VSR-System in Betrieb geht.

Die Entwicklung des VSR-2 folgt einem iterativen Entwicklungsprozess. Aus dem vorhandenen VSR-1 soll mit vier aufeinanderfolgenden Iterationen der VSR-2 entstehen. Dafür ist eine Entwicklungsdauer von einem Jahr vorgesehen. Es wird also etwa quartalsweise eine Zwischenversion geben.

Jede neue Version soll die Funktionalität der Vorgängerversion weiterhin korrekt bereitstellen. Allerdings kann der eine andere, vielleicht bessere oder effizientere Implementierung zugrunde liegen. Zusätzlich implementiert jede Version erstmalig einen Satz neuer Funktionen.

Der Produktmanager erwartet vom Testmanager daher zweierlei:

Die Aufgaben, die bei einer solchen Problemstellung vom Testmanager zu erfüllen sind, werden in den folgenden Kapiteln behandelt und anhand obigen Beispiels jeweils verdeutlicht.

1.2 Praxiswissen Testmanagement – Übersicht

Praxiswissen – Kapitelübersicht

Die Themen des Buches und die Inhalte der einzelnen Kapitel sind im Folgenden kurz beschrieben. Die Marginalien zitieren die im Übersichtsdokument zu den Lehrplänen des Certified Tester – Advanced Level angegebenen Punkte zum geschäftlichen Nutzen von Testmanagern:

Ein erfolgreicher Testmanager kann [CTAL 12] …

... ein Testprojekt leiten und die für die Testorganisation festgelegten Aufgaben, Ziele und Testprozesse umsetzen;

… Risikoidentifizierung und -analysesitzungen organisieren und leiten, und deren Ergebnisse für die Planung, Aufwandsschätzung, Überwachung und Steuerung der Testaktivitäten verwenden;

… Testkonzepte erstellen und umsetzen, die der Richtlinie und der Teststrategie der Organisation entsprechen;

… die Testaktivitäten zur Erreichung der Projektziele kontinuierlich überwachen und steuern;

… den relevanten Teststatus bewerten und den Projektbeteiligten zeitgerecht darüber berichten;

… wirtschaftliche Argumente für Testaktivitäten vorbringen und darlegen, welche Kosten und Nutzen zu erwarten sind;

… die angemessene Kommunikation zwischen den Mitgliedern des Testteams untereinander sowie zwischen Testteam und anderen Projektbeteiligten sicherstellen;