Testgetriebene Entwicklung

Testgetriebene Entwicklung mit PHP

Software ändert sich ständig und Software ist niemals fertig. Der ware langfristige Wert einer Applikation liegt darin, wie einfach man Fehler beheben kann und neue Features umsetzen kann.

Da Software von Menschen entwickelt wird enthält Sie zwangläufig Fehler. Gerade spätere Änderungen am Code sind anfällig dafür versehentlich neue Bugs einzubauen.

Ein Werkzeug um dies einzudemmen ist ein testgtriebener Entwicklungsprozess. Dabei geht es nicht zu erst um Werkzeuge, sondern um einen Stil. Es geht also um die herangehensweise beim Programmieren.

Der erste Schritt ist hierbei zu überlegen, was muss die Software leisten und welche Komponenten (Klassen etc.) benötige ich dazu. Wenn das grobe Konzept steht, beginnt man mit der Definition von Testfällen.

Für PHP gibt es die Software „phpunit“. Mit diesem Tool ist es möglich Testfälle für Klassen zu implementieren und diese dann auzuführen.

Wenn ein Testfall in PHPUnit erfolgreich ist, wird er mit „grün“ als erfolgreich markiert. Wenn er nicht erfolgreich war wird er mit „rot“ als fehlerhaft marktiert.

Welchen Vorteil hat diese Vorrangehensweise?

  1. Schon zu beginn ist die Struktur der Software „sauberer“, da man sich während dem aufstellen der Testfälle schon Gedanken über die Implementierung macht.

  2. Zu jeder Zeit kann der Entwickler alte Unit-Testfälle ausführen und so sicherstellen, das vergangene Erwartungen an die Software immernoch eingehalten werden.

  3. Gerade wenn viele Entwickler an Quellcode arbeiten, den sie nicht komplett überschauen können ist PHPUnit hier ein nützliches Tool.


Manche gehen sogar soweit zu sagen, dass es keinen neun Code geben soll ohne vorher einen Fehlerhaften Testfall zu erzeugen. Sprich, für eine neue Funktionalität wird zu erst der Testfall implementiert, der fehlschlägt und dann erfolgt die Implementierung der Logik.

Navigation