21.11.2013 Aufrufe

Eine Einführung in die Programmiersprache C und die Grundlagen ...

Eine Einführung in die Programmiersprache C und die Grundlagen ...

Eine Einführung in die Programmiersprache C und die Grundlagen ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>E<strong>in</strong>e</strong> <strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> Informatik <strong>und</strong> <strong>die</strong> <strong>Programmiersprache</strong> C<br />

33.2 Funktionstests<br />

Beim Funktionstest wird geprüft, ob e<strong>in</strong> System oder Teilsystem korrekt funktioniert <strong>und</strong> se<strong>in</strong>en<br />

Spezifikationen entspricht, also das tut was von ihm gefordert wird. Das Ziel des Tests ist es Fehler<br />

zu f<strong>in</strong>den.<br />

Es ist wissenschaftlich belegt, das es unmöglich ist, <strong>die</strong> Fehlerfreiheit e<strong>in</strong>es Programmes zu beweisen.<br />

Daraus folgt auch, das vollständiges Testen unmöglich ist. Aber durch systematisches Vorgehen<br />

kann man e<strong>in</strong> optimales Ergebnis erreichen.<br />

Planloses Ausprobieren ist ke<strong>in</strong>e brauchbare <strong>und</strong> zuverlässige Testmethode<br />

Testen ist e<strong>in</strong>e kreative <strong>und</strong> anspruchsvolle Tätigkeit. Der Tester muss das Produkt gut kennen, <strong>und</strong><br />

se<strong>in</strong> Ziel muss se<strong>in</strong>, Fehler zu f<strong>in</strong>den, nicht <strong>die</strong> Korrektheit zu bestätigen. Das Testen ist selbst e<strong>in</strong><br />

Projekt, welches geplantes Vorgehen erfordert. Der Tester muss sich überlegen was getestet werden<br />

soll, <strong>und</strong> wie es getestet werden kann. Er muss sich zudem überlegen, was alles schiefgehen kann.<br />

Dabei wird für jede <strong>in</strong> Frage kommende Möglichkeit e<strong>in</strong> Testfall spezifiziert.<br />

Für jeden Testfall muss def<strong>in</strong>iert werden, <strong>in</strong> welchem Ausgangszustand das System se<strong>in</strong> soll, welche<br />

E<strong>in</strong>gabedaten an das System erfolgen, <strong>und</strong> was <strong>die</strong> erwartete Reaktion des Systems ist. Tests<br />

müssen reproduzierbar se<strong>in</strong>, d.h. dass der gleiche Test wiederholt ausgeführt werden kann (Nur so<br />

kann e<strong>in</strong>e Fehlerbehebung verifiziert werden). Tests können oft automatisiert werden, so dass der<br />

Tester von Fleissarbeit entlastet wird. Für Tests muss häufig eigene Hard <strong>und</strong> Software entwickelt<br />

werden.<br />

Wichtig: Testen <strong>und</strong> Fehlerbehebung s<strong>in</strong>d zwei verschiedene <strong>und</strong> getrennte Tätigkeiten. Das Ergebnis<br />

e<strong>in</strong>es Tests ist e<strong>in</strong> Fehlerprotokoll, <strong>die</strong> Fehlerkorrektur erfolgt anschliessend durch den(<strong>die</strong>) Programmierer<br />

aufgr<strong>und</strong> des Protokolls.<br />

Für das Amt des Testers eignen sich besonders Leute, <strong>die</strong> e<strong>in</strong> grosses Interesse daran haben, möglichst<br />

viele Fehler zu f<strong>in</strong>den. Deshalb s<strong>in</strong>d im Allgeme<strong>in</strong>en <strong>die</strong> Entwickler des Systems ungeeignet.<br />

Besser eignen sich Leute, <strong>die</strong> das System später Warten oder <strong>in</strong> Betrieb nehmen müssen, zukünftige<br />

Anwender oder Leute aus der Qualitätssicherung.<br />

Es gibt gr<strong>und</strong>sätzlich zwei Methoden für Funktionstests: Whiteboxtest <strong>und</strong> Blackboxtest.<br />

33.3 Blackboxtest<br />

Beim Blackboxtest s<strong>in</strong>d <strong>die</strong> Interna des Systems unbekannt, das System wird als Blackbox angesehen,<br />

<strong>und</strong> <strong>die</strong> Tests werden aus den Anforderungen (Use Cases) an das System gewonnen. Blackbox<br />

Tests werden meist gegen Ende des Projektes zum Test von Teilsystemen <strong>und</strong> des Gesamtsystems<br />

e<strong>in</strong>gesetzt. Da Blackboxtests auf den Anforderungen an das System basieren, können <strong>die</strong> Testfälle<br />

parallel zur Entwicklung des Gesamtsystems entworfen werden. Das Testteam muss nicht bis zum<br />

Projektende mit der Ausarbeitung der Tests warten.<br />

33.4 Whiteboxtest<br />

Beim Whitebox Test s<strong>in</strong>d <strong>die</strong> Interna das Systems (Programmcode) bekannt. Beim Erstellen der<br />

Testfälle wird versucht, möglichst alle Programmflusspfade abzudecken, also <strong>die</strong> Testfälle so zu<br />

wählen, dass alle Fälle e<strong>in</strong>es Cases oder e<strong>in</strong>er Verzweigung m<strong>in</strong>destens e<strong>in</strong>mal durchlaufen werden,<br />

<strong>und</strong> dass Schlaufen an ihren Grenzfällen betrieben werden (E<strong>in</strong>mal, ke<strong>in</strong>mal, maximal). Diese Art<br />

von Tests werden vor allem bei Modultests e<strong>in</strong>gesetzt.<br />

Gedruckt am 10.09.2009 14:23:00 Letzte Änderung am: 10. September 2009 Version 2.4.1, I. Oesch 138/147

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!