Entwicklung & Design

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

Seite 5 / 5

Und jetzt alles umgekehrt, bitte!

Bis jetzt wurde in allen Beispielen davon ausgegangen, dass zuerst der eigentliche Programmcode entwickelt wird, um daraufhin mit Unit Testing die einwandfreie Funktionalität abzusichern. Test Driven Development verfolgt einen umgekehrten Ansatz: Zuerst werden anhand von Spezifikationen die Tests für jedes zu entwickelnde Modul geschrieben. Anfangs werden erwartungsgemäß alle diese Tests fehlschlagen, da der Code noch gar nicht existiert.

Nach und nach wird dann der eigentliche Programmcode entwickelt und die Tests werden fehlerfrei durchlaufen. Ziel ist es, am Schluss alle Tests zu bestehen – denn dann funktioniert der Programmcode genau so, wie er laut den Spezifikationen soll. Ein großer Vorteil dieser Vorgehensweise ist die detailliertere Auseinandersetzung mit dem strukturellen Aufbau einer Applikation vor dem effektiven Entwicklungsprozess.

Wer häufig testet

Martin Fowler beschreibt auf seiner Website [2] die Vorgehensweise der Continuous Integration. Diese basiert auf dem Konzept, dass möglichst der gesamte Sourcecode durch Unit Tests abgedeckt sein sollte. Entwickler werden dazu angehalten, vor jeder Änderung alle Tests durchlaufen zu lassen. Zudem wird nach dem Einchecken einer Änderungen im Repository erneut ein kompletter Durchlauf aller Unit Tests gestartet. Durch das häufige Einchecken selbst kleinster Änderungen ist die Fehlersuche und Fehlerbehebung mit viel weniger Aufwand verbunden.

Fazit

Zusammenfassend kann man sagen, dass die Einführung von Unit Testing in einem Softwareprojekt einen nicht zu vernachlässigenden Aufwand bedeutet. Die kurzfristige Investition schlägt sich aber merklich in besseren Prozessen und saubererem Quellcode nieder und zahlt sich mittel- bis langfristig auf jeden Fall aus. Aus der Sicht eines Entwicklers ist der Einsatz von Unit Testing jedem Entwicklungsteam wärmstens zu empfehlen.

Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Ein Kommentar
Webelutions
Webelutions

Sehr guter Artikel!
Ich habe auch einen Artikel über Unit Testing mit PHPUnit geschrieben, dort sind noch weiter Informationen zu diesem Thema vorhanden: http://webelutions.de/blog/unit-testing-mit-php/

Antworten

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!

Hey du! Schön, dass du hier bist. 😊

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team bestehend aus 65 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Danke für deine Unterstützung.

Digitales High Five,
Stephan Dörner (Chefredakteur t3n.de) & das gesamte t3n-Team

Anleitung zur Deaktivierung