Aufgabe 21 - Testfälle für den Warenkorb
Aufgabe 21 - Testfälle für den Warenkorb
Abschnitt betitelt „Aufgabe 21 - Testfälle für den Warenkorb“Worum geht es?
Abschnitt betitelt „Worum geht es?“Sie sichern Ihren Shop aus Aufgabe 12 mit systematischen Testfällen ab und erleben dabei, wie Tests einen Umbau ungefährlich machen (siehe Kapitel Testen).
In dieser Übung üben Sie:
- Strukturieren: Tests nach Arrange - Act - Assert aufbauen.
- Abdecken: Normalfälle, Randfälle und Fehlerfälle unterscheiden.
- Absichern: einen Umbau mit grünen Tests durchführen.
Benötigte Unterlagen
Abschnitt betitelt „Benötigte Unterlagen“- Ihre Lösung von Aufgabe 12 (Shop),
- eine Testhilfe:
function check(name, tatsaechlich, erwartet): gibtOK <name>oderFEHLER <name>: erwartet ..., war ...aus.
Arbeitsaufträge
Abschnitt betitelt „Arbeitsaufträge“Teil A - Testplan
Abschnitt betitelt „Teil A - Testplan“Erstellen Sie vor dem Schreiben der Tests eine Tabelle mit mindestens zehn Testfällen für Warenkorb, darunter:
- Gesamtsumme bei leerem Korb,
- Hinzufügen: neue Position vs. gleiches Produkt nochmals (Stückzahl erhöhen? Entscheiden und festhalten!),
- Entfernen einer nicht vorhandenen Position,
- Bestellen mit ausreichendem Lager (Lagerstand danach!),
- Bestellen mit zu wenig Lager (nichts darf sich ändern!),
- ein Randfall, den nur Sie sich ausgedacht haben.
Teil B - Tests schreiben
Abschnitt betitelt „Teil B - Tests schreiben“- Setzen Sie jeden Testfall als Block um: Arrange (Objekte frisch anlegen!), Act (eine Aktion), Assert (
check). - Jeder Test muss unabhängig laufen, kein Test verwendet Objekte eines anderen. Warum ist das wichtig? Kommentar!
- Führen Sie alle Tests aus: alles
OK? Falls ein Test einen echten Fehler in Ihrem Shop findet: dokumentieren, fixen, erneut laufen lassen.
Teil C - Der Umbau
Abschnitt betitelt „Teil C - Der Umbau“- Neue Anforderung: Ab 100 € Bestellwert gibt es 5 % Rabatt auf die Gesamtsumme.
- Schreiben Sie zuerst zwei neue Testfälle (99,99 € und 100 €!), dann die Implementierung.
- Alle alten Tests müssen weiter
OKmelden. Notieren Sie, ob Ihnen die Tests beim Umbau geholfen haben. Eine ehrliche Antwort ist erwünscht.
shop.js (ggf. korrigiert), shop.test.js mit allen Tests und die Testplan-Tabelle.