am 18. September 2009
Nicht das gestern schon wieder eine neue Ausgabe des PHP Magazins besprochen wurde, nein heute ist auch schon wieder Freitag. Also Ende der Woche. Nichts mehr zu arbeiten die nächsten zwei Tage. Super. Ach ja, ich habe heute übrigens frei. Nur so zum neidisch machen. Ich werde also bis 11 Uhr im Bett bleiben. Denkst also dran, dass wenn ihr das hier lest ich noch im Land der Träume liegen werde. Zumindest ist das der Plan. Die Realität wird mich aber bestimmt um 6 Uhr wecken, so wie jeden Tag. Aber um ehrlich zu sein: Ich glaube das interessiert euch gar nicht.
Wechseln wir also wieder zu einem phphatesme würdigen Thema. Ich habe übrigens nur so eine lange Einleitung, weil ich nicht weiß, was ich heute schreiben soll. Tadaaa … der Geistesblitz kam. Und ihr kennt natürlich schon das Thema, denn die Überschrift verrät sie euch ja.
Es geht um Unit Tests. Ich denke mal dran, dass immer mehr von euch Tests schreiben. Zumindest war das das Gefühl, dass ich von der Unconference und auch von der IPC im letzten Jahr mitgenommen habe. Ich habe aber auch oft Leute gesehen, die zwar testen, aber keinen Continuous Integration Server, wie phpUnderControl oder Bamboo nutzen. Dummerweise konnte man immer ein Resultat bei dieser Verwendung feststellen. Man hat anfänglich getestet, bis man mit einer Komponente fertig war. So weit, so gut. Komponente gewechselt und wieder bis zum Schluss durchgezogen. Wenn man jetzt aber schnell mal die erste Komponente anpasst ist das ja auch kein Problem. Wenn es wirklich schnell gehen soll, dann passt man die Unit Tests auch nicht wirklich mehr an. Wenn die Zeit vergeht, funktionieren immer mehr Unit Tests nicht. Oder besser: es funktionieren immer weniger.
Wenn mal die kritische Masser erreicht ist, dann hat man auch keine Lust mehr zu reparieren und läßt die Tests einfach Links liegen, auch wenn sie eines der mächtigsten qualitätssichernden Maßnahmen sind. Schade eigentlich. Wäre ein Continuous Integration Server aktiv gewesen, so hätte der einen schon beim ersten Fehler so lange genervt, bis man nachgegeben hätte. Das kleine vollautomatisierte “sind wir bald da” Tool also. Je früher man Fehler behebt, desto einfacher ist es. Wie immer in der Softwareentwicklung.
Ob das immer so ablaufen muss, weiss ich nicht, das sind nur meine Erfahrungswerte. Bei Projekten, die länger laufen, also die Entwicklungszeit einer Komponente, sei also immer der Einsatz einer CI Lösung empfohlen. Die Installation ist kein Hexenwerk und der Vorteil ungemein. Wie man ein phpUnderControl aufsetzt, werden wir auch bald hier besprechen, dann hat niemand mehr eine Entschuldigung.