Entwicklung

Eine Einführung in Unit-Testing für Extensions: Grünes Gefühl mit TYPO3

Große Änderungen im Code einer Software gleichen oft einem Drahtseilakt und enden nicht selten mit einem Absturz. Durch kleine durchdachte Schritte und ein fundiertes Sicherheitsnetz bleibt das Risiko kalkulierbar und lässt den Entwickler mit einem guten Gefühl in die Zukunft blicken.

Irgendwann gelangt jeder Entwickler an den Punkt, an dem er überlegt,
ob es sich eher lohnt, den angestaubten Code zu überarbeiten
oder noch einmal frisch von vorne zu beginnen. Vor allem bei der
Übernahme eines fremden Projekts überwiegt oft der Drang
nach einem Neuanfang. Es würde meist viel zu lange dauern, den Code
aufzuräumen und bei jeder kleinen Änderung könnten
sich Fehler einschleichen, die später aufwändig nachvollzogen und bereinigt werden
müssten.

Die
Arbeit an einer API (Application Programming Interface) ist besonders heikel, denn dort stellt sich die
Frage nach einem Neuanfang erst gar nicht: Es gilt, möglichst
abwärtskompatibel zu bleiben, denn viele andere Anwendungen sind
von der Schnittstelle abhängig. Die Aufräumarbeiten in
solchen Programmteilen gleichen daher oft dem Spaziergang auf einem
Minenfeld.

Programmieren mit Netz

Die Lösung für diese
Probleme heißen „Refactoring“ und „Unit Testing“. Bei „Refactoring“ handelt
es sich um die Veränderung der inneren Struktur eines
Programms, bei dem sich das äußere Verhalten nicht
verändert. „Unit Tests“ dienen dabei als Sicherheitsnetz und geben
dem Entwickler eine Rückmeldung darüber, ob einzelne Teile
seines Programms noch die gewünschten Resultate liefern.

Unit Tests überprüfen
jeweils einen ganz bestimmten Teil einer Software, typischerweise das
Ergebnis einer oder mehrerer Methoden. Funktionale Tests, die hier
nicht behandelt werden, überprüfen hingegen die Funktionen
einer Software als Gesamtheit aus Sicht eines Anwenders.

Unit Testing für TYPO3

PHPUnit [1] von Sebastian Bergmann ist ein Unit
Testing Framework das es ermöglicht, eine große Reihe von
Tests zusammenzufassen und nacheinander ablaufen zu lassen.

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

Schreib den ersten Kommentar!

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