Software Testverfahren

Bevor eine Software auf den freien Markt erhältlich ist, muss sie ausgiebig getestet werden In diesem Artikel stellen wir Ihnen die verschiedenen Software Testverfahren vor!

Eine Software wird getestet, um den Endverbraucher eine möglichst fehlerfreie Benutzung zu ermöglichen. Wobei hier zu beachten ist, dass der Softwaretest keinen Nachweis oder Garantie darstellt, dass auch wirklich alle Fehler behoben wurden bzw. keine mehr vorhanden sind.

Software TestverfahrenMan kann nur feststellen, dass die Software bei bestimmten Testszenarien, erfolgreich war und keinerlei Fehler hatte. Edsger Wybe Dijkstra (ein theoretischer Physiker, Mathematiker und Informatiker) schrieb dazu:

[1]Zitat: (Original engl.: “Program testing can be a very effective way to show the presence of bugs, but is hopelessly inadequate for showing their absence.”) Zitat Ende

In Deutsch übersetzbar mit: “Durch Testen kann man stets nur die Anwesenheit, nie aber die Abwesenheit von Fehlern beweisen.”

Dadurch erklären sich auch die verschiedenen Updates für Programme. Denn nicht alle Fehler werden bzw. können vom Entwickler gefunden werden. Meist werden Fehler vom Endbenutzer entdeckt und so durch deren Mithilfe behoben.

Grundsätzlich gibt es drei verschiedene Testverfahren um eine “fertiggestellte” Software zu testen. Hierbei spricht man von dem:

  • Black-Box-Test
  • White-Box-Test
  • Grey-Box-Test

Der Black-Box-Test ist ein Software Testverfahren, bei dem die Funktionsweise des Programmes nicht bekannt ist. Daher wird es auch funktionsorientiertes Testen genannt. Alles was sich im „Inneren“ abspielt ist beim Black-Box-Test unbekannt. Es werden nur die Anforderungen der Software getestet. So wird z.B. überprüft, ob Benutzereingaben funktionieren bzw. Ausgaben korrekt sind. Oder allgemein gesagt: es wird geprüft, ob das Programm funktionstüchtig ist und das erledigt, was es soll.

Beim White-Box-Test werden im Gegensatz zum Black-Box-Test nicht die Anforderungen getestet, sondern ob bestimmte Programmabschnitte funktionstüchtig sind. So wird z.B. auch überprüft, ob alle Quellcode-Zeilen ausführbar sind und alle Verzweigungen durchlaufen werden.

Der Grey-Box-Test ist eine Mischung aus Black- & White-Box-Test und soll die Vorteile beider Tests verbinden. Man testet das Programm sowohl auf die Anforderungen und deren Funktionstüchtigkeit als auch ob bestimmte Programmabschnitte einwandfrei funktionieren. Es wird auf die Umsetzung, den Aufbau und den Ablauf des Programmes geachtet.

Weiterhin wird die Software auf deren Komponenten, Interaktion, System und Abnahme überprüft.

Der Komponententest ist der Nachweis dafür, dass die einzelnen Module der Software innerhalb eines bestimmten Programmabschnittes laufen. Meist führt Softwareentwickler diesen Test selbst durch.

Der Interaktionstest soll feststellen, ob abhängige Komponenten miteinander zusammenarbeiten und der Austausch von Informationen ein korrektes Ergebnis liefert.

Der Systemtest ist (wie der Name schon vermuten lässt) der Test der Software auf dem System des Endbenutzers. In der Regel wird der Test entweder in einer Testumgebung oder beim Endverbraucher selber durchgeführt.

Der Abnahmetest ist die Auslieferung der entwickelten und fertig getesteten Software. Nun „testet“ der Kunde bzw. Auftraggeber die Software. Die Software wird in diesen Stadium vom Kunden bzw. Auftraggeber aktiv für den ursprünglichen Zweck benutzt.


[1] – The Humble Programmer, ACM Turing Lecture 1972

Weiterführende Links