From a0373c0cecc045cbd29c676f7faf32772d30ef56 Mon Sep 17 00:00:00 2001 From: fdai7107 Date: Tue, 20 Dec 2022 19:58:07 +0000 Subject: [PATCH] Update Lerntagebuch.md --- Lerntagebuch.md | 57 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/Lerntagebuch.md b/Lerntagebuch.md index 38a7c51..b80ac5b 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -170,5 +170,62 @@ - Uns sollte bewusst sein, wenn wir testen, was das Testziel ist und wo prioritäten gesetzt sein sollten. +# Woche 8 +(14.12.2022) + +## Lernziele + +- Grundlagen +- Motivation +- UnitTests +- Anforderungen an zu testenden Code + +## Wiederholung + +- Beim testen gibt es wichtige Grundlagen: + - häufige Wiederholung + - hohe Anzahl + - hohe Kritikalität + - hohe Stabilität + - Unittests + - Modultests -> Intergrationstests, Regressionstests + - ApplicationTests -> Integrationstest, Regressionstest, Lasttest, Acceptance-Test +- Es gibt wesentliche Unterschiede zwischen ApplicationModul Tests und UnitTests: + - Application-/Modul-Tests (prüfen der Verdrahtung) + - Die Testwerkzeuge sind komplex + - Sie sind aufwendig zu warten + - Sie werden erst spät im Entwicklungsprozess ausgeführt + - Es werden zwar Fehler angezeigt, aber nicht wo sie sich Begriffsgrundlagen + - UnitTests (prüfen die Geschäftslogik) + - Diese laufen recht früh in einem Entwicklungsprozess + - Sie sind stabil gegen Änderungen + - Sie zeigen wo der Fehler liegt, unter welchen Bedingungen dieser auftritt und zeigt welche Anforderungen nicht erfüllt werden + - Die Werkzeuge haben eine einfache ApplicationTests +- Ein UnitTest hat besondere Aufgaben: + - sie sind ausführbare Dokumentation + - es wird kein Code getestet + - Unittest verifizieren von außen beobachtbares gewünschtes Verhalten des Codes + - Es werden ungewollte Änderungen verhindert + - Ein einzelner Test prüft genau eine Erwartung an die Unittests +- Unittests werden wie folgt geschrieben: + - Festhalten + - Independent + - Repeatable + - Selfevaluating + - Timley + - Readable + - Trustworthy + - Festhalten + - Maintainable + +## Erkenntnis + +- Man sollte gegen die Schnittstelle programmieren und message chaining vermeiden. +- Es sollte auch ein Unittest geschrieben werden, der den Code gut dokumentiert und Fehler aufzeigt, die vom gewünschten Verhalten abweicht. + + + + +