Unit Tests can save your life!
Ein Schlüsselerlebnis war für mich die Erfahrung, was Unit-Tests für die Stabilität einer schon arg ins Schleudern gekommenen Code-Baustelle leisten können. Es ist schon einige Jahre her, und Unit-Tests waren wie einiges andere in vielen Unternehmen noch nicht wirklich en vogue. Auch muß ich hinzufügen, daß ich damals noch recht wenig praktische Erfahrungen hatte.
Glücklicherweise waren wir wohl selbstkritisch genug, um das Problem in seiner ganzen Tragweite zu erkennen. Wir beschlossen daher, wirklich jede einzelne Funktion des Problem-Moduls komplett mit Testfällen abzudecken.
Wir haben also ein Testgerüst um das Modul herum gebaut, welches auf Knopfdruck alle unsere Tests ausführte und die Ergebnisse
aufs penibelste protokollierte.
Positiver Effekt war natürlich nicht nur, daß das Debugging unter absolut zuverlässig reproduzierbaren Randbedingungen die Sache wesentlich erleichterte. Das Testgerüst sorgte natürlich auch später als Regressionstest dafür, daß das Modul immer stabil blieb. Letztlich konnten wir durch die konsequente Verwendung von Testfällen unser Schiff wieder ins sichere Fahrwasser bringen und die Entwicklung dann sogar noch (fast) fristgerecht beenden.
Heute sind das Binsenweisheiten, aber damals waren wir echt stolz auf uns.