TESTS – UNENDLICHE WEITENWie ermittle ich die richtigen Testfälle?
VorstellungVorstellung
EinführungEinführung
White-BoxWhite-Box
Black-BoxBlack-Box
AbschlussAbschluss
DATEN & FAKTEN
Wie ermittle ich die richtigen Testfälle?
• Inhabergeführtes IT-Beratungs-und Technologieunternehmen
•1990 Gründung des Unternehmens
•Gesamtleistung 2015: 26 Mio. Euro
•230 feste Mitarbeiter
KERNKOMPETENZEN
Wie ermittle ich die richtigen Testfälle?
Java .NET SAP QM/QA
Entwicklung & Beratung
SPRECHER
Wie ermittle ich die richtigen Testfälle?
Kay Grebenstein
Test Manager / Test Coach
QAla [email protected]
www.so-geht-software.de
TESTS – UNENDLICHE WEITENWie ermittle ich die richtigen Testfälle?
VorstellungVorstellung
EinführungEinführung
White-BoxWhite-Box
Black-BoxBlack-Box
AbschlussAbschluss
DAS GROSSE TESTQUIZ
Wie ermittle ich die richtigen Testfälle?
Aufgrund eines französischen Gesetzes aus dem Jahre 1791
Weil zu wenig getestet wurde
Wegen der mangelnde Erfahrung, Überlastung und schlechte
Zusammenarbeit der Bodenmannschaften
Warum stürzte der Mars Climate
Orbiter ab?
DAS GROSSE TESTQUIZ
Wie ermittle ich die richtigen Testfälle?
Aufgrund eines französischen Gesetzes aus dem Jahre 1791
Weil zu wenig getestet wurde
Wegen der mangelnde Erfahrung, Überlastung und schlechte
Zusammenarbeit der Bodenmannschaften
Warum stürzte der Mars Climate
Orbiter ab?
DER ENTWICKLUNGSPROZESS
Wie ermittle ich die richtigen Testfälle?
Sprint-BacklogSprint-Backlog VCSVCS BUILDBUILD
Produkt-InkrementProdukt-
Inkrement
CodenCoden
CodeCode
TEST DRIVEN DEVELEOPMENT
Wie ermittle ich die richtigen Testfälle?
Sprint-BacklogSprint-Backlog VCSVCS BUILDBUILD
Produkt-InkrementProdukt-
Inkrement
TDDTDDTestTest
ImplementierungImplementierung
RefaktorisierungRefaktorisierung
TEST DRIVEN DEVELEOPMENT
Wie ermittle ich die richtigen Testfälle?
Sprint-BacklogSprint-Backlog VCSVCS BUILDBUILD
Produkt-InkrementProdukt-
Inkrement
TDDTDDTestTest
ImplementierungImplementierung
RefaktorisierungRefaktorisierung
QAQA
BAUEN DER TESTPYRAMIDE
Wie ermittle ich die richtigen Testfälle?
Daten-bank
Daten-bank
Daten-bank
UNIT SERVICE SYSTEM
Testen einer unabhängigen und
isolierten Einheit wie einer Funktion
oder einer Klasse
Testen eines Moduls mit Einbindung seiner
Schnittstellen
Tests eines kompletten
Geschäftsprozesses
Sprint-BacklogSprint-Backlog
• VCS • Gemeinsame
Code Basis• Code Review• Unit-Tests
• VCS • Gemeinsame
Code Basis• Code Review• Unit-Tests
• Statische CodeAnalyse• CI / CD • Staging:
• Statische CodeAnalyse• CI / CD • Staging:
Produkt-InkrementProdukt-
Inkrement
Code-Repository
Build
Durchführung der System- und Service-
Tests(Manuelle und Autom.)
Durchführung der System- und Service-
Tests(Manuelle und Autom.)
Entwicklung der System- und Servicetest System
Service
Unit / TDDTestTest
ImplementierungImplementierung
RefaktorisierungRefaktorisierung
ma
nu
ell
au
tom
atisiert
Testfall-Repository
Testfall-Repository
Testfall-Repository
Testfall-Repository
TESTABDECKUNG – EIN PROBLEM
Wie ermittle ich die richtigen Testfälle?
Test-abdeckung
Wie viele Testfälle muss ich
erstellen?
Wann kann ich
mit Testen aufhören?
TESTABDECKUNG – KEIN PROBLEM
Wie ermittle ich die richtigen Testfälle?
Test-abdeckung
Wie viele Testfälle muss ich
erstellen?
Wann kann ich
mit Testen aufhören?
LösungLösung
DAS GROSSE TESTQUIZ
Wie ermittle ich die richtigen Testfälle?
Welche Software-Testverfahren gibt es?
DAS GROSSE TESTQUIZ
Wie ermittle ich die richtigen Testfälle?
Statisch Dynamisch
Welche Software-Testverfahren gibt es?
Wie ermittle ich die richtigen Testfälle?
White – Box – Tests
Im White-Box-Test wird mit Kenntnis über die innere Funktionsweise des zu testenden Systems getestet bzw. auf der Basis der Programmstruktur und Programmlogik.
Testen bevor ein fertiges
Produkt vorliegt
Geringerer Aufwand
Einbindung in Entwicklungs-
werkzeugesehr einfach.
Kein Bezug zur
Spezifikation
Vorhandene Programm-
lücken werden nicht getestet
Vorteile Nachteile
Wie ermittle ich die richtigen Testfälle?
Black – Box – Tests
Im Black-Box-Test wird ohne Kenntnisse über die innere Funktions-weise des zu testenden Systems getestet. Für die Ermittlung der Testfälle werden nur die Anforderungen herangezogen.
Verifikation des Gesamt-
systems
Unabhängige und gezielte Verifikation
Tester benötigen spezielle
Befähigungen
Hoher Aufwand für Organisation
Keine versteckte Funktionen
getestet
Vorteile Nachteile
TESTS – UNENDLICHE WEITENWie ermittle ich die richtigen Testfälle?
VorstellungVorstellung
EinführungEinführung
White-BoxWhite-Box
Black-BoxBlack-Box
AbschlussAbschluss
Anweisungs-überdeckung
Zweig-überdeckung
Einfacher Bedingungs-überdeckung
Mehrfach-Bedingungs-überdeckung
Pfad-Überdeckung
Modifikationen und
Kombinationen
Minimal-forderung
Effizienz-prinzip
Äquivalenz-klassen-methode
Grenzwert-analyse
Entscheidungs-tabellen
Zustands-basiert
Anwendungs-fallbasiert
Modifikationen und
Kombinationen
White Box Test Black Box Test
ANWEISUNGSÜBERDECKUNG
Wie ermittle ich die richtigen Testfälle?
Bei der Anweisungsüber-deckung werden alle Knoten des Kontrollflussgraphen von mindestens einem Testfall abgedeckt, das heißt, jede Anweisung im Quelltext wird mindestens einmal ausgeführt.
Summe TF = 4
ZWEIGÜBERDECKUNG
Wie ermittle ich die richtigen Testfälle?
Bei der Zweigüberdeckung werden die Testfälle so spezifiziert, dass alle Zweige (Kanten) des Kontrollfluss-graphen mindestens einmal durchlaufen werden.Die Zyklomatische Komplexität gibt an, wie viele Testfälle höchstens nötig sind, um eine Zweigüberdeckung zu erreichen.
Summe TF = 4
ZWEIGÜBERDECKUNG
Wie ermittle ich die richtigen Testfälle?
Die zyklomatische Zahl McCabes, abgekürzt mit v(G), zeigt die Komplexität des Kontrollflusses im Code. v(G) ist die Anzahl unabhängiger Kontrollpfade durch ein Softwaresystem.
Summe TF = 4
�(�)=�−�+ 2� n => Anzahl der Knoten
e => Anzahl der Kanten
p => Anzahl unabhängiger Teilgraphen
�(�)=12−10+ 2*1
BEDINGUNGSÜBERDECKUNG
Wie ermittle ich die richtigen Testfälle?
Bei der einfachen Bedingungs-überdeckung wird gefordert, die Testfälle so zu bestimmen, dass die Auswertung jeder atomaren Teilentscheidung einmal den Wert wahr und einmal den Wert falsch ergibt.Die Mehrfach-Überdeckung verlangt, dass neben den atomaren Teilentscheidungen und der Gesamtentscheidung auch alle zusammengesetzten Teilentscheidungen gegen wahr und falsch geprüft werden.
Summe TF = 6
PFADÜBERDECKUNG
Wie ermittle ich die richtigen Testfälle?
Bei der Pfadüberdeckung werden sämtliche möglichen Pfade in einem Testfall durchlaufen. Bei einer vollständigen Pfadüberdeckung müssen alle möglichen Pfade getestet werden
� Problem: Bei Programmen mit Schleifen kann es extrem viele Pfade geben.
Summe TF = ∞
TESTS – UNENDLICHE WEITENWie ermittle ich die richtigen Testfälle?
VorstellungVorstellung
EinführungEinführung
White-BoxWhite-Box
Black-BoxBlack-Box
AbschlussAbschluss
TESTFALLERMITTLUNGSVERFAHREN
Wie ermittle ich die richtigen Testfälle?
Minimalforderung
• Bei der Minimal-forderung muss jede spezifizierte Anforderung durch mindestens einen Testfall abgeprüft werden.
Effizienzprinzip
• Das Effizienzprinzipfordert möglichst wenige Testfälle.
• Dabei sollen möglichst auch mehrere Anforderungen durch einen gemeinsamen Testfall abgedeckt werden.
ÄQUIVALENZKLASSENBILDUNG
Einführung in die Qualitätssicherung
Äquivalenz-klasse
Negativ
Äquivalenz-klasse 4
Äquivalenz-klasse 3
Äquivalenz-klasse 2
Äquivalenz-klasse 1Menge der
Eingabe-werte
Eingabewerte in Gruppen mit gleichen Eigenschaften
eingeteilt
ÄQUIVALENZKLASSENBILDUNG
Einführung in die Qualitätssicherung
Als Beispiel ein Rechner für die Einkommensteuer nach EStG § 32a:
https://www.bmf-steuerrechner.de/ekst/ekst.jsp
Äquivalenz-klasse 1
•1000 Euro
Äquivalenz-klasse 2
•10.000 Euro
Äquivalenz-klasse 3
•20.000 Euro
Äquivalenz-klasse 4
•100.000 Euro
Äquivalenz-klasse 5
•1.000.000 Euro
Summe TF = 5
ÄQUIVALENZKLASSENBILDUNG
Einführung in die Qualitätssicherung
Als Beispiel ein Rechner für die Einkommensteuer nach EStG § 32a:
https://www.bmf-steuerrechner.de/ekst/ekst.jsp
Äquivalenzklasse 1
•1000 Euro
Äquivalenzklasse 2
•10.000 Euro
Äquivalenzklasse 3
•20.000 Euro
Äquivalenzklasse 4
•100.000 Euro
Äquivalenzklasse 5
•1.000.000 Euro
Äquivalenzklasse N1
•-1.000 Euro
Äquivalenzklasse N2
•Buchstaben
Summe TF = 7
GRENZWERTANALYSE
Einführung in die Qualitätssicherung
NegativklasseÄquivalenz-
klasse 1Äquivalenz-
klasse 2
• Probleme treten nicht in den Äquivalenzklassen auf, sondern an deren Grenzen.
• Der größte und der kleinste Wert einer Klasse sind deren Grenzwerte. Ein Grenzwert für eine gültige Klasse ist ein gültiger Grenzwert, die Grenze einer ungültigen Klasse ist ein ungültiger Grenzwert.
-1 0 100 101
GRENZWERTANALYSE
Einführung in die Qualitätssicherung
Negativ-klassen
TF1: ‚a‘ TF2: -1
Äquivalenz-klasse 1
TF3: 0 €TF4:
8652 €
Äquivalenz-klasse 2
TF5: 8553 €
TF6: 13669 €
Äquivalenz-klasse 3
TF7: 13670 €
TF8: 53665 €
Äquivalenz-klasse 4
TF9: 53666 €
TF10: 254446 €
Äquivalenz-klasse 5
TF11: 254447 € Summe
TF = 11https://www.bmf-steuerrechner.de/ekst/ekst.jsp
DAS GROSSE TESTQUIZ
Einführung in die Qualitätssicherung
Der Tester startet eine Feuerwerk, weil er wieder einen Fehler gefunden hat.
Der Entwickler explodiert, weil zu viele Testfälle fehlgeschlagen sind.
Die Anzahl der Testfälle explodiert, wenn alle möglichen Kombinationen
getestet werden sollen.
Was ist eine Testfall-
explosion?
DAS GROSSE TESTQUIZ
Einführung in die Qualitätssicherung
Der Tester explodiert, weil ein Testfall fehlgeschlagen ist.
Der Entwickler explodiert, weil zu viele Testfälle fehlgeschlagen sind.
Die Anzahl der Testfälle explodiert, wenn alle möglichen Kombinationen
getestet werden sollen.
Was ist eine Testfall-
explosion?
URSACHE-WIRKUNG-ANALYSE
Einführung in die Qualitätssicherung
Basierend auf der Ursache-Wirkungs-Graph-Analyse sind Entscheidungstabellen eine gute Möglichkeit, um Systemanforderungen zu erfassen, die logische Bedingungen enthalten und um den internen Systementwurf zu dokumentieren.
Sie können zur Erfassung komplexer, von einem System umzusetzenden Regeln in Geschäftsprozessen verwendet werden.
a b a b~a
db
c
v
a
c
b
˄
1 2 3 4 5 6 7
a 0 0 1 1 1 0 1
c 0 1 0 1 0 1 1
c 1 0 0 0 1 1 1
d 1 1 1 1 1 0 0
Ursache-Wirkungs-Graph Entscheidungstabellen
Identität Nein
Oder
Und
URSACHE-WIRKUNG-ANALYSE
Einführung in die Qualitätssicherung
Es soll die Software für einenParkautomaten in einer Tiefgarageerstellt werden.
• Die Kunden können ihreParkgebühr am Parkautomatenbezahlen.
• Geschäfte können guten Kunden(VIPs) ihre Parkkarten auf bezahltsetzen.
• Überschreitet der Kunde die Dauerder Ausfahrzeit (30 Minuten) nachdem Bezahlen, dann setzt dasAusfahrt-Terminal den Zustand derKarte wieder aus „Parken“ und derKunde muss nachlösen.
Karte bezahlt
Karte frei-geschalten
30min über-schritten
Ausfahrt freiv
URSACHE-WIRKUNG-ANALYSE
Einführung in die Qualitätssicherung
1 2 3 4 5 6 7 8
Karte bezahlt
0 0 0 1 1 1 0 1
Karte frei-geschalten
0 0 1 0 1 0 1 1
30 min über-
schritten0 1 0 0 0 1 1 1
Ausfahrt frei
0 0 1 1 1 0 0 0
Karte bezahlt
Karte frei-geschalten
30min über-schritten
Ausfahrt freiv
1 2 3 4 5 6 7 8
Karte bezahlt
0 0 0 1 1 1 0 1
Karte frei-geschalten
0 0 1 0 1 0 1 1
30 min über-
schritten0 1 0 0 0 1 1 1
Ausfahrt frei
0 0 1 1 1 0 0 0
URSACHE-WIRKUNG-ANALYSE
Einführung in die Qualitätssicherung
Karte bezahlt
Karte frei-geschalten
30min über-schritten
Ausfahrt freiv
URSACHE-WIRKUNG-ANALYSE
Einführung in die Qualitätssicherung
Karte bezahlt
Karte frei-geschalten
30min über-schritten
Ausfahrt freiv
TF1 TF2 TF3 TF4 TF5 TF6
1 2 3 4 5 6 7 8
Karte bezahlt
0 0 0 1 1 1 0 1
Karte frei-geschalten
0 0 1 0 1 0 1 1
30 min über-
schritten0 1 0 0 0 1 1 1
Ausfahrt frei
0 0 1 1 1 0 0 0
ZUSTANDSBASIERTER TEST
Einführung in die Qualitätssicherung
Zustand A
Zustand C
Zustand B Zustand D
Ein System kann in Abhängigkeit vonaktuellen Gegebenheiten oder von seinerVorgeschichte (seinem Zustand)unterschiedliche Reaktionen zeigen, die ineinem Zustandsdiagramm dargestellt werdenkönnen.
ZUSTANDSBASIERTER TEST
Einführung in die Qualitätssicherung
Zustand A
Zustand C
Zustand B Zustand D
TF1 TF2
TF3 TF4
TF5
TF6
Summe TF = 6
Ein System kann in Abhängigkeit vonaktuellen Gegebenheiten oder von seinerVorgeschichte (seinem Zustand)unterschiedliche Reaktionen zeigen, die ineinem Zustandsdiagramm dargestellt werdenkönnen.
Testfallermittlung:
• Werden alle Zustandsübergänge durchlaufen?
• Werden alle Ereignisse, die Zustands-übergänge hervorrufen sollen, getestet?
• Werden alle Ereignisse, die keine Zustandsübergänge hervorrufen dürfen, getestet?
ZUSTANDSBASIERTER TEST
Einführung in die Qualitätssicherung
Zustand A
Zustand C
Zustand B Zustand D
TF1 TF2
TF3 TF4
TF5
TF6
Summe TF = 6
Ein System kann in Abhängigkeit vonaktuellen Gegebenheiten oder von seinerVorgeschichte (seinem Zustand)unterschiedliche Reaktionen zeigen, die ineinem Zustandsdiagramm dargestellt werdenkönnen.
Testfallermittlung:
• Werden alle Zustandsübergänge durchlaufen?
• Werden alle Ereignisse, die Zustands-übergänge hervorrufen sollen, getestet?
• Werden alle Ereignisse, die keine Zustandsübergänge hervorrufen dürfen, getestet?
ZUSTANDSBASIERTER TEST
Einführung in die Qualitätssicherung
Zustand A
Zustand C
Zustand B Zustand D
TF1
TF2
TF3
Summe TF = 3
Ein System kann in Abhängigkeit vonaktuellen Gegebenheiten oder von seinerVorgeschichte (seinem Zustand)unterschiedliche Reaktionen zeigen, die ineinem Zustandsdiagramm dargestellt werdenkönnen.
Testfallermittlung:
• Werden alle Zustandsübergänge durchlaufen?
• Werden alle Ereignisse, die Zustands-übergänge hervorrufen sollen, getestet?
• Werden alle Ereignisse, die keine Zustandsübergänge hervorrufen dürfen, getestet?
ZUSTANDSBASIERTER TEST
Einführung in die Qualitätssicherung
Zustand A
Zustand C
Zustand B Zustand D
TF1
TF2
TF3
Summe TF = 3
Ein System kann in Abhängigkeit vonaktuellen Gegebenheiten oder von seinerVorgeschichte (seinem Zustand)unterschiedliche Reaktionen zeigen, die ineinem Zustandsdiagramm dargestellt werdenkönnen.
Testfallermittlung:
• Werden alle Zustandsübergänge durchlaufen?
• Werden alle Ereignisse, die Zustands-übergänge hervorrufen sollen, getestet?
• Werden alle Ereignisse, die keine Zustandsübergänge hervorrufen dürfen, getestet?
ZUSTANDSBASIERTER TEST
Einführung in die Qualitätssicherung
Zustand B
TF1
TF2
TF3
Summe TF = 9
TF4
TF5
TF8
Ein System kann in Abhängigkeit vonaktuellen Gegebenheiten oder von seinerVorgeschichte (seinem Zustand)unterschiedliche Reaktionen zeigen, die ineinem Zustandsdiagramm dargestellt werdenkönnen.
Testfallermittlung:
• Werden alle Zustandsübergänge durchlaufen?
• Werden alle Ereignisse, die Zustands-übergänge hervorrufen sollen, getestet?
• Werden alle Ereignisse, die keine Zustandsübergänge hervorrufen dürfen, getestet?
TF6
TF7
TF9
Zustand A
Zustand C
Zustand D
ZUSTANDSBASIERTER TEST
Einführung in die Qualitätssicherung
Zustand B
TF1
TF2
TF3
Summe TF = 9
TF4
TF5
TF8
Ein System kann in Abhängigkeit vonaktuellen Gegebenheiten oder von seinerVorgeschichte (seinem Zustand)unterschiedliche Reaktionen zeigen, die ineinem Zustandsdiagramm dargestellt werdenkönnen.
Testfallermittlung:
• Werden alle Zustandsübergänge durchlaufen?
• Werden alle Ereignisse, die Zustands-übergänge hervorrufen sollen, getestet?
• Werden alle Ereignisse, die keine Zustandsübergänge hervorrufen dürfen, getestet?
TF6
TF7
TF9
Zustand A
Zustand C
Zustand D
ZUSTANDSBASIERTER TEST
Einführung in die Qualitätssicherung
Zustand A
Zustand C
Zustand B Zustand D
TF1
TF2
TF3
Summe TF = 6
TF4
TF5
TF6
Ein System kann in Abhängigkeit vonaktuellen Gegebenheiten oder von seinerVorgeschichte (seinem Zustand)unterschiedliche Reaktionen zeigen, die ineinem Zustandsdiagramm dargestellt werdenkönnen.
Testfallermittlung:
• Werden alle Zustandsübergänge durchlaufen?
• Werden alle Ereignisse, die Zustands-übergänge hervorrufen sollen, getestet?
• Werden alle Ereignisse, die keine Zustandsübergänge hervorrufen dürfen, getestet?
DAS GROSSE TESTQUIZ
Einführung in die Qualitätssicherung
Es soll die Software für einenParkautomaten in einer Tiefgarageerstellt werden.
• Das Parksystem arbeitet mitChipkarten, die am Eingang /Ausgang über eine Chipterminalaus- bzw. abgegeben werden.
• Die Karten besitzen bei derAusgabe den Status „Parken“ undnach der Ausfahrt den Status„Ende“.
• Die Kunden können ihreParkgebühr am Parkautomatenbezahlen. Die Karte hat nachkorrekter Abrechnung den Status„Bezahlt“.
Parken
Ende
Bezahlt Überschritten
DAS GROSSE TESTQUIZ
Einführung in die Qualitätssicherung
Es soll die Software für einenParkautomaten in einer Tiefgarageerstellt werden.
• Das Parksystem arbeitet mitChipkarten, die am Eingang /Ausgang über eine Chipterminalaus- bzw. abgegeben werden.
• Die Karten besitzen bei derAusgabe den Status „Parken“ undnach der Ausfahrt den Status„Ende“.
• Die Kunden können ihreParkgebühr am Parkautomatenbezahlen. Die Karte hat nachkorrekter Abrechnung den Status„Bezahlt“.
Parken
Ende
Bezahlt Überschritten
TF1
TF2
TF3
DAS GROSSE TESTQUIZ
Einführung in die Qualitätssicherung
Es soll die Software für einenParkautomaten in einer Tiefgarageerstellt werden.
• Das Parksystem arbeitet mitChipkarten, die am Eingang /Ausgang über eine Chipterminalaus- bzw. abgegeben werden.
• Die Karten besitzen bei derAusgabe den Status „Parken“ undnach der Ausfahrt den Status„Ende“.
• Die Kunden können ihreParkgebühr am Parkautomatenbezahlen. Die Karte hat nachkorrekter Abrechnung den Status„Bezahlt“.
Bezahlt
TF1
TF2
TF3
TF4
TF5
TF6
TF7
TF8
Parken
Ende
Überschritten
DAS GROSSE TESTQUIZ
Einführung in die Qualitätssicherung
Es soll die Software für einenParkautomaten in einer Tiefgarageerstellt werden.
• Das Parksystem arbeitet mitChipkarten, die am Eingang /Ausgang über eine Chipterminalaus- bzw. abgegeben werden.
• Die Karten besitzen bei derAusgabe den Status „Parken“ undnach der Ausfahrt den Status„Ende“.
• Die Kunden können ihreParkgebühr am Parkautomatenbezahlen. Die Karte hat nachkorrekter Abrechnung den Status„Bezahlt“.
Bezahlt Überschritten
TF1
TF2
TF3
TF6
TF4
TF5
Parken
Ende
Top Related