@ -600,6 +600,74 @@ Aus dem Seminarischen Unterricht und dem Praxisteil kann ich das Wissen zum Proj
Meilensteine sind Entscheidungspunkte nach einer Entwicklungsphase. Diese Phasen sind zum Beispiel Unit-Tests beim V-Modell. Meilensteine dienen der Einschätzung des Fortschritts hinsichtlich des Zeitplans.
- Falsches Zeichen schlummert im Code → "Defect"
- Die Stelle im Code wird ausgeführt,w as zu Fehlverhalten führt → Failure
Arten von Fehlern:
- Akuter Fehler → Bei normaler Benutzung der Software
- Latenter Fehler → Bei Sonderfällen oder unerwarteten Eingaben
- Maskierter Fehler → Ein anderer Fehler überdeckt diesen Fehler
- Kaskadierter Fehler → Folgefehler, der nur auftritt weil ein anderer Fehler aufgetreten ist
Tests
- Was ist ein Test?
- Methodische Überprüfung, ob ein Gegenstand die Erwartungen erfüllt
- Im Fall von Informatik: "Macht das Programm, was es soll?"
- Verschiedene Arten von Tests
- Manuell oder Automatisiert
- Statische Codeanalyse oder Dynamische Tests
- Woraus besteht ein Test?
- Stichprobe → Welche Eingaben man testen will
- Testobjekt → Die Software, die man testen will
- Testumgebung → Das Testsystem, z.B. Rechner, Testsoftware etc.
- Testziel → Was wird eigentlich untersucht?
- Soll-Ist-Vergleich → Liefert das Programm das Ergebnis, was erwartet wird?
- Warum testet man?
- Erfassung der Qualität → Entwicklung der Tests, Verhältnis von bestandenen zu fehlgeschlagenen Tests
- Erhöht Vertrauen in die Software
- Grenzen ermitteln
- Auf welcher Ebene sollte man testen?
- Je "tiefer" die Ebene, desto genauer, schneller, aussagekräftiger und billiger ist der Test
- Alle Ebenen müssen getestet werden!
- Testplan nach IEEE829
- Analyse des Tests
- In welcher Reihenfolge müssen Tests durchgeführt werden?
- Benötigt man produktionsnahe Datenmengen?
- Wann ist der Test bestanden?
- Testreport
- Zusammenfassung der Testausführungen
- Vergleich mit früheren Testläufen
- Entscheidung über Lieferfähigkeit
Praxisübung:
- Aufstellen von Testfällen zu fiktiven Szenarien
- Recherche zu größeren Softwarefehlern
### Erkenntnis
Aus dem Seminarischen Unterricht und dem Praxisteil kann ich das Wissen Testen des Projekts für das Gruppenprojekt mitnehmen.
### Wiederholung
Tests dienen unter Anderem der Steigerung des Vertrauens in die Software. Wenn ein bestimmter Test mit bestimmten Eingabedaten bestanden wird, kann man als Programmierer darauf vertrauen, dass dieses bestimmte Szenario auch beim Kunden funktionieren wird. Und je mehr Tests, desto mehr Szenarien existieren, für die man garantieren kann, dass die Software funktioniert.