From 0abe1a7e99ffc073e944f7c8c8f208c25bb7169d Mon Sep 17 00:00:00 2001 From: fdlt3817 Date: Tue, 7 Feb 2023 16:04:13 +0000 Subject: [PATCH] Update lerntagebuch.md --- lerntagebuch.md | 90 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) diff --git a/lerntagebuch.md b/lerntagebuch.md index e0230a6..4ac1be4 100644 --- a/lerntagebuch.md +++ b/lerntagebuch.md @@ -102,3 +102,93 @@ Semantische Versionierung - MINOR-Version, wenn Sie Funktionen auf abwärtskompatible Weise hinzufügen - PATCH-Version, wenn Sie abwärtskompatible Fehlerkorrekturen vornehmen +## SU 06 + +### Lernziele + +- Projektmanagement Rollen +- Projektmanagement +- Projektmanagement-Modelle/Entwicklungsmodelle + - Wasserfall + - V + - Agile + +### Erkenntnis +Ich kann agiles Modell nutzen, um mein Software-Projekt zu entwickeln. Die Mitglieder des Teams bekommen unterschiedliche Rollen, damit der Entwicklungsprozess reibungslos funktioniert. + +### Wiederholung +Agile Methoden sind großartig, wenn kürzere Iterationen sinnvoll sind, da die Kunden schnell Feedback eingeben können. + +## SU 07 + +### Lernziele +- Error-Detect-Failure + - Fehlerarten + - Defektarten +- Testarten + - Manuelle + - Automatisierte + - Statische Codeanalyse + - Dynamische Test +- Testziele + - Aufzeigen von Fehlern, Steigerung des Vertrauens, Messen der Qualität usw. +- Testebenen + - System + - Modul + - Unit +- Testprozess + +### Erkenntnis +Für mein Projekt kann ich Tests schreiben, um das Verhalten des Programms unter bestimmten Bedingungen (Eingaben) zu überprüfen. + +### Wiederholung +Dynamisches Testen ist eine Softwaretestmethode, mit der das dynamische Verhalten von Softwarecode getestet wird. Der Hauptzweck des dynamischen Testens besteht darin, das Softwareverhalten mit dynamischen Variablen oder Variablen, die nicht konstant sind, zu testen und Schwachstellen in der Software-Laufzeitumgebung zu finden. + +## SU 08 + +### Lernziele +- Unittests +- Probleme beim manuellen Tests +- Modultests +- Application-Tests +- FIRST (Fast, Independent, Repeatable, Selfevaluating, Timely) +- RTFM (Readable, Trustable, Fast, Maintainable) + +### Erkenntnis +Mit Unit-Tests habe ich mehr Kontrolle über die Qualität der einzelnen Codeblöcke, bevor ich verschiedene Komponenten integriere. + +### Wiederholung +Das Ziel des Komponententests besteht darin, jeden Teil des Programms zu isolieren und zu zeigen, dass die einzelnen Teile korrekt sind. Ein Unit-Test stellt einen strengen, schriftlichen Vertrag dar, den das Codestück erfüllen muss. Als Ergebnis bietet es mehrere Vorteile. Unit-Tests finden Probleme früh im Entwicklungszyklus. + +## SU 09 + +### Lernziele +- Code first +- Test first +- Unit Test gegen Test Driven Development +- TDD + +### Erkenntnis +TDD kann es mir ermöglichen, weniger Code zu schreiben. Ich muss nur genug Code schreiben, um den Test zu bestehen. Sobald es vorbei ist, sind Sie mit diesem Teil fertig. + +### Wiederholung +In TDD werden zuerst Testfälle für jede Funktionalität erstellt und getestet, und wenn der Test fehlschlägt, wird der neue Code geschrieben, um den Test zu bestehen und den Code einfach und fehlerfrei zu machen. + +## SU 10 + +### Lernziele +- Continuous Integration +- Aufbau eines CI/CD-Systems +- IDEs +- Source Code Management System (SCM) + - zBs. Github +- Automatisierter Tests + - Vorteile + - Grenzen + +### Erkenntnis +Eine IDE kann mir helfen, Softwarecode effizient zu entwickeln. Es kann meine Produktivität steigern, indem es Funktionen wie das Bearbeiten, Erstellen, Testen und Packen von Software in einer benutzerfreundlichen Anwendung kombiniert. + +### Wiederholung +Automatisierungstests sind eine Softwaretesttechnik, die mithilfe spezieller automatisierter Testsoftwaretools eine Testfallsuite ausführt. Im Gegensatz dazu wird manuelles Testen von einem Menschen durchgeführt, der vor einem Computer sitzt und die Testschritte sorgfältig ausführt. +