Praxiswissen Softwaretest Test Analyst und Technical Test Analyst



Ähnliche Dokumente
Praxiswissen Softwaretest Test Analyst und Technical Test Analyst

Praxiswissen Softwaretest Test Analyst und Technical Test Analyst

Praxiswissen Softwaretest Test Analyst und Technical Test Analyst

1 Einführung Ein Wort zur Klärung:

Über die Herausgeber

Dipl.-Inform. Sven Röpstorff Dipl.-Kaufm. Robert Wiechmann

Mike Burrows Übersetzer: Florian Eisenberg Wolfgang Wiedenroth

1 Einführung Ein Wort zur Klärung:

Im Rahmen seiner Beratertätigkeit veröffentlicht er Artikel und hält Vorträge und Schulungen zu diesen und weiteren Themen.

Die Computerwerkstatt

Praxiswissen Softwaretest- Technical Test Analyst. Test Analyst und. dpunkt.verlag. Judy McKay. Advanced Level nach ISTQB-Standard

2 Marathon unsere Beispielanwendung 9


VMware vrealize Automation Das Praxisbuch

Nicolai Josuttis. SOA in der Praxis. System-Design für verteilte Geschäftsprozesse

Basiswissen Software-Projektmanagement

IT-Projektverträge: Erfolgreiches Management

Basiswissen Medizinische Software

Michael Kurz Martin Marinschek

München 2014) und»uml2 glasklar«(carl Hanser Verlag München

Dominik Schadow. Java-Web-Security. Sichere Webanwendungen mit Java entwickeln

Basiswissen Software- Projektmanagement

Basiswissen Softwaretest

Basiswissen Softwaretest

Maik Schmidt arbeitet seit beinahe 20 Jahren als Softwareentwickler für mittelständische und Großunternehmen. Er schreibt seit einigen Jahren

Dr. Michael Hahne

Cloud-Computing für Unternehmen

Basiswissen Medizinische Software

Konfigurationsmanagement mit Subversion, Ant und Maven

Fotografieren lernen Band 2

Basiswissen Softwaretest

Prof. Dr. Matthias Knoll

Dr. Carola Lilienthal

arbeitete im Max-Planck-Institut und an der Uni Köln. Von ihm sind bereits mehrere Bücher zu Webthemen erschienen.

Uwe Vigenschow Andrea Grass Alexandra Augstin Dr. Michael Hofmann

Professionell blitzen mit dem Nikon Creative Lighting System

IT-Servicemanagement mit ITIL V3

Tilman Beitter Thomas Kärgel André Nähring Andreas Steil Sebastian Zielenski

Software modular bauen

IT-Controlling für die Praxis

er auch mit dem 3D-Programm Blender in Kontakt, über das er bisher zahlreiche Vorträge hielt und Artikel in Fachzeitschriften veröffentlichte.

Praxiswissen Softwaretest

IT-Service-Management mit ITIL 2011 Edition

Praxisbuch BI Reporting

JavaScript kinderleicht!

Leit-Bild. Elbe-Werkstätten GmbH und. PIER Service & Consulting GmbH. Mit Menschen erfolgreich

Das Leitbild vom Verein WIR

Helge Dohle Rainer Schmidt Frank Zielke Thomas Schürmann ISO Eine Einführung für Manager und Projektleiter

Warum tun manche Menschen nicht das, was Sie als Führungskraft von ihnen erwarten?

Kim Nena Duggen ist Vorstand und Trainerin der oose Innovative Informatik eg. Ihre thematischen Schwerpunkte sind das Geschäftsprozessmanagement,

ipad Air 2 und ipad mini 3

Praxiswissen TYPO3 CMS 7 LTS

DER SELBST-CHECK FÜR IHR PROJEKT

Systemen - Einleitung

Maik Schmidt

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

Datensicherung. Beschreibung der Datensicherung

Projektmanagement in der Spieleentwicklung

CNC-Fräsen für Maker und Modellbauer

Welches Übersetzungsbüro passt zu mir?

Ablauf Vorstellungsgespräch

IT-Servicemanagement mit ITIL V3

Meine Lernplanung Wie lerne ich?

Über die Autoren.

GPP Projekte gemeinsam zum Erfolg führen

Das Persönliche Budget in verständlicher Sprache

Lizenzierung von StarMoney 8.0 bzw. StarMoney Business 5.0 durchführen

Graham Bath Judy McKay

SEO Strategie, Taktik und Technik

Dipl.-Inform. Henning Wolf Prof. Dr. ir. Rini van Solingen Eelco Rustenburg

Senior Consulting. Senior Consulting Strategical, Conceptual and Technical Consulting Seite 1

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Geld verdienen als Affiliate

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Elisabeth Hendrickson Übersetzerin: Meike Mertsch

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

dpunkt.lehrbuch Bücher und Teachware für die moderne Informatikausbildung

Scholz (Hrsg.) / Krämer / Schollmayer / Völcker. Android-Apps. Konzeption, Programmierung und Vermarktung

Nicht kopieren. Der neue Report von: Stefan Ploberger. 1. Ausgabe 2003

«PERFEKTION IST NICHT DANN ERREICHT, WENN ES NICHTS MEHR HINZUZUFÜGEN GIBT, SONDERN DANN, WENN MAN NICHTS MEHR WEGLASSEN KANN.»

Einführung und Motivation

Senior Consulting. Senior Consulting Strategical, Conceptual and Technical Consulting Seite 1

Leitbild. für Jedermensch in leicht verständlicher Sprache

Mehr Geld verdienen! Lesen Sie... Peter von Karst. Ihre Leseprobe. der schlüssel zum leben. So gehen Sie konkret vor!

impact ordering Info Produktkonfigurator

~~ Swing Trading Strategie ~~

StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung.

Lizenzierung von StarMoney 9.0 bzw. StarMoney Business 6.0 durchführen

Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang

Anleitung Selbststudium

Seminar- & Zertifizierungsprogramm 2010

Lernerfolge sichern - Ein wichtiger Beitrag zu mehr Motivation

Anleitung zum Computercheck Windows Firewall aktivieren oder eine kostenlose Firewall installieren

Praxiswissen Softwaretest

Primzahlen und RSA-Verschlüsselung

Praxiswissen Softwaretest Testmanagement

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost

Transkript:

Praxiswissen Softwaretest Test Analyst und Technical Test Analyst

Graham Bath ist seit über 25 Jahren in der Welt des Softwaretestens tätig. Seine Erfahrung und Expertise umspannen eine breite Palette verschiedener Fachgebiete und Technologien. Als Testmanager trug er die Verantwortung für das Testen missionskritischer Systeme in der Raumfahrt, der Telekommunikation und der polizeilichen Störungskontrolle. Er war verantwortlich für den Entwurf von Tests höchster Gründlichkeitsstufen im Bereich Echtzeit-Luftfahrtsysteme, z.b. für die Militärflugzeuge Tornado und Eurofighter. Als einer der Hauptberater der T-Systems Test Factory leitete er die Qualitätsförderungsprogramme mehrerer großer Unternehmen, insbesondere im Finanz- und Regierungssektor. In seiner aktuellen Position ist Graham Bath für das Fortbildungsprogramm des Unternehmens verantwortlich und führt die Testexperten der Test Factory in innovative Testlösungen ein. Graham Bath ist Mitverfasser des Lehrplans zum ISTQB-Advanced-Level. Er ist ein langjähriges Mitglied des German Testing Board und Vorsitzender der zugehörigen Arbeitsgruppe für den Advanced-Level-Lehrplan. Judy McKay ist seit 20 Jahren mit dem Schwerpunkt Softwarequalitätssicherung in der Hightech-Branche tätig. Ihre Berufspraxis deckt alle Aspekte des Softwarelebenszyklus ab. Hierzu zählen Bedarfsentwurf und -analyse, Softwareentwicklung, Datenbankentwurf, Sicherung der Softwarequalität, Softwaretests, technische Kundenbetreuung, Fachleistungen, Konfigurationsmanagement, technische Veröffentlichungen und Softwarelizenzierung. Judy McKay hat in kommerziellen Softwareunternehmen, der Raumfahrtbranche, internationaler Forschung und Entwicklung, Vernetzungsprojekten und Internetunternehmen gearbeitet. Judy McKay bietet auch Fortbildungen und Beratungsdienste zur Softwarequalitätssicherung an. Zu den Themen zählen der Aufbau und die Pflege eines erstklassigen Qualitätssicherungssteams, der Entwurf und die Implementierung von Qualitätssicherung und effektiven Tests sowie die Erstellung und Implementierung aussagekräftiger Testdokumentationen und Metriken. Sie ist Mitverfasserin des Lehrplans zum ISTQB- Advanced-Level und Mitglied im Sachverständigenrat des American Testing Board. Sie ist Autorin des Buches Managing the Test People (RockyNook).

Graham Bath Judy McKay Praxiswissen Softwaretest Test Analyst und Technical Test Analyst Aus- und Weiterbildung zum Certified Tester Advanced Level nach ISTQB-Standard

Graham Bath, graham.bath@t-systems.com Judy McKay, judyamckay@earthlink.net Lektorat: Christa Preisendanz Übersetzung: Julia Neumann, www.textart-translations.com Copy-Editing: Ursula Zimpfer, Herrenberg Herstellung: Nadine Thiele 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-89864-735-9 PDF 978-3-86491-036-4 epub 978-3-86491-037-1 2., durchgesehene Auflage 2011 Translation copyright für die deutschsprachige Ausgabe 2010 dpunkt.verlag GmbH Ringstraße 19 B 69115 Heidelberg Copyright der amerikanischen Originalausgabe 2008 by Graham Bath and Judy McKay Title of American original: The Software Test Engineer's Handbook Rocky Nook Inc., Sants Barbara, www.rockynook.com ISBN 978-1-933952-24-6 Fachliche Beratung und Herausgabe von dpunkt.büchern zum Thema»ISTQB Certified Tester«: Prof. Dr. Andreas Spillner Andreas.Spillner@hs-bremen.de 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

v Geleitwort Softwaretest etabliert sich als eine der Grundfesten der Qualitätssicherung in Unternehmen. Damit Tester dieser essenziellen Rolle gerecht werden können, bedarf es einer fundierten Qualifizierung zur Professionalisierung des Softwaretestens. Mit dem international anerkannten»istqb Certified Tester«-Weiterbildungsprogramm existiert ein Branchenstandard, der die Kernkompetenzen des Berufsbildes festlegt und sowohl theoretische Begriffsdefinitionen als auch erforderliches Praxiswissen vereinheitlicht vermittelt. Viele Unternehmen haben die ISTQB-Qualifikation in die eigene Mitarbeiterfortbildung integriert und machen sie in Stellenausschreibungen für Bewerber zur Pflicht. Das vorliegende Buch richtet sich an Softwaretester, deren Beruf gleichzeitig Berufung ist: Sie haben Ihre Fähigkeiten bereits in Testprojekten unter Beweis gestellt, sind»istqb Foundation Level«-zertifiziert und können in einem Projekt die Rolle eines»istqb Advanced Tester«übernehmen: Testmanager, Test Analyst oder Technical Test Analyst. Welche besonderen Fähigkeiten und Fertigkeiten von Test Analyst und Technical Test Analyst erwartet werden, erfahren Sie auf den folgenden Seiten. Die Autoren haben sich große Verdienste bei der Weiterentwicklung des Certified-Tester-Schemas erworben. Dieses Buch komplettiert die Reihe der Module des ISTQB-Standards. Alle Lerninhalte des Buches decken sich mit den Vorgaben des ISTQB-Standards, sodass Ihre Weiterbildung den Kriterien Unabhängigkeit, Transparenz und internationale Akzeptanz in vollem Umfang genügt. Denn: 1. Professionalisierung tut not: Software muss zuverlässig sein, also müssen auch die Entwickler verlässlich ausgebildet sein. Sonst gehen mit Vertrauensverlusten in Softwaresysteme auch Auftragsund Arbeitsplatzverluste einher. 2. Lebenslanges Lernen wird zur Pflicht: Software wird immer komplexer, die Anforderungen steigen täglich. Lebenslanges Lernen ist

vi Geleitwort daher unabdingbar, da die Erstausbildung nicht mehr aktuell und meist zu übergreifend allgemein ist. 3. Die Hersteller- und produktunabhängige Standardisierung schafft Transparenz und damit wiederum Akzeptanz und allgemeine Gültigkeit. Nationale und internationale Vergleichbarkeit von Berufsqualifikationen ist in der heutigen globalen Zusammenarbeit für Arbeitgeber und -nehmer von gleichem Vorteil und sichert die internationale Kooperations- und Wettbewerbsfähigkeit. Das International Software Quality Institute (isqi GmbH) zertifiziert in 40 Ländern auf 6 Kontinenten das Know-how von (IT-)Fachkräften. Weit über 100.000 Professionals sind nach dem ISTQB-Lehrplan geschult und haben ihre Kenntnisse durch die Zertifizierungsabschlussprüfung unter Beweis gestellt. Ich freue mich, dass Sie sich entschlossen haben, ein Teil dieser weltweiten Testergemeinde zu werden und wünsche Ihnen Freude beim Durcharbeiten des Buches, viel Erfolg bei der späteren Zertifizierungsprüfung und schließlich gutes Gelingen Ihrer Projekte! Stephan Goericke Director International Software Quality Institute

vii Vorwort Mit diesem Buch schließen Sie eine Lücke zwischen den Softwaretestbüchern in Ihrer Fachbibliothek. Zwar gibt es viel gute Literatur zu den grundlegenden Testtechniken, aber nur relativ wenige Bücher decken sowohl funktionales als auch technisches Testen in ausgewogenem Maße ab. Dieses Buch fügt sowohl funktionale als auch technische Aspekte des Testens zu einem einheitlichen Ganzen zusammen, wovon nicht nur Test Analysts, sondern auch Testmanager profitieren können. Test Analysts und Testmanager leben nicht in einer abgeschotteten Welt; effektive Kommunikation, z. B. mit anderen Testern, spielt eine große Rolle. Um sich effektiv verständigen zu können, müssen sie sowohl die funktionalen als auch die technischen Aspekte des Testens verstehen, einschließlich der erforderlichen Testtechniken. Dieses Buch behandelt das Testen aller Qualitätsmerkmale der ISO-Norm 9126, einschließlich Performanz, Zuverlässigkeit, Sicherheit, Funktionalität, Benutzbarkeit, Wartbarkeit und Übertragbarkeit. Jedes Qualitätsmerkmal wird in Hinblick auf die einzelnen Schritte des vom International Software Testing Qualifications Board (ISTQB) festgelegten Standardtestprozesses behandelt. Dadurch wird eine abgerundete und ausgewogene Abdeckung dieser Qualitätsmerkmale erreicht. Der Inhalt dieses Buches basiert auf dem englischsprachigen Lehrplan zum Certified Tester, Advanced Level [ISTQB-CTAL], der 2007 vom ISTQB herausgegeben wurde. 1 Es werden alle Inhalte abgedeckt, die Sie kennen müssen, um die Prüfungen zum Erwerb der Advanced- Level-Zertifikate Test Analyst und Technical Test Analyst zu bestehen. Das Buch bietet allen, die an einer oder beiden Prüfungen teilnehmen möchten, eine solide Vorbereitungsbasis. Es wird deutlich angezeigt, Vollständige Abdeckung des 2007 erschienenen ISTQB-Lehrplans für den Test Analyst und Technical Test Analyst 1. Die vorliegende Übersetzung basiert auf dem deutschsprachigen Lehrplan zum Certified Tester, Advanced Level [URL: GTB].

viii Vorwort welche Abschnitte sich auf welche Prüfung beziehen. Alle prüfungsrelevanten Inhalte sind gekennzeichnet. Obwohl der Inhalt in erster Linie mit dem ISTQB-Advanced- Level-Lehrplan abgestimmt ist, haben wir Wert darauf gelegt, dass das Buch für jeden professionellen Tester von Nutzen sein kann. Wir haben daher den Lehrstoff um zusätzliche Informationen und Beispiele aus der Praxis erweitert.

ix Danksagung Unser Dank gilt unseren Kollegen im internationalen Autorenteam, mit denen wir in vielstündiger Arbeit den Lehrplan zum ISTQB Certified Tester, Advanced Level verfasst haben: Rex Black, Bernard Homès, Jayapradeep Jiothis, Paul Jorgensen, Vipul Kocher, Judy McKay, Thomas Müller, Klaus Olsen, Randy Rice, Jürgen Richter, Eric Riou du Cosquer, Mike Smith, Geoff Thompson, Erik van Veenendaal. Mein (Grahams) Dank gilt besonders: Prof. Dr. Andreas Spillner, meinem Kollegen im German Testing Board, für die Motivation, dieses Buch zu schreiben, meinen Kollegen bei T-Systems, Test Factory, für ihre Hilfsbereitschaft und Professionalität, meiner Familie (Elke, Christopher, Jennifer) für ihr Verständnis und ihre Geduld. Mein (Judys) Dank gilt besonders: Meiner Familie für ihre Hilfe und ihr Verständnis, Rex Black für das Eröffnen neuer Möglichkeiten sowie für seine Beratung und Hilfe bei der beruflichen Weiterentwicklung, den Mitarbeitern der Cedar Glen Inn, die mir erlaubten, in meinen verlängerten Mittagspausen dieses Buch in ihrem Restaurant zu schreiben, Gary Garman, der mir gezeigt hat, dass man, selbst wenn man schon an einer unglaublichen Anzahl an Projekten arbeitet, immer noch Platz für ein weiteres hat!

x Danksagung

xi Inhaltsverzeichnis 1 Einführung 1 1.1 Anforderungen an dieses Buch.............................. 2 1.1.1 Vollständigkeit................................... 2 1.1.2 Lesbarkeit....................................... 2 1.2 Was bedeutet»advanced«?................................. 5 1.3 Was ist ein»test Analyst«?................................ 6 2 Marathon unsere Beispielanwendung 9 2.1 Überblick über das Marathon-System......................... 9 2.2 Allgemeine Anforderungen................................ 11 2.3 Einsatz des Marathon-Systems............................. 11 2.4 Verfügbarkeit des Marathon-Systems........................ 13 2.5 Erweiterungen vorbehalten................................ 14 3 Aspekte des Testmanagements 15 3.1 Systemarten........................................... 15 3.1.1 Multisysteme................................... 16 3.1.2 Sicherheitskritische Systeme........................ 18 3.1.3 Echtzeit- und eingebettete Systeme................... 19 3.2 Testprozess............................................ 20 3.2.4 Testplanung und Teststeuerung...................... 21 3.2.5 Testanalyse und Testentwurf........................ 22 3.2.6 Testrealisierung und Testdurchführung................ 25 3.2.7 Testauswertung und Bericht........................ 27 3.2.8 Abschluss der Testaktivitäten....................... 28 3.3 Lernkontrolle.......................................... 28

xii Inhaltsverzeichnis 4 Spezifikationsorientierte Testverfahren 31 4.1 Einführung............................................ 31 4.2 Einzelne spezifikationsorientierte Testverfahren................ 32 4.2.1 Äquivalenzklassenbildung.......................... 33 4.2.2 Grenzwertanalyse................................ 38 4.2.3 Entscheidungstabellen und Ursache-Wirkungs-Graph-Analyse.................... 41 4.2.4 Zustandsbasiertes Testen........................... 46 4.2.5 Orthogonale Arrays und Paartabellen................. 49 4.2.6 Klassifikationsbäume.............................. 56 4.2.7 Anwendungsfallbasiertes Testen..................... 59 4.3 Auswahl eines spezifikationsorientierten Testverfahrens.......... 60 4.4 Blick in die Praxis....................................... 62 4.5 Lernkontrolle.......................................... 74 5 Strukturorientierte Testverfahren 77 5.1 Nutzen............................................... 77 5.2 Nachteile.............................................. 80 5.3 Anwendung von strukturorientierten Testverfahren............. 82 5.4 Einzelne strukturorientierte Testverfahren..................... 83 5.4.1 Anweisungstests.................................. 85 5.4.2 Entscheidungs-/Zweigtests.......................... 86 5.4.3 Einfache Bedingungstests........................... 88 5.4.4 Mehrfachbedingungstests........................... 90 5.4.5 Definierte Bedingungstests.......................... 91 5.4.6 Pfadtests........................................ 92 5.4.7 LCSAJ (Schleifentest).............................. 94 5.5 Auswahl eines strukturorientierten Testverfahrens.............. 94 5.6 Lernkontrolle.......................................... 99 6 Fehlerbasierte Testverfahren 101 6.1 Einführung........................................... 101 6.2 Taxonomien.......................................... 101 6.3 Blick in die Praxis...................................... 103 6.4 Lernkontrolle......................................... 104

Inhaltsverzeichnis xiii 7 Erfahrungsbasierte Testverfahren 105 7.1 Einführung........................................... 105 7.2 Intuitive Testfallermittlung............................... 106 7.3 Checklistenbasiertes Testen.............................. 108 7.4 Exploratives Testen.................................... 108 7.5 Fehlerangriffe (Attacken)................................ 110 7.6 Stärken und Schwächen................................. 110 7.7 Blick in die Praxis..................................... 112 7.8 Lernkontrolle......................................... 114 8 Analysetechniken 115 8.1 Statische Analyse...................................... 115 8.1.1 Nutzen....................................... 116 8.1.2 Grenzen....................................... 117 8.1.3 Kontrollflussanalyse............................. 118 8.1.4 Datenflussanalyse............................... 120 8.1.5 Einhaltung von Codierungsstandards................ 122 8.1.6 Ermittlung von Codemetriken...................... 124 8.1.7 Statische Analyse einer Webseite.................... 125 8.1.8 Aufrufgraphen.................................. 126 8.2 Dynamische Analyse.................................... 128 8.2.1 Nutzen....................................... 128 8.2.2 Grenzen....................................... 129 8.2.3 Speicherlecks................................... 130 8.2.4 Wilder Zeiger.................................. 132 8.2.5 Analyse der Performanz.......................... 135 8.3 Blick in die Praxis...................................... 136 8.4 Lernkontrolle......................................... 137 9 Testen der Softwareeigenschaften 139 9.1 Qualitätsmerkmale..................................... 139 9.2 Qualitätsmerkmale für den Test Analyst.................... 140 9.3 Qualitätsmerkmale für den Technical Test Analyst............ 140

xiv Inhaltsverzeichnis 10 Funktionales Testen 141 10.1 Einführung........................................... 141 10.2 Testen auf Richtigkeit................................... 142 10.3 Testen auf Angemessenheit............................... 144 10.4 Interoperabilitätstests................................... 145 10.5 Funktionale Sicherheitstests............................... 151 10.6 Blick in die Praxis...................................... 154 10.7 Lernkontrolle......................................... 158 11 Benutzbarkeits- und Zugänglichkeitstests 159 11.1 Benutzbarkeitstests..................................... 159 11.2 Effektivität........................................... 159 11.2.1 Effizienz...................................... 160 11.2.2 Zufriedenheit.................................. 160 11.3 Zugänglichkeitstests.................................... 161 11.4 Testprozess für Benutzbarkeits- und Zugänglichkeitstests........ 162 11.4.1 Planungsfragen.................................. 162 11.4.2 Testentwurf.................................... 163 11.4.3 Testdurchführung................................ 166 11.4.4 Berichterstattung................................ 167 11.5 Blick in die Praxis...................................... 169 11.6 Lernkontrolle......................................... 170 12 Effizienztests 171 12.1 Überblick............................................. 171 12.2 Performanztests........................................ 172 12.3 Lasttests............................................. 172 12.4 Stresstests............................................ 174 12.5 Skalierbarkeitstests..................................... 176 12.6 Testen der Ressourcennutzung............................. 177 12.7 Messen der Effizienz.................................... 178

Inhaltsverzeichnis xv 12.8 Planen von Effizienztests................................ 181 12.8.1 Risiken und typische Effizienzfehler................. 182 12.8.2 Verschiedene Arten von Testobjekten................ 183 12.8.3 Anforderungen für Effizienztests.................... 183 12.8.4 Vorgehensweisen für Effizienztests.................. 187 12.8.5 Bestanden-/Nicht-bestanden-Kriterien für Effizienztests.. 188 12.8.6 Werkzeuge für Effizienztests....................... 188 12.8.7 Umgebungen................................... 191 12.8.8 Organisatorische Fragen.......................... 192 12.8.9 Fragen zum Lebenszyklus......................... 193 12.9 Spezifikation von Effizienztests............................ 195 12.10 Durchführung von Effizienztests........................... 199 12.11 Berichterstattung von Effizienztests........................ 201 12.12 Werkzeuge für Effizienztests.............................. 202 12.13 Blick in die Praxis...................................... 203 12.14 Lernkontrolle......................................... 210 13 Sicherheitstests 211 13.1 Überblick über Sicherheitstests............................ 211 13.2 Definition von Sicherheit................................ 212 13.3 Planen von Sicherheitstests............................... 212 13.4 Typische Sicherheitsbedrohungen.......................... 212 13.4.1 Vorgehensweise für Sicherheitstests.................. 221 13.4.2 Organisatorische Fragen.......................... 224 13.4.3 Aspekte des Lebenszyklus......................... 224 13.5 Analyse und Entwurf von Sicherheitstests.................... 225 13.5.1 Softwareangriffe................................ 225 13.5.2 Weitere Entwurfstechniken für Sicherheitstests......... 226 13.6 Durchführung von Sicherheitstests......................... 227 13.7 Berichterstattung von Sicherheitstests....................... 228 13.8 Werkzeuge für Sicherheitstests............................ 228 13.9 Blick in die Praxis...................................... 229 13.10 Lernkontrolle......................................... 231

xvi Inhaltsverzeichnis 14 Zuverlässigkeitstests 233 14.1 Überblick............................................. 233 14.2 Planen von Zuverlässigkeitstests........................... 234 14.2.1 Bewertung des Risikos............................ 235 14.2.2 Festlegen von Zuverlässigkeitszielen.................. 237 14.2.3 Aspekte des Lebenszyklus.......................... 239 14.2.4 Vorgehensweise für Zuverlässigkeitstests.............. 239 14.2.5 Vorgehensweise für das Messen des Zuverlässigkeitsgrads. 240 14.2.6 Vorgehensweise für das Messen der Fehlertoleranz...... 240 14.2.7 Vorgehensweise für Failover-Tests................... 241 14.2.8 Vorgehensweise für Backup- und Wiederherstellungstests. 243 14.3 Spezifikation von Zuverlässigkeitstests...................... 244 14.3.1 Testspezifikation für das Zuverlässigkeitswachstum...... 244 14.3.1 Testspezifikation für die Fehlertoleranz............... 248 14.3.2 Spezifikation von Failover-Tests..................... 248 14.3.3 Spezifikation von Backup- und Wiederherstellungstests... 250 14.4 Durchführung von Zuverlässigkeitstests..................... 252 14.5 Berichterstattung von Zuverlässigkeitstests................... 253 14.6 Werkzeuge für Zuverlässigkeitstests........................ 254 14.7 Blick in die Praxis...................................... 254 14.8 Lernkontrolle......................................... 260 15 Wartbarkeitstests 263 15.1 Überblick............................................. 263 15.1.1 Definition von Wartungstests....................... 263 15.1.2 Definition von Wartbarkeit........................ 264 15.1.3 Warum hat die Wartbarkeit einen geringen Stellenwert?.. 266 15.2 Planung von Wartbarkeitstests............................ 268 15.2.1 Grundlegende Wartbarkeitsrisiken.................. 269 15.2.2 Ursachen schlechter Wartbarkeit.................... 269 15.2.3 Erarbeitung einer Testvorgehensweise................ 277 15.3 Blick in die Praxis...................................... 280 15.4 Lernkontrolle......................................... 282

Inhaltsverzeichnis xvii 16 Portabilitätstests 283 16.1 Anpassbarkeit......................................... 283 16.1.1 Gründe für mangelnde Anpassbarkeit............... 284 16.1.2 Anpassbarkeitstests............................. 285 16.2 Austauschbarkeit...................................... 286 16.2.1 Fragen der Austauschbarkeit....................... 287 16.2.2 Austauschbarkeitstests........................... 289 16.3 Installierbarkeit....................................... 289 16.3.1 Risikofaktoren der Installierbarkeit.................. 290 16.3.2 Installationstests................................ 293 16.4 Koexistenz........................................... 295 16.4.1 Koexistenztests................................. 296 16.5 Blick in die Praxis...................................... 297 16.6 Lernkontrolle......................................... 301 17 Reviews 303 17.1 Einführung........................................... 303 17.2 Welche Arbeitsergebnisse können wir einem Review unterziehen? 304 17.3 Wann sollten die Reviews durchgeführt werden?.............. 305 17.4 Welche Art von Review sollten wir durchführen?.............. 305 17.4.1 Informelles Review.............................. 306 17.4.2 Walkthroughs.................................. 307 17.4.3 Technische Reviews.............................. 307 17.4.4 Inspektionen................................... 307 17.4.5 Managementreviews............................. 308 17.4.6 Audits........................................ 308 17.4.7 Vertragsreviews................................. 309 17.4.8 Anforderungsreviews............................. 309 17.4.9 Designreviews.................................. 310 17.4.10 Akzeptanz-/Qualifikationsreviews................... 310 17.4.11 Betriebsbereitschaftsreviews....................... 311 17.5 Fragen zum Review.................................... 311 17.5.1 Wie können wir unser Review effektiv gestalten?....... 311 17.5.2 Haben wir die richtigen Leute?..................... 312 17.5.3 Wir haben die Fehler gefunden was nun?............ 315 17.5.4 Wir haben keine Zeit für Reviews!.................. 316 17.6 Checkliste für den Erfolg................................ 320 17.7 Blick in die Praxis...................................... 321 17.8 Lernkontrolle......................................... 322

xviii Inhaltsverzeichnis 18 Werkzeugkonzepte 323 18.1 Was ist ein Testwerkzeug?................................ 323 18.2 Warum setzen wir Werkzeuge ein?......................... 324 18.3 Werkzeugarten........................................ 325 18.3.1 Testmanagementwerkzeuge........................ 325 18.3.2 Fehlereinpflanzungswerkzeuge...................... 326 18.3.3 Simulations- und Emulationswerkzeuge............... 328 18.3.4 Statische und dynamische Analysewerkzeuge........... 329 18.3.5 Performanztestwerkzeuge.......................... 330 18.3.6 Hyperlink-Werkzeuge............................ 330 18.3.7 Debugging- und Troubleshooting-Werkzeuge.......... 331 18.3.8 Wie kann ich wissen, ob die Software funktioniert? (Orakel und Komparatoren)........................ 332 18.3.9 Werkzeuge zur Testausführung..................... 333 18.3.10 Sollte einfach ein Mitschnittwerkzeug eingesetzt werden?. 335 18.3.11 Datengetriebene Automatisierung................... 336 18.3.12 Schlüsselwortgetriebene Automatisierung.............. 338 18.3.13 Nutzen von Automatisierungstechniken............... 339 18.4 Integration von Werkzeugen.............................. 340 18.5 Weitere Werkzeugklassifizierungen......................... 342 18.6 Sollten wir alle unsere Tests automatisieren?.................. 343 18.7 Bestimmung der Kosten von Testwerkzeugen................. 345 18.8 Bestimmung der Nutzen von Testwerkzeugen................. 348 18.9 Kaufen oder selbst erstellen?.............................. 349 18.10 Pflege von Werkzeugen.................................. 350 18.11 Blick in die Praxis...................................... 351 18.12 Lernkontrolle......................................... 352 19 Abweichungsmanagement 353 19.1 Einführung........................................... 353 19.2 Was ist ein Fehler?...................................... 354 19.3 Fehlerklassifizierungsprozess.............................. 355 19.4 Fehlerlebenszyklen...................................... 359 19.5 Was sollte ein Fehlerbericht enthalten?...................... 361

Inhaltsverzeichnis xix 19.6 Metriken und Berichterstattung........................... 362 19.6.1 Überwachung des Testfortschritts................... 363 19.6.2 Analyse der Fehlerdichte.......................... 363 19.6.3 Messungen gefundener versus behobener Fehler........ 364 19.6.4 Konvergenzmetriken............................. 365 19.6.5 Möglichkeiten der Prozessverbesserung............... 366 19.6.6 Informationen zur Einhaltung der Phasen............. 368 19.6.7 Ist unsere Fehlerinformation objektiv?............... 370 19.7 Blick in die Praxis...................................... 372 19.8 Lernkontrolle......................................... 373 20 Kommunikationsfähigkeiten 375 20.1 Seine Rolle kennen..................................... 375 20.2 Ich habe alles im Griff. Warum hört mir niemand zu?.......... 376 20.3 Effektiver Einsatz Ihrer Sprachfähigkeiten................... 377 20.4 Ist unabhängiges Testen wünschenswert?.................... 378 20.5 Aktive Beteiligung..................................... 378 20.6 Aus dem Leben gegriffen................................ 379 20.7 Lernkontrolle......................................... 380 A Glossar 383 B Quellenverzeichnis 401 C Zuordnung zum Advanced-Lehrplan 407 Index 409

xx Inhaltsverzeichnis

1 1 Einführung Es war eine dunkle und stürmische Nacht... Oder war das der Anfang eines anderen Buches? Zumindest beschreibt dieser erste Satz sehr treffend, wie sich manche Testprojekte in einer ewigen Krise befinden und wie das Management oft im Dunkeln tappt aber lassen wir dies vorerst beiseite. Dieses Buch soll zwei Aufgaben erfüllen. Erstens bietet es hilfreiche Techniken und Methoden, die den erfahrenen Tester im Alltag erfolgreich unterstützen. Zweitens werden alle Inhalte abgedeckt, die Sie kennen müssen, um die Prüfung zum Erwerb der ISTQB-Advanced-Level-Zertifikate Test Analyst und Technical Test Analyst zu bestehen. Im ersten Kapitel beschreiben wir die Ziele, die wir uns für dieses Buch gesteckt haben, sowie die grobe Struktur der einzelnen Kapitel. Danach befassen wir uns mit zwei grundlegenden Fragen: Was bedeutet die Bezeichnung»advanced«im Zusammenhang mit der Tester-Zertifizierung und wie ist die Rolle des Test Analyst und Technical Test Analyst definiert? Anmerkung: Um eine einheitliche Berufsbezeichnung einzuführen, hat sich ISTQB für die Verwendung der Begriffe Test Analyst und Technical Test Analyst entschieden. Der Test Analyst konzentriert sich eher auf betriebswirtschaftliche als auf technische Aspekte, während der Technical Test Analyst technisch orientiert ist und in den meisten Fällen sehr viel Erfahrung mit Softwareentwicklung und Softwaretesten mitbringt. In diesem Buch werden analog zur ISTQB-Terminologie durchgängig die Begriffe Test Analyst und Technical Test Analyst verwendet.

2 1 Einführung 1.1 Anforderungen an dieses Buch Wir haben sehr hohe Anforderungen an dieses Buch gestellt. Bevor wir mit dem eigentlichen Inhalt des funktionalen und technischen Testens beginnen, möchten wir Ihnen kurz diese Anforderungen darlegen und gleichzeitig damit auch unsere allgemeine Vorgehensweise verdeutlichen. Unser Ziel war es, ein gut lesbares und vollständiges Buch zu schreiben. 1.1.1 Vollständigkeit Dieses Buch basiert auf dem englischsprachigen ISTQB-Advanced- Level-Lehrplan (2007, [ISTQB-CTAL]) 1 und deckt alle Inhalte ab, die Sie kennen müssen, um die Prüfungen zum Test Analyst und Technical Test Analyst zu bestehen. Außerdem können Sie mithilfe des vermittelten Wissens Ihre Fähigkeiten und Kenntnisse vertiefen und dadurch Ihre Chancen auf dem Arbeitsmarkt verbessern. 1.1.2 Lesbarkeit Die Abdeckung des Lehrplans ist nur eines der Ziele dieses Buches. Wenn man ein Buch auf der Basis eines bereits definierten Lehrplans schreibt, kann man leicht in einen Formulierungsstil verfallen, der sich lediglich auf die Behandlung des Lehrplans konzentriert. Natürlich ist es notwendig, die Inhalte des Lehrplans abzudecken. Das Ergebnis ist jedoch allzu oft ein eher trockener Stil, der sich an Definitionen orientiert und viele verschiedene Schriftarten und Symbole enthält, um auf einzelne Teile des Lehrplans zu verweisen. Dies wollten wir vermeiden. Wir möchten Ihnen ein Buch bieten, das den Lehrplan abdeckt und sich gleichzeitig gut liest. Wir möchten die Lesbarkeit dieses Buches erhöhen, indem jedes Kapitel dem gleichen Aufbau folgt: Technischer Inhalt Nach einer kurzen Einführung kommen wir zum eigentlichen technischen Inhalt des Kapitels. Die Lernziele des ISTQB-Advanced- Level-Lehrplans beschränken sich nicht nur auf die Wiedergabe von angeeignetem Wissen. Vielmehr sollen sie dabei helfen, das Gelernte anzuwenden und eine Basis für gut begründete Entscheidungen zu schaffen. Das Buch geht daher über die Inhalte des 1. Die vorliegende Übersetzung basiert auf dem deutschsprachigen Lehrplan zum Certified Tester, Advanced Level [URL: GTB].

1.1 Anforderungen an dieses Buch 3 Lehrplans hinaus und bietet Ihnen anschauliches Material, um Ihr Wissen weiter abzurunden. Blick in die Praxis Die meisten Kapitel enthalten einen Abschnitt mit dem Titel»Blick in die Praxis«. Dieser Abschnitt hilft Ihnen, das erlernte Wissen zu vertiefen und zu verinnerlichen. Auch bietet er eine willkommene Abwechslung vom typischen Lehrbuchstil, der bei lehrplanorientierten Veröffentlichungen unwillkürlich vorherrscht. Diese Abschnitte sind daher vor allem für Leser von Interesse, die sich nicht nur auf den ISTQB-Lehrplan konzentrieren. Wir beziehen uns hierbei auf unsere Marathon-Beispielanwendung (Beschreibung siehe Kapitel 2). Diese Beispielanwendung basiert auf einem realen System und wird uns durch das gesamte Buch begleiten. Auf diese Weise behalten wir die vielfältigen Aspekte des Testens stets im Auge. Lernkontrolle Am Ende jedes Kapitels geben wir Ihnen einen Überblick über die vermittelten Inhalte. Die im Laufe des Kapitels behandelten ISTQB-Begriffe werden in diesem Abschnitt aufgelistet. Die Definitionen dieser Begriffe finden Sie im [ISTQB-Glossar] sowie im Miniglossar in Anhang A. Das Buch enthält außerdem eine Liste mit konkreten Lernzielen. Diese basieren in erster Linie auf den Zielen des ISTQB- Advanced-Level-Lehrplans und werden vor allem für die Vorbereitung auf die Zertifizierungsprüfungen von Nutzen sein. Wo es sinnvoll erschien, haben wir die Lernziele des Lehrplans um unsere eigenen Ziele erweitert. Erfahrungsberichte und Lessons Learned Wir haben im Laufe unserer Berufsjahre einen umfangreichen Erfahrungsschatz gesammelt und möchten ein paar dieser Erfahrungen mit Ihnen teilen. Wie so oft im Leben verlaufen die Dinge nicht immer nach Plan. Diese Erfahrungen zeigen uns, dass eine Zertifizierung als Tester keine automatische Erfolgsgarantie darstellt in erster Linie deshalb, weil sich die Praxis nicht immer an die Theorie hält! Diese grau hinterlegten Textblöcke werden Sie durch das ganze Buch begleiten. Wer steckt hinter dem»ich«? Bei jedem Kapitel gibt es einen Hauptautor. Die nachfolgende Tabelle zeigt, wer welches Kapitel verfasst hat. Somit wissen Sie, wer mit»ich«gemeint ist, wenn wir Erfahrungen und Lessons Learned mitteilen sowie Vorkommnisse erzählen, die wir ansonsten gerne verdrängen. Eine realistische und komplexe Beispielanwendung aus der Praxis

4 1 Einführung Übungen Durch die Übungen lernen Sie, das theoretische Wissen anzuwenden. Diese Übungen werden Ihnen in den ISTQB-Prüfungen natürlich nicht begegnen (das wäre etwas zu einfach!). Tab. 1 1 Wer hat welches Kapitel geschrieben? Kapitel Titel Autor: Judy Autor: Graham 1 Einführung x x 2 Marathon unsere Beispielanwendung x 3 Aspekte des Testmanagements 3.1 Systemarten x 3.2 Testprozess x 4 Spezifikationsorientierte Testverfahren x 5 Strukturorientierte Testverfahren x 6 Fehlerbasierte Testverfahren x 7 Erfahrungsbasierte Testverfahren x 8 Analysetechniken x 9 Testen der Softwareeigenschaften x 10 Funktionales Testen x 11 Benutzbarkeitstests und Zugänglichkeitstests 12 Effizienztests x 13 Sicherheitstests x 14 Zuverlässigkeitstests x 15 Wartbarkeitstests x 16 Portabilitätstests x 17 Reviews x 18 Werkzeugkonzepte x 19 Abweichungsmanagement x 20 Kommunikationsfähigkeiten x x

1.2 Was bedeutet»advanced«? 5 1.2 Was bedeutet»advanced«? Wenn man sich als»advanced Tester«bezeichnet, kann das für viele ein rotes Tuch sein. Eine typische Reaktion darauf könnte folgendermaßen lauten:»gut, dann sehen wir doch mal, ob Sie dieses Problem lösen können.«konfrontiert mit dieser Herausforderung, sollte ein professioneller Tester in der Lage sein, die Bezeichnung»Advanced Tester«zu erklären. Hier sind für alle Fälle ein paar schnelle Antworten für Sie: Advanced Tester haben Softwaretesten als ihren Beruf gewählt und sind bereits vom ISTQB zertifiziert (Foundation Level). Sie haben ihre Fähigkeiten im Bereich Softwaretesten bereits auf theoretischer und praktischer Ebene unter Beweis gestellt und arbeiten auf einem hohen, international anerkannten Niveau. Sie haben bereits Erfahrungen mit Testprojekten gesammelt. Sie können in einem Projekt die Rolle des Testmanagers, Test Analyst oder des Technical Test Analyst übernehmen. Sie wissen, dass Lernen ein lebenslanger Prozess ist und man sich immer weiter verbessern kann. Sie haben daher höhere Chancen auf dem Arbeitsmarkt. Noch ein weiterer (teilweise umstrittener) Aspekt zum Thema Zertifizierung: Die Advanced-Level-Zertifizierung bringt keinerlei Garantie mit sich. Es gibt viele gute Tester, die nicht zertifiziert sind. Die Zertifizierung zeigt jedoch, dass Sie einen hohen professionellen Standard erreicht haben und dass Sie die allgemein anerkannte Sprache der Branche sprechen. Da die IT-Branche stark globalisiert ist und viele Testprojekte in mehreren Ländern durchgeführt werden, ist dies ein gewaltiger Vorteil. Wir, die Autoren, sind übrigens in allen drei Rollen auf dem Advanced Level zertifiziert und sind stolz darauf. Die wichtigsten Organisationen, mit denen wir zusammenarbeiten, haben die Zertifizierungsprogramme in ihr Fortbildungsangebot aufgenommen, was sich sehr gut auf die Mitarbeitermotivation und die Kundenzufriedenheit ausgewirkt hat. Neben zertifizierungsrelevanten Inhalten bietet das Buch auch eine Fülle an wertvollen Informationen, aus denen man als Advanced Tester Nutzen ziehen kann. Ganz egal, ob Zertifizierung für Sie ein Thema ist oder nicht, wir sind uns sicher, dass Sie in der Praxis von dem Gelernten profitieren werden. Professionellen Testern kommt eine gemeinsame Sprache zugute.

6 1 Einführung 1.3 Was ist ein»test Analyst«? Die Rolle des Test Analyst baut auf der des Testers auf. Es ist nicht leicht, eine Berufsbezeichnung auf internationaler Ebene zu definieren. Oft verwenden unterschiedliche Länder oder sogar unterschiedliche Unternehmen im gleichen Land verschiedene Bezeichnungen für die gleiche Rolle oder assoziieren ein etwas anderes Aufgabengebiet mit einer bestimmten Rolle. Dafür gibt es keinen bestimmten Grund die Terminologie hat sich schlicht und einfach so entwickelt. Im Foundation Level hat das ISTQB dieses Problem teilweise behoben, indem es die Rollen des Testmanagers (auch Testleiter genannt) und Testers eingeführt hat. Im Advanced Level hat das ISTQB diesen Trend zur Standardisierung weitergeführt und die Rolle des Test Analyst eingerichtet. Vom Test Analyst werden zunächst die gleichen Fähigkeiten erwartet, die ein Tester gemäß ISTQB-Foundation-Level-Lehrplan [ISTQB-CTFL] vorweisen muss. Bei der Rolle des Test Analyst kommt jedoch eine Spezialisierung hinzu, die wir in diesem Abschnitt ansprechen möchten. Was erwarten Sie von einem Test Analyst? Bei höchsten Anforderungen würde ein Arbeitgeber die folgenden grundlegenden Fähigkeiten von einem Test Analyst erwarten: Unterstützung des Testmanagers bei der Entwicklung geeigneter Teststrategien Strukturierung der Testaufgaben, die notwendig sind, um die Teststrategie umzusetzen Analyse eines Systems mit einer Genauigkeit, die eine Bestimmung der angemessenen Testbedingungen zulässt Anwendung von geeigneten Techniken zur Erfüllung der definierten Testziele Vorbereitung und Durchführung aller notwendigen Testaktivitäten Beurteilung, wann Testkriterien erfüllt sind Präzise und gründliche Berichterstattung über den Fortschritt des Projekts Belegen der Bewertungen und Reviews durch konkrete Testbeispiele Einführung der geeigneten Werkzeuge zur Erfüllung der Testaufgaben Der Test Analyst ist mit der Rolle des Testmanagers vertraut und kennt die Grundprinzipien des Testmanagements. Darunter fällt auch die Fähigkeit, bestimmte Anforderungen zu verstehen und die verschiedenen Risikotypen einzuschätzen.

1.3 Was ist ein»test Analyst«? 7 Die Position des Test Analyst wiederum wird laut Advanced-Level- Lehrplan und den Gepflogenheiten der Branche durch zwei unterschiedliche Rollen definiert. Beide Rollen erfordern die zuvor genannten allgemeinen Fähigkeiten, jedoch werden sie in unterschiedlichen Zusammenhängen angewandt. Ganz allgemein kann man sagen, dass der Technical Test Analyst eine eher technische Funktion erfüllt, während der Domain Test Analyst eine eher betriebswissenschaftliche Herangehensweise vertritt und Tests in seinem fachlichen Umfeld (domain) durchführt. Es werden zwei bestimmte Arten von Test Analysts definiert. Technical Test Analyst: Konzentriert sich auf technische Eigenschaften der Software, wie z. B. Zuverlässigkeit und Effizienz Wendet strukturorientierte Testverfahren wie z. B. Entscheidungsüberdeckungstests an sowie bestimmte spezifikationsorientierte Testverfahren wie Äquivalenzklassenbildung Führt statische und dynamische Analysen durch Wendet Reviewtechniken auf Codedokumente und technische Dokumente wie z.b. Architekturentwürfe an Ist in der Lage, Testautomatisierung effektiv durchzuführen Kann die Werkzeuge für Effizienztests (z. B. Performanztests) und für Analysen erfolgreich anwenden Domain Test Analyst: Konzentriert sich auf funktionale Eigenschaften der Software wie z.b. Funktionalität und Benutzbarkeit im jeweiligen Anwendungsoder Fachbereich Wendet eine breite Palette an spezifikationsorientierten Testverfahren an (mehr als der Technical Test Analyst) Wendet Reviewtechniken auf fachspezifische Dokumente wie z. B. Anforderungen und Anwendungsfälle an Im Lehrplan zum ISTQB Advanced Level wird die Bezeichnung»Domain Test Analyst«zu»Test Analyst«gekürzt. Um Konsistenz mit der Lehrplanterminologie zu gewährleisten, haben wir diese Bezeichnung ebenfalls übernommen. Wenn wir im Verlauf des Buches die Lernziele erläutern, kennzeichnen wir stets deutlich, welche Abschnitte sich auf welche Rolle beziehen. Dies ist insbesondere für diejenigen Leser wichtig, die an einem Trainingsseminar teilnehmen und/oder eine Zertifizierungsprüfung ablegen möchten, da diese rollenbezogen angeboten werden (z. B. Test Analyst und Technical Test Analyst). Der»Domain Test Analyst«wird kurz»test Analyst«genannt.

8 1 Einführung

9 2 Marathon unsere Beispielanwendung Testkonzepte sind in der Regel einfacher zu verstehen, wenn sie auf ein realistisches Projekt angewandt werden. Wir haben daher eine fiktive Anwendung entwickelt, mit der wir die verschiedenen in diesem Buch behandelten Techniken und Testarten darstellen möchten. Die Marathon-Anwendung ist ein typisches Beispiel für ein heute häufig vorkommendes System, das sowohl funktionales als auch nicht funktionales Testen erfordert. Wie man es von einem Vorbereitungsbuch für die Zertifizierung zum ISTQB Advanced Level erwarten kann, ist die Beispielanwendung kompliziert genug, um realistische Testszenarien zu bieten. Die erforderliche Mühe, das Marathon- System zu verstehen, wird sich jedoch zu einem späteren Zeitpunkt durch ein tieferes Verständnis bestimmter Aspekte des Testens bei praktischen Anwendungen auszahlen. Im Verlauf des Buches werden wir die allgemeine Beschreibung der Marathon-Anwendung immer wieder erweitern (ganz im Sinne der wohlbekannten schleichenden Änderung des Projektumfangs). Dies erlaubt eine gründlichere Behandlung einzelner Aspekte. Erwarten Sie jedoch nicht, dass das Marathon-System in jeder Hinsicht vollkommen ist (die Autoren sind schließlich professionelle Tester, keine Systemarchitekten). Falls Sie Lücken oder Inkonsistenzen im Design finden, ist das ein Zeichen dafür, dass Sie bereits jetzt wie ein Advanced Tester denken! 2.1 Überblick über das Marathon-System Das System ermöglicht den Organisatoren großer Marathonveranstaltungen (z.b. Boston, London), die Läufe mithilfe moderner Technologie effizient zu planen und zu organisieren.