|
@ -170,5 +170,62 @@ |
|
|
- Uns sollte bewusst sein, wenn wir testen, was das Testziel ist und wo prioritäten gesetzt sein sollten. |
|
|
- Uns sollte bewusst sein, wenn wir testen, was das Testziel ist und wo prioritäten gesetzt sein sollten. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Woche 8 |
|
|
|
|
|
(14.12.2022) |
|
|
|
|
|
|
|
|
|
|
|
## Lernziele |
|
|
|
|
|
|
|
|
|
|
|
- Grundlagen |
|
|
|
|
|
- Motivation |
|
|
|
|
|
- UnitTests |
|
|
|
|
|
- Anforderungen an zu testenden Code |
|
|
|
|
|
|
|
|
|
|
|
## Wiederholung |
|
|
|
|
|
|
|
|
|
|
|
- Beim testen gibt es wichtige Grundlagen: |
|
|
|
|
|
- häufige Wiederholung |
|
|
|
|
|
- hohe Anzahl |
|
|
|
|
|
- hohe Kritikalität |
|
|
|
|
|
- hohe Stabilität |
|
|
|
|
|
- Unittests |
|
|
|
|
|
- Modultests -> Intergrationstests, Regressionstests |
|
|
|
|
|
- ApplicationTests -> Integrationstest, Regressionstest, Lasttest, Acceptance-Test |
|
|
|
|
|
- Es gibt wesentliche Unterschiede zwischen ApplicationModul Tests und UnitTests: |
|
|
|
|
|
- Application-/Modul-Tests (prüfen der Verdrahtung) |
|
|
|
|
|
- Die Testwerkzeuge sind komplex |
|
|
|
|
|
- Sie sind aufwendig zu warten |
|
|
|
|
|
- Sie werden erst spät im Entwicklungsprozess ausgeführt |
|
|
|
|
|
- Es werden zwar Fehler angezeigt, aber nicht wo sie sich Begriffsgrundlagen |
|
|
|
|
|
- UnitTests (prüfen die Geschäftslogik) |
|
|
|
|
|
- Diese laufen recht früh in einem Entwicklungsprozess |
|
|
|
|
|
- Sie sind stabil gegen Änderungen |
|
|
|
|
|
- Sie zeigen wo der Fehler liegt, unter welchen Bedingungen dieser auftritt und zeigt welche Anforderungen nicht erfüllt werden |
|
|
|
|
|
- Die Werkzeuge haben eine einfache ApplicationTests |
|
|
|
|
|
- Ein UnitTest hat besondere Aufgaben: |
|
|
|
|
|
- sie sind ausführbare Dokumentation |
|
|
|
|
|
- es wird kein Code getestet |
|
|
|
|
|
- Unittest verifizieren von außen beobachtbares gewünschtes Verhalten des Codes |
|
|
|
|
|
- Es werden ungewollte Änderungen verhindert |
|
|
|
|
|
- Ein einzelner Test prüft genau eine Erwartung an die Unittests |
|
|
|
|
|
- Unittests werden wie folgt geschrieben: |
|
|
|
|
|
- Festhalten |
|
|
|
|
|
- Independent |
|
|
|
|
|
- Repeatable |
|
|
|
|
|
- Selfevaluating |
|
|
|
|
|
- Timley |
|
|
|
|
|
- Readable |
|
|
|
|
|
- Trustworthy |
|
|
|
|
|
- Festhalten |
|
|
|
|
|
- Maintainable |
|
|
|
|
|
|
|
|
|
|
|
## Erkenntnis |
|
|
|
|
|
|
|
|
|
|
|
- Man sollte gegen die Schnittstelle programmieren und message chaining vermeiden. |
|
|
|
|
|
- Es sollte auch ein Unittest geschrieben werden, der den Code gut dokumentiert und Fehler aufzeigt, die vom gewünschten Verhalten abweicht. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|