06.08.2013 Aufrufe

PDF-Datei (ca. 1 MByte)

PDF-Datei (ca. 1 MByte)

PDF-Datei (ca. 1 MByte)

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

22 KAPITEL 3. PROGRAMMENTWICKLUNG<br />

3.1.4 Test<br />

In der Testphase mu uberpruft werden, ob das entwickelte Programm die Problemstellung korrekt<br />

und vollstandig lost. Dazu wird das Programm mit verschiedenen Initialzustanden bzw.<br />

Eingabewerten ausgefuhrt und uberpruft, ob es die erwarteten Ergebnisse liefert. Man kann eigentlich<br />

immer davon ausgehen, da Programme nicht auf Anhieb korrekt sind, was zum einen<br />

an der hohen Komplexitat des Programmentwicklungsprozesses und zum anderen an der hohen<br />

Prazision liegt, die die Formulierung von Programmen erfordert. Insbesondere die Einbeziehung<br />

von Randbedingungen wird von Programmieranfangern hau g vernachlassigt, so da das Programm<br />

im Normalfall zwar korrekte Ergebnisse liefert, in Ausnahmefallen jedoch versagt.<br />

Genauso wie der Algorithmusentwurf ist auch das Testen eine kreative Tatigkeit, die viel Erfahrung<br />

voraussetzt und daruber hinaus ausgesprochen zeitaufwendig ist. Im Durchschnitt werden<br />

<strong>ca</strong>. 40 % der Programmentwicklungszeit zum Testen und Korrigieren verwendet.<br />

Auch durch noch so systematisches Testen ist es in der Regel nicht moglich, die Abwesenheit<br />

von Fehlern zu beweisen. Es kann nur die Existenz von Fehlern nachgewiesen werden. Aus<br />

der Korrektheit des Programms fur bestimmte uberprufte Initialzustande bzw. Eingabewerte<br />

kann nicht auf die Korrektheit fur alle moglichen Initialzustande bzw. Eingabewerte geschlossen<br />

werden.<br />

Im folgenden werden ein paar Teststrategien vorgestellt:<br />

Das Testen sollte aus psychologischen Grunden moglichst nicht nur vom Programmierer<br />

selbst bzw. allein durchgefuhrt werden. Hau g werten Programmierer das Entdecken von<br />

Fehlern als personlichen Mi erfolg und sind daher gar nicht daran interessiert, Fehler zu<br />

nden. Sie lassen daher die erforderliche Sorgfalt vermissen.<br />

Konstruieren Sie sogenannte Testmengen, das sind Mengen von moglichen Initialzustanden<br />

bzw. Eingabewerten fur das Programm. Die Testmengen sollten dabei typische und untypische<br />

Initialzustande bzw. Eingabewerte enthalten. Auf jeden Fall mussen Grenzwerte<br />

berucksichtigt werden, das sind Werte, die gerade noch als Eingabewerte zugelassen sind,<br />

wie bspw. der kleinst- oder gro tmogliche Wert bei Zahlen oder der leere Text bei Texteingaben.<br />

Uberlegen Sie sich vor der Durchfuhrung eines Testlaufs des Programms genau, welche<br />

Ergebnisse Sie erwarten.<br />

Uberprufen Sie nicht nur, ob das Programm das tut, was es soll, sondern auch, ob es etwas<br />

tut, was es nicht soll.<br />

Gehen Sie nach dem Finden und Korrigieren eines Fehlers nie davon aus, da nun alle<br />

Fehler beseitigt sind.<br />

Wenn Sie einen Fehler gefunden und beseitigt haben, mussen alle vorherigen Testlaufe<br />

nochmal wiederholt werden, um sich zuvergewissern, da sich durch die Korrektur nicht<br />

neue Fehler ins Programm geschlichen haben.<br />

Es werden drei Klassen von Fehlern, die im Programmentwicklungsproze auftreten konnen,<br />

unterschieden: syntaktische, logische und sogenannte Laufzeitfehler. Syntaktische Fehler werden

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!