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...