diff --git a/Lerntagebuch.md b/Lerntagebuch.md index f9b57bf..9926272 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -109,3 +109,22 @@ Menschen machen Fehler. Hinzu kommt, dass Menschen eigene Fehler schwer erkennen ### Wiederholung Ein Test setzt zunächst ein Testobjekt, eine Testumgebung und ein Testziel voraus. Dabei muss klar definiert sein, wie ein gewisser Code sich verhalten soll, denn erst dann kann Fehlverhalten identifiziert werden. Mithilfe von mehreren Stichproben wird geprüft, ob bei bestimmten Eingaben das gewünschte Ergebnis erzielt wird. Test sind also in der Regel Soll-Ist-Vergleiche. + +## SU 08 (19.12.23) + +### Lernziele + +- Probleme manueller Tests +- Unterschiede Module/Application Tests und UnitTests +- Was macht ein UnitTest? +- Wie schreibt man UnitTests? (FIRST RTFM) +- Clean Code (SOLID) ermöglicht Testbarkeit von Code +- Test-Doubles + +### Erkenntnis + +Manuelles Testen bringt einige Probleme mit sich. Zunächst muss die Software testbar, also im Entwicklungsprozess fortgeschritten sein. Außerdem ist die Wiederholbarkeit manueller Tests durch nachlassender Aufmerksamkeit, mangelhaftem Wissen oder unterschiedlichem Kontext verschiedener Tester eingeschränkt. Allgemein sind manuelle Tests aufwändig und teuer. Deshalb sollten wir, wenn möglich, auf automatisiertes Testen zurückgreifen. + +### Wiederholung + +UnitTests dienen als ausführbare Dokumentation. Sie testen nicht den Code an sich, sondern verifizieren, ob sich bestimmter Code gemäß vorher definierter Voraussetzungen verhält. Ein einzelner Test prüft immer genau eine Erwartung an die Unit.