Java Reference
In-Depth Information
vollständig korrekt ist. Allerdings ist die Art und Weise einer Teilmengenzerlegung der Menge der
Anfangsgrößen aufgabenspezifisch und erfordert vom Programmierer Erfahrung und Intuition.
Leider wird die Testphase nicht nur von Programmieranfängern häufig vernachlässigt. Man lässt
sein Programm ein- oder zweimal laufen, alles läuft glatt ab, das Programm scheint also korrekt zu
sein. Hierbei handelt es sich um ein psychologisches Problem; niemand gesteht sich selbst gerne
Fehler ein, also ist man auch gar nicht daran interessiert, Fehler zu finden. Daher der dringende
Appell: Widmen Sie insbesondere der Testphase viel Aufmerksamkeit und lassen Sie das Programm
eventuell auch mal von anderen Personen testen.
In Kapitel 3.1.4 wurden einige Teststrategien vorgestellt, die im Folgenden nun am obigen Beispiel
demonstriert werden. Von besonderer Bedeutung ist dabei, wie bereits erwähnt, die Konstruktion
von Testmengen, wobei insbesondere Grenzwerte zu berücksichtigen sind.
Notieren Sie sich beim Zusammenstellen der Testmengen nicht nur die Ausgangsgrößen, sondern
auch das erwartete Ergebnis und überprüfen Sie nach Beendigung des Programms, ob das tatsächli-
che und das erwartete Ergebnis übereinstimmen.
Im Umfeld der Hamster-Programme bestehen Testmengen immer aus möglichen Hamster-Territo-
rien, auf denen das zu testende Hamster-Programm gestartet werden könnte. Abbildung 12.2 ent-
hält eine typische Testmenge für das obige Beispiel. Teil (a) der Abbildung zeigt eine „normale“
Hamster-Landschaft, Teil (b) skizziert den Grenzfall, dass der Hamster bereits anfangs direkt vor
dem Berg steht und in Teil (c) ist der Berg nur eine einzige Stufe hoch.
Bei der Konstruktion von Testmengen für Ihre Hamster-Programme ist es wichtig zu wissen, dass
Sie natürlich nur Situationen berücksichtigen müssen, die auch mit der Aufgabenstellung konform
sind. Wird Ihr Programm mit nicht-zulässigen Ausgangsgrößen gestartet, kommt es zwangsläufig zu
Fehlern; aber das sind nicht Ihre Fehler, sondern die Fehler desjenigen, der das Programm gestartet
hat.
Lassen Sie nun das Hamster-Programm für alle Elemente der Testmenge laufen. Kontrollieren Sie
dabei sowohl den Zustand der Landschaft bei Beendigung des Programms (auf jeder Stufe ein-
schließlich dem Gipfel - und nur dort - liegt genau ein Korn; der Hamster befindet sich auf dem
Gipfel) als auch den Weg des Hamsters (der Hamster darf nicht in „Absturzgefahr“ kommen). Sie
werden feststellen, dass das Beispielprogramm für alle Elemente der Testmenge korrekt abläuft und
korrekte Ergebnisse liefert. Das Programm scheint also in der Tat die Problemstellung korrekt und -
unter der Voraussetzungen, dass die Testmenge korrekt gebildet wurde - vollständig zu lösen.
Die Konstruktion von Testmengen ist in der Regel keine triviale Aufgabe. Häufig werden bestimmte
Grenzfälle einfach übersehen. Gehen Sie daher bei der Zusammenstellung der Testmengen immer
sehr sorgfältig vor. Leider gibt es hierzu keine allgemeingültigen Gesetzmäßigkeiten.
Günstig ist es, wenn Sie die Testmenge nicht erst während der Testphase zusammenstellen, sondern
bereits in der Analysephase. Dann können Sie bereits beim Entwurf kontrollieren, ob Ihr Algorith-
mus auch für Grenzwerte korrekt ist.
12.6 Dokumentation
Genauso wie die Testphase wird bei der Programmentwicklung leider auch die Dokumentation nicht
nur von Programmieranfängern häufig vernachlässigt. Denken Sie bitte daran, dass es bei der Soft-
wareentwicklung nicht nur darauf ankommt, ein Programm zu entwickeln; vielmehr sind alle Ergeb-
nisse des gesamten Entwicklungsprozesses schriftlich festzuhalten, sodass sowohl das Ergebnis als
Search WWH ::




Custom Search