1Einleitung
1.1Vertrauen, Qualität, Sicherheit!
Der Abnahmetest nimmt im Softwareentwicklungsprozess eine besondere Stellung ein, das Bild auf dem Cover illustriert einige der grundlegenden Aspekte des Abnahmetests – Vertrauen (Händedruck), Qualität (Häkchen) und Sicherheit (Schild-Symbol). Der Abnahmetest ist eine vertrauensbildende Maßnahme! Er soll beim Auftraggeber ausreichendes Vertrauen in die Qualität des Produkts erzeugen, sodass dieser das Produkt schließlich vom Auftragnehmer abnimmt. Vertrauen gibt es aber meist nicht frei Haus, Vertrauen muss erarbeitet werden und sprichwörtlich besser kontrolliert werden. Durch einen (möglicherweise formalen) Nachweis der Qualität des Produkts entsteht die notwendige Sicherheit, das Produkt für seinen Einsatzzweck betreiben zu können und einen Mehrwert oder Nutzwert daraus zu ziehen. Vertrauen entsteht also durch den Nachweis von Qualität. Je höher die Qualität des Produkts ist, desto höher ist die Wahrscheinlichkeit, dass die Erwartungen des Auftraggebers erfüllt werden.
Abnahmetest bei der Entwicklung von Geschäftslösungen
Die Entwicklung von Geschäftslösungen erfordert komplementäres Wissen und Expertise aus unterschiedlichen Disziplinen sowie sich ergänzende Rollen, die eine Vielzahl verschiedener Aktivitäten ausführen. Informationssilos müssen vermieden werden, denn je besser diese Disziplinen miteinander integriert sind und die Rollen zusammenarbeiten, desto höher ist die Wahrscheinlichkeit, dass qualitativ höherwertige Produkte entstehen. Zusammenarbeit wird nicht nur in modernen, agilen Softwareentwicklungsmodellen forciert, auch in den traditionellen (d. h. sequenziellen) Softwareentwicklungsmodellen unterstützen sinnvolle Kollaborationen den Projekterfolg.
Insbesondere der Abnahmetest ist ein gutes Beispiel dafür, wie die jeweiligen Rollen aus den unterschiedlichen Disziplinen durch Zusammenarbeit einen Mehrwert für das Produkt und die Organisation schaffen können. Der Abnahmetest verbindet dabei vor allem die Rollen des Businessanalysten (oder des Product Owners) und des Testers. Eine wichtige Aktivität dieser Rollen unabhängig vom gelebten Softwareentwicklungsmodell ist u. a. die Spezifikation von Abnahmekriterien als Unterstützung der Validierung einer Geschäftslösung. Abnahmekriterien sind üblicherweise Bestandteile von Anforderungen, entweder explizit oder implizit. Durch Extraktion der Abnahmekriterien aus den Anforderungen werden letztere in eine feiner granulierte, somit weniger komplexe und besser testbare Form gebracht. Darauf aufbauend werden Testfälle entworfen, die diese Abnahmekriterien umsetzen. Anhand der Testfälle wird die Geschäftslösung verifiziert bzw. validiert. Die Ableitung von Abnahmetests aus Abnahmekriterien ist eine in hohem Maße kollaborative Aktivität, an der Businessanalysten und Tester beteiligt sein sollten.
Kollaboration von Businessanalyst und Tester
Zur Unterstützung der Aus- und Weiterbildung in diesem Bereich hat das ISTQB® den Lehrplan »ISTQB® Foundation Level Specialist – Acceptance Testing« [ISTQB CTFL-AcT] entwickelt. Das Hauptziel des Lehrplans ist es, die Zusammenarbeit von Businessanalysten und Testern zu unterstützen und damit Informationssilos zwischen den Rollen zu vermeiden. Der Lehrplan richtet sich dabei an alle Personen, die in die Aktivitäten des Abnahmetests involviert sind. Dies beinhaltet nicht nur Businessanalysten, Product Owner und Tester, sondern auch weitere Rollen wie Testanalysten, Testingenieure, Testberater, Testmanager, Benutzerabnahmetester und Softwareentwickler.
1.2ISTQB® Certified Tester – das Zertifizierungsprogramm für Softwaretester
Der weltweite Standard für die Aus- und Weiterbildung im Bereich Softwarequalitätssicherung und Softwaretest ist heute das »ISTQB® Certified Tester «-Schema des International Software Testing Qualifications Board (ISTQB) [URL: ISTQB].
Das »ISTQB® Certified Tester «-Ausbildungsschema gliedert sich zum Zeitpunkt der Drucklegung dieses Buches in die drei Säulen »Agile«, »Core« und »Specialist« sowie die drei Ausbildungsstufen »Foundation«, »Advanced« und »Expert« (siehe Abb. 1–1).
Abb. 1–1
Übersicht des »ISTQB®/GTB Certified Tester«-Ausbildungsschemas [URL: GTB]
Der Inhalt dieses Buches deckt die prüfungsrelevanten sowie darüber hinausgehende Inhalte des Zertifikats »Acceptance Testing« ab, das auf der Stufe »Foundation« in der Säule »Specialist« angesiedelt ist. Das prüfungsrelevante Fachwissen kann im Selbststudium (z. B. mithilfe dieses Buches) und/oder durch Teilnahme an einem Seminar erworben werden.
In Bezug auf die verschiedenen im »ISTQB® Certified Tester Foundation Level «-Lehrplan [ISTQB CTFL] definierten Ausprägungen von Abnahmetests werden im »Acceptance Testing«-Lehrplan Benutzerabnahmetests (User Acceptance Testing – UAT), vertragliche und regulatorische Abnahmetests sowie Alpha- und Beta-Tests behandelt. Absichtlich nicht behandelt werden hingegen betriebliche Abnahmetests (Operational Acceptance Testing – OAT), da diese in der Regel von Teams durchgeführt werden, die das System betreiben, und nicht von Testern und Businessanalysten.
1.3Nutzen dieses Buches
Das vorliegende Buch soll den Leserinnen und Lesern folgenden Nutzen bringen:
- Eine umfassende, sowohl theoretische als auch praktische Einführung in das Thema Abnahmetest bieten.
- Das Thema Abnahmetest auf der Grundlage des ISTQB®-Lehrplans aufarbeiten sowie alle prüfungsrelevanten Themen des Lehrplans vermitteln.
- Relevante Themen über den Lehrplan hinaus vertiefen und durch Exkurse und Praxisbeispiele ergänzen.
- Die praxisnahe Anwendung durch ein realistisches und durchgehendes Fallbeispiel illustrieren.
1.4Kapitelübersicht
Das Buch folgt im Wesentlichen der Kapitelstruktur des Lehrplans. Ausnahmen davon sind die Kapitel 4 und 5, die im Lehrplan genau andersherum angeordnet sind. Aus didaktischen Gründen wurde von dieser Anordnung für das Buch abgewichen. Die einzelnen Kapitel gliedern sich inhaltlich wie folgt:
Kapitel 2 behandelt die grundlegende Bedeutung des Abnahmetests im Softwarelebenszyklus. Es werden die Beziehungen des Abnahmetests zur Businessanalyse veranschaulicht und wichtige Begriffe und Konzepte der Businessanalyse, die einen Einfluss auf den Abnahmetest haben, dargestellt.
In Kapitel 3 werden die Aktivitäten und Aufgaben bei der Erstellung und dem Entwurf von Abnahmekriterien dargestellt. Es werden unterschiedliche Testvorgehensweisen vorgestellt und veranschaulicht, wie erfahrungsbasierte Testverfahren den Abnahmetest unterstützen können.
Kapitel 4 diskutiert und beschreibt die für den Benutzerabnahmetest wichtigsten nicht funktionalen Anforderungen und wie der Abnahmetest den Umgang mit diesen durch Abnahmekriterien unterstützt.
In Kapitel 5 werden zwei standardisierte Modellierungssprachen eingeführt, die für die Analyse und Spezifikation von Geschäftsprozessen und Geschäftsregeln eingesetzt werden können: Business Process Model and Notation (BPMN) sowie Decision Model and Notation (DMN). Im Abnahmetest werden Modelle und Modellierungssprachen vor allem während der Testanalyse und dem Testentwurf eingesetzt. Businessanalysten und Tester sollten daher die elementaren Eigenschaften beider Modellierungssprachen kennen, um die Vorteile eines visuellen bzw. modellbasierten Abnahmetests nutzen zu können.
Kapitel 6 erläutert, welche sozialen und kommunikativen Fähigkeiten für einen kollaborativen Abnahmetest wichtig sind und durch welche Aktivitäten und Werkzeuge der Abnahmetest unterstützt wird.
Im Anhang werden ergänzende Hinweise zum Lehrstoff, der Prüfung und den Lernzielen des Lehrplans gegeben. Im Glossar finden sich alle prüfungsrelevanten Schlüsselbegriffe sowie weitere wichtige Definitionen. Abschließend finden sich noch das Abkürzungs- und Quellenverzeichnis sowie ein Index.
1.5Fallbeispiel »CA-Cockpit«
Die in diesem Buch vorgestellten Konzepte und Vorgehensweisen beim Abnahmetest werden anhand eines durchgängigen Fallbeispiels veranschaulicht. Dem Fallbeispiel liegt das folgende, aus einem realen Praxisprojekt abgeleitete und vereinfachte Szenario zugrunde:
Ein Telekommunikationsunternehmen (ComAccept AG) betreibt ein Softwaresystem (CA-Cockpit) zum Verkauf von Handytarifen. Dieses Softwaresystem besteht zum einen aus einem Serviceportal, über das die Mitarbeiter der ComAccept AG die Produkte konfigurieren, Kunden betreuen und Buchungen verwalten können, zum anderen aus einem Kundenportal, über das die Kunden Handyverträge abschließen können. Das Softwaresystem ist in die Systemlandschaft des Telekommunikationsunternehmens integriert und hat u. a. Schnittstellen zu einem Customer-Relationship-Management-(CRM-)System (siehe Abb. 1–2).
Abb. 1–2
Systemübersicht C...