Vor einigen Tagen haben wir eine neue Version einer Software beim Kunden in die Verteilung gegeben. An dem Projekt entwickeln wir zu zweit und jeder von uns ist dafür verantwortlich, dass seine Änderungen auch funktionieren bzw. das tun, was sie sollen.
Schon kurz nach dem Einstellen unserer Erweiterung in das System beim Kunden bekam ich eine Meldung, dass es bei einer bestimmten Verarbeitung zu einer Fehlermeldung kommt und tatsächlich konnte ich den Fehler schnell nachvollziehen. Genauso schnell war eine Änderung von meinem Kollegen als Ursache ausgemacht. Mit einem kurzen Test, nämlich genau einem Buttonklick, hätte der Kollege den Fehler ebenfalls bekommen müssen. Meine Nachfrage, ob er seine Änderungen eigentlich testen würde beantwortete er mit einem: „Ja, natürlich“. Nicht nur, dass er seine rudimentären Aufgaben nicht erfüllt, angelogen wird man auch noch, denn es war eindeutig, dass der von ihm entwickelte Code nie funktionieren konnte.
Zugegeben macht es vermutlich kein Entwickler gerne, aber das Testen einer Softwareänderung, zumindest mit einem Entwicklertest gehört zu jeder Änderung dazu. Genauso wie eine saubere Benennung von Variablen und Methoden und einer aussagekräftigen Dokumentation und Kommentaren im Quellcode. Da kann sich auch aus meiner Sicht niemand mit mangelnder Erfahrung rausreden. Vergleichbar ist es etwa mit einem Autohaus, dass nach dem Einbau neuer Bremsscheiben das Auto einfach für den Kunden zur Abholung bereitstellt und auf einen Test verzichtet. Schließlich ist es ja nicht die erste Scheibe, die sie austauschen und es hat ja bisher immer funktioniert.