diff --git a/Lerntagebuch.md b/Lerntagebuch.md index 0b3b4c0..cfb068e 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -118,3 +118,20 @@ Damit wir im Gruppenprojekt ein ordentliches Progamm schaffen, welches gut funkt ### Wiederholung In der Planung des Testprozesses ist es wichtig, sich das Testziel vor Augen zu halten, man muss also wissen, auf was das Programm genau getestet werden muss, damit man später eine strukturierte Analyse durchführen kann. Es ist auch wichtig, die eingesetzten Ressourcen zu managen und den Kosten-Nutzen-Faktor zu beachten. Nun muss man eine Teststrategie festlegen, also wo man die Prioritäten des Tests setzt, was der Test alles abdecken soll, welche Kriterien zum Beenden des Tests erfüllt sein müssen und welche Testumgebung benutzt wird. + +## SU 08 (19.12.2023) + +### Lernziel + +- Probleme manuellen Testens +- Ausreden und tatsächliche Gründe gegen automatisiertes Testen +- Unittests +- Wie schreibt man einen guten Unittest? + +### Erkenntnis + +Manuelles Testen bring einige Probleme mit sich, die durch den Menschen verursacht werden, beispielweise wird das Testen durch das Wissen der Tester eingeschränkt, es entstehen entweder Lücken oder Überlappungen beim Testen und es ist allgemein eine sehr zeitaufwändige Methode des Testens. Deshalb schreibt man automatisierte Tests, die das Verhalten von Code überprüfen und den Erwartungen gegenüberstellen. Im Gruppenprojekt werden auch wir möglichst bei jedem Commit Unittests schreiben, um unseren Code regelmäßig zu überprüfen. + +### Wiederholung + +Unittests sind ausführbare Dokumentation, sie sollen vor Allem das Verhalten von Code dokumentieren. Dabei testen sie nicht den Code selbst, sondern ob sich der Code entsprechend der Erwartungen verhält. Jeder Unittest testet nur eine einzelne Erwartung an die Unit und nur einen kleinen Teilcode, weshalb man Unittests selten anpassen muss, außerdem werden sie am besten in der Programmiersprache geschrieben, in der der Code steht, der getestet wird.