von Mario Rimann,
online veröffentlicht am 06.06.2008
Twittern 0 Teilen 0

Eine Einführung in Unit Testing mit PHP: Makelloser Code durch effizientes Testen

Aus dem
t3n Magazin Nr. 12

Jetzt kaufen

Komplexe Applikationen, die kontinuierlich weiterentwickelt werden, sind häufig fehleranfällig. Andererseits dürfen in geschäftskritischen Anwendungen natürlich keine Fehler auftauchen. Um Probleme zu entdecken und unbeabsichtige Auswirkungen von Änderungen während der Entwicklung zu finden, muss schnell, umfassend, wiederholt und am besten automatisch getestet werden. Deshalb bedienen sich immer mehr Entwicklerteams der Funktionalität von Unit Testing.

Die große Frage ist häufig: „Wozu brauchen wir denn Unit Tests, unsere Applikation läuft doch einwandfrei?“ Doch selbst wenn ein Programm fehlerfrei zu laufen scheint, können sich Fehler eingeschlichen haben, die auf den ersten Blick nicht ersichtlich sind. Teilweise funktionieren bestimmte Programmteile monatelang problemlos und erst durch umfangreiches Unit Testing, das alle Eventualitäten abdeckt, werden Fehler im Quellcode aufgedeckt.

Fehler aufzufinden und zu beheben ist das Ziel

Damit haben wir also bereits einen Punkt, der für Unit Testing spricht: Fehler können bereits auf der Ebene der Funktionen aufgespürt und behoben werden. Daneben gibt es aber noch mindestens einen weiteren Punkt, der für maschinelle Softwaretests spricht: Bei einfachen Funktionen ist manuelles Prüfen möglich und je nach verfügbaren Ressourcen auch praktikabel. Erreicht die Software allerdings eine bestimmte Komplexität, so sind manuelle Tests nur noch in beschränktem Rahmen möglich. Mit Unit Testing dagegen können leicht 500, 1.000 oder 10.000 Tests innerhalb von Minuten abgearbeitet werden.

Sebastian Bergmann hat mit PHPUnit [1] ein Framework entwickelt, das Unit Tests für PHP-Applikationen durchführt; gleichartige Module gibt es bereits für Java und andere Programmiersprachen. Mit PHPUnit können Entwickler auf einfache Weise eigene Tests für ihre Klassen und Funktionen schreiben und dann repetitiv durchlaufen lassen.

Innerhalb von PHPUnit existieren eine oder mehrere Testsuiten, die die einzelnen Test Cases beinhalten. Beim Aufruf von PHPUnit kann zunächst ausgewählt werden, welche Tests genau durchlaufen werden sollen.

Seite:  1 2 3 4 5

Das interessiert dich bestimmt auch