diff --git a/Lerntagebuch.md b/Lerntagebuch.md index 8204fed..96aed3f 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -282,7 +282,7 @@ So werden Folgefehler in der späteren Integration vermieden. --- -## SU 7 (19.12.2023) +## SU 8 (19.12.2023) ### Lernziel @@ -329,4 +329,57 @@ Unittests prüfen beobachten das Verhalten von Code auf ein erwartetes Ergebnis. --- -## SU 8 (09.01.2024) +## SU 9 (09.01.2024) + +### Lernziel + +Test Driven Development (TDD) + + - dient zur Kostenoptimierung + - vorherschende Testart Unittest + - "FIRST" und "RTFM" Prinzipe + - TDD führt zu hoher Testabdeckung + - TDD führt zu 100% Anforderungsabdeckung + - TDD micro cycle + - Anforderungen + - neuer Test + - Transformation + - Refactoring + +Continous Integration (CI) + + - Vorteile: + - formale Prozesse verringern Konfliktpotential + - automatisierte Prozesse verringern Aufwand + - Vorstufe Continous Delivery + + + - Aufbau CI + - Entwicklungsumgebung + - SCM + - Abhängigkeitsverwaltung + - build - Werzeug + - CI-Server + - Extension Continous Delivery + + - Ablauf CI-Prozess + - Checkin Change (Ändreurng veröffentlichen) + - Fetch Change (feststellen der Änderung) + - Build (merge in aktuellen Stand) + - Test (Testen der Änderung) + - Ergebnisauswertung (Status von merge, compile und Test) + - Benachrichtigung (Bericht über Ändrungsstatus) +### Erkenntnis + +Das CI-System ist ein wichtiges System, dass die Zusammenarbeit mehrerer Programmierer verienfacht. Es sorgt für eine einfache Zusammenführung der verschiedenen Codes der Programmierer und verringert Aufwand und Konfliktpotential. + +### Wiederholung + +Das CI-System hat auch Nachteile. So ist compilierbarer Code auch direkt ausführbar, da es im CI-Prozess ausgeführt werden muss. Das System hält außerdem immer einen lieferbaren Stand der Software bereit. + +### Kritik + + + +--- +## SU 10 (16.01.2024)