From 2002b8bba5676cc8346377b0af30c4b0a71e029f Mon Sep 17 00:00:00 2001 From: fdai7773 Date: Sun, 7 Jan 2024 20:56:20 +0000 Subject: [PATCH] Update Lerntagebuch.md --- Lerntagebuch.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Lerntagebuch.md b/Lerntagebuch.md index 2b3a258..1659362 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -135,3 +135,17 @@ Mit Tests wird die Qualität unseres Produktes bestimmt und die Frage geklärt, ### Wiederholung Es existieren 3 Arten von Fehlerauftritten. Latente Fehler treten auf, wenn die Daten nicht wie erwartet sind. Diese sind am häufigsten zu finden, und werden von dem Anwender gefunden. Maskierte Fehler werden meist von latenten Fehlern verdeckt. Erst nach den latenten Fehlern können diese gefunden werden. Kaskadierte Fehler sind "drittfehler", folgen auf andere Fehler und sind deshalb im eigentlichen Sinn keine (direkten) Fehler. + +## Vorlesung vom 19.12.2023 + +### Lernziel + +In dieser Vorlesung wurde Testenautomatisierung thematisiert. Anfangs wurde erklärt, weshalb Tests automatisiert werden müssen. Daraufhin wurden die Grundlagen erklärt, bis wir zu dem "Herzstück", den Unit tests, kamen. In der Übung wurde mit Beispiels-Unit-Tests experimentiert und Code überprüft. + +### Erkenntnis + +Mit Tests wird die Qualität unseres Produktes bestimmt und geklärt, ob man mit dem Produkt schon fertig ist. Dies hatten wir schon in der Vorlseung zu Tests allgemein. Jedoch haben wir gelernt, wo die Probleme bei manuellen Tests liegen und weshalb man viele automatisiert abhalten muss, vor allem bei größeren Projekten kommt man nicht drum herum. Dies ist anwendbar und auch bewerteret Bestandteil unseres Projektes. + +### Wiederholung + +An der Qualität der Tests kann man direkt mitwirken. EIgentlich sollte es schon im vorhinein, beim erstellen des Codes, passieren. Mithilfe des Clean Code und des uns bekannten SOLID Printips in etwa. Die wichtigsten Regeln sind Seperation of Concerns, also das möglichst unabhängige Aufstellen von Code, welcher sich nicht gegenseitig beeinflusst. Dependency Inversion sagt aus, dass Module höherer Ebenen nicht von Modulen niedrigerer Ebenen abhängen sollen. Ebenfalls sollen die möglichst nächsten Objekte gekoppelt sein. Das Gegenteil wäre, wenn viele verschiedene Objekte miteinander "kommunizieren", wodurch die Testbarkeit leidet.