Feb 2 2010

Äquivalenzklassenbildung mit Grenzwertanalyse

Die Grenzwertanalyse stellt einen Spezialfall bzw. Verfeinerung der Äquivalenzklassenbildung dar. Bei dieser Technik werden durch Grenzwerterzeugung zusammenhängende Wertebereiche getestet. Im Gegensatz zur reinen Äquivalenzklassenbildung werden hierbei jedoch nicht beliebige Werte als Repräsentanten einer KLasse gewählt, sondern vorzugsweise die Randbereiche.

Es genügt den unteren Grenzwert sowie den nächstkleineren Wert, den oberen Grenzwert sowie den nächstgrößeren Wert und einen Mittelwert zu generieren, um einen geschlossenen Wertebereich zu testen. Diese Werte sind stellvertretend für alle weiteren innerhalb und außerhalb des jeweiligen Wertebereichs. Ein kleines Beispiel dazu findet ihr im vorangegangenem Beitrag über Äquivalenzklassen.


Feb 1 2010

Testfallermittlung beim Black-Box-Test

In meinem Beitrag über die Testfallermittlung beim White-Box-Test habe ich bereits einige Informationen zu Testmethodiken (z.B. Vor-/Nachteile) erfasst. Dies möchte ich in diesem Beitrag auch für den Black-Box-Test nachholen.

Der Black-Box-Test ist nämlich im industriellen Einsatz deutlich bedeutender als der White-Box-Test. Hierbei ist keine notwendige Kenntnis über die internen Abläufe und Ausführungspfade der Software notwendig. Ebenso werden hierbei auch Implementierungsdetails, wie z.B. IF-Anweisungen außer Acht gelassen. Entscheidend ist bei dieser Testvariante die Kenntnis über das, was die Software im Endeffekt leisten soll.

Ein Black-Box-Test sieht in allgemeiner Form wie folgt aus: Im ersten Schritt erfolgt eine genaue Analyse der Anforderungen oder der Spezifikation, z.B. mit Hilfe des Pflichtenheftes oder technischer Datenblätter. Anhand der gewonnenen Erkenntnisse werden Eingabeparameter ausgewählt und erwartetet Ergebnisse/Ergebniswerte definiert oder generiert. Oft werden die Eingabeparameter so gewählt, dass möglichst große Wertebereiche oder spezielle Grenzwerte abgedeckt werden. Zu beachten ist hierbei , dass bei einem Black-Box-Test nicht unbedingt alle implementierten Eigenschaften der Software allein anhand der Spezifikation erkannt werden können. Die gewählten Parameter verwendet man zur konkreten Testfalldefinition. Die Testfälle dienen als Grundlage für den eigentlichen Test. Nach jedem Testdurchlauf erfolgt die Überprüfung der Ergebnisse mittels der vordefinierten erwarteten Werte.

Der Black-Box-Test bezieht seine Vorteile aus der Tatsache, dass der Tester die Testfälle nach seinem Verständnis der Software gestalten muss und dadurch Testfälle erzeugt, die im Vergleich zu willkürlich gewählten deutlich effektiver und effizienter Fehler aufdecken können. Kritisch ist bei dieser Sichtweise wiederum der Tester selbst. Denn bei einem Black-Box-Test ist es nahezu unmöglich alle Kombinationsmöglichkeiten an Eingabeparametern abzudecken. Es bleibt also dem Tester überlassen, welche Testfälle ausgewählt werden. Diese Teilmenge fällt im Vergleich zu den Variationen sehr klein aus. Wie erfolgreich oder effizient der Test ist, hängt folgerichtig stark mit der Erfahrung des Testers, der Genauigkeit der Spezifikation und der gewählten Testfälle zusammen. Des weiteren ist Software nicht immer schlicht als Ein- und Ausgabe Maschine zu betrachten. Entscheidend sind auch die Zustände, in der sich eine Software befinden kann. Ein solches Universum an Zuständen, Eingabeparametern und erwarteten Ergebnissen ist nicht immer einfach zu überblicken.

Repräsentativ für den Black-Box-Test stehen folgende Methodiken: Äquivalenzklassen, Grenzwertanalyse, Ursache-Wirkungsgraph, Error Guessing