Strukturelles Testen - Lehrstuhl für Software Engineering

Inhalt
Nachlese
Strukturelles Testen
Werkzeuge
Strukturelles Testen
Matthias Meitner Raimar Lill David Föhrweiser
Stefan Winzinger
Lehrstuhl für Software Engineering
Friedrich-Alexander-Universität Erlangen-Nürnberg
Meitner, Lill, Föhrweiser, Winzinger
FAU Erlangen-Nürnberg
Strukturelles Testen
1 / 10
Inhalt
Nachlese
Strukturelles Testen
1
Inhalt
2
Nachlese
Funktionales Testen mit jUnit
3
Strukturelles Testen
White-Box Testverfahren
Überdeckungskriterien
4
Werkzeuge
djUnit
CodeCover
Clover
Meitner, Lill, Föhrweiser, Winzinger
FAU Erlangen-Nürnberg
Strukturelles Testen
Werkzeuge
2 / 10
Inhalt
Nachlese
Strukturelles Testen
Werkzeuge
Funktionales Testen
Was macht die Software
Betrachtet nur die Schnittstellen
Stichworte: Äquivalenzklassen, Grenzwertanalyse, Error
Guessing
Meitner, Lill, Föhrweiser, Winzinger
FAU Erlangen-Nürnberg
Strukturelles Testen
3 / 10
Inhalt
Nachlese
Strukturelles Testen
Werkzeuge
Strukturelles Testen
Betrachte auch, wie die Software arbeitet
Ziel: möglichst hohe strukturelle Überdeckung
Anweisungsüberdeckung
Verzweigungsüberdeckung
(Einfache) Bedingungsüberdeckung
Pfadüberdeckung
Alternativbezeichnung: White-Box-Testen
Meitner, Lill, Föhrweiser, Winzinger
FAU Erlangen-Nürnberg
Strukturelles Testen
4 / 10
Inhalt
Nachlese
Strukturelles Testen
Werkzeuge
Einfache Überdeckungskriterien
Anweisungsüberdeckung
Gesucht: Testfallmenge, so dass alle Anweisungen ausgeführt
werden.
Verzweigungsüberdeckung
Gesucht: Testfallmenge, so dass alle Verzweigungen verfolgt werden.
Inhalt
Nachlese
Strukturelles Testen
Werkzeuge
Komplexere Überdeckungskriterien
Bedingungsüberdeckung
Gesucht: Testfallmenge, so dass
alle atomaren Bedingungen jeden Wahrheitswert annehmen
(einfach),
alle Kombinationen von Wahrheitswerten getestet werden
(mehrfach),
alle atomaren und alle zusammengesetzten Bedingungen jeden
Wahrheitswert annehmen (minimal mehrfach).
Meitner, Lill, Föhrweiser, Winzinger
FAU Erlangen-Nürnberg
Strukturelles Testen
6 / 10
Inhalt
Nachlese
Strukturelles Testen
Werkzeuge
Komplexere Überdeckungskriterien
Pfadüberdeckung
Gesucht: Testfallmenge, so dass alle Pfade beschritten werden.
mit n-facher Schleifenüberdeckung
Boundary Interior
...
Meitner, Lill, Föhrweiser, Winzinger
FAU Erlangen-Nürnberg
Strukturelles Testen
7 / 10
Inhalt
Nachlese
Strukturelles Testen
Werkzeuge
djUnit
basiert auf Cobertura und JUnit
integriert in Eclipse
misst Anweisungs- und Verzweigungsüberdeckung
kinderleichte Bedienung
frei verfügbar (Open Source)
Meitner, Lill, Föhrweiser, Winzinger
FAU Erlangen-Nürnberg
Strukturelles Testen
8 / 10
Inhalt
Nachlese
Strukturelles Testen
Werkzeuge
CodeCover
vergleichbar mit djUnit
unterstützt auch Bedingungs- und Schleifenüberdeckung
ebenfalls frei verfügbar (Open Source) von der Uni Stuttgart
Meitner, Lill, Föhrweiser, Winzinger
FAU Erlangen-Nürnberg
Strukturelles Testen
9 / 10
Inhalt
Nachlese
Strukturelles Testen
Werkzeuge
Clover
vergleichbar mit djUnit
zusätzliche Komfortfunktionen: Historie, Coverage-Cloud
kommerziell
Meitner, Lill, Föhrweiser, Winzinger
FAU Erlangen-Nürnberg
Strukturelles Testen
10 / 10