Black-Box-Tests - Hochschule Wismar

Werbung
Hochschule Wismar
Fakultät für Wirtschaftswissenschaften
Semesterprojekt
Black-Box-Testing
Semesterprojekt im Rahmen des Fernstudiengangs
Master of Science in Wirtschaftsinformatik
der Hochschule Wismar
eingereicht von:
André Hollstein, Larissa Koch, Stefan Kusay
Studiengang Wirtschaftsinformatik,
MWI 2010 - WS 2011/2012
Betreuer:
Prof. Dr. rer. nat. Jürgen Cleve
Wismar, den 15.05.2016
Inhalt
I.
ABBILDUNGSVERZEICHNIS ...............................................................................................................IV
II.
TABELLENVERZEICHNIS .................................................................................................................. VII
III.
ABKÜRZUNGSVERZEICHNIS ......................................................................................................... VIII
1
EINLEITUNG UND PROBLEMSTELLUNG.......................................................................................... 1
2
QUALITÄT VON SOFTWARE ................................................................................................................ 2
3
SOFTWARETESTS .................................................................................................................................... 6
4
3.1
TESTEN..................................................................................................................................................... 6
3.2
TESTPRINZIPIEN UND –STRATEGIE ....................................................................................................... 7
3.3
TESTPHASEN ........................................................................................................................................... 8
3.4
TESTMETHODEN (BLACK-BOX- VS. WHITE-BOX- UND GREY-BOX-TEST)....................................... 9
FUNKTION UND ANWENDUNG VON BLACK-BOX-TESTING..................................................... 13
4.1
DEFINITION BLACK-BOX-TESTING ..................................................................................................... 13
4.2
VOR- UND NACHTEILE VON BLACK-BOX-TESTS .............................................................................. 14
4.3
VORGEHEN BEI ANWENDUNG VON BLACK-BOX-TESTS .................................................................. 15
4.4
TYPEN VON BLACK-BOX-TESTMETHODEN ....................................................................................... 16
4.4.1
4.4.1.1
Äquivalenzklassentest ......................................................................................................................... 16
4.4.1.2
Grenzwertbetrachtung (Boundary-Value-Analyse) ............................................................................. 19
4.4.1.3
Use-Case-Test ..................................................................................................................................... 20
4.4.1.4
Entscheidungstabellenbasierter Test .................................................................................................... 22
4.4.1.5
Paarweises Testen ................................................................................................................................ 25
4.4.2
5
Nicht-Funktionale Tests ................................................................................................................ 28
4.4.2.1
Performance-Tests ............................................................................................................................... 29
4.4.2.2
Sicherheitstests .................................................................................................................................... 29
4.4.3
4.5
Funktionale Tests .......................................................................................................................... 16
Diversifizierungstests .................................................................................................................... 31
4.4.3.1
Back-to-Back-Test ............................................................................................................................... 31
4.4.3.2
Regressionstest .................................................................................................................................... 31
WERKZEUGE FÜR BLACK BOX-TESTS................................................................................................ 32
BLACK-BOX-TESTS IM RAHMEN EINES SAP-PROJEKTS .......................................................... 34
5.1
GRÜNDE FÜR ORGANISIERTES TESTEN IM SAP-UMFELD ................................................................ 34
5.2
TESTMETHODIK IN SAP-PROJEKTEN .................................................................................................. 36
5.2.1
Einführung in die ASAP-Methodik ................................................................................................ 36
5.2.2
Teststufen der ASAP-Methodik...................................................................................................... 40
5.3
SAP QUALITY CENTER BY HP ALS TESTWERKZEUG IM RAHMEN EINES SAP-PROJEKTS ............ 43
5.3.1
Funktionsweise des SAP Quality Centers by HP........................................................................... 43
II
5.4
6
BERICHTE AUS SAP-PROJEKTEN MIT SAP QUALITY CENTER BY HP ............................................. 52
5.4.1
Quality Center by HP im SAP-Projekt der Endress+Hauser Group ............................................ 53
5.4.2
SAP Quality Center by HP im SAP-Projekt des Outdoor-Bekleidungsanbieters Timberland ...... 55
BLACKBOX-TEST IM RAHMEN DER TESTAUTOMATISIERUNG ............................................. 57
6.1
VOR- UND NACHTEILE DER AUTOMATISCHEN TESTDURCHFÜHRUNG .......................................... 57
6.2
TESTDURCHFÜHRUNG MIT HILFE DES SAP SOLUTION MANAGERS ............................................... 58
6.2.1
Vorstellung des SAP Solution Managers....................................................................................... 58
6.2.2
Vorstellung der Test Workbench des SAP Solution Managers ...................................................... 58
6.2.3
Einführung in die Systemlandschaft mit Hilfe des SAP Solution Managers ................................. 59
6.3
NUTZUNG DER SAP ECATT ................................................................................................................. 60
6.3.1
Definitionen und Begrifflichkeiten ................................................................................................ 60
6.3.2
Vorgehensmodell zur Erstellung einer SAP eCATT-Testkonfiguration ........................................ 62
6.3.3
Systemdatencontainer und logischer Namen zur Zieldefinition .................................................... 62
6.3.4
Formulierung des Testskripts mit Hilfe von Attributen, Parametern und Kommandos ................ 65
6.3.5
Nutzung eines Testdatencontainers ............................................................................................... 72
6.3.6
Zusammenfassung aller Elemente im Testskript und Einhängen in die Test Workbench des
Solution Managers ...................................................................................................................................... 74
6.4
PRAKTISCHE ERFAHRUNGEN ZUR NUTZUNG DER SAP ECATT ...................................................... 77
7
ZUSAMMENFASSUNG ........................................................................................................................... 78
8
LITERATURVERZEICHNIS .................................................................................................................. 80
III
I.
Abbildungsverzeichnis
Abbildung 1: Übersicht ISO/IEC 9126 Qualitätsmodells (Quelle: Liggesmeyer, 2009, S. 17)...............4
Abbildung 2: Verlauf der Testzeit/Kostenverlauf (Quelle: Frühauf et al., 2007, S. 144). ......................6
Abbildung 3: Der Grundlegende Testprozess (Quelle: Sneed 2008, S. 12). ...........................................9
Abbildung 4: Ebenen des Testens (Quelle: Williams, 2006, S. 42).......................................................10
Abbildung 5: Testarten nach ihrer Konstruktionsmethodik (Quelle: Sneed et al., 2008, S. 169). ........11
Abbildung 6: Schematische Betrachtung Black-Box-Tests (Quelle: Eigene Abbildung nach
Limaye, 2009). .................................................................................................................13
Abbildung 7: Beispiel eines Use-Case-Diagramm mit Zeichenerklärung (Quelle: Jeckle, 2005). ........21
Abbildung 8: Beispiel I für Ursache-Wirkungs-Diagramm am Beispiel "Auszahlung Prämie"
(Quelle: Eigene Abbildung nach Liggesmeyer, 2009). ....................................................23
Abbildung 9: Beispiel II für Ursache-Wirkungs-Diagramm am Beispiel "Auszahlung Prämie"
(Quelle: Eigene Abbildung nach Hoffmann, 2008). ........................................................23
Abbildung 10: Vollständige und paarweise Software-Tests im Vergleich (Quelle: Eigene
Abbildung nach Hoffmann, 2008). ..................................................................................26
Abbildung 11: Orthogonales Array der Form Ln(kc) (Quelle: Eigene Abbildung nach Hoffmann
2008). ...............................................................................................................................27
Abbildung 12: Aufgefülltes Array mit Ausprägungen der Freiheitsgrade (Quelle: Eigene
Abbildung nach Hoffmann 2008). ...................................................................................27
Abbildung 13: Paarweise vollständige Testmenge (Quelle: Angepasst nach Hoffmann 2008). ...........28
Abbildung 14: Fünf-phasige Vorgehensweise für Penetrationstests (Quelle:
Informationstechnik, 2007, S. 47). ...................................................................................30
Abbildung 15: Prinzip eines Regressionstests (Quelle: Frühauf et al., 2007, S. 33). ............................32
Abbildung 16: Das allgemeine V-Modell (Quelle: Maiborn, 2009). .....................................................36
Abbildung 17: ASAP-Einführungsmethodik (Quelle: Steeb Anwendungssysteme GmbH, o.J.). .........38
Abbildung 18: Buttom-Up-Testmodell der ASAP-Methodik (Quelle: Eigene Abbildung nach
Helfen et. al. 2010). ..........................................................................................................40
Abbildung 19: Modul Requirements im Quality Center (Quelle: Testing Concepts, 2011). ................44
Abbildung 20: Modul Test Lab im Quality Center (Quelle: QMETHODS - Business & IT
Consulting GmbH, o. J. ). ................................................................................................46
IV
Abbildung 21: Anhang zu Schritt 1 (Quelle: Eigene Abbildung). .........................................................47
Abbildung 22: Anhang zu Schritt 2 (Quelle: Eigene Abbildung). .........................................................48
Abbildung 23: Anhang zu Schritt 3 (Quelle: Eigene Abbildung). .........................................................48
Abbildung 24: Traditionelle Testbeschreibung (Quelle: Vivit Germany, 2008). ..................................49
Abbildung 25: Testbeschreibung bei Wiederverwendbarkeit von Funktionen (Quelle: Vivit
Germany, 2008)................................................................................................................50
Abbildung 26: Teststatus pro Test Set (Quelle: Eigene Abbildung). ....................................................51
Abbildung 27: Übersicht der Fehlermeldungen pro zugeordneten Spezialist (Quelle: Eigene
anonymisierte Abbildung). ...............................................................................................51
Abbildung 28: Vor- und Nachteile der automatischen Testdurchführung (Quelle: Eigene
Abbildung). ......................................................................................................................57
Abbildung 29: Objekte in der SAP Test Workbench (Quelle: Eigene Abbildung nach SAP AG,
2006). ...............................................................................................................................59
Abbildung 30: Solution Manager als zentrale Verwaltungsinstanz (Quelle: Eigene Abbildung). ........60
Abbildung 31: Vorgehen zur Erstellung einer Testserie (Quelle: Eigene Abbildung). .........................62
Abbildung 32: RFC-Destination – Technische Einstellungen (Quelle: Eigene Abbildung). ................63
Abbildung 33: RFC-Destination - Anmeldung & Sicherheit (Quelle: Eigene Abbildung). ..................64
Abbildung 34: Funktionsweise des Systemdatencontainers (Quelle: Eigene Abbildung nach
SAP AG, 2006). ...............................................................................................................65
Abbildung 35: Transaktion SECATT – Systemdaten (Quelle: Eigene Abbildung). .............................65
Abbildung 36: Systemdatencontainer – Systemdaten (Quelle: Eigene Abbildung). .............................65
Abbildung 37: Aufbau eines Testskripts (Quelle: Eigene Abbildung nach SAP AG, 2006). ...............66
Abbildung 39: Testskript - Attribute - Allgemeine Daten (Quelle: Eigene Abbildung). .......................66
Abbildung 40: Auswahl des Musters SAPGUI (Quelle: Eigene Abbildung). .......................................67
Abbildung 41: Auswahl der Aufzeichnungstiefe (Quelle: Eigene Abbildung). ....................................68
Abbildung 42: Editor - eingefügte Kommandoschnittstellen (Quelle: Eigene Abbildung). ..................69
Abbildung 43: Kommandoschnittstelle (Quelle: Eigene Abbildung). ...................................................70
Abbildung 44: Kommandoschnittstelle – Parametrisierung (Quelle: Eigene Abbildung).....................70
Abbildung 45: Parameteransicht (Quelle: Eigene Abbildung). .............................................................70
Abbildung 46: Muster einfügen – Log (Quelle: Eigene Abbildung). ....................................................71
V
Abbildung 47: Parameter importieren (Quelle: Eigene Abbildung). .....................................................72
Abbildung 48: Aufruf der Funktion Varianten herunterladen (Quelle: Eigene Abbildung). ................72
Abbildung 49: Excel-Datei zum Varianten-Upload (Quelle: Eigene Abbildung). ................................73
Abbildung 50: Aufruf der Funktion Varianten hochladen (Quelle: Eigene Abbildung). ......................73
Abbildung 51: Variantenübersicht (Quelle: Eigene Abbildung). ..........................................................73
Abbildung 52: Testkonfiguration – Konfiguration (Quelle: Eigene Abbildung). .................................74
Abbildung 53: Startoptionen (Quelle: Eigene Abbildung). ...................................................................75
Abbildung 54: Protokoll (Quelle: Eigene Abbildung). ..........................................................................76
Abbildung 55: Transaktion SOLAR02 – Konfiguration (Quelle: Eigene Abbildung). .........................76
Abbildung 56: Transaktion SOLAR02 - Konfiguration – Testfälle (Quelle: Eigene Abbildung).........77
VI
II.
Tabellenverzeichnis
Tabelle 1: Beispiel-Testfälle zu Äquivalenzklassen (Quelle: Eigene Tabelle). ....................................18
Tabelle 2: Beispiel zur zweidimensionalen Äquivalenzklassenabbildung (Quelle: Eigene
Tabelle). ................................................................................................................................19
Tabelle 3: Vorlage für Entscheidungstabelle (Quelle: Eigene Tabelle nach Franz, 2007) ....................24
Tabelle 4: Entscheidungstabelle für das Beispiel "Auszahlung Prämie"(Quelle: Eigene Tabelle
nach Franz, 2007) .................................................................................................................24
Tabelle 5: Beispiel einer Testbeschreibung (Quelle:Eigene Tabelle). ..................................................45
Tabelle 6: Voraussetzungen für den Einsatz des eCATT (Quelle: Eigene Tabelle). ............................61
Tabelle 7: Parameterwerte zur Laufzeit (Quelle: Eigene Tabelle nach SAP AG, o.J). .........................71
VII
III.
Abkürzungsverzeichnis
Abkürzung
Bedeutung
ASAP
Accelerated SAP
BADI
Business Application Add-In
BAPI
Business Application Programming Interface
eCATT
Extended-Computer Aided Test Tool
IEC
International Electrotechnical Commission (Normungsgremium)
ERP
Enterprise Resource Planning
ISO
International Organization for Standardization (Normungsgremium)
RFC
Remote Function Call
VIII
Black-Box-Testing
1 Einleitung und Problemstellung
Die vorliegende Abhandlung wurde im Rahmen des Masterstudiums im Modul '2240 Formale Methoden' an der Hochschule Wismar erstellt und beschäftigt sich mit dem BlackBox-Test als Verfahren zum Test von Software.
Hierzu wird im folgenden Kapitel einleitend auf die Qualität von Software, die
unterschiedlichen Teststrategien, die Testplanung und die verschiedenen Testmethoden
eingegangen, bevor im darauffolgenden Kapitel die theoretischen Grundlagen und Werkzeuge
zum Black-Box-Test dargestellt werden. Anschließend wird der praktische Einsatz der BlackBox-Tests in einem SAP-Projekt vorgestellt und die Nutzung des SAP Quality Center by HP
zur Testunterstützung sowie die praktischen Erfahrungen beim Einsatz des Werkzeugs
beschrieben. Das vorletzte Kapitel beschäftigt sich mit der Testautomation im Rahmen von
Black-Box-Tests und stellt hierzu das SAP Extended-Computer Aided Test Tool zur
Abbildung selbiger vor und beschreibt ebenfalls praktische Erfahrungen mit dem Werkzeug,
bevor abschließend die Abhandlung mit einer Zusammenfassung beendet wird.
-1-
Black-Box-Testing
2 Qualität von Software
Der Qualitätsbegriff hat im Alltags- und Berufsleben einen hohen Stellenwert für viele
Menschen. Insbesondere in Ländern mit einem hohen Technologie- und Lebensstandard steht
Qualität in unmittelbarem Zusammenhang mit der Sicherheit von Mensch, Technik und
Umwelt. Dennoch wird der Begriff sehr unterschiedlich gedeutet, abhängig von der jeweiligen
Anwendungssituation, dem Bedarf der Anwender und dem entsprechenden
Qualitätsverständnis (Petrasch, 2001). Zahlreiche Definitionen, die sich in der Literatur zum
Begriff Qualität finden lassen, spiegeln dieses wider (siehe z. B. Redaktion, 2000; Geiger &
Kotte, 2005; Liggesmeyer, 2009).
Aus dem lateinischen Wort von Qualitas abgeleitet bedeutet Qualität soviel wie
Beschaffenheit und wird häufig mit dem Wert oder der Güte eines Objekts gleichgesetzt (vgl.
Geiger & Kotte, 2005, S. 69).
Auch im Zusammenhang mit Software hat die Beschaffenheit und damit die Qualität des
Produkts eine hohe Bedeutung. Vor diesem Hintergrund haben sich unterschiedliche
Standardisierungsorganisationen mit dem Qualitätsbegriff im Allgemeinen, aber auch mit dem
Begriff der Softwarequalität im Speziellen auseinandergesetzt und versucht
Standardisierungen
und
Hilfestellungen
durch
Begriffsdefinitionen
und
Verfahrensanweisungen zu liefern.
Hierzu gehören namhafte Organisationen wie beispielsweise das DEUTSCHE INSTITUT FÜR
NORMUNG (DIN), die INTERNATIONAL ORGANIZATION FOR STANDARDIZATION (ISO), das
AMERICAN NATIONAL STANDARDS INSTITUTE (ANSI) oder das INSTITUTE OF ELECTRIC
AND ELECTRONIC ENGINEERS (IEEE). Darüber hinaus gibt es zahlreiche SoftwareQualitätsstandards die durch Organisationen, Behörden oder andere Gremien geschaffen
worden sind und beispielsweise im Rahmen von Projektaufträgen für Dienstleister zur
Anwendung kommen (z. B. NORTH ATLANTIC TREATY ORGANIZATION, USVERTEIDIGUNGSMINISTERIUM).
Entsprechend der zahlreichen Software-Qualitätsstandards existieren auch viele Definitionen
des Begriffs Software-Qualität, nachfolgend anhand der ISO/IEC-Norm 9126 dargestellt
(Hoffmann, 2008, S. 6):
„Software-Qualität ist die Gesamtheit der Merkmale und Merkmalswerte eines
Software-Produkts, die sich auf dessen Eignung beziehen, festgelegte Erfordernisse zu
erfüllen.“
Im Allgemeinen lässt sich daraus ableiten, dass das Ziel des Software-Qualitätsmanagements
darin begründet liegt, die Erfüllung der definierten Softwareprodukteigenschaften
sicherzustellen. In der Praxis reduziert sich diese Sichtweise jedoch sehr häufig auf das
Kriterium der funktionalen Fehlerfreiheit, da dieses Qualitätsmerkmal für den Anwender einer
Software i. d. R. sehr leicht erkennbar ist. Daher wird Softwarequalität oftmals mit dem
Kriterium der funktionalen Fehlerfreiheit gleichgesetzt.
-2-
Black-Box-Testing
Dieses eine Kriterium mag für den Anwender einer Software zentral sein, um die Qualität
einer Software zu beurteilen, umfasst aber nur ein kleines Spektrum der Kriterien, die zu
Grunde gelegt werden können. Wichtige Merkmale, die zur Beurteilung der Qualität von
Software herangezogen werden können, fasst Hoffmann wie folgt zusammen (vgl. Hoffmann,
2008, S. 7ff.):
 Funktionalität (Functionality, Capability): Stellt ein Maß für den Erfüllungsgrad und die
Fehlerfreiheit einer Software dar.
 Laufzeit (Performance): Bildet ein Maß für die Laufzeitanforderungen an eine Software
und ist besonders wichtig für das Echtzeitsystem.
 Zuverlässigkeit (Reliability): Stellt ein Maß für die Ausfallsicherheit und Stabilität einer
Software dar. Ähnlich dem Laufzeitkriterium unterliegt es stark der Einwirkung von
sekundären Einflussgrößen, z. B. Hardware.
 Benutzbarkeit (Usability): Bildet ein Maß die sich in direkter Interaktion zwischen
Mensch und Maschine abspielen.
 Wartbarkeit (Maintainability): Bildet ein wichtiges Kriterium zur Bestimmung der
Änderungs- und Erweiterungsfähigkeit von Software.
 Transparenz (Transparency): Stellt ein Maß für die Gradlinigkeit der
programmiertechnischen Umsetzung von funktionalen Anforderungen dar.
 Übertragbarkeit (Portability): Stellt ein Maß für die Übertragbarkeit einer Software in
ein anderes Betriebsumfeld dar und beschreibt damit den Grad der
Plattformunabhängigkeit. Dieses Qualitätskriterium muss bereits im Rahmen der
Softwarekonzeption und Entwicklung berücksichtigt werden und gehört damit in den
Bereich der konstruktiven Qualitätssicherung (Hoffmann, 2008).
 Testbarkeit (Testability): Bildet ein Maß für die frühzeitige und einfache Erkennbarkeit
von Fehlern im Rahmen des Testprozesses. Ein Kriterium, welches durch die agilen,
testgetriebenen Entwicklungsprozesse an Bedeutung gewonnen hat, um auf diesem
Weg qualitativ einen besseren Code, eine höhere Produktivität und leichtere
Wartbarkeit zu erreichen. Dieses Qualitätskriterium wirkt damit bereits während des
Entwicklungsprozesses der Software.
Ähnliche Merkmalslisten finden sich auch bei anderen Autoren (s. a. Alpar et al., 2008). Auch
in der ISO/IEC-Norm 9126 sind Qualitätsmerkmale definiert, die zur Beurteilung von
Software dienen. Dabei unterscheidet die Norm zwischen interner und externer Qualität sowie
der Benutzungsqualität:
-3-
Black-Box-Testing
Abbildung 1: Übersicht ISO/IEC 9126 Qualitätsmodells (Quelle: Liggesmeyer, 2009, S. 17).
Der Vorteil solcher Qualitätskriterienlisten oder -modelle liegt darin, dass sie einen
Anhaltspunkt für die Wertung und Analyse von Softwareprodukten liefern, jedoch - und dies
muss als Nachteil gewertet werden -, sind diese Qualitätskriterienlisten stark standardisiert
und müssen spezifisch auf den Entwicklungsprozess angepasst werden.
Die Bedeutung oder Beurteilung der Wichtigkeit der vorher genannten Kriterien können aus
der Perspektive der jeweiligen Betrachter sehr unterschiedlich ausfallen, z. B. aus der Sicht
eines Entwicklers, Administrators oder Anwenders. So sind beispielsweise für reine
Anwender Kriterien, wie Funktionalität oder Benutzbarkeit sehr wichtig, während für
Entwickler eher die Kriterien wie Wartbarkeit oder Testbarkeit von hoher Relevanz sind.
Manchmal schließen sich auch bestimmte Kriterien gegenseitig aus, so muss z. B. eine leicht
wartbare Software nicht zwangsläufig leicht portierbar sein.
Vor diesem Hintergrund wird deutlich, dass das Verständnis über die Bedeutung und
Wertigkeit von Qualitätskriterien sehr stark von der Perspektive des Betrachters bzw. der
anzuwendenden Organisation abhängig ist. Daher lassen sich nur schwer ganzheitliche,
allgemeingültige Qualitätsmerkmale definieren, da der optimale Erfüllungsgrad bestimmter
Kriterien stark von der subjektiven Betrachtungsperspektive abhängig ist.
Umso wichtiger ist es, dass die Qualitätskriterien, deren Ausprägung und Sicherung frühzeitig
im Rahmen des Projekts definiert und festgelegt werden. Insbesondere der Qualitätssicherung
kommt hierbei eine besondere Bedeutung bei.
Sommerville (2007, S. 693) definiert die Qualitätssicherung daher auch wie folgt:
„Qualitätssicherung ist der Prozess des Definierens, wie sich Softwarequalität
erreichen lässt und wie die entwickelnde Organisation feststellt, dass die Software der
erforderlichen Qualitätsstufe entspricht.
-4-
Black-Box-Testing
Der Qualitätssicherungsprozess bezieht sich im Wesentlichen auf zwei Bereiche, die Produktund die Prozessqualitätsstandards (Wallmüller, 2001; Sommerville, 2007; Hoffmann, 2008).
Diese Differenzierung macht deutlich, dass die Qualität einer Software nicht nur durch die
eigentliche Qualitätssicherung des Produktes im Rahmen der Testphase beeinflusst wird,
sondern auch durch Methoden und Verfahren vor und während der Umsetzung des Produkts
sowie den Prozessen, die die Entwicklung des Produkts steuern und unterstützen.
Hoffmann (ebenda, S.20) unterscheidet auf der Ebene der Produktqualität zudem zwischen
konstruktiver und analytischer Qualitätssicherung, auf der Ebene der Prozessqualität zwischen
Software-Infrastruktur und Managementprozesse.
Während die Ebene der konstruktiven Qualitätssicherung Methoden und Techniken umfasst,
die darauf ausgerichtet sind die Qualität des Produktes a priori zu beeinflussen, umfasst die
analytische Qualitätssicherung Verfahren, die darauf ausgerichtet sind die Qualität der
Software a posteriori zu bewerten. In diese Kategorie fallen auch die klassischen SoftwareTestverfahren, die im späteren Verlauf dieser Arbeit weitergehend erläutert werden.
Auf der Ebene der Prozessqualität finden sich Verfahren, die während der Entstehung des
Produkts Einfluss auf dessen Qualität besitzen. In den Bereich der Software-Infrastruktur
gehören Verfahren und Maßnahmen, die Entwicklern bei ihren Tätigkeiten unterstützen,
während im Bereich der Managementprozesse vor allem die Methoden und Vorgehensweisen
zusammengefasst werden, die die Qualität von Softwareprojekten verbessern sollen.
Um die Qualität von Software-Produkten zu erhöhen ergeben sich aus den vorhergenannten
Ebenen der Produkt- und Prozessqualität zahlreiche Verfahren, Techniken und Ansätze. Diese
sollen und können in der vorliegenden Arbeit nicht alle vertieft behandelt werden. Vielmehr
fokussieren die nachfolgenden Kapitel auf die analytische Qualitätssicherung der Software
und hier speziell auf Software-Tests mit Hilfe der „Black-Box-Testmethoden“. Dabei soll
auch kurz beschrieben werden, wie Test-Strategien, -Prinzipien und -Methoden ineinander
greifen.
-5-
Black-Box-Testing
3 Softwaretests
3.1 Testen
Das Testen von Software ist ein wesentlicher Bestandteil der Qualitätssicherungsmaßnahmen
in jedem Softwareentwicklungsprojekt.
Nach (Alpar et al., 2008, S. 384) lässt sich das Testen wie folgt definieren:
„Testen bezeichnet jede einzelne (im Allgemeinen stichprobenartige) Ausführung des
Testobjekts, d. h. Komponente, integriertes Teilsystem oder System (in einer Version),
um die (beobachteten) Ergebnisse im Hinblick auf gewisse Eigenschaften zu prüfen.“
Das Testen ist aus Qualitätsgesichtspunkten ein wichtiger Aspekt in jedem Software-Projekt,
gleichzeitig aber auch sehr aufwandsintensiv. Die dabei entstehenden Kosten machen,
abhängig von der geforderten Qualität und dem damit verbundenen Testaufwand, oftmals
zwischen 40 und 60 Prozent des Gesamtprojektaufwands aus (Wallmüller, 2001; Sneed &
Jungmay, 2006). Dennoch geht es im Wesentlichen nur um die Minimierung von Risiken, da
es die 100 Prozent fehlerfreie Software nicht gibt (Bayer, 2005; Bieber, 2011). Zwar kann
durch Tests das Vorhandensein von Fehlern festgestellt werden, die Abwesenheit lässt sich
auf diesem Weg aber nicht ausschließen. Das Ziel kann daher nur sein, die Wahrscheinlichkeit
möglicher Fehler und Fehlerquellen zu minimieren und so für den betrieblichen Einsatz
hinreichend vorzubereiten (Sommerville, 2007).
Die nachfolgende Abbildung verdeutlicht noch einmal den Zusammenhang zwischen
Kosten/Aufwand auf der einen Seite und der Anzahl gefundener Fehler auf der anderen Seite.
Abbildung 2: Verlauf der Testzeit/Kostenverlauf (Quelle: Frühauf et al., 2007, S. 144).
Daher ist es wichtig die richtige Teststrategie, -planung und –methode zu wählen, so dass
Aufwand und Nutzen in einem möglichst optimalen Verhältnis zueinander stehen. Vor diesem
-6-
Black-Box-Testing
Hintergrund wurden auch Methoden entwickelt, die zur Aufdeckung von Redundanzen
innerhalb von Testfällen und –daten dienen und auf die im späteren Verlauf dieser Arbeit
noch eingegangen werden soll.
Vor diesem Hintergrund ist es wichtig die Arbeit des Tests nicht als Tätigkeit zu verstehen die
ihren Sinn darin hat zu demonstrieren, dass keine Fehler vorhanden sind. Vielmehr liefert das
Testen einen Mehrwert in Bezug auf die Qualität einer Software (Myers et al., 2004, S. 10):
„When you test a program, you want to add some value to it. Adding value through
testing means raising the quality or reliability of the program. Raising the reliability of
the program means finding and removing errors. “
In Anlehnung an Wallmüller (2001, S. 261 ff.) sollten dabei zahlreiche Bereiche beachtet
werden, die Prozess des Testens von Software eine Bedeutung haben:



















Testprinzipien und -strategie
Testphasen
Zeitpunkt der Beteiligung
Etat und Planung
Technik zur Testfallermittlung
Statische Testtechniken
Metriken
Testwerkzeuge
Testumgebung
Testarbeitsplatz
Engagement und Motivation
Testfunktionen und Ausbildungen
Reichweite der Methodik
Kommunikation
Berichterstattung
Feststellungsverwaltung
Testwaremanagement
Prüfen
Testmethoden
In der Praxis besitzen nicht immer alle der hier genannten Bereiche eine gleichhohe Relevanz
oder treten in Erscheinung. Im Rahmen der vorliegenden Arbeit soll nachfolgend nur auf die
Bereiche eingegangen werden, die für das theoretische Verständnis des Testprozesses und der
Black-Box-Testmethoden wichtig sind, nämlich die Teststrategie, Testphasen und
Testmethoden. In den späteren Kapiteln wird dann noch einmal auf die Testwerkzeuge und
Testumgebungen eingegangen.
3.2 Testprinzipien und –Strategie
Im vorherigen Abschnitt wurde bereits darauf hingewiesen, dass Software nie 100 Prozent
fehlerfrei ist und es im Rahmen des Testens von Software um die Minimierung von Risiken in
Bezug auf gravierende Fehler geht. Während die ersten Fehler mit relativ geringem Aufwand
zu finden sein werden, wird der Testaufwand für die letzten Prozent unverhältnismäßig hoch
sein. Die Teststrategien sollten also darauf ausgerichtet sein, die essentiellsten Fehler so früh
wie möglich und mit möglichst geringem Aufwand zu finden. Die Teststrategie bestimmt
daher welche (Qualitäts-)Risiken abgedeckt werden müssen (Wallmüller, 2001). Ermöglicht
wird diese durch eine effektive Teststrategie, die verschiedene Testverfahren und
Testtechniken miteinander kombiniert (Cleff, 2010).
-7-
Black-Box-Testing
Zumeist orientieren sich Teststrategien an einem definierten Vorgehensmodell, dennoch
lassen sich verschiedene, prototypische Teststrategieansätze unterscheiden, die allerdings
nicht immer überscheidungsfrei sind (vgl. Cleff, 2010, S. 215ff.).:
 Analytische Teststrategien: Tests werden durch Analyse und Bewertung verfügbarer
Software-Artefakte (z. B. ein Software-System oder -Modul, ein Anforderungs- oder
Entwicklungsdokument) abgeleitet.
 Fehler- und Erfahrungsbasierte Teststrategien (auch heuristisches Verfahren genannt):
Tests werden auf Basis von bekannten Fehlern oder Erfahrungswerten abgeleitet.
 Reaktive und vorbeugende Teststrategien: Die Testplanung und -durchführung findet
nach Beendigung oder zu einem frühen Zeitpunkt des Entwicklungsprozesses statt.
 Modellbasierte Teststrategien: In der objektorientierten Entwicklung weitverbreitete
Strategie, bei der das ausführbare Software-Modell und seine verschiedenen Arten als
Testbasis fungiert.
Aus den jeweiligen Teststrategien ergeben sich häufig schon die grundsätzliche methodischen
Richtung für das Testen der Software.
Unabhängig vom eigentlichen Vorgehen lassen sich darüber hinaus ein paar grundsätzliche
Prinzipen für das Testen von Software definieren (vgl. Alpar et al., 2008, S. 385):
 Die Testaktivitäten sollten sich an Anforderungen des Produkts orientieren.
 Eine Planung geht immer den Testaktivitäten voraus.
 Beim Testen gilt das Pareto-Prinzip: 80% der Fehler werden durch 20% der Software
verursacht.
 Die Fehler innerhalb des Produktes können nie alle aufgedeckt werden.
 Das Testen erfolgt immer vom Kleinen zum Großen, d. h. von den Komponenten zum
Gesamtsystem.
 Das Testen sollte möglichst durch unabhängige Dritte erfolgen.
 Die Wahrscheinlichkeit unbekannte Fehler zu finden ist abhängig von der Güte des
Tests.
Ähnliche Zusammenfassungen finden sich auch bei anderen Autoren (s. a. Myers et al., 2004;
Limaye, 2009; Desikan & Ramesh, 2008).
3.3 Testphasen
Wie bereits erläutert sind Tests wichtige Elemente im Rahmen der Qualitätssicherung von
Softwareprojekten und daher von hoher Bedeutung für den Gesamtprojekterfolg. Der
eigentliche Ablauf von Tests ist indes immer ähnlich und wird abhängig vom gewählten
Vorgehensmodell geplant.
Nachfolgend werden die Phasen des Testprozess nach Sneed et. al. (2008) kurz skizziert:
Hiernach besteht der Testprozess aus den drei zentralen Schritten Planung, Durchführung und
Auswertung, die ergänzt werden durch die Spezifikation der Testfälle sowie der
Protokollierung der Ergebnisse (siehe auch Abbildung 3).
-8-
Black-Box-Testing
Die Planung der Tests ist Bestandteil der Projektplanungsphase und inkludiert alle
notwendigen Ressourcen, wie Personen, Testwerkzeuge, Daten usw. Wie bereits angedeutet
ist ein vollständiger Test einer Software i. d. R. nicht möglich, daher müssen entsprechende
Strategien gefunden werden, die Testaufwand, -methode, -priorität bestimmen. Im Rahmen
der Testspezifikation werden Testfälle auf Basis der festgelegten Testmethodik definiert. Die
Durchführung umfasst den konkreten Ablauf der Tests auf Basis der Testspezifikationen. Die
Ergebnisse sollten dabei genauestens und vollständig dokumentiert werden, so dass nach
Abschluss der Tests die Auswertung der Ergebnisse Aussagen über den Erfüllungsgrad der
Tests liefern. Um den Gesamtprozess flexibel zu halten, ist es möglich in jedem der einzelnen
Prozessschritte auf vorgelagerte Prozessschritte oder zum Beginn des Testprozesses
zurückzuspringen (siehe Abbildung 3).
Abbildung 3: Der Grundlegende Testprozess (Quelle: Sneed 2008, S. 12).
Ähnliche Beschreibungen zum Ablauf des generischen Testprozesses finden sich auch bei
andere Autoren (Pol et al., 2002; Alpar et al., 2008).
3.4 Testmethoden (Black-Box- vs. White-Box- und Grey-Box-Test)
Nachdem im Abschnitt 3.2 bereits auf Teststrategien und Prinzipien eingegangen wurde, soll
in diesem Abschnitt kurz die unterschiedlichen Kategorien der Testmethoden diskutiert
werden bevor in den nachfolgenden Kapiteln die Black-Box-Tests erst theoretisch und dann
im praktischen Einsatz behandelt werden.
Nach Hoffmann (2008, S. 158) lassen sich die unterschiedlichen Testarten in drei Kategorien
einteilen, die abhängig von der Einteilung nach entsprechenden Ordnungskriterien sind:
-9-
Black-Box-Testing
 Prüfebene: Differenziert nach der Entwicklungsphase in der der Test durchgeführt wird,
z. B. Abnahmeebene, Systemebene, Integrationsebene.
 Prüfkriterien: Differenziert nach den inhaltlichen Aspekten nach denen getestet wird, z.
B. Funktional, Operational, Temporal.
 Prüfmethodik:
Differenziert nach den Methoden und den Techniken die zur
Testfallkonstruktion genutzt werden, z. B. Black-Box-Tests, White-Box-Tests, GreyBox-Tests.
Jedoch besteht in der Literatur keine einheitliche Auffassung in Bezug auf die Kategorisierung
von Testarten. Sneed et al. (2008) unterscheiden zwischen drei Kategorien und ordnen diesen
auch direkt Zuständigkeiten zu: Unittest (White-Box-Test, Entwickler), Integrationstests
(Grey-Box-Tests, Entwickler oder Tester) und Systemtest (Black-Box-Test, Tester). Während
auf Softwaretestingfundamental.com (softwaretestingfundamentals, 2011) Black-Box Tests
als Methode für das „Higher Level Testing“ beschrieben werden, zu dem Akzeptanztests und
Systemtests zählen, wird das White-Box-Testing als Methode für das „Lower Level Testing“
beschrieben und daher für Unittests und Integrationstests genutzt. In eine ähnliche Richtung
geht der Ansatz von Black (2009) der die „Testgranularität“ als Differenzierungskriterium
einführt. Der Begriff Granularität zielt auf die Komplexität und Elemente eines Systems ab
und stuft die Testebene ab, vom Programmcode hin zum vollfunktionsfähigen Gesamtsystem.
Dabei werden die drei Ebenen Strukturelle Tests (White-Box), Verhaltenstest (Black-Box)
und Live-Test (Alpha, Beta oder Akzeptanztest) unterschieden. Eine etwas differenzierte Sicht
auf die Granularität finden man bei William (2009), wie die nachfolgende Tabelle aufzeigt:
Abbildung 4: Ebenen des Testens (Quelle: Williams, 2006, S. 42).
Nachfolgend wird die Kategorisierung nach Prüfmethodik als Mittel zur Differenzierung von
Testarten verwendet und weitergehend dargestellt. Hierbei lassen sich im Wesentlichen drei
Gruppen von Tests unterscheiden: Black-Box-Tests, White-Box-Tests und Grey-Box-Tests (s.
a. Abbildung 5).
- 10 -
Black-Box-Testing
Abbildung 5: Testarten nach ihrer Konstruktionsmethodik (Quelle: Sneed et al., 2008, S. 169).
Black-Box-Testen: Das Black-Box-Testen stellt eine Software-Testmethode dar, bei welcher
die innere Struktur, das Design und die Art der Implementierung dem Testenden nicht bekannt
sind. Daher sind auch keine Kenntnisse über Programmierung oder Implementierung
notwendig. Für die Konstruktion von Testfällen wird das Ein- und Ausgabeverhalten der
Software herangezogen, daher wird diese Art des Tests auch als „data-driven“ oder als
„input/output- driven testing“ bezeichnet (Myers et al., 2004).
White-Box-Testen: Das White-Box-Testen stellt im Gegensatz zum Black-Box-Testen eine
Software-Testmethode dar, bei der die innere Struktur, das Design und die Art der
Implementierung dem Testenden bekannt sind. Zur Testfallkonstruktion werden bestimmte
Aspekte des Programm-Codes herangezogen, daher wird diese Art des Tests auch als „logicdriven testing“ bezeichnet (Myers et al., 2004). Hoffmann (2008, S.174) unterscheidet zudem
kontrollflussorientierte oder datenflussorientierte White-Box-Tests.
Grey-Box-Testen: Als Kombination aus Black-Box- und White-Box-Testen bildet das GreyBox-Testen eine halb-transparente Sichtweise auf das System ab. Ein Beispiel hierfür wäre z.
B. wenn der Quellcode von zwei Modulen per Testverfahren analysiert würde, für die
Erstellung von Testfällen und das tatsächliche Test werden die vorhandenen Schnittstellen
verwendet (softwaretestingfundamentals, 2011; Hoffmann, 2008).
Es sei an dieser Stelle darauf hingewiesen, dass Black-Box-Tests keine Alternative für WhiteBox-Tests und umgekehrt ist (Dustin et al., 2001).
Häufig berücksichtigt die Einstufung der Testarten auch gleichzeitig eine Zuordnung der
idealen Tester, so dass für White-Box-Test in der Regel Entwickler, System- oder
Datenbankadministratoren vorgeschlagen, während bei Black-Box-Tests idealerweise,
unabhängige Tester, Testingenieure oder Kunden empfohlen werden (Sneed et al., 2008;
Black, 2009; softwaretestingfundamentals, 2011).
- 11 -
Black-Box-Testing
Das Testen von Software ist eine wichtige Technik um die angestrebte Qualität von SoftwareProdukten sicherzustellen. Vor diesem Hintergrund wurden in dem zurückliegenden Kapitel
einige wichtige Aspekte zu Teststrategien, -prinzipien und -methoden dargestellt, um so in die
grundsätzliche Systematik von Testtechniken einzuleiten. Auf dieser Basis wird nun im
nachfolgenden Kapitel auf einzelne Black-Box-Testverfahren erläuternd eingegangen.
- 12 -
Black-Box-Testing
4 Funktion und Anwendung von Black-Box-Testing
4.1 Definition Black-Box-Testing
Im vorherigen Kapitel wurde bereits kurz auf das Black-Box-Testing eingegangen. Im
Folgenden soll diese Kategorie von Testarten näher erläutert werden.
Wie bereits erläutert fasst diese Methodik Testarten zusammen, bei denen das Produkt, also
die zu testende Software, als eine Art nicht-einsehbares Objekt betrachtet wird dessen interne
Struktur, Aufbau und Ablauf unbekannt sind. Stattdessen konzentriert sich die Arbeit des
Testers auf das Auffinden von unspezifischen Verhaltensweisen, in denen sich das Produkt
nicht der Anforderungsspezifikation oder den allgemeinen Vorgaben entsprechend verhält.
Daher verwenden Black-Box-Tests nur etablierte und zugängliche Schnittstellen, wie z. B.
Benutzerschnittstellen oder Schnittstellen für die Anwendungsprogrammierung (API) (
Hoffmann, 2008; Limaye, 2009; Myers et al., 2004; Dustin et al., 2001).
Die nachfolgende Definition von Williams fasst diese Sichtweise noch einmal zusammen
(Williams, 2006, S. 37):
„Black box testing (also called functional testing) is testing that ignores the internal
mechanism of a system or component and focuses solely on the outputs generated in
response to selected inputs and execution conditions.“
Vor diesem Hintergrund wird für die Erstellung von Testfällen allein das Ein- und
Ausgabeverhalten des Produkts verwendet, um die vorgegebenen Anforderungen vollständig
abzuprüfen. Die nachfolgende Grafik verdeutlicht noch einmal schematisch diesen
Zusammenhang, dabei kann die „Black-Box“ für jede zu testende Software stehen, z. B. ein
Betriebssystem, kundenbezogenes SAP-System oder eine Web-Applikation:
Abbildung 6: Schematische Betrachtung Black-Box-Tests (Quelle: Eigene Abbildung nach Limaye, 2009).
Zumeist wird beim Erstellen der Testfälle auf Benutzerszenarien oder tatsächliche
Benutzerinteraktionen zurückgegriffen. Dustin et. al. führen hierzu einige typische Beispiele
für Fehler auf (Dustin et al., 2001):
- 13 -
Black-Box-Testing








Inkorrekte oder fehlende Funktionalität
Schnittstellenfehler
Probleme im Zusammenhang mit Benutzerschnittstellen (Usability)
Leistungsabfall
Fehler beim Sichern oder Laden
Probleme beim Mehrbenutzerzugriff
Sicherheitsprobleme
Speicherüberlauf
Um solche Fehler zu erzeugen haben sich zahlreiche Techniken herausgebildet, die
Anwendung bei der Fehlervalidierung finden. Der Begriff Technik umschreibt an dieser Stelle
allerdings kein spezielles Werkzeug, sondern lediglich „handwerkliche“ Techniken zur
Durchführung bestimmte Black-Box-Tests. Nachfolgend sind einige wichtige Techniken kurz
erläutert (Michael & Radosevich, 2009)):
 Eingabe-Überprüfung und -Validierung
 Angriff per SQL-Insertion: Sicherheitslücke bei SQL-Datenbanken-Entwicklungen, die
durch mangelnde Maskierung oder Überprüfung von Metazeichen in den
Benutzereingaben entsteht
 Validierungstest für Cookie und Session-Management
 Cross-Site-Scripting-Angriffe: Fehler, die es ermöglichen Informationen aus einem
nicht vertrauenswürdigen Zusammenhang, in einen vertrauenswürdigen Kontext
einzubringen
 Buffer-Overload-Angriffe: Fehler, die bei zu große Datenmengen entstehen, für die eine
zu kleiner Speicherbereich reserviert wurde
 Directory-Traversal-Angriff: Suchen nach Sicherheitslücken in Web-Programmen durch
Manipulation von Pfadangaben, Protokollen usw.
Wie bereits dargelegt, kommt beim Black-Box-Testverfahren der Anforderungsdefinition eine
besondere Bedeutung zu. Damit wird die Anforderungsdefinition zu einem zentralen Element
der frühzeitigen Lenkung der späteren Softwarequalität und zwar nicht nur aus der
Perspektive der erfolgreichen technischen Systementwicklung, sondern auch aus der
Perspektive des Systemtestens. Daher bilden hochwertige Anforderungsdefinitionen ein
probates Instrument zur Minimierung der Projektrisiken. Vor diesem Hintergrund wurden
Ansätze entwickelt die Qualität der Anforderungen sowie deren Dokumentation zu bewerten
und auf diesem Wege Steuerungsmechanismen zu besitzen. So lassen sich qualitative
Kenngrößen durch Qualitätsmetriken für Anforderungen oder Anforderungsdokumente in
Zahlenwerte abbilden und diese für die Beurteilung des Erfüllungsgrads von
Qualitätseigenschaften nutzen (Rupp & Die SOPHISTen, 2009).
4.2 Vor- und Nachteile von Black-Box-Tests
Mit der beschriebenen Art von Tests sind einige Vor- und Nachteile verbunden, die
nachfolgend kurz erläutert werden und denen man sich bewusst sein sollte.
- 14 -
Black-Box-Testing
Zu den Vorteilen von Black-Box-Tests können die folgenden Aspekte gezählt werden
(Desikan & Ramesh, 2008; Bender, 2005):
 Grundsätzlich ist kein besonderes Vorwissen zur Anwendung oder sind spezielle
Kenntnisse über die Programmierung notwendig. Daher können Endanwender oder
neutrale Prüfer für das Testen verwendet werden.
 Das Vorhandensein von Anforderungsspezifikationen hilft bzw. unterstützt bei der
Erstellung von adäquaten Testfällen. Gleichzeitig hilft es auch bei der Prüfung der
Anforderungsspezifikation auf Unvollständigkeit oder auf nicht-valide Anforderungen.
 Black-Box-Tests helfen dabei das gesamte Funktionsspektrum eines Software-Produkts
abzudecken.
 Da es natürlich ist, dass ein Anwender Fehler im Umgang mit einer Software macht,
schließen die Tests richtige und falsche Eingaben ein und testen die Software auf eine
natürliche Weise.
 Automatisierung durch Eingabe/Ausgabe-Logik: Die zu Grunde liegende Eingabe-/
Ausgabe-Logik von Black-Box-Test ermöglicht Testautomatisierungen durchzuführen
Zu den Nachteilen von Black-Box-Tests zählen die folgende Punkte (Desikan & Ramesh,
2008); Bender, 2005):
 Die Hauptschwierigkeiten liegt darin geeignete Testfälle und Testdaten auszuwählen,
um so eine möglichst hohe Fehlererkennungsrate zu erreichen.
 Die Ursachen von erkannten Fehlern können nicht direkt hergeleitet werden, sondern
erfordern tiefergehende Analysen.
 Es werden möglicherweise nicht alle Bereiche der Software getestet, da Anforderungen
spezifiziert wurden.
 Es ist nicht immer ein Vorteil, wenn der Tester die Technologie oder die interne Logik
nicht kennt, da dieser Umstand die Erstellung von speziellen Testfällen erschwert und
ggf. dazu führt, wichtige Aspekte zu übersehen.
Zusammenfassend lässt sich resümieren, dass vor dem Einsatz von Black-Box-Tests die Vorund Nachteile abgewogen werden sollten. Da die Ergebnisse der Tests abhängig von einer gut
strukturierten Spezifikation sind, sollte im Vorfeld viel Sorgfalt in diese einfließen. BlackBox-Tests stellen einen sehr analytischen Ansatz dar und daher ist viel Erfahrungen bei der
Testfallgenerierung voraussetzt.
4.3 Vorgehen bei Anwendung von Black-Box-Tests
Die Vorgehensweise bei der Nutzung von Black-Box-Testverfahren unterscheidet sich nicht
grundlegend von dem allgemeinen Verfahren (siehe Abschnitt 3.3). Die nachfolgenden
Schritte beschreiben das generische Vorgehen bei einem Black-Box-Test und sind als
Ergänzung zum allgemeinen Vorgehensmodell zu sehen:
 Analyse von Anforderungen und Spezifikationen
 Auswahl von positiven und negativen Eingabewerte
 Festlegung der erwarteten Ausgabewerte
- 15 -
Black-Box-Testing
 Zusammenführung ausgewählter Eingabewerte in definierte Testfälle
 Ausführung der Testfälle
 Analyse und Vergleich der tatsächlichen Ausgabewerten mit den erwarteten
Ausgabewerten
 Abschluss sobald alle Testfälle durchgeführt wurden, ggf. Nachtests, falls Fehler
auftreten
4.4 Typen von Black-Box-Testmethoden
In der Praxis finden sich zahlreiche Beispiele und Anwendungsfälle von Black-BoxMethoden, von denen im Folgenden einige ausführlicher vorgestellt werden sollen. Zur
Klassifizierung der einzelnen Testmethoden werden diese in drei Gruppen unterteilt:
 Funktionale Tests
 Nicht-Funktionale Tests
 Diversifizierungstests
Diese Differenzierung wurde vor dem Hintergrund der Bedeutung der
Anwendungsspezifikation für die Black-Box-Tests gewählt und orientiert sich damit an der
üblicherweise verwendeten Strukturierung von Anforderungskonzepten, bei denen i. d. R.
zwischen funktionalen und nicht-funktionalen Anforderungen differenziert wird. Hierhinter
verbergen sich Verfahren, bei denen der Schwerpunkt der Tests auf funktionalen (z. B.
System- und Funktionsverhalten) oder nicht-funktionalen Aspekten (z. B. Performance,
Skalierbarkeit, Usability) in Bezug auf die Spezifikation beruht. Dabei kann üblicherweise die
Anzahl der unterschiedlichen nicht-funktionalen Tests denen der funktionalen Test
übersteigen.
Diversifizierungstests bilden ein Sonderverfahren, bei denen mehrere Versionen eines
Programms miteinander verglichen werden, z. B. Back-to-Back-Tests oder Regressionstests
(Hoffmann, 2008).
Es sei an dieser Stelle noch einmal darauf hingewiesen, dass in der Literatur keine
Einheitlichkeit über die Klassifizierung und Strukturierung der Testverfahren besteht. Viele
Autoren behandeln beispielsweise nicht-funktionale Tests nicht im Kontext von Black-BoxTestverfahren. Möglichweise liegt dies daran, dass in Anwendungsspezifikationen oftmals die
nicht-funktionalen gegen die funktionalen Aspekte in den Hintergrund treten.
4.4.1 Funktionale Tests
4.4.1.1 Äquivalenzklassentest
In den vorherigen Abschnitten wurde immer wieder auf die Notwendigkeit des Testens von
Software-Produkten hingewiesen. Die Basis für das Testen bildet im Zusammenhang mit
Black-Box-Tests die Anforderungsspezifikation, auf deren Basis Testfälle abgeleitet werden,
um Aussagen über das erwartete Verhalten der Software liefern zu können.
- 16 -
Black-Box-Testing
Wie viele Testfälle notwendig sind, um die größtmögliche Wirkung, aber den geringsten
Aufwand zu erhalten, stellt in der praktischen Anwendung immer wieder eine zentrale und
wichtige Frage dar, nicht zuletzt aus Kostengründen (siehe auch Kapitel 3).
Vor diesem Hintergrund haben sich Verfahren etabliert, die sich mit der Frage der
notwendigen Testfallanzahl (möglichst gering) und -abdeckung (möglichst groß) beschäftigen,
wie der Äquivalenzklassentest.
Für die Durchführung des Tests sind grundsätzlich zwei Schritte notwendig (vgl. Hoffmann,
2008, S. 177):
1. Die Äquivalenzklassenbildung: Hier wird der Bereich aller Eingangswerte in zwei
Gruppen (Äquivalenzklassen) geteilt. Die Aufteilung bzw. die Zuordnung der Werte
erfolgt auf Basis eines möglichen, gleichartigen Verhaltens im zu testenden SoftwareSystem.
2. Die Testfallkonstruktion: Aus jeder Äquivalenzklasse werden Werte ausgewählt, in
konkrete Testfälle überführt, erwartete Soll-Ausgabewerte ermittelt und mit den
erhalten Ist-Ausgabewerte vergleichen.
In Anlehnung an Kleuker (2011, 270 ff.) sollen die nachfolgenden Beispiele dieses Verfahren
für die ein- und mehrdimensionale Äquivalenzklassebildung näher erläutern:
Eindimensionale Äquivalenzklassenbildung
Im ersten Fall wird zunächst eine eindimensionale Äquivalenzklassenbildung betrachtet. In
einer Verwaltungssoftware soll eine neue Funktion getestet werden. Diese Funktion soll
Mitarbeiter-Emailadressen anlegen. Als Einschränkung gilt, dass das Namensfeld nicht leer
sein darf.
Daraus ergeben sich die beispielsweise folgenden Äquivalenzklassen:
Ä.1) E-Mail-Adresse nicht leer (gültig)
Ä.2) E-Mail-Adresse leer (ungültig)
- 17 -
Black-Box-Testing
Und die nachfolgenden Tests:
Testfallnummer
1
2
Äquivalenzklassennummer
Ä.1
Ä.2
E-Mal-Adresse
„[email protected]“
„“
Ergebnis
Ok
Abbruch
Tabelle 1: Beispiel-Testfälle zu Äquivalenzklassen (Quelle: Eigene Tabelle).
Treten die Ergebnisse beim Testen wie erwartet auf, so verhält sich das Programm wie
spezifiziert bzw. erwartet.
Mehrdimensionale Äquivalenzklassenbildung
Im zweiten Fall wird zunächst eine mehrdimensionale Äquivalenzklassenbildung betrachtet.
In der gleichen Verwaltungssoftware soll eine weitere Funktion getestet werden. Diese
Funktion soll Abteilungen und Anzahl der Mitarbeiter anlegen. Einschränkungen sind, dass
nur die folgenden Abteilungsbezeichnungen gültig sind (FI/CO, IT, HR) und die Anzahl der
Mitarbeiter zwischen 0 und 300 sein muss.
In diesem Fall ist der Äquivalenzklassenbildungsprozess etwas umfangreicher, da wir zwei
Übergabeparameter und damit auch zwei Dimensionen erhalten (siehe Tabelle 2). Im
Allgemeinen führt die Partitionierung von n Übergabeparametern zu n-dimensionalen
Äquivalenzklassen (Hoffmann, 2008).
Daraus ergeben sich die beispielsweise folgenden Äquivalenzklassen, da jeder Parameter des
Wertebereichs separat behandelt werden muss:
Ä.1) Bereich FI/CO (gültig)
Ä.2) Bereich IT (gültig)
Ä.3) Bereich HR (gültig)
Ä.4) Bereich leer (ungültig)
Ä.5) Mitarbeiter <0 (ungültig)
Ä.6) Mitarbeiter zw. 0 und 300 (gültig)
Ä.7) Mitarbeiter >300 (ungültig)
Da bei einem Funktionsaufruf mehrere Werte übergeben werden können, können die Werte
miteinander kombinieren, wie die nachfolgende zweidimensionale Matrix darstellt.
- 18 -
Black-Box-Testing
Mitarbeiter
kleiner 0
Mitarbeiter
zw. 0 und 300
Mitarbeiter
größer 300
Bereich = FI /CO
Abbruch
Ok
Abbruch
Bereich = IT
Abbruch
Ok
Abbruch
Bereich = HR
Abbruch
Ok
Abbruch
Bereich = „“
Abbruch
Abbruch
Abbruch
Tabelle 2: Beispiel zur zweidimensionalen Äquivalenzklassenabbildung (Quelle: Eigene Tabelle).
Wie zu Beginn dieses Abschnitts bereits erläutert können zusammengehörige
Äquivalenzklassen, die zu gleichen Ergebnissen führen, miteinander verschmolzen und auf
diesem Weg die Anzahl der Tests stark reduzieren. Bei gültigen Äquivalenzklassen gilt dies
auch als probates Mittel, bei ungültigen Äquivalenzklassen muss man achtsamer sein, da der
Abbruch für alle ungültigen Äquivalenzklassen in Kombination mit gültigen
Äquivalenzklassen gelten muss (Kleuker, 2011).
Zusammenfassend lässt sich festhalten, dass die Äquivalenzklassenbildung als
werteorientiertes Testverfahren ein probates Mittel zur Optimierung des Testfall- /
Testabdeckungs-Verhältnisses darstellt. Man sollte vor allem bei mehrdimensionalen
Äquivalenzklassen darauf achten, dass die Verschmelzung von Äquivalenzklassen nicht zu
komplex wird und im Zweifelsfall zu der ursprünglichen Betrachtung der Eingabeparameter
zurückkehren. Da die Äquivalenzklassenbildung bei ganzzahligen numerischen Werten
meistens leichter fällt als bei Nichtzahlenwerten (z. B. Text, Datum), ist eine gewissen Übung
erforderlich, um mit dieser Methode gut umgehen zu können.
4.4.1.2 Grenzwertbetrachtung (Boundary-Value-Analyse)
Bei genauerer Betrachtung des Beispiels aus dem vorherigen Kapitel könnten man sich die
Frage stellen, ob es bei der Einschränkung „Anzahl der Mitarbeiter zwischen 0 und 300“ nicht
sinnvoll wäre die oberen und unteren Grenzwerte für die Tests zu verwenden, also z. B. -1, 0 ,
300, 301, um zu prüfen wie sich die Anwendung in den Grenzfällen der Wertebereiche
verhält. Daher wurde der Äquivalenzklassentest um die Grenzwertbetrachtung erweitert.
Der Unterschied liegt lediglich in der Art und Weise begründet, wie Testfälle gebildet werden
Diese Testfallerstellungsstrategie resultiert aus der Erkenntnis, dass gerade im Randbereich
von Variablen oder Algorithmen die meisten Fehler auftreten (vgl. Roitzsch, 2005, S. 343).
Vor diesem Hintergrund ergeben sich die folgenden Grenzwertkonstruktionsregeln für
eindimensionale Äquivalenzklassen (vgl. Limaye, 2009, S. 375ff.; Mathur, 2011, S. 119):
1. Wenn die Grenzen ein Kontinuum abschließen, sollte der innere und äußere Wert der
unteren und oberen Grenze als Testfall verwendet werden.
2. Wenn die Grenzen Teil eines Diskontinuums sind, d. h. dass es mehrere Wertebereiche
(z. B. 0 bis 5 und 10 bis 15) gibt, dann gilt für die einzelnen Wertebereiche die gleiche
- 19 -
Black-Box-Testing
Regel wie unter 1., aber zusätzlich sollte ein Wert gewählt werden, der zwischen den
Wertebereichen liegt
3. Wird eine Eingabe erforderlich, bei der nur ein spezifischer Wert richtig ist, dann sollte
ein richtiger und zwei falsche Werte getestet werden.
4. Wird eine Aufzählung getestet oder eine Wahrheitswert (Boolean), dann reicht ein
richtiger und ein falscher Werte zum Testen.
Zwar sind nach Mathur (ebenda) eindimensionale Äquivalenzklassen zu bevorzugen,
Hoffmann (2008, S. 181) liefert auch für mehrdimensionale Äquivalenzklasse eine Regel:
5. Testfälle werden gebildet aus dem Grenzwerte-Tupel sowie allen Tupeln, mit
Einzelwerten außerhalb der Äquivalenzklasse.
Bedauerlicher Weise besitzen Wertebereiche nicht immer Grenzen, sondern sind teilweise
nach einer oder zwei Richtungen offen. In Bezug auf das Beispiel des vorherigen Abschnitts
hätte die Anforderung auch lauten können, dass die Anzahl der Mitarbeiter größer oder gleich
Null sein kann. In diesem Fall gibt es keine obere Grenze mehr. Bei offenen Wertebereichen
führt man in diesem Fall eine „künstliche Grenzinduktion“ (Hoffmann, 2008, S. 183) durch,
d. h. der Wertebereich wird willkürlich auf der einen Seiten begrenzen, um Äquivalenzklassen
zu bilden.
Zusammenfassend lässt sich festhalten, dass die Grenzwertbetrachtung, als Erweiterung der
Äquivalenzklassenbildung, bei der Auswahl geeigneter Testfälle unterstützt. Richtig
eingesetzt erhöht die Grenzwertbetrachtung die Wahrscheinlichkeit Fehler in Randbereichen
von Funktionen zu finden und auszuschalten. Allerdings muss beachtet werden, dass nicht
immer Grenzbereiche bestehen oder gebildet werden können, z. B. bei Textzuweisungen. Im
numerischen Bereich ist es hingegen ein nützliches Hilfsmittel.
4.4.1.3 Use-Case-Test
Use-Cases oder Anwendungsfälle werden meistens als Teil der Anforderungsermittlung in
Zusammenarbeit mit dem Fachbereich bzw. dem Endnutzer erstellt und sind daher auch
Bestandteil des Requirements-Engineering. Im Gegensatz zu den bisher betrachteten
Verfahren, die sich im Wesentlichen darauf beschränkt haben einzelne Funktionen zu testen,
bewegen sich die Use-Cases eher auf ein Modul oder System. Auf Basis der Anwendungsfälle
lassen sich recht einfach sinnvolle Varianten der Anwendungsfälle ableiten und in konkrete
Testfälle umwandeln.
Zur grafischen Beschreibung von Anwendungsfällen werden sog. Use-Case-Diagramme
verwendet, die die Beziehungen zwischen den Anwendungsfällen und Akteuren in den
Grenzen des Systems darstellen (siehe Abbildung 7).
- 20 -
Black-Box-Testing
Abbildung 7: Beispiel eines Use-Case-Diagramm mit Zeichenerklärung (Quelle: Jeckle, 2005).
Use-Case-Diagramme sind Bestandteil der Unified Modeling Language (UML), die zurzeit in
der Version 2.x vorliegt und als ISO-Standard (ISO/IEC 19501) akzeptiert ist (Oestereich,
2009).
Der Verwendung von Use-Cases im Zusammenhang mit Black-Box-Tests macht es
erforderlich, dass jeder Anwendungsfall in mindestens einen Testfall überführt wird.
Voraussetzung dafür ist, dass Use-Cases auch alle wesentlichen Anforderungen an das System
abbilden, eine nicht berücksichtigte Anforderung kann dann auch nicht getestet werden. Auch
wenn Projekte keine Use-Cases verwenden, sondern die Anforderungen auf andere Weise
aufnehmen, so können Use-Cases dabei helfen die aufgenommenen Anforderungen zu
Funktionen zu bündeln. Ein anwendungsfallbezogenes Testvorgehen erfordert einen Prozess
zu Identifizierung und Entwicklung Testfällen, Hoffmann (2008, S. 189) schlägt dafür die
folgenden Schritte vor:
 Im ersten Schritt werden zunächst Wertebereiche für bestimmte Ablaufprozesse
innerhalb des Use-Case-Diagramms definiert und analog der Äquivalentbildung (s.
4.4.1.1) aufgeteilt.
 Im zweiten Schritt werden dann für die Wertebereiche konkreten Eingabebelegungen
ausgewählt. Dass sich auch hier Fehler an den Grenzen der Äquivalenzklassen finden
lassen ist nicht unwahrscheinlich, was auch hier denn Einsatz der Grenzwertanalyse
sinnvoll macht.
Wie bereits dargelegt bildet das Use-Case-Verfahren eine gute Möglichkeit, die im Rahmen
der Anforderungsanalyse geforderten Funktionen zu beschreiben. Wird dies allerdings nicht
mit der erforderlichen Sorgfalt erfüllt, treten typische Probleme auf, wie z. B. nicht-adäquate
Beschreibung von Variablen, unspezifische Beschreibungen von Funktionen oder nicht
spezifizierte Geschäftsregeln.
- 21 -
Black-Box-Testing
Zusammenfassend lässt sich über diese Testmethode sagen, dass Use-Cases einen einfachen
Zugang zu den geforderten Anforderungen bieten und so die Funktionen eines Systems in
einer gut verständlichen Form darlegen können.
4.4.1.4 Entscheidungstabellenbasierter Test
Die entscheidungstabellenbasierte Testmethode ist ein funktionsorientiertes Verfahren und
beruht darauf, Funktionen von Software-Produkten auf Basis von einfachen UrsacheWirkungs-Zusammenhängen abzubilden. Dabei werden mit einem Ursache-WirkungsDiagramm (engl. „Cause-Effect Graph“) die Beziehung zwischen Ursachen und ihren
Wirkungen in Bezug auf die zu testende Software abgebildet.
Ursachen und Wirkungen sind nur logische Größen, die „wahr“ und „falsch“ annehmen
können, z. B. „ Konto aktiv“, „Ausweis ungültig“, „Konto gesperrt“. Wird das UrsacheWirkungs-Gefüge zu komplex, dann können Ursachen, die eine bestimmte Wirkung auslösen,
auch in Haupt- und Nebenursachen zerlegt werden.
Die Ursachen und Wirkungen werden in Tabellen überführt, um so ihre logische Beziehung
darzustellen. Dabei wird für jede Bedingung eine separate Zeile erzeugt, jede Spalte
repräsentiert dann die Bedingungskombination. Die Spalten werden mit Werten („wahr“ oder
„falsch“) ausgefüllt, indem für jede Spalte ermittelt wird, welche Wirkung die gegebene
Ursache auslöst (Hoffmann, 2008).
Die Entscheidungstabelle kann nun zur systematischen Erstellung von Testfällen genutzt
werden,
die
eine
Kombination
aller
Ursachen
(z.
B.
Eingabeoder
Automatisierungsbedingungen) und daraus resultierenden Wirkungen darstellt.
An einem einfachen Beispiel soll das Verfahren kurz erläutert werden (vgl. Cleff, 2010, S.
124). Dazu betrachten wir den Fall der Prämienauszahlung in einem Unternehmen. Diese
erfolgt dann, wenn ein Mitarbeiter länger als 1 Jahr im Unternehmen ist (Bedingung 1) und
die vereinbarten Ziele (Bedingung 2) auch erreicht wurden (Bedingung 3).
Auf Basis der Aussagen kann nun ein Ursache-Wirkungs-Diagramm erstellt werden. Für die
Art der Umsetzung eines Ursache-Wirkungs-Diagramms finden sich in der Literatur
unterschiedliche Beispiele (siehe z. B. Liggesmeyer, 2009; Hoffmann, 2008). Zwei mögliche
Varianten für das Fallbeispiel sind nachstehend dargestellt.
- 22 -
Black-Box-Testing
Abbildung 8: Beispiel I für Ursache-Wirkungs-Diagramm am Beispiel "Auszahlung Prämie" (Quelle:
Eigene Abbildung nach Liggesmeyer, 2009).
Abbildung 9: Beispiel II für Ursache-Wirkungs-Diagramm am Beispiel "Auszahlung Prämie" (Quelle:
Eigene Abbildung nach Hoffmann, 2008).
Unabhängig von der Darstellungsart beschreibt das Ursache-Wirkungs-Diagramm nun
grafisch, was vorher textal beschrieben wurde, nämlich dass die Prämienauszahlung nur dann
erfolgt, wenn alle drei Bedingungen erfüllt sind. Ist allerdings eine Bedingung nicht erfüllt,
dann ist die Wirkung nicht mehr gegeben.
Überführt man das Ursache-Wirkungs-Diagramm in eine Tabellenform, dann ergeben sich
unter Berücksichtigung, dass alle Bedingungen nur boolesche Werte („wahr“ oder „falsch“)
annehmen können, aus n Bedingungen 2n Kombinationen, die in Spalten für Testfälle
abgebildet werden.
- 23 -
Black-Box-Testing
Zur Überführung in eine Tabellenstruktur wird die Entscheidungstabelle in vier Blöcke geteilt
(vgl. Franz, 2007, S. 38):
Ursache = Bedingung
Regel = Testfall
Wirkung=Aktion
Entscheidung
Tabelle 3: Vorlage für Entscheidungstabelle (Quelle: Eigene Tabelle nach Franz, 2007)
Für das bisher verwendete Beispiel entstehen für 3 Bedingungen 23=8 Spalten. Daraus leitet
sich die nachfolgend dargestellte Tabelle ab, die den Kombinationen aus dem Beispiel 2 des
Ursache-Wirkungs-Diagramms entspricht:
Ursachen
T1
T2
T3
T4
T5
T6
T7
T8
B1 Beschäftigung länger
als 1 Jahr
W
W
W
W
F
F
F
F
B2 Ziel abgestimmt
W
W
F
F
F
W
F
W
B3 Ziel erreicht
W
F
W
F
F
W
W
F
W
F
F
F
F
F
F
F
W
Auszahlung Prämie
Tabelle 4: Entscheidungstabelle für das Beispiel "Auszahlung Prämie"(Quelle: Eigene Tabelle nach
Franz, 2007)
Auf Basis der vorliegenden Tabelle ergibt sich aus jeder Spalte ein
entscheidungstabellenbasierter Test. In der Praxis werden allerdings in den wenigsten Fällen
aus den Entscheidungstabelle alle Fälle für das Testen verwendet oder überhaupt in erst in
eine Entscheidungstabelle überführt, da es funktionale Abhängigkeiten zwischen
Eingangsbedingungen gibt oder Wechselwirkungen bestehen. Eine solche Situation gibt es
auch in dem vorliegenden Beispiel, da im Fall T3 und T7 eine Situation beschrieben wird, die
eigentlich nicht möglich ist, da hier ein Ziel erreicht wird, ohne dass vorher ein Ziel
abgestimmt wurde. Damit reduziert sich die Anzahl der Tests auf 23-2 = 6 Testfälle.
Die gleiche Anzahl hätte man auch erhalten, wenn die Tabelle aus dem Beispiel 2 des
Ursache-Wirkungs-Diagramms (siehe Abbildung 9) abgeleitet worden wäre, da hier die Fälle
T3 und T7 gar nicht aufgetreten wären, weil sie nicht abgebildet sind.
Zusammenfassend lässt sich festhalten, dass die entscheidungstabellenbasierte Testmethode
ein Möglichkeit bietet funktional abhängige Ursachen und daraus resultierende Wirkungen auf
strukturiert und einfache Weise in Testfälle umzuformen. Dabei muss allerdings
berücksichtigt werden, dass die Anzahl exponentiell steigt und daher schnell unübersichtlich
wird. Es sollte also nach Vereinfachungen geschaut werden, um die Anzahl auf die
notwendige Testfallanzahl zu reduzieren.
- 24 -
Black-Box-Testing
Analog der bisher betrachteten Verfahren bietet diese Testmethode die Möglichkeit auf
einfache Weise Anforderungen an das System in Testfälle zu überführen und mit dem
tatsächlichen Verhalten abzugleichen. Jedoch gilt auch für diese Methode, dass hierfür die
Qualität der Anforderungserfassung sehr wichtig ist.
Bei der Entscheidungstabelle wurden die Bedingungen untersucht, welche Abhängigkeiten
hatten. Bei dem paarweisen Testen wird nach unabhängigen Bedingungen gesucht, also dem
genauen Gegenteil.
4.4.1.5 Paarweises Testen
Beim paarweisen Testen erfolgt die Testkonstruktion auf Basis aller Kombination von zwei
Bedingungen (Ausprägungspaar).
„Die Idee des paarweisen Testens basiert auf einer empirischen Beobachtung: Versagt ein
System unter einer gewissen Konfiguration seinen Dienst, so lassen sich in den allermeisten
Fällen einzelne Faktoren identifizieren, die für das Fehlverhalten verantwortlich sind.“
(Hoffmann, 2008, S. 192ff.).
Das paarweise Tests stellt eine Testmethode dar, die sowohl im Bereich der funktionalen wie
nicht-funktionalen Tests (siehe Kapitel 4.4.2 Nicht-Funktionale Tests) eingesetzt wird. Das in
diesem Abschnitt gewählte Beispiel kommt aus dem Bereich des Konfigurationstestens, eine
Testmethode nicht-funktionaler Tests, verdeutlicht aber die Einsatzmöglichkeit dieser Testart
auf eindringliche Art.
Da es aber bei Programmen häufig eine Vielzahl von Kombinationsmöglichkeiten in Bezug
auf die Eingaben oder beim Testen von Funktionen gibt, müssten alle Kombinationen geprüft
werden. Dabei entsteht oftmals eine sehr große Anzahl an Testfälle, wie das folgende Beispiel
nach Hoffmann (2008, S. 192 ff.) ausführlich darstellt:
Eine Web-Anwendung soll mit gängigen Browsern (Explorer, Firefox, Safari),
Betriebssystemen (Windows, Linux, OS X) kompatibel sein und mit den Browsersprachen
Deutsch und Englisch betrieben werden können. Aus dieser recht einfachen Konfiguration
entstehen schon 3*3*2 = 18 unterschiedliche Kombinationen. Bei größeren Systemen
entstehen auf diesem Weg schnell sehr große Mengen an Tests, die nicht mehr mit sinnvollem
Aufwand abgearbeitet werden können.
Vor diesem Hintergrund muss eine Möglichkeit gefunden werden, die Testanzahl und damit
den Aufwand auf ein Minimum zu reduzieren. Dies erfolgt durch Reduzierung der Testfälle
bis jedes Ausprägungspaar durch einen entsprechenden Testfall abgedeckt ist (siehe
Abbildung 10).
- 25 -
Black-Box-Testing
Abbildung 10: Vollständige und paarweise Software-Tests im Vergleich (Quelle: Eigene Abbildung nach
Hoffmann, 2008).
Damit ist eine Tabelle gefunden, die jedes Ausprägungspaar abdeckt und damit ein
vollständige Testmenge bildet. Somit kann diese Tabelle als valide Basis für das Testen der
im Beispiel dargelegten Kombination aus Browser, Betriebssystem und Sprache verwendet
werden.
Da es in der Regel schwierig ist, insbesondere bei größeren Kombinationsvariationen, die
richtigen Ausprägungspaare aus der Vielzahl von Kombinationen herauszufinden, soll
nachfolgend das Verfahren nach Hoffmann vorgestellt werden (vgl. ebenda, S. 196 ff.). Bei
dieser Vorgehensweise wird in drei Schritten eine vollständige Testmenge mit paarweisem
Test konstruiert. Die Veranschaulichung der Vorgehensweise erfolgt anhand des vorher
dargestellten Beispiels:
1. Es wird die Anzahl der Freiheitsgrade (c) und der maximalen Ausprägungen (k) eines
orthogonalen Arrays der Form Ln(kc) gebildet. Für das vorliegende Beispiel besitzt die
Applikation 3 Freiheitsgrade mit 3 bzw. 2 Ausprägungen. Daraus ergibt sich die
folgende Matrix, der Form L9(33)1:
1 Bei Hoffmann (2008, S. 196) sind weitere Varianten von orthogonalen Arrays zu finden, z. B. der Form L 16(43) und
L25(53).
- 26 -
Black-Box-Testing
Abbildung 11: Orthogonales Array der Form Ln(kc) (Quelle: Eigene Abbildung nach Hoffmann 2008).
2. Es wird für jeden Freiheitgrad eine Spalte und für die Ausprägungen eine beliebige Zahl
gewählt. Für das vorliegende Beispiel werden die Spalten in der Reihenfolge
Betriebssystem, Browser und Browsersprache vergeben und die Ausprägen
entsprechend analog (z. B. für das Betriebssystem 1=Windows, 2=Linux, 3=OS X).
Daraus ergibt sich die folgende erweiterte Matrix:
Abbildung 12: Aufgefülltes Array mit Ausprägungen der Freiheitsgrade (Quelle: Eigene Abbildung nach
Hoffmann 2008).
3. Im letzten Schritt muss geprüft werden, ob ggf. unausgefüllte Zellen vorhanden sind. Da
im vorliegenden Beispiel der Freiheitsgrad „Browsersprache“ nur mit zwei
Ausprägungen belegt ist, wurden nicht alle Zellen ausgefüllt. Diese können nun mit
beliebigen Ausprägungen aus des Freiheitsgrads „Browsersprache“ aufgefüllt werden,
dürfen aber auf keinen Fall gelöscht werden, da ansonsten die entsprechenden
Ausprägungspaare (z. B. OS X und Firefox) verloren gehen würden.
- 27 -
Black-Box-Testing
Abbildung 13: Paarweise vollständige Testmenge (Quelle: Angepasst nach Hoffmann 2008).
Zusammenfassend lässt sich festhalten, dass das paarweise Testen eine gute Möglichkeit
bietet die Anzahl von Prüfung zu reduzieren, wenn die Kombination von Freiheitsgraden und
Ausprägungen zu groß wird. Anders als bei der entscheidungstabellenbasierten Testmethode,
bei der Abhängigkeiten von Bedingungen untersucht werden, sollen beim paarweisen Testen
unabhängige Bedingungen untersucht werden (Betriebssystem und Browser sind grundsätzlich
unabhängig voneinander), da die Praxis gezeigt hat, dass in den allermeisten Fällen zwei
Bedingungen für den Ausfall von Software ausreichen.
4.4.2 Nicht-Funktionale Tests
In diesen Abschnitt soll noch einmal auf die Gruppe der nicht-funktionalen Tests eingegangen
werden.
Unter nicht-funktionalen Anforderungen versteht man das allgemeine Verhalten eines
Software-Produkts (Franz, 2007). Im Gegensatz zu den bisher dargestellten funktionalen
Tests, überprüfen diese die nicht-funktionalen Anforderungen eines Systems, also z. B. die
Gebrauchstauglichkeit oder die Zuverlässigkeit eines Systems. Sie beziehen sich oft auf das
gesamte System und nicht auf einzelne Teilelemente. Nicht-funktionale Tests werden daher
auch als „Higher-Order Testing“ bezeichnet (Myers et al., 2004).
Es können zahlreiche verschiedene Arten von nicht-funktionalen Tests unterschieden werden
(SoftwareTestingStuff, 2007), z. B.
 Massentest
 Performance-Tests
 Usability-Test
 Recovery-Test
 Sicherheitstest
 Speichertests
 Konfigurationstests (siehe auch Kapitel 4.4.1.5)
 Installationstests
 Kompatibilitätstest
- 28 -
Black-Box-Testing
Zu den wichtigsten nicht-funktionalen Eigenschaften von Software-Produkten gehören die
Benutzbarkeit (Usability), die Leistungsfähigkeit (Performance) und die Sicherheit (Security)
(Grechenig & Bernhart, 2009).
Meistens werden die nicht-funktionalen Eigenschaften eines Systems in der
Anforderungsspezifikation nur sehr vage ausgeführt, so dass es schwer fällt Prüfungen aus
diesen abzuleiten. Daher wird in konkreten Situationen auf allgemeine Software-Standards
zurückgegriffen oder gar keine standardisierten Tests durchgeführt.
All die hier erwähnten Beispiele nicht-funktionaler Tests ausführlich zu behandeln, könnte zu
einem bücherfüllendem Programm werden, daher wird an dieser Stelle nur auf einer
Übersichtsebene und auf den Performance-Test sowie den Sicherheitstests-Test eingegangen.
Die Beschreibungen erheben keinen Anspruch auf Vollständigkeit.
4.4.2.1 Performance-Tests
Bei Leistungs- oder Performance-Tests wird die Antwortzeit des Systems oder einzelner
Komponenten getestet. Performance-Tests werden zur Risikominimierung von Projekten,
insbesondere bei zeitkritischen Anwendungen, angesehen.
In der Literatur werden die Begriffe (Über-)Last-, Stress- und Performance-Test oftmals
synonym verwendet.
Mit Hilfe eines Performance-Tests kann die Einhaltung von Anforderungen und Zielen an die
Leistungsfähigkeit eines Systems überprüft werden. Die Untersuchung der Performance
erfolgt dabei durch Anlegen künstlicher Last und dem Messen der dadurch hervorgerufenen
Ressourcennutzung und Reaktionszeiten. Als Last gilt dabei die Nutzung hoher Datenmengen,
gleichzeitig zu bearbeitende Nutzeranfragen oder die Simulation sehr lange andauernder
Nutzung (Wirtz, 2009).
Zur Bestimmung der Performance eines Systems werden Wertebereiche aufgebaut, die bei der
Analyse des Systems unterstützen. Einige Beispiele hierfür sind nachfolgend aufgeführt (vgl.
Grechenig & Bernhart, 2009, S. 328):
 Latenz: Beschriebt die Zeitspanne bis zur Beantwortung einer Anfrage.
 Durchsatz: Beschreibt die Menge der Daten, Informationen oder Arbeitsschritte die in
einer definierten Zeit verarbeitet werden.
 Transaktionsrate: Beschreibt die Form des Durchsatzes, d. h. die Menge an
Transaktionen pro Zeiteinheit.
4.4.2.2 Sicherheitstests
Sicherheitstests haben in Zeiten zunehmender Cyberkriminalität (Baltaci, 2011) und HackerAngriffen (DerWesten, 2011) eine hohe Bedeutung. Allerdings ist die Beweisführung, ob ein
System wirklich sicher ist nicht trivial.
Um die Funktionsfähigkeit von Sicherheitsmechanismen in Systemen sicherzustellen gibt es
zahlreiche Möglichkeiten, die mit mehr oder weniger Aufwand durchzuführen sind. Vor
- 29 -
Black-Box-Testing
diesem Hintergrund soll im Folgenden beispielhaft auf die Möglichkeiten von
Penetrationstests eingegangen werden.
Im Jahr 2003 hat das Bundesamt für Sicherheit in der Informationstechnik (BSI) eine
umfassende Studie zum Thema Penetrationstests veröffentlicht (BSI, 2007). „Durch einen
Penetrationstest kann geprüft werden, inwieweit die Sicherheit der IT-Systeme durch
Bedrohungen von Hackern, Crackern, etc. gefährdet ist bzw. ob die IT-Sicherheit durch die
eingesetzten Sicherheitsmaßnahmen aktuell gewährleistet ist“ (ebenda, S.5). Dabei werden die
gleichen Methoden verwendet, die auch potentielle Angreifer verwenden würden.
Bei der Konstruktion von Testfällen und Durchführung Tests ist es immer wichtig
Grundannahmen zum Informationsstand des Angreifers zu kennen. Hier unterscheidet man
zwischen sog. Black-Box-Testing - ohne jegliches Wissen - und White-Box-Testing mit
Wissen über die Software. In meisten Fällen laufen die Test als „Black-Box-Simulation“, bei
denen der Hacker keine Informationen über das System besitzt.
Bei der Vorgehensweise schlägt das BSI als Methodik für die Durchführung von
Penetrationstests ein fünfstufiges Umsetzungsmodell vor (siehe Abbildung 14).
Abbildung 14: Fünf-phasige Vorgehensweise für Penetrationstests (Quelle: Informationstechnik, 2007, S.
47).
Die für einen potentiellen Angreifer zur Ausnutzung von Schwachstellen zur Verfügung
stehenden Möglichkeiten sind äußerst vielfältig und teilweise auch sehr trivial. Hierzu
- 30 -
Black-Box-Testing
gehören die folgenden Möglichkeiten (vgl. TU Wien, S.7 ff.):
 Ändern vordefinierter Befehlsabfolgen
 Erzeugen unerwarteter Eingaben
 Ausführen zusätzlicher Funktionen
 Direktes oder indirektes Lesen
 Schreiben/Modifizieren interner Daten,
 Verwenden kontext-unerwarteter Funktionen
 Abfolgeunterbrechung von Befehlen
Das Hauptproblem bei Penetrationstests liegt darin, dass sich die Techniken, mit denen
Angreifer versuchen Schwachstellen auszunutzen, schnell weiterentwickeln, da man über das
bestehende Sicherheitsniveau nicht auf die zukünftige Sicherheitsfähigkeit schließen kann.
Dies gilt insbesondere für Änderungen, Anpassungen oder Erweiterungen von SoftwareProdukten, durch die Sicherheitslücken entstehen können (siehe Kapitel 4.4.3.2).
4.4.3 Diversifizierungstests
Unter der Kategorie Diversifizierungstests lassen sich Testverfahren zusammenfassen, die
mehrere Versionen von Software-Anwendungen miteinander vergleichen. Dabei wird
allerdings nicht mehr auf Basis einer Spezifikation getestet, sondern lediglich auf Basis eines
analogen - funktional wie nicht-funktionalen - Anwendungsverhaltens der Produkte (vgl.
Hoffmann, 2008, S. 198). Meistens kommen diese Verfahren bei der parallelen
Neuentwicklung von Systemen (Back-to-Back) oder bei der Weiterentwicklung bestehender
Systeme (Regressionstest) zum Einsatz.
4.4.3.1 Back-to-Back-Test
Bei einem Back-to-Back-Test werden von unterschiedlichen Programmierteams, auf Basis der
gleichen Spezifikation, dieselbe Software entwickelt und anschließend gegeneinander getestet
(vgl. Hoffmann, 2008). Auf diese Weise entstehen n-Versionen der gleichen Software oder
der gleichen Softwarekomponenten. Da die Softwareprodukte auf der gleichen Spezifikation
aufsetzen, sollten diese auch identisch sein, also das gleiche Eingabe-/Ausgabe-Verhalten
zeigen. Da aber in der Software-Entwicklung eine große Varianz an Möglichkeiten besteht
mit unterschiedlichen Mitteln das gleiche Ergebnis zu erreichen (z. B. über unterschiedliche
Programmiersprachen, Implementierungsverfahren), besteht auch die Chance, dass Lösungen
nicht das gleiche Eingabe-/Ausgabe-Verhalten zeigen.
Da die Entwicklung von redundanten Systemen sehr kostspielig ist, wird ein solches
Verfahren nur dann angewandt, wenn es wichtige Gründe für solche
Parallelimplementierungen gibt, z. B. bei sicherheitsrelevanten Produkten oder bei
laufzeitkritischen Systemen.
4.4.3.2 Regressionstest
Das vornehmliche Ziel von Regressionstests besteht darin sicherzustellen, dass die
Änderungen an einer bestehenden Software (z. B. durch Funktionserweiterungen,
Fehlerkorrekturen, Erneuerungen oder Installation in einer neuen Umgebung) keine
- 31 -
Black-Box-Testing
unerwünschten Seiteneffekte auf bestehende funktionale oder nicht-funktionale Aspekte der
Software haben (vgl. Hoffmann, 2008, S.198).
Die nachfolgende Abbildung beschreibt diesen Zusammenhang noch einmal:
Abbildung 15: Prinzip eines Regressionstests (Quelle: Frühauf et al., 2007, S. 33).
Sinnvollerweise müssen alle Testfälle, die bisher fehlerfrei abgearbeitet worden sind, nach
den Änderungen noch einmal durchgeführt werden. Wie hoch der wirkliche
Wiederholungsgrad der Testfälle ist, ergibt sich daraus wie genau die Abhängigkeiten der
Systemänderungen und der interdependenten Systemelementen bekannt sind (vgl. Grechenig
& Bernhart, 2009, S. 335). In der Praxis reicht es meistens, dass nur ein Teil der Testfälle
wiederholt werden, da i. d. R. nicht alle Komponenten/Module der Software von den
Änderungen betroffen sind. Dennoch nehmen Regressionstest ein Großteil der Testzeit in
Anspruch, da sie ein zentrales Mittel darstellen, um die Software-Korrektheit zu testen
(Hoffmann, 2008, S. 199).
Vor diesem Hintergrund sollte bei Anpassungen an bestehenden Lösungen immer davon
ausgegangen werden, dass es Einflüsse auf die bestehende Funktionalitäten gibt. Wie hoch
diese sind muss im Einzelnen geprüft werden, Regressionstests sind in diesem
Zusammenhang aber immer sinnvoll oder sogar notwendige Pflicht (vgl. Versteegen et al.,
2002, S. 118).
4.5 Werkzeuge für Black Box-Tests
Es gibt zahlreiche Werkzeuge, die das Black-Box-Testing unterstützen und erleichtern
können, z. B. für bei Performancetests, Usability-Tests, Sicherheitstests, Klassentests usw.
(vgl. Franz, 2007). Im Folgenden sind beispielhaft einige Test-Umgebungen aufgeführt (vgl.
Aßmann, 2010, S.21):
- 32 -
Black-Box-Testing




TestBench (Imbus: www.imbus.de)
Visual 2000 (McCabe & Associates: www.mccabe.com)
Cantata++ (IPL, Bath,: www.iplbath.com)
ClickTracks (CT Analytics: http://www.clicktracks.com/products/pro/index.php)
In den nachfolgenden Kapiteln (5 und 6) wird noch einmal ausführlich auf Werkzeuge und
ihre Anwendungsverfahren eingegangen.
- 33 -
Black-Box-Testing
5 Black-Box-Tests im Rahmen eines SAP-Projekts
5.1 Gründe für organisiertes Testen im SAP-Umfeld
Bereits seit 1972 entwickelt SAP ERP-Lösungen. In dieser Zeit wechselte der Name der
Anwendung von SAP R/1, R/2, R/3 über mySAP bis hin zu SAP ERP. Zahlreiche
Unternehmen weltweit haben bereits jahrelang erfolgreich die ERP-Lösung im Einsatz. Die
Qualitätssicherung von SAP stellt nicht nur sicher, dass die ausgelieferte Anwendung
möglichst fehlerfrei ist, sondern auch dass Fehler, die erst im Produktivbetrieb entdeckt
werden, ebenfalls behoben werden. Hierfür stellt SAP so genannte Hinweise bereit, die eine
Fehlerreparatur beinhalten. (vgl. SAP AG, o. J.)
Dennoch gibt es trotz der umfangreichen Qualitätssicherung und der jahrelangen Marktreife
von SAP-Lösungen Beispiele für gescheiterte SAP-Einführungen. Da SAPEinführungsprojekte meist sehr kostspielig sind und tief in die Unternehmensstruktur
eingreifen, können Folgen eines gescheiterten SAP-Projekts für den Auftraggeber sehr
dramatisch sein. So ist Shane Co., eine Handelskette für Schmuck, im Jahr 2008 in
wirtschaftliche Schwierigkeiten geraten. Neben der Finanzkrise und dem damit verbundenen
Rückgang der Nachfrage nach Luxusgütern macht Shane auch die Schwierigkeiten bei der
Einführung des Moduls „SAP for Retail“ für die Unternehmenspleite mitverantwortlich. Statt
der geplanten maximal zehn Millionen EUR und einer Einführungsphase von zwölf Monaten
hat das Projekt 32 Millionen EUR gekostet und drei Jahre in Anspruch genommen. Doch auch
nach der Inbetriebnahme im September 2007 war die SAP-Implementierung fehlerhaft. „Nach
Angaben von Shane lieferte die ERP-Software keine akkuraten Lagerdaten. Folglich wuchsen
die Bestände, während die geforderte Ware nicht in den Regalen lag. Dies habe Kosten
verursacht und den Absatz sowohl während der restlichen Monate des Jahres 2007 als auch
den ersten neun Monaten des folgenden Jahres beeinträchtigt.“ Neben dem Softwarehersteller
SAP könne auch das Beratungsunternehmen Ciber Novasoft für die gescheiterte Einführung
verantwortlich gemacht werden. (vgl. Niemann et. al. , 2009)
Da die Lösungen von SAP permanent weiterentwickelt und getestet werden, stellt sich die
Frage wie es dazu kommen kann, dass ein solches Einführungsprojekt scheitert. Die Ursache
kann darin liegen, dass es nicht möglich ist, eine Anwendung „out of the box“ zu entwickeln,
die zu jedem Unternehmen wie maßgeschneidert passt. SAP ERP ist keine Maßanfertigung,
vielmehr ist die Anwendung mit vielen Standardfunktionen und Erweiterungsmöglichkeiten
ausgestattet, die für die Zielgruppe erforderlich sind. Es ist die Aufgabe des
Einführungspartners zu erkennen, welche Funktionen in welchem Umfang ein Unternehmen
benötigt und diese anschließend entsprechend zu implementieren. Doch genau an dieser Stelle
kommt es oft zu Schwierigkeiten. Neben der fehlerhaften Definition der Anforderungen kann
auch die Umsetzung dieser fehlerhaft sein. Damit ein Einführungsprojekt erfolgreich endet,
müsste also während des gesamten Projekts sichergestellt werden, dass die Anforderungen
richtig erkannt, festgehalten und umgesetzt werden.1
- 34 -
Black-Box-Testing
Das Kapitel 5dieser Arbeit beschreibt die von SAP empfohlene Implementierungs- und
Testmethodik. Dabei werden zunächst das Vorgehens- und das Testmodell vorgestellt. Das
letztere basiert in SAP-Projekten größtenteils auf Black-Box-Tests. Anschließend wird ein
Testmanagementtool vorgestellt, welches in SAP-Projekten eingesetzt werden kann.
Abgeschlossen wird das Kapitel mit zwei Kundenberichten. Neben einigen Internetquellen
diente v.a. das Buch „SAP-Lösungen testen“ von Markus Helfen und Hans Martin Trauthwein
sowie die Berufserfahrung der Verfasserin als SAP-Beraterin für Finanzwesen als
Informationsquelle.
- 35 -
Black-Box-Testing
5.2 Testmethodik in SAP-Projekten
5.2.1 Einführung in die ASAP-Methodik
Um eine möglichst optimale SAP-Einführung zu ermöglichen und sicherzustellen, dass das
System auch nach der Inbetriebnahme funktionsfähig bleibt, wurde die ASAP-Methodik
(Accelerated SAP) entwickelt. Diese wird von SAP für die Einführung des ERP-Systems
empfohlen. In diesem Kapitel wird diese Methodik beschrieben. Zunächst soll jedoch das
allgemeine V-Modell vorgestellt werden, welches das grundsätzliche Vorgehensmodell für
viele Software-Entwicklungsprojekte darstellt.
Das V-Modell besteht aus Entwicklungsschritten, welchen die entsprechenden Testaktivitäten
gegenüberstehen, die das Ergebnis der jeweiligen Entwicklungsphase überprüfen. Die Anzahl
und Ausprägung der jeweiligen Entwicklungsstufen können sich je nach Literatur
unterscheiden. Die nachfolgende Abbildung zeigt ein V-Modell mit fünf
Entwicklungsschritten (links), welchen vier validierende Testaktivitäten (rechts)
gegenüberstehen (vgl. Maiborn, 2009):
Abbildung 16: Das allgemeine V-Modell (Quelle: Maiborn, 2009).
- 36 -
Black-Box-Testing
In der Phase der Anforderungsdefinition wird die Gesamtheit aller Anforderungen
festgehalten, die ein System erfüllen muss. Anschließend wird das System in der Phase des
funktionalen Systementwurfs ausgestaltet und in der Phase des technischen Systementwurfs die
konkrete technische Architektur definiert. Danach fließen die funktionalen und technischen
Entwürfe in die Spezifikation ein (Phase Komponentenspezifikation) und werden in der
Implementierungsphase ausprogrammiert.
Sobald die Programmierung abgeschlossen ist, werden Programmmodule im Rahmen des
Komponententests getestet. Die Soll-Vorgaben liefert dabei die Komponentenspezifikation.
Da der Tester in der Regel über Kenntnis des internen Programmaufbaus verfügt, handelt es
sich um einen White-Box- oder Gray-Box-Test (vgl. Unterkapitel 3.4). Nachdem die
einzelnen Komponenten erfolgreich getestet wurden, erfolgt der Integrationstest, dessen
Aufgabe es ist die Funktionsfähigkeit der Komponentenkombinationen sicherzustellen. Ab
dieser Teststufe kommen in der Regel Black-Box-Tests zur Anwendung. Entscheidend für den
Erfolg oder den Misserfolg des Integrationstests ist die Übereinstimmung mit den
Festlegungen in der Phase des technischen Systementwurfs. Dagegen stellt der Systemtest
sicher, dass die funktionalen Anforderungen erfüllt wurden. Hierbei wird nicht mehr die
technische Seite des Systems betrachtet, vielmehr wird sichergestellt, dass das System alle
erforderlichen Funktionen bietet, die für Geschäftsprozesse des Auftraggebers benötigt
werden. Im Abschluss des Projekts ermittelt der Auftraggeber durch einen Abnahmetest die
Übereinstimmung des gelieferten Systems mit den Anforderungen. (vgl. Helfen et. al. 2010, S.
46 – 50)
Die SAP-Methodik übernimmt die Vorgehensweise des V-Modells mit einigen
Modifikationen. „Analog zum V-Modell wird in SAP-Umfeld funktional ausnahmslos nach
einer Bottom-up-Strategie getestet – vom Teil zum Ganzen.“ Dabei ist „ (…) die Darstellung
der Teststufen (…) von der Beschreibung eines Vorgehensmodells abzugrenzen. Die
einzelnen Stufen beschreiben lediglich die Beschaffenheit von Tests und Testfällen
korrespondierend zu einer spezifischen Projektphase.“ (vgl. Helfen et. al. 2010, S. 51)
Als Vorgehensmodell empfiehlt SAP die ASAP-Methodik. Viele SAP-Beratungsunternehmen
haben die ASAP-Methodik angenommen und wenden sie während der Einführung des ERPSystems an. (vgl. Helfen et. al. 2010, S. 51) Die nachfolgende Abbildung stammt aus der
Internetseite des Beratungshauses Steeb und zeigt eine Übersicht der ASAP-Projektschritte:
- 37 -
Black-Box-Testing
Abbildung 17: ASAP-Einführungsmethodik (Quelle: Steeb Anwendungssysteme GmbH, o.J.).
In der Projektvorbereitungsphase werden die Projektziele definiert, das Projektteam
zusammengestellt sowie eine Einführungsstrategie festgelegt. In der Blueprint-Phase werden
die Anforderungen an das zukünftige ERP-System zusammengestellt und in Form eines
Business-Blueprints festgehalten. Im deutschen Sprachraum wird Business-Blueprint u.a. auch
Pflichtenheft bezeichnet. Während der Realisierungsphase werden die vordefinierten
Anforderungen an das SAP-System wie folgt umgesetzt:
 Vorhandene Konfigurationsmöglichkeiten
bezeichnet)
(Im
SAP-Umfeld
als
Customizing
 Erweiterungen (Exits): Falls keine Customizing-Möglichkeiten zur Verfügung stehen,
kommen in der Regel so genannte Exits zur Anwendung. Hierbei handelt es sich um
vordefinierte Absprungstellen in SAP-Programmen, zu welchen eine Erweiterung
hinterlegt werden kann. Dabei kann die Art der Erweiterung unterschiedlich sein: Von
Substitutionen und Validierungen, die man sich auch ohne Programmierkenntnisse
zusammenstellen kann, über ereignisgesteuerte Funktionsbausteine (Business
Transaction Events) bis hin zu objektorientierter Implementierung (BADI = Business
Application Add-In)
 Modifikation von SAP-Programmen: Hierbei werden bestehende SAP-Programmen
modifiziert. Dabei ist zwischen modifizierten Kopien, die zusätzlich zu den
Originalprogrammen verwendet werden und in einem Nicht-SAP-Namensraum
existieren, und der Modifikation innerhalb des SAP-Namensraums zu unterscheiden.
Die Letzteren sollten aufgrund von Schwierigkeiten während des nächsten
Systemupgrades und beim Einspielen von Support-Paketen vermieden werden.
 Komplette Neuprogrammierung: Falls eine Funktion in SAP nicht zur Verfügung steht,
kann diese neu programmiert werden.
In der Produktionsvorbereitungsphase werden die Anwender auf die tägliche Arbeit mit dem
neuen SAP-System vorbereitet. Anschließend wird das neue ERP-System in der letzten
- 38 -
Black-Box-Testing
Projektphase in Betrieb genommen und das Einführungsprojekt abgeschlossen (Go-Live &
Support). Nach Abschluss des Projekts wird das SAP-System jedoch stetig angepasst, um
technischem Fortschritt und den sich ändernden Geschäftsprozessen gerecht zu werden. (vgl.
Helfen et. al. 2010, S. 80 - 85)
Auch in der ASAP-Methodik steht jedem Projektschritt eine Testaktivität gegenüber. Diese
werden im nachfolgenden Kapitel näher beschrieben.
- 39 -
Black-Box-Testing
5.2.2 Teststufen der ASAP-Methodik
Ähnlich wie im bereits vorgestellten V-Modell stehen jedem Projektschritt der ASAPMethodik entsprechende Testaktivitäten gegenüber. Dabei kommen im SAP-Umfeld v.a.
Black-Box-Tests zur Anwendung. (vgl. Helfen et. al. 2010, S. 55 - 56) Dieses Unterkapitel
liefert eine Beschreibung dieser Testaktivitäten, die hauptsächlich dem Buch „SAP-Lösungen
testen“ von M. Helfen und H.M. Trauthwein entnommen wurden. Die Beispiele zu den
jeweiligen Teststufen sind jedoch aus dem beruflichen Umfeld der Verfasserin entstanden.
Die nachfolgende Abbildung zeigt Teststufen sowie die Zuordnung dieser zu den jeweiligen
Projektschritten.
Abbildung 18: Buttom-Up-Testmodell der ASAP-Methodik (Quelle: Eigene Abbildung nach Helfen et. al.
2010).
Der Entwicklertest wird in der Regel während der Entwicklungsphase vom Entwickler selbst
durchgeführt und gehört daher nicht zu den funktionalen Tests. Da der Entwickler über
Kenntnisse der internen Programmstrukturen verfügt, stellt ein Entwicklertest noch kein
Black-Box-Test dar, vielmehr handelt es sich bei diesem Test um einen White-Box-Test. Ein
Beispiel für einen Entwicklertest liefern sämtlich Debugging-Aktivitäten beim Entwickeln
zusätzlicher Programme. (vgl. Helfen et. al. 2010, S. 51)
Der Funktionstest bildet die unterste Stufe der funktionalen Tests. Dieser Test stellt sicher,
dass die kleinsten Funktionseinheiten des SAP Systems (Transaktionen oder
Funktionsbausteine) die erwarteten Ergebnisse liefern. Aus diesem Grund wird dieser Test
- 40 -
Black-Box-Testing
auch Modul- oder Funktionstest genannt. (vgl. Helfen et. al. 2010, S. 52) Beispielsweise kann
nach der Entwicklung eines SAP-Exits dessen korrekte Funktionsweise sichergestellt werden.
Im Rahmen eines Szenariotests werden mehrere Transaktionen getestet, welche für bestimmte
Geschäftsbereiche oder Teile von Geschäftsprozessen benötigt werden. Der Szenariotest
sichert somit die Funktionsfähigkeit des Zusammenspiels mehrerer Transaktionen und ihrer
Schnittstellen. (vgl. Helfen et. al. 2010, S. 52) Ein Szenariotest kann beispielsweise die
korrekte Verbuchung der Zahlungseingänge beim Laden des elektronischen Kontoauszuges,
nach vorheriger Verbuchung von Rechnungen in SAP, sicherstellen.
Die Aufgabe eines Integrationstests ist es, die „funktionale Korrektheit“ des ERP-Systems
innerhalb ganzer Geschäftsprozesse des Kunden sicherzustellen. Hierbei wird das
Zusammenspiel von SAP mit anderen Non-SAP-Systemen sowie die entsprechenden
Schnittstellen getestet. Die einzelnen Geschäftsprozesse werden dabei in system- und
modulübergreifenden Szenarien abgebildet. (vgl. Helfen et. al. 2010, S. 52) Ein Beispiel für
ein solches Szenarion ist der nachfolgende Vertriebsprozess: Der Warenverkauf wird zuerst in
einem Non-SAP-System erfasst und anschließend über eine Fakturaschnittstelle in das SAPSystem übergeleitet; hierbei müssen die Kundenstammdaten angelegt und anschließend die
Anzahlungsanforderungen, Ausgangsrechnungen- und Gutschriften verbucht werden.
Zusätzlich muss sichergestellt werden, dass nach Zahlungseingang in SAP die entsprechende
Information an das Vertriebssystem weitergeleitet und die Warenauslieferung freigegeben
wird.
Im Rahmen des technischen Systemtests wird die SAP-Infrastruktur getestet. Der Schwerpunkt
des Tests ligt dabei nicht auf der Software, sondern auf dem Gesamtsystem welches aus einer
Datenbank, einem Applikationsserver, Frontends, Netzwerken, etc. besteht. Eine besondere
Rolle spielt dabei der Performancetest. In einem Performancetest wird das Laufzeitverhalten
des ERP-Systems ermittelt. (vgl. Helfen et. al. 2010, S. 53) Dabei kann bereits während der
Altdatenmigration sowie Funktionstestaktivitäten sichergestellt werden, ob genug
Systemressource für den späteren operativen Betrieb vorhanden sind. Ist dies nicht der Fall,
muss entsprechend nachgerüstet werden.
Um Probleme in der Benutzerfreundlichkeit aufzudecken wird ein User Acceptance Test
durchgeführt. Mit Hilfe dieses Tests kann die Akzeptanz des neuen ERP-Systems durch die
späteren Anwender sichergestellt werden. Sinnvollerweise sollte man in einem solchen Test
alle Geschäftsvorfälle verarbeiten, die im operativen Betrieb häufig anfallen und von den
Benutzern im Dialogmodus erfasst werden. Häufig werden User Acceptance Tests jedoch
nicht separat durchgeführt, sondern in die oben geannten funktionalen Tests integriert. (vgl.
Helfen et. al. 2010, S. 53)
Auch nach dem Produktivstart kann es erforderlich sein das ERP-System anzupassen. Gründe
hierfür können in der Änderung von Geschäftsprozessen aber auch in der technischen
Weiterentwicklung liegen. Um nach größeren Änderung die Funktionsfähigkeit des Systems
zu garantieren werden Regressionstests durchgeführt. Im SAP-Umfeld werden soche Tests vor
allem dann durchgeführt, wenn die Systemanpassung eine technische Ursache hatte (z. B.
Einspiele
von
Support-Packages
oder
Release-Updates).
Neben
neuen
- 41 -
Black-Box-Testing
Funktionserweiterungen sind solche Anpassungen oft mit einer Änderung der Datenhaltung
verbunden, so dass im Rahmen eines Regressionstests vor allem kundenspezifische
Programme getestet werden sollten. (vgl. Helfen et. al. 2010, S. 53 - 54)
- 42 -
Black-Box-Testing
5.3 SAP Quality Center by HP als Testwerkzeug im Rahmen eines SAPProjekts
5.3.1 Funktionsweise des SAP Quality Centers by HP
Bei SAP Quality Center by HP handelt es sich um eine J2EE-basierte Anwendung, die für die
Verwaltung von Tests im Rahmen eines SAP-Projekts eingesetzt werden kann. Da die
Benutzeroberfläche nur in englischer Sprache zur Verfügung steht, werden nachfolgend u. a.
englische Begriffe verwendet.
Das SAP Quality Center by HP besteht aus nachfolgend genannten Modulen:
 Release Management (Definition von Entwicklungszyklen)
 Requirements Management (Verwalten der Anforderungen)
 Test Plan (Verwalten der Testfälle)
 Test Lab (Verwalten und Ausführen von Testfällen)
 Defect Management (Fehlermanagement) (Helfen et. al. 2010, S. 291)
 Business Components (Geschäftskomponenten, ein optionales Modul)
Zusätzlich zu den oben genannten Modulen bietet SAP Quality Center by HP umfangreiche
Auswertungsmöglichkeiten mit Grafiken sowie Drill-Down-Funktionalitäten, die u.a. zum
Berichten an das Top-Level-Management zur Anwendung kommen. „Konzeptionell
unterstützt das SAP Quality Center by HP anforderungs- und risikobasierte Tests. Die
Verknüpfung und der Abgleich von Geschäftsanforderungen mit Testergebnissen kann dabei
mit Hilfe der Software abgebildet werden (…)“ (Helfen et. al. 2010, S. 292)
Die Anwendung kann in die Anwendungsmanagement-Lösung von SAP, den Solution
Manager (siehe Kapitel fünf) integriert werden, so dass die Projekt- und
Anforderungsdokumentation sowie Testobjekte aus diesem abgeleitet werden können. Das
Projektmanagement erfolgt anschließend immer im Solution Manager, während SAP Quality
Center by HP für die Qualitätssicherung eingesetzt wird.
Bevor der Test beginnen kann, müssen im ersten Schritt Requirements, d.h. also sämtliche
Anforderungen an das Projekt definiert und entsprechend hinterlegt bzw. aus dem SAP
Solution Manager übertragen werden. Eine interessante Funktionalität im Bereich der
Testanforderungen ist die Möglichkeit Abhängigkeiten zwischen den Anforderungen zu
definieren sowie eine Risikobewertung für alle Anforderungen zu hinterlegen. Anschließend
kann aufgrund des ermittelten Risikos regelbasiert die Testtiefe vorgeschlagen werden. Hat
man zuvor Testaufwände hinterlegt, wird zusätzlich der Gesamttestaufwand errechnet. Eine
Anforderung kann beispielsweise wie folgt lauten: „Es muss möglich sein, einen
Anlagenzugang gegen ein Verrechnungskonto zu verbuchen.“.
- 43 -
Black-Box-Testing
Abbildung 19: Modul Requirements im Quality Center (Quelle: Testing Concepts, 2011).
Nach Fertigstellen der Testanforderungen werden im Modul Test Plan die Testfälle erstellt
und in einer frei definierbaren Ordnerstruktur hinterlegt. Ein typischer Testfall besteht dabei
aus den einzelnen Testschritten mit der Beschreibung der Testtätigkeit sowie des erwarteten
Testergebnisses. Zusätzlich können Dokumente, Grafiken, Screenshots, etc. als Anhang
hinterlegt werden. (vgl. Helfen et. al., 2010, S. 302) Beispielsweise kann der Testfall zur oben
genannten Anforderung wie nachfolgend beschrieben definiert werden, dabei können die
Schritte zwei und drei nur dann ausgeführt werden, wenn der jeweils vorherige Schritt
erfolgreich war:
- 44 -
Black-Box-Testing
Schritt
Beschreibung
Erwartetes Ergebnis
Schritt 1
Rufen Sie die Transaktion ABZON auf Die Transaktion kann aufgerufen
(Anlagenbewegung
erfassen, werden. Die Werte können
Gegenbuchung automatisch). Bitte eingegeben werden.
geben Sie folgende Werte ein:
Buchungskreis 1000, 25.09.2011 für
Beleg- und Buchungsdatum, 1000 EUR
für
Buchungsbetrag,
„Test
Anlagenzugang“ als Text. In der
Eingabemaske sollte die Option „neue
Anlage“ ausgewählt und anschließend
die Bezeichnung „Testanlage 1
(Fuhrpark)“, Anlagenklasse 3100 sowie
die Kostenstelle 40002 eingegeben
werden.
Schritt 2
Bitte verbuchen Sie den Zugang indem
Sie auf den Button „Sichern“ klicken.
Es erscheint die nachfolgende
Meldung: Anlagenbewegung
wurde
mit
Belegnummer
<Belegnummer>
gebucht.
Anlage <Anlagennummer> im
Buchungskreis 1000 angelegt.
Schritt 3
Rufen Sie die Transaktion AW01N
(Anlagenexplorer) auf. Geben Sie die
Anlagennummer aus Schritt eins ein
und drücken Sie die Enter-Taste, prüfen
Sie den Anschaffungswert und das
Bezugsdatum.
Die Anlage erscheint im
Anlagenexplorer.
Der
Anschaffungswert ist 1000,00
EUR,
das
Bezugsdatum
entspricht dem 25.09.2011.
Tabelle 5: Beispiel einer Testbeschreibung (Quelle:Eigene Tabelle).
Die Testfälle sollten nun mit den jeweiligen Testanforderungen verknüpft werden, um
anforderungsbasiertes Testen sicherzustellen und ein Reporting zu ermöglichen, welches
Echtzeitauswertungen über die Abdeckung der Anforderungen mit den jeweiligen
Testergebnissen aufzeigt. Neben der Anforderungsabdeckung kann auch die Priorität der
jeweiligen Anforderung oder die Entwicklung der Anforderungserfüllung im zeitlichen
Verlauf zur Auswertung herangezogen werden.
Sind Testfälle fertiggestellt, können diese im Modul Test Lab zu Testläufen (Test Sets)
zusammengefasst und den Testern zugewiesen werden. Zu Testläufen kann zusätzlich die
Ausführungsreihenfolge, Bedingungen (z. B. Test B nur dann ausführen, wenn Test A
erfolgreich war) sowie das Ausführungsdatum hinterlegt werden. Die Tester können über den
Beginn des Tests per E-Mail informiert werden und beginnen anschließend, die ihnen
zugewiesenen Testfälle abzuarbeiten. Dabei müssen Testpersonen die Testläufe starten, die
- 45 -
Black-Box-Testing
einzelnen Schritte abarbeiten, die tatsächlichen Testergebnisse erfassen und diese mit Hilfe
von Dokumentationen oder Screenshots belegen. (vgl. Helfen et. al., 2010, S. 303 - 304) Die
nachfolgende Abbildung zeigt das Modul Test Lab.
Abbildung 20: Modul Test Lab im Quality Center (Quelle: QMETHODS - Business & IT Consulting
GmbH, o. J. ).
Im mittleren Bereich des Monitors sieht die Testperson die einzelnen Testläufe. Diese können
markiert und mit Hilfe des Buttons „Run“ (siehe Menüleiste) gestartet werden. Jeder Testlauf
besteht aus mehreren Schritten, welche die Testperson abarbeiten und als erfolgreich
(„Passed“) oder nicht erfolgreich („Failed“) kennzeichnen muss. Zu jedem Schritt muss das
tatsächliche Ergebnis dokumentiert werden. Hierfür bietet der Quality Center u.a. eine
bequeme Funktion zum Erstellen von Screenshots, die anschließend automatisch an den
jeweiligen Testlauf oder –Schritt angefügt werden. Im unteren Bereich des Monitors ist das
Ergebnis der einzelnen Schritte des letzten Testlaufs angezeigt. Das Ergebnis eines Testlaufs
setzt sich aus den Ergebnissen der einzelnen Schritte zusammen. Erfolgreich ist ein Testlauf
nur dann, wenn alle dessen Schritte erfolgreich abgeschlossen wurden.
- 46 -
Black-Box-Testing
Für die oben beschriebene Testanforderung kann die Dokumentation der Testergebnisse wie
folgt aussehen:
 Tatsächliches Ergebnis zu Schritt eins: Die Transaktion kann erfolgreich aufgerufen und
die Werte eingegeben werden.
Abbildung 21: Anhang zu Schritt 1 (Quelle: Eigene Abbildung).
 Tatsächliches Ergebnis zu Schritt drei: Die Anlage wurde erfolgreich angelegt und mit
der nachfolgenden Meldung bestätigt: „Anlagenbewegung wurde mit Belegnummer
0100000063 gebucht. Anlage 3440 im Buchungskreis 1000 angelegt.“
- 47 -
Black-Box-Testing
Abbildung 22: Anhang zu Schritt 2 (Quelle: Eigene Abbildung).
 Tatsächliches Ergebnis zu Schritt drei: Die Anlage 3440 erscheint im Anlagenexplorer,
der Anschaffungswert entspricht 1000 EUR, das Anschaffungsdatum ist 25.09.2011.
Abbildung 23: Anhang zu Schritt 3 (Quelle: Eigene Abbildung).
Im oben beschriebenen Beispiel ist ein erfolgreicher Test dargestellt. Bei einem solchen
Ergebnis wäre der Test an dieser Stelle abgeschlossen. Im Fall eines fehlerhaften Ergebnisses
müsste jedoch eine Fehlermeldung erfasst werden. Hierfür steht im SAP Quality Center by HP
das Modul Defect Management zur Verfügung. Dabei können Fehlermeldungen bereits aus
dem Testergebnis heraus erstellt und anschließend von einem berechtigten Personenkreis, z.
B. Entwicklern eingesehen werden. Zusätzlich besteht die Möglichkeit, Fehlermeldungen
- 48 -
Black-Box-Testing
einer bestimmten Person zuzuweisen, Statuswerte zu erfassen sowie die Historie des
Fehlerbehebungsprozesses einzusehen. (vgl. Helfen et. al., 2010, S. 304 - 305)
Das Modul Business Components kann optional verwendet werden. Es bietet die Möglichkeit,
atomare Bausteine zu hinterlegen, die zum Erstellen von Testfällen verwendet werden
können. Der Grundgedanke hinter diesem Modul ist die Wiederverwendbarkeit von atomaren
Funktionen. Im SAP-Bereich können Business Components beispielsweise auf Ebene der
Transaktionen erstellt werden, welche zum Ausführen von elementraren Funktionen
verwendet werden. So kann der Aufruf der Transaktion zum Suchen und Anzeigen einer
Bestellung (ME53N) genau einmal beschrieben und anschließend in allen Tests
wiederverwendet werden, in welchen diese Funktion erforderlich ist. Die für den jeweiligen
Test benötigten Daten (z. B. Nummern der Bestellungen, etc) werden dabei separat
bereitgestellt. Die Reduzierung des Aufwandes beim Testdesign wird nachfolgend in
Abbildung 24 und Abbildung 25 aufgezeigt.
Abbildung 24: Traditionelle Testbeschreibung (Quelle: Vivit Germany, 2008).
- 49 -
Black-Box-Testing
Abbildung 25: Testbeschreibung bei Wiederverwendbarkeit von Funktionen (Quelle: Vivit Germany,
2008).
In jedem Modul der Anwendung ist über den Menüpunkt Analysis ein ausführliches
Berichtswesen verfügbar. Dabei sind im Standard folgende Auswertungen verfügbar:
„Grafische Auswertungen:
 Anforderungsabdeckung
 Teststatus
 Testfortschritt im Zeitverlauf
 Status von Fehlermeldungen
 Alter von Fehlermeldungen
 Änderungshistorie für einzelne Felder (Trend)
Berichte:
 Anforderungen und zugehörige Testfälle
 Testfälle mit Einzelschritten
 Fehlgeschlagene Tests im aktuellen Test Set
 Fehlermeldungen mit zugeordneten Tests und deren Ausführungsstatus
 Offene Fehlermeldungen, die durch den aktuellen Benutzer zu bearbeiten sind.“ (Helfen
et. al. 2010, S. 307)
Zusätzlich zu den Standardberichten können eigene Berichte erstellt werden. Das optional
verfügbare HP Quality Center Dashboard kann dazu verwendet werden, den
- 50 -
Black-Box-Testing
projektübergreifenden Status auszuwerten und eine Auswertung auf Basis vordefinierter
Kennzahlen für das Top-Management aufzubereiten. (vgl. Helfen et. al., 2010, S. 308)
Bei den nachfolgenden Abbildungen handelt es sich um Beispiele für grafische
Auswertungen, die im HP Quality Center zur Verfügung stehen. So zeigt die Abbildung 26
den Testfortschritt pro Test Set und die Abbildung 27 die Übersicht der Fehlermeldungen, die
einem Spezialisten zugeordnet sind.
Test Execution - Sum m ary Graph (Cross Test Set)
180
167
Failed
No Run
Not Completed
Passed
160
Number of Tests
140
120
100
76
80
56
51
60
40
54
21
21
13
27
4
20
21
1
12. Technical Regression
11. Cognos Query & Report (Sal..
10. Period Close
09. Retail Accounting
08. Supply Chain Accounting / ..
07. F&A Accounting
06. Project Accounting
05. Asset Accounting
04. Bank statement posting and..
03. General Ledger Accounting
02. Invoice to Cash
01. Procure to Pay
0
Test Set
Abbildung 26: Teststatus pro Test Set (Quelle: Eigene Abbildung).
Abbildung 27: Übersicht der Fehlermeldungen pro zugeordneten Spezialist (Quelle: Eigene anonymisierte
Abbildung).
- 51 -
Black-Box-Testing
5.4 Berichte aus SAP-Projekten mit SAP Quality Center by HP
Bei den nachfolgenden Unterkapiteln handelt es sich um Berichte aus dem praktischen Einsatz
des SAP Quality Centers by HP im Rahmen eines SAP-Regressionstests. Der erste Bericht ist
dem Buch „SAP-Lösungen testen“ von M. Helfen und H.M. Trauthwein entnommen. Der
zweite Bericht stammt aus dem beruflichen Umfeld der Verfasserin.
Beide Berichte werden wie folgt strukturiert:
Unternehmen:
Eine kurze Vorstellung des Unternehmens in welchem das Quality
Center zum Einsatz kam
Projekt:
Beschreibung des SAP-Projekts
Besondere Anforderungen: Besonderen Umständen des Projekts, die dazu geführt haben SAP
Quality Center by HP für die Testverwaltung einzusetzen
Testverlauf:
Planung- und Organisation des Tests
Fazit:
Rückblick auf das Projekt, Beurteilung des Testverwaltungstools
- 52 -
Black-Box-Testing
5.4.1 Quality Center by HP im SAP-Projekt der Endress+Hauser Group
Unternehmen:
Das Unternehmen Endress+Hauser ist ein internationaler
Anbieter
von
Sensoren,
Messgeräten
und
Automatisierungslösungen für die Industrie. Der Hauptsitz des
Unternehmens ist in der Schweiz. Die Endress+Hauser
InfoService GmbH & Co. KG ist der eigene IT-Dienstleister des
Unternehmens welcher im Jahr 1997 in die selbstständige
Organisation überführt wurde. Bereits seit 1985 hat
Endress+Hauser SAP im Einsatz.
Projekt:
Da die Wartung von SAP-Release R/3 4.6C im Jahr 2009 enden
sollte, war im Jahr 2008 ein Upgrade auf den damals aktuellen
Release SAP ERP 6.0 geplant. Der Upgrade sollte innerhalb von
zwölf Monaten auf zehn produktiven Systemen an
verschiedenen Standorten weltweit durchgeführt werden. Im
Regressionstest sollte die 100 prozentige Abdeckung der zu
testenden Funktionen sichergestellt werden.
Besondere Anforderungen: Aufgrund der hohen Anzahl und der Komplexität von Testfällen
war ein Testmanagementtool erforderlich, welches sämtliche
Testfälle zentral zur Verfügung stellt. Alle Testplanungs- und
Durchführungsaktivitäten sowie die Fehleranalyse- und
Behebung sollten für sämtliche Standorte und Systeme zentral
erfolgen. Zusätzlich sollte es möglich sein die Lösung nicht nur
im SAP-Umfeld, sondern in weiteren Bereichen des
Unternehmens,
z.
B.
im
Webumfeld
oder
für
Eigenentwicklungen einzusetzen. Auch die Option in Zukunft
automatisierte Tests durchzuführen sollte mit dem Tool zur
Verfügung stehen. Da Quality Center by HP bereits in anderen
Bereichen des Unternehmens für die Qualitätssicherung der
Software-Entwicklung für Messgeräte eingesetzt wurde, hat sich
das Unternehmen für dieses Tool entschieden.
Testverlauf:
Zum Erstellen der Testfälle wurde das Modul Business
Components
verwendet.
Somit
wurden
kleine
wiederverwendbare Testeinheiten auf Basis von SAPTransaktionen erstellt, die in mehreren Tests verwendet wurden.
Die Business Components wurden von den Mitarbeitern der
E+H InfoService erstellt und in einer Ordnerstruktur abgelegt
welche dem SAP ERP 6.0 –Menü nachempfunden wurde.
Insgesamt wurden 8700 Komponenten angelegt welche zu
insgesamt 5756 Testfällen zusammengefasst wurden.
Anschließend wurden Testfälle zu Test Sets gebündelt und den
- 53 -
Black-Box-Testing
Testern zugewiesen. Während der Testausführung haben die
Tester für alle Unstimmigkeiten im Modul Defect Management
Fehlermeldungen erzeugt welche anschließend mit Hilfe eines
Workflows zu einem Dispatcher und anschließend an zuständige
Spezialisten weitergeleitet wurden. Nach Beheben der
Fehlerursache erfolgte ein erneuter Test. Alle Beteiligten wurden
mit Hilfe des in das SAP Quality Center by HP integrierten
Email-Benachrichtigungssystems über den aktuellen Test- und
Fehlerstatus informiert.
Fazit:
Mit Quality Center by HP hat das Unternehmen ein vielseitiges
Werkzeug im Einsatz welches nicht nur für den SAP-Upgrade
verwendet werden kann, sondern auch in anderen
Anwendungsbereichen sowie für Eigenentwicklungen in den
Einsatz kommt. Das Tool ermöglicht eine zentrale Planung,
Erstellung und die Ablage von Tests. Dank Business
Components ist der Testdesign sehr effizient, da gleiche
Testschritte nur einmal beschrieben werden müssen. Auch das
für die Zukunft geplante automatisierte Testen wird von SAP
Quality Center by HP unterstützt. (vgl. Helfen et. al., 2010, S.
310 - 324)
- 54 -
Black-Box-Testing
5.4.2 SAP Quality Center by HP im SAP-Projekt des Outdoor-Bekleidungsanbieters
Timberland
Der nachfolgende Bericht stammt aus der beruflichen Tätigkeit der Verfasserin als SAPBeraterin. Der Name des Unternehmens wurde anonymisiert.
Unternehmen:
Timberland ist ein führender Anbieter von Outdoor- und
Freizeitbekleidung. Das Unternehmen hat weltweit ca. 3 500
Mitarbeiter. Die Zentrale des Unternehmens befindet sich in den
USA, weitere regionale Zentralen sind in Hong Kong, Singapur
und der Schweiz. Die Unternehmenssprache ist Englisch. Ende
2009 wurde die unternehmensweite Einführung von SAP ERP
6.0 erfolgreich abgeschlossen. Der Implementierungspartner war
Firma consolut.gmbh aus Mannheim.
Projekt:
Für die Anbindung eines weiteren SAP-Moduls war im Frühjahr
2011 ein SAP-Upgrade auf den aktuellen Enhancement Package
vier erforderlich. Der Upgrade durfte keine negative
Auswirkung auf die operative Tätigkeit haben. Um dies zu
gewährleisten wurde ein umfangreicher Regressionstest
eingeplant. Alle entdeckten Unstimmigkeiten sollten dabei
behoben und anschließend erneut getestet werden. Als
Anforderung wurde die 100 prozentige Abdeckung für alle
Funktionen gefordert, die weltweit im vergangenen Jahr
verwendet wurden. Die Mehrzahl von SAP-Erweiterungen und
Eigenentwicklungen, die höchst heterogene Systemlandschaft
mit vielen Schnittstellen sowie ein Zeitplan von nur ca. zwei
Monaten erschwerten die Aufgabe zusätzlich.
Besondere Anforderungen: Als besondere Anforderung des Projekts ist die größtenteils
virtuelle Kommunikation der Beteiligten aus den USA, Asien
und Europa über Videokonferenzen, Internet und Telefon zu
nennen. Aus diesem Grund sollte das Testmanagementtool
webbasierend sein und in Echtzeit aktuelle Übersichten und
Auswertungen des Testfortschritts liefern. Weiterhin sollte die
grafische Oberfläche in englischer Sprache zur Verfügung
stehen und weitgehend selbsterklärend sein. Für einen technisch
versierten Tester sollten ein ca. einstündiges Online-Training
sowie eine kurze Dokumentation ausreichend sein, um sich die
wichtigsten Test- sowie Fehlermanagement-Funktionen
anzueignen. Des Weiteren sollte es möglich sein,
wiederverwendbare Test-Bausteine auf Basis von SAPTransaktionen zu erstellen.
- 55 -
Black-Box-Testing
Testverlauf:
Das Testdesign erfolgte durch die Mitarbeiter der Firma
consolut, welche das Unternehmen Timberland jahrelang
betreut. Neben einer Prozessübersicht wurde hierfür eine
Auflistung aller Transaktionen erstellt, welche im vergangenen
Jahr verwendet wurden. Diese dienten als Basis für die
Erstellung der Testfälle. Die Key-User des Unternehmens
Timberland wurden als Tester eingeplant. Aufgrund des straffen
Zeitplans und der Vielzahl an komplexen länderspezifischen
Funktionen wurden jedoch ca. 60% der Tests durch Mitarbeiter
der Firma consolut durchgeführt. Dabei wurde darauf geachtet,
dass jeder Mitarbeiter Test Sets zugewiesen bekommt, die nicht
aus seinem Fachgebiet stammen.
Alle Tests konnten pünktlich abgeschlossen werden. Ein
Großteil der entdeckten Unstimmigkeiten war auf Änderungen
der Datenhaltung in SAP ERP 6.4 zurückzuführen, welche in
den Erweiterungen sowie Eigenentwicklungen erst entsprechend
implementiert
werden
mussten.
Weiterhin
sorgten
Implementierungen neuster gesetzlicher Anforderungen für
abweichende Testergebnisse. Diese stellten jedoch keine Fehler
dar. Jede Fehlermeldung wurde einem SAP-Berater zugewiesen,
dessen Spezialisierung im Bereich des Test Sets liegt aus
welchem die Fehlermeldung stammte.
Fazit:
Mit Hilfe von SAP Quality Center by HP war es möglich einen
Upgrade Test innerhalb einer vergleichsweise kurzen Zeit
durchzuführen.
Eine
Anreise
der
Tester
in
die
Unternehmenszentrale war nicht erforderlich. Somit konnten
sowohl Reisekosten als auch –Zeit auf ein Minimum reduziert
werden. Während der Design- und Testphase konnten sich die
Beteiligten schnell in die grafische Oberfläche einarbeiten. Mit
Hilfe von Grafiken und Auswertungen des Quality Centers
wurden sowohl die Tester als auch das Top-Management in
regelmäßigen Abständen über den Testverlauf und die
Fehlerbehebung informiert.
- 56 -
Black-Box-Testing
6 Blackbox-Test im Rahmen der Testautomatisierung
Die manuelle Testdurchführung stellt für die einzelnen Tester eine zeitintensive Tätigkeit dar
und erfordert ein hohes Maß an Konzentration. Dieser hohe Aufwand kann durch die
automatische Testdurchführung reduziert werden. Im Folgenden soll daher die Durchführung
von Black-Box-Tests mit dem SAP Extended-Computer Aided Test Tool (eCATT) als
Alternative zur manuellen Durchführung der Black-Box-Tests vorgestellt werden.
6.1 Vor- und Nachteile der automatischen Testdurchführung
Im Rahmen der automatischen Testdurchführung werden Testfälle einmalig erstellt,
parametrisiert und anschließend mehrmals ausgeführt. Dies reduziert einerseits den Aufwand,
da weniger Personal benötigt wird und die Testfälle schneller ausgeführt werden. Andererseits
können die Testfälle parametrisiert werden, was sowohl die Abbildung verschiedener
Geschäftsvorfälle ermöglicht, als auch die Wiederverwendbarkeit erhöht. Darüber hinaus
können durch die streng algorithmische Abarbeitung der Testfälle Fehler reproduziert und
deren Behebung übergeprüft werden.
Der schnelleren Ausführung der automatischen Testfälle stehen jedoch der erhöhte Aufwand
zur Schulung der Testfallersteller in der eingesetzten Software und ein höherer Erstellungsaufwand für die Testfälle gegenüber. Darüber hinaus kann nicht auf die menschliche Intelligenz des Testers zurückgegriffen werden. Das heißt, die Testfälle müssen streng algorithmisch beschrieben und ausführbar sein (siehe Error! Reference source not found., vgl. SAP
AG, 2006, S. 1-7).
Abbildung 28: Vor- und Nachteile der automatischen Testdurchführung (Quelle: Eigene Abbildung).
- 57 -
Black-Box-Testing
6.2 Testdurchführung mit Hilfe des SAP Solution Managers
Der SAP Solution Manager stellt eine Sammlung von Funktionalitäten und Inhalten (so
genannte Blueprints) zur Unterstützung bei der Einführung und den Betrieb von SAPProdukten dar, die Kunden mit bereits lizenzierten definierten Nutzern kostenlos nutzen
können. Dieser wird im Folgenden detailliert vorgestellt.
6.2.1 Vorstellung des SAP Solution Managers
„SAP Solution Manager ist die zentrale Anwendungsmanagementlösung von SAP. Ihre
Aufgabe ist es, Ihnen die Implementierung, den Betrieb, die Überwachung und die
Unterstützung von SAP-Lösungen im Unternehmen entscheidend zu vereinfachen.“ (SAP
AG, 2011)
Der Solution Manager unterstützt dabei insbesondere den technischen Betrieb der SAPLösung und stellt hierzu die folgenden Funktionalitäten bereit:

Implementierung und Upgrades der SAP Business Suite

Change Control Management

Testing

IT-und Anwendungs-Support

Ursachenanalyse

Solution Monitoring

Service-Level-Management und Reporting

Service-Verarbeitung

Administration
(vgl. SAP AG (2011))
Im nächsten Abschnitt wird nun speziell auf das Testing mit dem SAP Solution Manager
eingegangen.
6.2.2 Vorstellung der Test Workbench des SAP Solution Managers
Die Test Workbench des SAP Solution Manager stellt den zentralen Einstiegspunkt für die
Organisation, die Durchführung und die Verfolgung von Tests dar und wird durch eine
Vielzahl von Objekten repräsentiert (vgl. SAP AG, 2006, S. 10-19):
- 58 -
Black-Box-Testing
Abbildung 29: Objekte in der SAP Test Workbench (Quelle: Eigene Abbildung nach SAP AG, 2006).
Die Geschäftsprozessbibliothek stellt die prozessbezogene Struktur für alle weiteren Objekte
des SAP Solution Manager (unter anderem Testfälle und Transaktionen) dar und kann aus
beliebig vielen Prozessen- und Prozessschritten in einer maximal 3-stufigen Hierarchien
bestehen.
Der Testplan stellt eine zeitraum- und zweckbezogene Auswahl von Geschäftsprozessen dar,
die für einen spezifischen Test genutzt werden sollen und wird wiederum in Testpakete
unterteilt.
Die Testpakete dienen anschließend als fach- und personenbezogener Arbeitsvorrat für die
Tester, welche dem jeweiligen Testpaket zugeordnet werden und für dessen Abarbeitung
zuständig sind.
Die eCATTs können nach der Erstellung ebenfalls in die Geschäftsprozessbibliothek
eingehangen sowie in Testpläne und Testpakete mit aufgenommen werden. Damit ist im SAP
Solution Manager eine parallele Abarbeitung und Ausführung sowohl manueller, wie auch
automatischer Testfälle möglich.
6.2.3 Einführung in die Systemlandschaft mit Hilfe des SAP Solution Managers
Der SAP Solution Manager stellt die zentrale Verwaltungsinstanz in einer SAP
Systemlandschaft dar und ermöglicht den Zugriff auf alle angebundenen SAP-Systeme.
- 59 -
Black-Box-Testing
Abbildung 30: Solution Manager als zentrale Verwaltungsinstanz (Quelle: Eigene Abbildung).
Aus diesem Grund bietet sich der SAP Solution Manager als zentrale Testplattform an: die
Tester verfügen über einen zentralen Zugriffspunkt und können die Testfälle vom Solution
Manager aus auf allen (per RFC-Verbindung, siehe Abschnitt 6.3.3) angebundenen Systemen
ausführen, wobei die Testergebnisse wiederum zentral auf dem SAP Solution Manager
verwaltet werden.
Im folgenden Unterkapitel soll nun auf die Nutzung der eCATTs eingegangen werden.
6.3 Nutzung der SAP eCATT
6.3.1 Definitionen und Begrifflichkeiten
Die SAP Test Workbench ermöglicht neben der Verwaltung von manuellen Testfällen auch
die Definition und Wiederverwendung von automatischen Testbausteinen, wobei mehrere
Testbausteine zu einem Testablauf zusammengestellt werden können, in denen sich
Prüffunktionen einstreuen lassen. Dadurch kann während der Ausführung z. B. überprüft
werden, ob Datenbankinhalte fortgeschrieben wurden oder ob Variablen einen bestimmten
Wert enthalten.
Darüber hinaus können beim eCATT die Ergebnisse eines Tests als Eingabeparameter für den
nächsten Test verwendet und so komplette Geschäftsfälle durchgespielt werden.
- 60 -
Black-Box-Testing
Zur schnelleren Erstellung von Testbausteinen können mit Hilfe des eingebauten Recorders
Transaktionsabläufe (z. B. das Anlegen einer Kostenstelle) aufgezeichnet werden. Die in der
Aufzeichnung enthaltenen Konstanten können später durch Variablen ersetzt werden, um die
Abläufe zu flexibilisieren. Bei Bedarf können die eCATTs mit einer Liste von Datensätzen,
die in Excel erstellt wird, verknüpft werden. Somit können die Transaktionen rationell getestet
werden. Als Ergebnis des Testlaufs wird ein Protokoll des Testablaufs erstellt.
Mit eCATTs lassen sich alle Anwendungen aufzeichnen und abspielen, die unter dem SAP
GUI for Java oder dem SAP GUI for Windows laufen. Da das Werkzeug im SAPAnwendungsserver eingebettet ist, hat es außerdem Zugriff auf andere Schnittstellen, wie etwa
auf Funktionsbausteine, auf BAPIs und sogar auf die SAP-Datenbank selbst.
Der SAP Solution Manager dient idealerweise als dezidierter Testserver, auf dem die Testfälle
zentral in der Test Workbench verwaltet werden. Die einmal erstellten eCATT Testfälle sind
so jederzeit, auf beliebigen SAP-Zielsystemen, wiederholt ausführbar. Während der
Ausführung steuern die eCATT-Testskripte die SAP-Anwendung genauso, wie sie von einem
Benutzer bedient oder einem externen Programm gesteuert werden würden. Die dabei
generierten Testprotokolle werden wiederum auf dem zentralen SAP Solution Manager
gespeichert, stehen dort für die Auswertung zur Verfügung und können bei Bedarf
revisionssicher archiviert werden.
Für die Nutzung des SAP eCATT müssen verschiedene Vorraussetzungen erfüllt sein:
Auf dem Quellsystem (Speicherort der eCATTs) muss mindestens das SAP Basis Release
v6.20 (Grundlage des SAP R/3 v4.6C und des Solution Manager v2.2) installiert sein.
Auf dem Zielsystem (Ausführungsort der eCATTs) muss mindestens das SAP Basis Release
v6.20 oder ein älteres Release mit einem bestimmten Support Level Stand (4.6C - Support
Package 32, 4.6D - Support Package 21 und 6.10 - Support Package 17) installiert sein sowie
der Start von eCATTs und das user_scripting erlaubt sein (vgl. Tabelle sechs).
Kriterium
SAP Basis Release des Quellsystems
Vorraussetzung
≥ 6.20
≥ 6.20
SAP Basis Release des Zielsystems
eCATT und CATT im Zielsystem erlaubt
X
Parameter sapgui/user_scripting
true
Tabelle 6: Voraussetzungen für den Einsatz des eCATT (Quelle: Eigene Tabelle).
Sind alle Voraussetzungen erfüllt, können anschließend die eCATTs erstellt werden, was
Inhalt der folgenden Anschnitte ist.
- 61 -
Black-Box-Testing
6.3.2 Vorgehensmodell zur Erstellung einer SAP eCATT-Testkonfiguration
Zur Erstellung von Testkonfigurationen müssen im ersten Schritt das Quell- und die
Zielsysteme über RFC-Verbindungen verbunden und die RFC-Verbindungen in einem
Systemdaten-Container hinterlegt werden. Anschließend können die Transaktionen
aufgezeichnet und die Testskripte formuliert werden. Sollen die Transaktionen massenweise
ausgeführt werden, so sind Testdaten-Container zu erzeugen und mit entsprechenden Werten
zu füllen, bevor Systemdaten-Container, Testskript und Testdaten-Container zu einer
Testkonfiguration zusammengefügt und in die Test Workbench eingefügt werden können
(siehe Abbildung 31)
1
Erstellung der RFC-Verbindungen
2
Anlage des Systemdaten-Containers
3
Formulierung des Testskripts
4
Erzeugung und Organisation des
Testdaten-Containers
5
Erstellung der Testkonfiguration
6
Organisation der Testkonfiguration
in der Test Workbench
Abbildung 31: Vorgehen zur Erstellung einer Testserie (Quelle: Eigene Abbildung).
Diese Schritte werden in den folgenden Abschnitten näher erläutert.
6.3.3 Systemdatencontainer und logischer Namen zur Zieldefinition
Die eCATTs sollten zentral auf dem Solution Manager erstellt, gespeichert und gestartet,
jedoch auf dem Zielsystem ausgeführt werden. Daher müssen beide Systeme durch eine RFCVerbindung miteinander verbunden werden.
Die RFC-Verbindung definiert sich dabei über eine eindeutige ID, einen Verbindungstyp (z.
B. 3 für ABAP-basierte Systeme, wie SAP ERP), eine Beschreibung und technischen
Parametern zum Zielsystem (vom SAP-Administrator bereit zu stellen):
- 62 -
Black-Box-Testing
Abbildung 32: RFC-Destination – Technische Einstellungen (Quelle: Eigene Abbildung).
Unter dem Reiter ‚Anmeldung & Sicherheit’ können Anmeldeinformationen für die RFCVerbindung eingetragen werden:
- 63 -
Black-Box-Testing
Abbildung 33: RFC-Destination - Anmeldung & Sicherheit (Quelle: Eigene Abbildung).
Aus Sicherheitsgründen sollten jedoch keine Anmeldedaten hinterlegt, sondern nur die
Sprache und der Mandant eingetragen werden. Durch das Setzen des Hakens bei ‚Aktueller
Benutzer’ wird zuerst der den eCATT aufrufende Benutzer eingetragen.
Eine Alternative hierzu stellt noch die Einrichtung eines ‚Trusted System’ dar, wodurch die
Benutzerauthentifizierung entfällt. Dies soll jedoch hier nicht weiter beleuchtet werden.
Weiterführende Informationen liefern hierzu die SAP-Hinweise 1167901 (Trusted-Trusting
anstatt kennwortbehaftete Destination) und 128447 (Trusted/Trusting Systeme).
Bei beiden Verfahren werden die Anmeldeinformationen in der RFC-Verbindung hinterlegt,
so dass zur Abbildung eines 4-Augen-Prinzips (z. B. letzter Änderer darf nicht freigeben)
zwei RFC-Verbindungen eingerichtet werden sollten.
Sobald die RFC-Verbindungen eingerichtet sind, müssen diese in einen SystemdatenContainer aufgenommen werden, bevor sie genutzt werden können.
Der Systemdaten-Container stellt eine Liste von Systemen dar, die durch das Testskript im
Rahmen der Ausführung angesprochen werden können. Zu den Systemen wird im
Systemdaten-Container sowohl die RFC-Destination, als auch ein logischer Name hinterlegt,
der in den Testskipten verwendet wird.
Dies hat den Vorteil, dass die RFC-Destination jederzeit ausgetauscht werden kann, ohne die
Testskripte anpassen zu müssen.
Um die Umsetzung der logischen Namen zu RFC-Destinationen kümmert sich der
Systemdaten-Container (vgl. SAP AG, 2006, S. 1-23).
- 64 -
Black-Box-Testing
Testskript
Systemdatencontainer
log.
Ziel
Zielsystem
RFC
Dest.
Abbildung 34: Funktionsweise des Systemdatencontainers (Quelle: Eigene Abbildung nach SAP AG,
2006).
Die Anlage eines neuen Systemdatencontainers wird, ebenso wie die Anlage der weiteren
Objekte über die entsprechende Funktion in der zentralen Transaktion SECATT durchgeführt.
Abbildung 35: Transaktion SECATT – Systemdaten (Quelle: Eigene Abbildung).
Im Systemdaten-Container werden dann den einzelnen logischen Destinationen die vorher
angelegten RFC-Destinationen zugeordnet:
Abbildung 36: Systemdatencontainer – Systemdaten (Quelle: Eigene Abbildung).
6.3.4 Formulierung des Testskripts mit Hilfe von Attributen, Parametern und
Kommandos
Ein Testskript besteht aus Attributen, Parametern und Kommandos. Die Parameter eines
Testskripts unterteilen sich noch einmal in
- 65 -
Black-Box-Testing
 Importparameter, die Daten von aus einem Testdatencontainer oder einem
anderen Testskript erhalten
 Lokale Variablen, die nur innerhalb des Testskripts genutzt werden können
und
 Exportparameter, die Daten an andere Testskripte weitergeben.
Kommandos sind meist Aufzeichnungen einer oder mehrerer Transaktionen, die durch
Prüfungen und Berechnungen ergänzt werden und den eigentlichen Testablauf formulieren.
(vgl. SAP AG, 2006, S. 2-5)
Testskript
Attribute
Import
Parameter
Lokale Variablen
Export
Kommandos
Abbildung 37: Aufbau eines Testskripts (Quelle: Eigene Abbildung nach SAP AG, 2006).
Im Testskript werden zuerst die Allgemeinen Daten gepflegt und die Verbindung zum
Systemdaten-Container hergestellt:
Abbildung 38: Testskript - Attribute - Allgemeine Daten (Quelle: Eigene Abbildung).
- 66 -
Black-Box-Testing
Bevor dann im Reiter ‚Editor’ mit der Formulierung des Testskripts begonnen wird, sollten
folgende Kommentarzeilen eingefügt und entsprechend befüllt werden:
*&---------------------------------------------------------------------------------------------------*& TECHNISCHER_NAME_DES_TESTSKRIPTS
*& Bezeichnung des Testskripts
*&---------------------------------------------------------------------------------------------------*& erstellt am: TT.MM.JJJJ, Name des Erstellers (Firma)
*& letzte Änderung: TT.MM.JJJJ, Name des Änderers (Firma)
*&---------------------------------------------------------------------------------------------------*& Änderungshistorie:
*&
*& TT.MM.JJJJ
Name des Änderers (Firma)........................MARKIERUNG
*&
Beschreibung der Änderung(en)
*&---------------------------------------------------------------------------------------------------*& Anmerkung:
*& *&----------------------------------------------------------------------------------------------------
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
Danach kann mit der Aufzeichnung der Transaktion(en) begonnen werden. Um eine neue
Aufzeichnung zu starten, muss ein neues Muster eingefügt und das Kommando SAPGUI
ausgewählt werden:
Abbildung 39: Auswahl des Musters SAPGUI (Quelle: Eigene Abbildung).
Im Muster SAPGUI muss im Feld ‚Zielsystem’ muss die zu nutzende RFC-Verbindung aus
dem Systemdatencontainer gewählt werden, bevor die entsprechende Granularität der
Kommandoschnittstelle gewählt wird:
- 67 -
Black-Box-Testing
Abbildung 40: Auswahl der Aufzeichnungstiefe (Quelle: Eigene Abbildung).
Neben der manuellen Auswahl stehen noch folgende Granularitäten zur Verfügung:
 Sitzungsebene – alle Aktionen, auch wenn sie mehrere Transaktionen
beinhalten, werden in einem SAPGUI-Kommando aufgezeichnet.
 Transaktionsebene – alle Aktionen einer Transaktion werden in einem
SAPGUI-Kommando aufgezeichnet.
 Dynproebene – alle Aktionen eines Bildschirms (= Fensterinhalt) werden in
einem SAPGUI-Kommando aufgezeichnet.
 Dialogschrittebene – alle Aktionen beim Wechsel zwischen Front- und
Backend werden in einem SAPGUI-Kommando aufgezeichnet.
Die Entscheidung zur Granularität der Aufzeichnung hängt zum einen von der Größe des
Skripts und zum anderen von der Komplexität der Kommandoschnittstelle ab: je feiner die
Granularität, desto übersichtlicher wird die Kommandoschnittstelle und desto
unübersichtlicher das Testskript.
Nach der Eingabe des Transaktionscodes und dem Start der Aufzeichnung wird der Nutzer zur
Aufzeichnung ins Zielsystem geleitet und die Ausführung der Transaktion(en) aufgezeichnet.
Wichtig: Es werden alle Felder aufgezeichnet, deren Wert manuell verändert worden ist. Das
Aufrufen der Auswahlhilfe (F4) reicht jedoch nicht als Wertänderung aus – es sollte daher
immer etwas manuell eingegeben (und danach, wo nötig, wieder gelöscht) werden.
Nach erfolgter Aufzeichnung werden die erzeugten Kommandoschnittstellen in den Editor
eingefügt und können mit einem Doppelklick zur Parametrisierung geöffnet werden:
- 68 -
Black-Box-Testing
Abbildung 41: Editor - eingefügte Kommandoschnittstellen (Quelle: Eigene Abbildung).
In der Kommandoschnittstelle werden alle Aktionen, die der Benutzer während der
Aufzeichnung ausgeführt hat, detailliert dargestellt:
 Jeder ‚Processed Screen’ - Knoten entspricht einem ausgeführten Dynpro
innerhalb der Kommandoschnittstelle.
 Unterhalb des ‚Processed Screen’ befinden sich die ‚UserChangeState’ Knoten. Diese listen einzeln alle Aktionen auf, die vom Nutzer während der
Aufzeichnung auf GUI-Ebene durchgeführt wurden. Das können sowohl
bearbeitete Felder (GuiElement), als auch erhaltene Nachrichten (Message)
sein:
 Die Knoten ‚GuiElement’ erhalten je ein während der Aufzeichnung
bearbeitetes Eingabefeld, welches parametrisiert werden kann.
 Die Knoten ‚Message’ enthalten einzelne Nachrichten, die während der
Aufzeichnung durch Benutzeraktionen ausgelöst wurden und welche
anschließend behandelt werden sollten.
- 69 -
Black-Box-Testing
Abbildung 42: Kommandoschnittstelle (Quelle: Eigene Abbildung).
Innerhalb des Knotens ‚GuiElement’ zeigt ein blauer Pfeil neben dem Wort ‚Text’ an, dass
hier eine Eingabe stattgefunden hat, die parametrisiert werden kann. Zur Parametrisierung
genügt ein Doppelklick auf das Wort ‚Text’, um die Detaillierung zu öffnen, in der man
anschließend im Feld ‚Wert’ den ursprünglich eingegebenen Wert durch den jeweiligen
Parameter ersetzen kann:
Abbildung 43: Kommandoschnittstelle – Parametrisierung (Quelle: Eigene Abbildung).
Um eine Übersicht der angelegten Parameter zu erhalten oder selbst welche anzulegen, kann
eine entsprechende Übersicht aufgerufen werden:
Abbildung 44: Parameteransicht (Quelle: Eigene Abbildung).
In dieser Übersicht können auch neue Parameter angelegt werden, wobei Parameter, die später
aus dem Testdaten-Container befüllt werden sollen, als Importparameter zu deklarieren sind.
Bei der Anlage eines neuen Parameters genügt die Angabe der Parameter-ID (Feld
‚Parameter’), die Auswahl der Parameterart (Feld ‚I/E/V’) und die Angabe des
- 70 -
Black-Box-Testing
Parameterbezugs (Feld ‚Bezug des Parameters’). Die restlichen Werte (z. B.: ABAP Typ oder
Länge) zieht sich das System automatisch aus dem Zielsystem.
Natürlich können auch die anderen ABAP Typen (I, C, N, D, T, F, X), sofern bekannt, genutzt
werden. Neben der vorherigen Definition von Parametern (z. B. durch Befüllung des Feldes
‚Parameterwert’ in der Parameteransicht oder durch die Nutzung des Testdatencontainers)
können die Parameter auch zur Laufzeit mit folgenden Inhalten befüllt werden:
Parameterwert
Bedeutung
&SUBRC
Return code
&TIME
Aktuelle Zeit
&DATE
Aktuelles Datum
&YEAR
Aktuelles Jahr
&YEARA
Nächstes Jahr
&YEARB
Letztes Jahr
&LPC
Schleifenzähler
&MSX
Anzahl der Nachrichten, die von einer Transaktion
zurückgeliefert wurden
&USER
Angemeldeter Benutzer
&CLIENT
Aktueller Mandant
&TFILL
Anzahl der Einträge einer internen Tabelle
Tabelle 7: Parameterwerte zur Laufzeit (Quelle: Eigene Tabelle nach SAP AG, o.J).
Zur Nutzung dieser Parameterwerte reicht im Skript eine einfache Zuweisung, wie z. B.
‚Parameter = &DATE.’
Soll ein Parameter dediziert in das Protokoll geschrieben werden, genügt die Eingabe der
folgenden Skriptzeile: ‚LOG ( Parameter ).’ Alternativ kann das entsprechende Muster genutzt
werden:
Abbildung 45: Muster einfügen – Log (Quelle: Eigene Abbildung).
- 71 -
Black-Box-Testing
6.3.5 Nutzung eines Testdatencontainers
Der Testdaten-Container stellt eine Sammlung von wieder verwendbaren Datensätzen zur
Testausführung dar. Innerhalb eines Testdaten-Containers können mehrere Varianten von
Datensätzen abgelegt und in verschiedenen Systemkonfigurationen verwendet werden.
Auch der Testdatencontainer wird in der zentralen Transaktion SECATT angelegt.
Innerhalb der Transaktion hat man die Möglichkeit die Parameter aus dem aufgezeichneten
Testskript in den Testdaten-Container zu übernehmen:
Abbildung 46: Parameter importieren (Quelle: Eigene Abbildung).
Danach ist der Testdaten-Container bereit für die Aufnahme der Datensätze, die unter dem
Reiter ‚Varianten’ abgelegt werden. Die Varianten selbst können entweder manuell angelegt
oder in Microsoft Excel hoch geladen werden.
Abbildung 47: Aufruf der Funktion Varianten herunterladen (Quelle: Eigene Abbildung).
- 72 -
Black-Box-Testing
Zu letzterem muss in der Menüleiste unter ‚Bearbeiten’ die Funktion ‚Varianten’ und dort die
Option ‚Herunterladen’ aufgerufen werden. Anschließend öffnet sich ein Dateidialog, in dem
der Ablageort der zu herunter zuladenden Textdatei angegeben werden muss. Nach erfolgtem
Download kann die Datei in Microsoft Excel geöffnet und entsprechend mit Varianten befüllt
werden.
Abbildung 48: Excel-Datei zum Varianten-Upload (Quelle: Eigene Abbildung).
Hierbei können beliebig viele Varianten eingefügt werden, die sich jedoch wenigstens in der
Variantenbezeichnung unterscheiden sollten. Sobald die Befüllung abgeschlossen ist, muss
die Datei wiederum im Textformat gespeichert und hochgeladen werden.
Abbildung 49: Aufruf der Funktion Varianten hochladen (Quelle: Eigene Abbildung).
Anschließend werden die hochgeladenen Varianten im entsprechenden Reiter angezeigt und
können in Testkonfigurationen verwendet werden:
Abbildung 50: Variantenübersicht (Quelle: Eigene Abbildung).
- 73 -
Black-Box-Testing
6.3.6 Zusammenfassung aller Elemente im Testskript und Einhängen in die Test
Workbench des Solution Managers
Die Testkonfiguration stellt eine Kombination aus Systemdaten-Container, Testskript und
Testdaten-Container dar, die als Ganzes in die Test Workbench aufgenommen werden kann.
Bei der Anlage muss entsprechend auf alle zu verwendenden Objekte referenziert werden:
Abbildung 51: Testkonfiguration – Konfiguration (Quelle: Eigene Abbildung).
Neben der Nutzung eines oder mehrerer Testdaten-Container besteht hier auch die
Möglichkeit im Reiter ‚Varianten’ einen Pfad zu einer MS EXCELl-Datei auf einem
beliebigen Laufwerk zu hinterlegen, die die so genannten externen Varianten beinhaltet oder
aber auch per Copy & Paste so genannte interne Varianten zu hinterlegen.
Bei der Nutzung von externen Varianten werden immer alle Varianten der entsprechenden
Datei ausgeführt. Bei der Nutzung von internen Varianten besteht die Möglichkeit vor der
Ausführung eine entsprechende Auswahl zu treffen.
Beim Start der Testkonfiguration (aus der Transaktion SECATT oder aus der Test Workbench
heraus) können verschiedene Start- und Abbruchbedingungen festgelegt werden:
- 74 -
Black-Box-Testing
Abbildung 52: Startoptionen (Quelle: Eigene Abbildung).
Beim Testen der Testkonfiguration selbst sollte ‚X Abbruch des Startvorgangs’ und bei
späteren Ausführung der Testkonfiguration ‚V Abbruch, Weiter mit nächster Varianten’
gewählt werden.
Nach erfolgtem Durchlauf der Testkonfiguration wird ein entsprechendes Protokoll angezeigt
und automatisch gespeichert:
- 75 -
Black-Box-Testing
Abbildung 53: Protokoll (Quelle: Eigene Abbildung).
Um die Testkonfiguration in die Geschäftsprozessbibliothek zu integrieren, muss der
jeweilige Prozessschritt in dieser ausgewählt:
Abbildung 54: Transaktion SOLAR02 – Konfiguration (Quelle: Eigene Abbildung).
und der eCATT im Reiter ‚Testfälle’ eingefügt werden:
- 76 -
Black-Box-Testing
Abbildung 55: Transaktion SOLAR02 - Konfiguration – Testfälle (Quelle: Eigene Abbildung).
Anschließend kann die Testkonfiguration in Testplänen und Testpaketen verwendet und von
den Nutzern ausgeführt werden.
6.4 Praktische Erfahrungen zur Nutzung der SAP eCATT
In der Theorie sprechen viele Punkte für den Einsatz der SAP eCATT: so reduziert die
maschinelle Abwicklung der Testeingaben die Gefahr von manuellen Fehleingaben, die
Testfälle können auf anderen Systemen eingesetzt werden und werden darüber hinaus
lückenlos dokumentiert.
In der Praxis werden die SAP eCATT jedoch nur selten eingesetzt: zu groß ist der initiale
Aufwand zur Erstellung der Testfälle und zur Definition der Varianten, zu klein der
wahrgenommene Nutzen. Darüber hinaus bedingen Änderungen am Customizing oftmals eine
erneute Aufzeichnung der jeweiligen Kommandoschnittstelle, so dass für die eCATTs selbst
ein zusätzlicher Pflegeaufwand entsteht.
In vielen Unternehmen werden die eCATTs jedoch von der IT-Abteilung zweckentfremdet
und, auch wenn es die SAP offiziell nicht unterstützt und auf Gefahren hinweist, zur
Migration von Daten oder zur Automatisierung von häufig durchzuführenden Tätigkeiten (z.
B. Anlage von Benutzern) genutzt.
- 77 -
Black-Box-Testing
7 Zusammenfassung
Black-Box-Tests stellen eine Software-Testmethode dar, bei welcher die innere Struktur, das
Design und die Art der Implementierung dem Testenden nicht bekannt sind.
Daher ist kein besonderes Vorwissen zur Anwendung oder über die Programmierung
notwendig, so dass beliebige Anwender in den Testprozess integriert werden können. Darüber
hinaus helfen Black-Box-Tests, über verschiedene Methoden, das gesamte Funktionsspektrum
eines Software-Produkts zu testen.
Zu den Nachteilen zählen, geeignete Testfälle und Testdaten auszuwählen, um so eine
möglichst hohe Fehlererkennungsrate zu erreichen. Die Grundlogik von Black-Box-Tests
bringt es mit sich, dass erkannte Fehler nicht direkt hergeleitet werden können, sondern
tiefergehende Analysen erfordern.
Letztlich bieten Black-Box-Tests eine hervorragende Möglichkeit das Vorhandensein von
Fehler festzustellen, ihre vollständige Abwesenheit lässt sich auf diesem Weg aber nicht
ausschließen. Das Ziel kann daher nur sein, Black-Box-Tests mit anderen Methoden zu
verknüpfen, z. B. White-Box-Tests, um so die Wahrscheinlichkeit möglicher Fehler und
Fehlerquellen zu minimieren und für den betrieblichen Einsatz hinreichend vorzubereiten.
Im SAP-Umfeld erfreuen sich Black-Box-Tests einer großen Beliebtheit. Im Rahmen der
ASAP-Methodik, welche das Vorgehensmodell zur Einführung von SAP ERP in einem
Unternehmen darstellt, basieren die meisten Tests auf der Black-Box-Technik. Aus diesem
Grund haben sich auf dem Markt bereits Werkzeuge etabliert, die extra für dieses Umfeld
entwickelt wurden. In dieser Arbeit wurden die Werkzeuge SAP Quality Center by HP sowie
eCATT vorgestellt.
SAP Quality Center by HP kann in das SAP-Anwendungsmanagement-Werkzeug Solution
Manager integriert werden, so dass ein permanenter Informationsaustausch zwischen der
Anwendungsmanagement- und Qualitätssicherungsumgebung hergestellt werden kann. Das
Quality Center basiert auf der J2EE-Technologie, hat eine leicht verständliche
Benutzeroberfläche und bietet die Möglichkeit den Aufwand beim Erstellen von Testfällen
erheblich zu reduzieren, indem die Testbeschreibung in atomare wiederverwendbare Einheiten
zerlegt und von den Testdaten getrennt wird. Mit Hilfe von Berichten und Grafiken, die im
SAP Quality Center by HP zur Verfügung stehen, kann der Testfortschritt in Echtzeit nach
verschiedenen Kriterien ausgewertet werden. In dieser Arbeit wurden zwei Berichte aus der
Praxis vorgestellt, in welchen SAP Quality Centers by HP zur Anwendung kam und den
Testaufwand deutlich reduzieren konnte.
Die SAP eCATT stellen ein Werkzeug zur Testautomatisierung dar, welche auf allen SAPSystemen kostenlos nutzbar sind. Durch die Testautomatisierung können die Aufwände,
insbesondere bei Massen- oder Regressionstests erheblich reduziert werden. Die eCATTs
werden dabei bestenfalls auf dem SAP Solution Manager erstellt und verwaltet sowie auf den
Zielsystemen nur ausgeführt. Dadurch haben die Tester einen zentralen Anlaufpunkt für alle
- 78 -
Black-Box-Testing
Tests und die Testkoordinatoren eine zentrale Übersicht und Protokollablageinstanz. Die
Erstellung der eCATTs wurde im entsprechenden Kapitel beschrieben und zeigt, dass die
initiale Erstellung einerseits sehr aufwändig und andererseits auch sehr gut durchdacht sein
muss. Gerade Ersteres ist der Grund, dass die eCATTs in der Praxis nur sehr selten in der
Testautomation eingesetzt werden. Dennoch haben sie Ihre Daseinsberechtigung, weil sie in
einigen Fällen genau die benötigten Funktionalitäten bieten, um beispielsweise Daten zu
migrieren oder häufig auszuführende Tätigkeiten zu automatisieren, die andere Werkzeuge
hinterlassen.
- 79 -
Black-Box-Testing
8 Literaturverzeichnis
Alpar, P., Grob, H. L., Weimann, P. & Winter, R. (2008). Anwendungsorientierte
Wirtschaftsinformatik: Strategische Planung, Entwicklung und Nutzung von
Informations-und Kommunikationssystemen. 5. Auflage. Friedr. Vieweg & Sohn Verlag.
Aßmann, U. Testwerkzeuge. (13.01.2011) (st.inf.tu-dresden.de). http://st.inf.tudresden.de/Lehre/WS09-10/sew/slides/sew-40-testwerkzeuge-2x2.pdf. Abgerufen am
13.10.2011.
Baltaci, K. Cyberkriminalität: Die unsichtbare Gefahr aus dem Netz. (20.09.2011)
(diepresse.com).
http://diepresse.com/home/techscience/internet/sicherheit/694677/Cyberkriminalitaet_Die
-unsichtbare-Gefahr-aus-dem-Netz. Abgerufen am 15.10.2011.
Bayer, M. Zu 100 Prozent fehlerfreie Software gibt es nicht. (20.10.2005)
(computerwoche.de). http://www.computerwoche.de/nachrichtenarchiv/567618/.
Abgerufen am 08.10.2011.
Bender, K. (2005). Embedded Systems - Qualitätsorientierte Entwicklung. Springer Verlag:
Berlin.
Bieber, E. Trends beim Software-Testing: Fehlerfreie Software gibt es nicht. (04.05.2011)
(cio.de). http://www.cio.de/strategien/analysen/2273064/. Abgerufen am 08.10.2011.
Black, R. (2009). Managing the Testing Process: Practical Tools and Techniques for
Managing. 3. Auflage. Wiley Publishing.
BSI. Durchführungskonzept für Penetrationstests. (11.2007). (bsi.bund.de).
https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/Studien/Penetrat
ionstest/penetrationstest_pdf.pdf?__blob=publicationFile. Abgerufen am 15.10.2011.
Cleff, T. (2010). Basiswissen Testen von Software: Vorbereitung zum Certified Tester
(Foundation Level) nach ISTQB-Standard. W3L GmbH Verlag: Herdeke | Witten.
DerWesten. Internet-Kriminalität: Sony räumt weiteren Diebstahl von Kundendaten ein Wirtschaft und Finanzen - DerWesten. (03.05.2011) (derwesten.de).
http://www.derwesten.de/nachrichten/wirtschaft-und-finanzen/Sony-raeumt-weiterenDiebstahl-von-Kundendaten-ein-id4605751.html. Abgerufen am 15.10.2011.
Desikan, S. & Ramesh, G. (2008). Software Testing: Principles and Practice. 6. Auflage.
Dorling Kindersley.
Dustin, E., Rashka, J. & Paul, J. (2001). Software Automatisch Test: Verfahren, Handhabung,
Leistung. Springer-Verlag. .
Franz, K. (2007). Handbuch Zum Testen Von Web-Applikationen. Testverfahren, Werkzeuge,
Praxistipps. Springer-Verlag: Berlin.
- 80 -
Black-Box-Testing
Frühauf, K., Ludewig, J. & Sandmayr, H. (2007). Software-Prüfung: Eine Anleitung zum Test
und zur Inspektion. vdf Lehrbuch. 6. Auflage. Vdf Hochschulverlag: Zürich.
Gabler Wirtschaftslexikon Redaktion (2000). Gabler Wirtschaftslexikon: Die ganze Welt der
Wirtschaft: Betriebswirtschaft – Volkswirtschaft – Recht – Steuern.15. Auflage. Gabler
Verlag: Wiesbaden.
Geiger, W. & Kotte, W. (2005). Handbuch Qualität. 4. Auflage. Friedr. Vieweg & Sohn
Verlag / GWV Fachverlage GmbH: Wiesbaden.
Grechenig, T. & Bernhart, M. Softwaretechnik: Mit Fallbeispielen aus realen
Entwicklungsprojekten. (2009). Pearson Studium Pearson Studium: München.
Helfen, M., Trauthwein, M. H. (2010). SAP-Lösungen testen. 2. Auflage (1. korrigierter
Nachdruck). Galileo Press: Bonn.
Hoffmann, D. W. (2008). Software-Qualität. Springer-Verlag: New York Inc.
Jeckle, M. Use-Case-Diagramme. (24.01.2005). (jeckle.de). http://www.jeckle.de/umlglasklar/UseCaseDiagramm.pdf. Abgerufen am 15.10.20011.
Kleuker, S. (2011). Grundkurs Software-Engineering mit UML: Der Pragmatische Weg zu
Erfolgreichen Softwareprojekten. 2. Auflage. Vieweg + Teubner Verlag / Springer
Fachmedien: Wiesbaden.
Liggesmeyer, P. (2009). Software-Qualität: Testen, Analysieren und Verifizieren von
Software: Testen, Analysieren und Verifizieren von Software. 2. Auflage. Spektrum
Akademischer Verlag.
Limaye, M. G. (2009). Software Testing: Principles, Techniques and Tools. Tata McGrawHill Education.
Maiborn, V., Anleitung für professionelles Software-Testmanagement. (17.07.2009)
(www.heise.de). http://www.heise.de/developer/artikel/Anleitung-fuer-professionellesSoftware-Testmanagement-227244.html. Abgerufen am 13.09.2011.
Mathur, A. P. (2011). Foundations of Software Testing. Dorling Kindersley: India.
Michael, C. C. & Radosevich, W. Black Box Security Testing Tools. (27.07.2009)
(buildsecurityin.us-cert.gov). https://buildsecurityin.us-cert.gov/bsi/articles/tools/blackbox/261-BSI.html.. Abgerufen am 05.09.2011.
Myers, G. J., Badgett, T., Thomas, T. M. & Sandler, C. (2004). The art of software testing. 2.
Auflage. John Wiley & Sons.
Niemann, F., Pütter, C. SAP angeblich Mitschuld an Juwelier-Pleite. (22.01.2009)
(www.cio.de) http://www.cio.de/knowledgecenter/erp/870146/. Abgerufen am
03.10.2011.
Oestereich, B. (2009). Die UML-Kurzreferenz 2.3 für die Praxis: kurz, bündig, ballastfrei.
Oldenbourg Verlag: München.
- 81 -
Black-Box-Testing
Petrasch, R. (2001). Einführung in das Software-Qualitätsmanagement. Logos Verlag Berlin.
Pol, M., Koomen, T. & Spillner, A. (2002). Management und Optimierung des Testprozesses.
2. Auflage. Dpunkt Verlag.
QMETHODS - Business & IT Consulting GmbH. HP Quality Center. (o. J. )
(http://www.qmethods.com/). http://www.qmethods.com/service_hp-qualitycenter.html.
Abgerufen am 28.09.2011.
Roitzsch, E. H. P. (2005). Analytische Softwarequalitätssicherung in Theorie und Praxis.
Verlagshaus Monsenstein und Vannerdat: Münster.
Rupp, C. & Die SOPHISTen (2009). Requirements-Engineering und –Management:
Professionelle, Iterative Anforderungsanalyse für die Praxis. 5. Auflage. Carl Hanser
Verlag: München.
SAP AG. Geschichte. (o. J. ) (www.sap.com). http://www.sap.com/corporate-de/ourcompany/history.epx. Abgerufen am 03.10.2011.
SAP AG (2006). CA611 – Testmanagement mit dem neuen eCATT. Schulungsunterlage
50080664.
Anmerkung: Die Seitenangaben stellen immer Kapitel (XX) und Seite (YY) in der Form
XX-YY dar.
SAP AG. SAP Deutschland - Komponenten und Werkzeuge von SAP NetWeaver: SAP
Solution Manager, (o. J.) (www.sap.com).
http://www.sap.com/germany/plattform/netweaver/components/solutionmanager/index.ep
x. Abgerufen am 15.10.2011
Sneed, H. M. & Jungmay, S. (2006). Produkt- und Prozessmetriken für den Softwaretest.
Informatik Spektrum 29, 23–38.
Sneed, H. M., Baumgartner, M. & Seidl, R. (2008). Der Systemtest: Von den Anforderungen
zum Qualitätsnachweis. 2. Auflage. Hanser Fachbuchverlag.
softwaretestingfundamentals. Software Testing Fundamentals. (30.08.2011).
(softwaretestingfundamentals.com). http://softwaretestingfundamentals.com/differencesbetween-black-box-testing-and-white-box-testing/. Abgerufen am 12.09.2011.
SoftwareTestingStuff. Functional Testing vs Non-Functional Testing. (15.10.2007) (Software
Testing Stuff). http://www.softwaretestingstuff.com/2007/10/functional-testing-vs-nonfunctional.html. Abgerufen am 15.10.2011.
Sommerville, I. (2007). Software Engineering. 8. Auflage. Pearson Studium.
Steeb Anwendungssysteme GmbH: Die Steeb Projektmethodik zur erfolgreichen Einführung
Ihrer SAP-Lösung. (o.J.). (www.steeb.de).
http://www.steeb.de/leistungen/beratung/einfuehrung-sap-loesungen.html. Abgerufen am
14.09.2011.
- 82 -
Black-Box-Testing
Testing Concepts. Quality Center: All about it. (06.02.2011) (http://qaconcepts.blogspot.com/).
http://qse.ifs.tuwien.ac.at/courses/skriptum/download/10P_Nonfunkt_wid_20040204.pdf.
Abgerufen am 15.10.2011.
TU Wien. Nicht-funktionale Testmethoden. (o. J.).(qse.ifs.tuwien.ac.at).
http://qse.ifs.tuwien.ac.at/courses/skriptum/download/10P_Nonfunkt_wid_20040204.pdf.
Abgerufen am 15.10.2011.
Versteegen, G., Chughtai, A., Dörnemann, H., Heinold, R. & Hubert, H. (2002). SoftwareManagement. Beherrschung des Lifecycles. Springer Verlag: Berlin.
Vivit Germany (05.11.2008). Qualitätssicherung und Software Testing mit HP Quality
Center. (http://www.vivit-germany.org/). http://www.vivitgermany.org/pdf/Vivit08_D%FCsseldorf_QualityCenter_Blank.pdf. Abgerufen am
15.09.2011.
Wallmüller, E. (2001). Software-Qualitätsmanagement in der Praxis. 2. Auflage. Hanser
Verlag.
weibull.com. weibull.com. (o. J.) (weibull.com). http://www.weibull.com. Abgerufen am
2011-10-08.
Williams, L. Testing Overview and Black-Box Testing Techniques. (2006)
(RealSearchGroup). http://agile.csc.ncsu.edu/SEMaterials/BlackBox.pdf. Abgerufen am
16.10.2011.
Wirtz, G. Nichtfunktionale Tests. (02.09.2009) (enzyklopaedie-der-wirtschaftsinformatik.de).
http://www.enzyklopaedie-der-wirtschaftsinformatik.de/wi-enzyklopaedie/lexikon/ismanagement/Systementwicklung/Hauptaktivitaten-der-Systementwicklung/SoftwareImplementierung/Testen-von-Software/nichtfunktionale-tests. Abgerufen am 15.10.2011.
- 83 -
Herunterladen