CTFL 4.5.3: Die abnahmetestgetriebene Entwicklung (ATDD) zur Ableitung von Testfällen anwenden
K3Lehrplanabschnitt 4.5.3
3 eigene PrepBench-Übungsfragen zum Lernziel 4.5.3 des CTFL-Lehrplans 4.0. Probiere die Beispiele aus und überprüfe jede Antwort anhand der Lehrplanstelle.
Übungsfragen
Frage 1
In einem Spezifikationsworkshop schreibt das Team diese Story und ihre Akzeptanzkriterien: Story: Als Kontoinhaber möchte ich einen Monatsauszug als PDF herunterladen, so dass ich ihn ablegen kann. Kriterium 1: Ein Auszug für einen abgeschlossenen Monat kann als PDF heruntergeladen werden. Kriterium 2: Ein Auszug für den laufenden Monat kann nicht heruntergeladen werden. Kriterium 3: Ein Download ist in höchstens 5 Sekunden abgeschlossen. Welche Menge von ATDD-Testfällen deckt diese Story ab, ohne über sie hinauszugehen?
- Abgeschlossenen Monat als PDF laden, dann erneut laden und dieselbe Datei erhalten
- Abgeschlossenen Monat als PDF laden, laufender Monat abgewiesen, in höchstens 5 Sekunden fertig
- Abgeschlossenen Monat als PDF laden, laufender Monat wird abgewiesen, PDF-Bibliothek prüfen
- Abgeschlossenen Monat als PDF laden, laufenden Monat als PDF laden, in höchstens 5 Sekunden fertig
Antwort anzeigen
- Abgeschlossenen Monat als PDF laden, dann erneut laden und dieselbe Datei erhaltenZwei Testfälle beschreiben dasselbe Merkmal, und die Kriterien 2 und 3 bleiben unabgedeckt.
- Richtige Antwort: Abgeschlossenen Monat als PDF laden, laufender Monat abgewiesen, in höchstens 5 Sekunden fertigEin positiver, ein negativer und ein nicht-funktionaler Testfall, je einer pro Kriterium.
- Abgeschlossenen Monat als PDF laden, laufender Monat wird abgewiesen, PDF-Bibliothek prüfenZu prüfen, welche Bibliothek die Datei erzeugt, geht als Implementierungsdetail über die Story hinaus.
- Abgeschlossenen Monat als PDF laden, laufenden Monat als PDF laden, in höchstens 5 Sekunden fertigDen laufenden Monat herunterzuladen widerspricht Kriterium 2, das eine Abweisung verlangt.
Bei ATDD werden die Testfälle vor der Implementierung der User-Story erstellt und basieren auf deren Akzeptanzkriterien. Typischerweise sind die ersten Testfälle positiv und bestätigen das korrekte Verhalten; danach folgen Negativtests, und schließlich werden nicht-funktionale Qualitätsmerkmale wie die Performanz abgedeckt. Die Testfälle müssen alle Merkmale der User-Story abdecken, sollten nicht über sie hinausgehen, und keine zwei Testfälle sollten dieselben Merkmale beschreiben.
Lehrplanabschnitt 4.5.3
Frage 2
Ein Team wendet ATDD auf die folgende User-Story und ihre Akzeptanzkriterien an. Story: Als Kontoinhaber möchte ich an einem Geldautomaten Bargeld abheben. Kriterium 1: Eine Abhebung bis zur Höhe des Kontostands wird ausgeführt und der Kontostand verringert. Kriterium 2: Eine Abhebung über den Kontostand hinaus wird zurückgewiesen. Kriterium 3: Der Geldautomat antwortet innerhalb von zwei Sekunden auf die Anfrage. Testentwurfsplan: zuerst positive, dann negative und zuletzt nicht-funktionale Testfälle erstellen. Welchen Testfall sollte das Team nach diesem Plan zuerst erstellen?
- Einen Betrag unterhalb des Kontostands abheben und prüfen, ob der Kontostand entsprechend sinkt
- Einen Betrag oberhalb des Kontostands abheben und prüfen, ob die Anfrage zurückgewiesen wird
- Die Antwortzeit des Geldautomaten messen und prüfen, ob sie innerhalb von zwei Sekunden liegt
- Einen Betrag unterhalb des Kontostands abheben und prüfen, ob der Belegdrucker funktioniert
Antwort anzeigen
- Richtige Antwort: Einen Betrag unterhalb des Kontostands abheben und prüfen, ob der Kontostand entsprechend sinktDies ist der positive Fall aus Kriterium 1, den der Plan zuerst vorsieht.
- Einen Betrag oberhalb des Kontostands abheben und prüfen, ob die Anfrage zurückgewiesen wirdDies ist der negative Fall, den der Plan nach den positiven Testfällen vorsieht.
- Die Antwortzeit des Geldautomaten messen und prüfen, ob sie innerhalb von zwei Sekunden liegtDie Antwortzeit ist ein nicht-funktionales Qualitätsmerkmal, das laut Plan zuletzt geprüft wird.
- Einen Betrag unterhalb des Kontostands abheben und prüfen, ob der Belegdrucker funktioniertDer Belegdrucker gehört nicht zu dieser Story; Testfälle sollen nicht über sie hinausgehen.
Der Plan des Teams folgt der typischen ATDD-Reihenfolge. Kriterium 1 beschreibt die positive erfolgreiche Abhebung; dieser Testfall wird daher zuerst erstellt. Die Zurückweisung aus Kriterium 2 ist ein Negativtest, die Antwortzeit aus Kriterium 3 ein nicht-funktionaler Testfall für später.
Lehrplanabschnitt 4.5.3
Frage 3
Ein Team, das ATDD einsetzt, hat die positiven Testfälle für eine Anmelde-Story mit diesen Akzeptanzkriterien abgeschlossen. Kriterium 1: Gültige Zugangsdaten melden den Benutzer an. Kriterium 2: Ein gesperrtes Konto wird abgewiesen. Kriterium 3: Ein falsches Passwort wird abgewiesen. Kriterium 4: Die Anmeldeseite antwortet innerhalb einer Sekunde. Das Team schlägt nun vier weitere Testfälle vor. Welcher davon sollte für diese Story NICHT geschrieben werden?
- Mit einem gesperrten Konto anmelden und prüfen, ob die Abweisungsmeldung erscheint
- Mit einem falschen Passwort anmelden und prüfen, ob die Abweisungsmeldung erscheint
- Die Antwortzeit der Anmeldeseite messen und prüfen, ob sie innerhalb einer Sekunde liegt
- Prüfen, ob ein Administrator ein gesperrtes Konto wieder entsperren kann
Antwort anzeigen
- Mit einem gesperrten Konto anmelden und prüfen, ob die Abweisungsmeldung erscheintDies ist der Negativfall zu Kriterium 2 und gehört zu dieser Story.
- Mit einem falschen Passwort anmelden und prüfen, ob die Abweisungsmeldung erscheintDies ist der Negativfall zu Kriterium 3 und gehört zu dieser Story.
- Die Antwortzeit der Anmeldeseite messen und prüfen, ob sie innerhalb einer Sekunde liegtDies deckt das nicht-funktionale Kriterium 4 ab und gehört zu dieser Story.
- Richtige Antwort: Prüfen, ob ein Administrator ein gesperrtes Konto wieder entsperren kannKein Akzeptanzkriterium deckt das Entsperren ab, das geht über die Story hinaus.
Die Testfälle müssen alle Merkmale der User-Story abdecken und sollten nicht über sie hinausgehen. Das Entsperren eines Kontos ist eine Administratoraktion, die keines der vier Akzeptanzkriterien beschreibt, und gehört damit zu einer anderen Story. Die drei anderen Vorschläge sind die Negativfälle zu den Kriterien 2 und 3, die auf die positiven Testfälle folgen, sowie der nicht-funktionale Fall zu Kriterium 4, den das Team zuletzt abdecken sollte.
Lehrplanabschnitt 4.5.3
Eigenes PrepBench-Übungsmaterial, keine offiziellen Prüfungsfragen und keine Prüfungsdumps. PrepBench ist unabhängig und weder mit dem ISTQB® verbunden noch von ihm unterstützt.