From 2fa5e8cd7fe5a3841e8615fc975ced744417c309 Mon Sep 17 00:00:00 2001 From: fdai7917 Date: Sun, 7 Jan 2024 09:02:09 +0000 Subject: [PATCH] Update Lerntagebuch.md --- Lerntagebuch.md | 63 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/Lerntagebuch.md b/Lerntagebuch.md index b5e863b..61217b9 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -228,3 +228,66 @@ Mit git-Repositories können wir unsere Daten und Projekte an einem sicheren Ort ## Kritik - es gibt keine Kritik. + +## SU 09 (19.12.2023) + +### Lernziel + +- warum werden Testen automatisiert? + +- was sind die Probleme manuellen Testens? +1. Testfähigkeit der Software +2. Wiederholbarkeit +3. Fehlerzustände Testen +4. Wissen der Tester:Innen +5. Aufwand + +- persönliche, technische und soziale Voraussetzungen +1. UnitTests schreiben ist eine Fertigkeit und muss ständig geübt werden +2. Technische Voraussetzungen müssen sichergestellt sein +3. Team und Vorgesetzte müssen automatisiertes Testen unterstützen + +- welche Tests automatisieren? +1. häufige Wiederholung +2. hohe Anzahl +3. hohe Kritikatiltät +4. hohe Stabilität + +- Was macht ein Unittest? +1. Unittests sind ausführbare Dokumentation +2. Unittest testen keinen Code +3. Unittest verifizieren von außen beobachtbares gewünschtes Verhalten von Code +4. Ein einzelner Test prüft genau eine Erwartung an die Unit +5. Unittests verhindern ungewollte Änderungen + +- Wie schreibt man einen guten UnitTest? +1. schnell +2. unabhängig +3. wiederholbar +4. selbstauswertend +5. zeitnah + +- Was bedeutet lesbar? +- Was bedeutet vertrauenswürdig? +- Testbarkeit von produktivem Code +- Arten von Test–Doubles +1. Stub +2. Fake +3. Mock + +- Was Ermöglicht die Ersetzung von Abhängigkeiten? +1. keine static (public) Methoden +2. keine final (public) Methoden +3. vermeide Singelton Pattern + +## Erkenntnis + +- Automatisiertes Testen ist ein Prozess, mit dem überprüft wird, ob eine Software ordnungsgemäß funktioniert und die Anforderungen erfüllt, bevor sie für den produktiven Einsatz freigegeben wird.z.B Ein Unternehmen kann automatisierte Tests für ein breites Spektrum von Fällen anwenden, zum Beispiel für Unit-, API- und Regressionstests. + +## Wiederholung + +- Testbarkeit von produktivem Code: Qualität des produktivem Code (im Sinne von ”Clean Code” und dem ”S.O.L.I.D.” Prinzip) beeinflußt die Qualität der Tests (im Sinne der RTFM– Anforderungen) + +## Kritik + +- es gibt keine Kritik.