Woche 9: Testen im Grossen und im Kleinen
Übersicht
In dieser Woche diskutieren wir konkrete Strategien, um Testfälle zu finden. Teststrategien, die wir als individuelle Entwickler*innen anwenden können. Dabei lassen wir uns von der Idee der Überdeckung leiten und diskutieren verschiedene Überdeckungskriterien. Wir lernen auch konkrete Methoden kennen, mit denen wir Testfälle finden können und schauen uns kurz Property-based Testing und Fuzzing an.
Lernziele
Die Studierenden
- können den Unterschied zwischen Blackbox und Whitebox Tests erklären und wie sich dies auf die Softwarewartung auswirkt.
- können Ursache-Wirkungsdiagramme erstellen und aus diesen Testfälle herleiten.
- kennen verschiedene Überdeckungskriterien und können diese einsetzen um Testfälle zu finden
- können Äquivalenzklassen und Grenzfälle in einfachen Beispielspezifikationen identifizieren
- verstehen, wie Stubs und Drivers eingesetzt werden um Module im Systemkontext zu testen.
- können die Grundidee von Property-based Testing und Fuzzing erklären und die Unterschiede zu herkömmlichen Teststrategien aufzeigen.
- können die Wichtigkeit genauer Spezifikationen für das Testen erklären.
- kennen die Grundidee von Property based testing und können erklären, wie es sich von herkömmlichen Teststrategien unterscheidet und was die Vorteile sind.
Vorlesungsslides
- Verifikation und Testen
- Slides (Auf Adam): pdf
Übungsstunde:
Im praktischen Teil der Veranstaltung sollten Sie an Ihrem Testplan arbeiten, automatisierte Tests implementieren sowie die Implementierung Ihrer Erweiterung vorantreiben.