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 ...
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