@ -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)