Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

User Stories und Akzeptanzkriterien schreiben

Nach dieser Lektion: Ich kann eine User Story mit Akzeptanzkriterien schreiben, die sich prüfen lassen.

Lektion, 55 Min.7 BefehlePostgreSQL-und-PostgREST-Lab: eine Datenbank und eine REST-API im Browser

Eine User Story sagt, wer was warum will

Eine User Story ist ein kurzer Satz, der aus Sicht einer Person beschreibt, was ein System für sie tun soll. Sie sagt, wer etwas will, was und wozu.

Mit Akzeptanzkriterien prüfen Sie, ob die Story erfüllt ist. So wissen alle im Team, wann die Arbeit fertig ist.

Am Ende dieser Lektion

Notiz

Ich kann eine User Story mit Akzeptanzkriterien schreiben, die sich prüfen lassen.

Schlüsselwörter

BegriffWas er bedeutetBeispiel
User Storyein Satz aus Sicht einer Person: Rolle, Ziel, Nutzen
Rollewer etwas willBibliotheksmitarbeiterin
Akzeptanzkriteriumeine Prüfung, die zeigt, dass die Story erfüllt ist
Gegeben, wenn, danndrei Teile eines Kriteriums: Ausgangslage, Handlung, Ergebnis
Backlogdie Liste der Stories, die noch zu bauen sind

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Eine Story hat drei Teile

Das übliche Muster lautet: Als Rolle möchte ich Ziel, damit Nutzen.

Die Rolle sagt, für wen. Das Ziel sagt, was. Der Nutzen sagt, wozu. Fehlt der Nutzen, weiß niemand, ob eine andere Lösung besser wäre.

Ein Beispiel: Stories für den Geräteverleih

RolleZielNutzen
Mitarbeiterin der Bibliothekeine Ausleihe eintragendamit ich weiß, wo das Gerät ist
Studierendedie Leihdauer sehendamit ich es rechtzeitig zurückbringe
Leiter der Bibliothekalle offenen Ausleihen sehendamit ich Verspätungen finde

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Akzeptanzkriterien machen die Story prüfbar

Ein Kriterium hat drei Teile: Gegeben eine Ausgangslage, wenn etwas geschieht, dann passiert ein Ergebnis.

Zum Beispiel: Gegeben eine Ausleihe von 20 Tagen, wenn sie gespeichert wird, dann wird sie abgelehnt. Eine Story hat zwei bis fünf solche Kriterien.

Im Lab prüfen Sie ein Kriterium wirklich

Die Story lautet: Als Mitarbeiterin der Bibliothek möchte ich eine Ausleihe eintragen, damit ich weiß, wo das Gerät ist. Die Leihdauer beträgt 1 bis 14 Tage.

Sie legen die Tabelle ausleihen an und prüfen drei Kriterien mit curl. Der Statuscode ist jeweils das Ergebnis.

psql das Passwort geben

Befehl
export PGPASSWORD=shop

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Von vorn beginnen

Befehl
psql -h db -U shop -c "drop table if exists ausleihen"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Die Tabelle ausleihen anlegen

Befehl
psql -h db -U shop -c "create table ausleihen (id serial primary key, geraet text not null, person text not null, tage int not null check (tage between 1 and 14))"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Der API sagen, dass sie neu schaut

Befehl
psql -h db -U shop -c "notify pgrst, 'reload schema'"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Kriterium 1: eine gültige Ausleihe

Befehl
curl -s -o /dev/null -w "%{http_code}\n" -X POST -H "Content-Type: application/json" -d '{"geraet":"Notebook 1","person":"Lena","tage":7}' "http://api:3000/ausleihen"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Kriterium 2: 15 Tage sind zu lang

Befehl
curl -s -o /dev/null -w "%{http_code}\n" -X POST -H "Content-Type: application/json" -d '{"geraet":"Notebook 1","person":"Lena","tage":15}' "http://api:3000/ausleihen"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Kriterium 3: ohne Person

Befehl
curl -s -o /dev/null -w "%{http_code}\n" -X POST -H "Content-Type: application/json" -d '{"geraet":"Notebook 1","tage":7}' "http://api:3000/ausleihen"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Ein Beispiel: die drei Kriterien und ihr Ergebnis

GegebenWennDann
Gerät, Person und 7 Tagedie Ausleihe gespeichert wirdCode 201, sie ist angelegt
Eine Leihdauer von 15 Tagendie Ausleihe gespeichert wirdCode 400, sie wird abgelehnt
Eine Ausleihe ohne Persondie Ausleihe gespeichert wirdCode 400, sie wird abgelehnt

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Ein häufiger Fehler

Warnung

Viele schreiben Stories wie: Als Nutzende möchte ich ein System, damit alles besser wird. Das ist zu groß und nicht prüfbar. Teilen Sie die Story, bis sie ein Ziel hat und mindestens zwei Kriterien, die ein Test mit Ja oder Nein beantwortet.

Über dieses Lab und seinen Quellcode: PostgreSQL-und-PostgREST-Lab: eine Datenbank und eine REST-API im Browser

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.