Die nächtlichen Testläufe


Thomas Wölfer
Thomas Wölfer

16. Juni 2012


Ich habe schon hin und wieder darauf hingewiesen, das wir die jeweils tagesaktuelle Version der Baustatik jede Nacht automatisiert testen. Wie hat man sich das aber vorzustellen?

So:

Am Quellcode der Baustatik wird natürlich von mehreren Personen gleichzeitig gearbeitet – und die befinden sich auch an unterschiedlichen Standorten. Damit das klappt gibt es einen zentralen Server, der für die Verwaltung der richtigen Versionen des Quellcodes zuständig ist. Von diesem Server kann jede Workstation in unseren Standorten eine Kopie des Quellcodes abholen, und man kann dann auf dieser Workstation damit arbeiten. Lokal vorgenommene Änderungen werden dann wieder in den zentralen Server zurückübertragen.

Im Münchner Netzwerk gibt es nun zwei Server die automatisiert laufen. Der eine ist für die 64bit-Version der Baustatik zuständig, der andere für die 32bit Version. Beide holen einmal am Tag ebenfalls den aktuellen Quellcode vom zentralen Server ab. Danach wird auf dem einen Server die tagesaktuelle Version der Baustatik als 64bit Version gebaut, auf dem anderen die 32bit Version.

Wenn das ging, wird auf beiden Rechner die Baustatik mit speziellen Kommandozeilen-Argumenten gestartet: Die führen dazu, das die Baustatik das spezielle Test-Projekt lädt. Dieses Testprojekt enthält mehrere tausend (Tendenz: steigend) Baustatik-Dokumente. Jedes einzelne dieser Dokumente wird dann durchgerechnet, und jedes einzelne Ergebnis mit dem Ergebnis des Rechenganges vom Vortag verglichen.

Gibt es einen Unterschied, dann wird ein entsprechender “Vermerk” angelegt: Sind alle Dokumente durchgerechnet, dann erhalten alle Beteiligten noch eine EMail, an der man sofort ablesen kann, ob der letzte Durchlauf “geklappt” hat oder nicht – wenn nicht, muss die Ursache dafür beseitigt werden.

Nachdem das Programm immer umfangreicher wird – und dadurch auch immer mehr Testcases anfallen – wird ist die Sache inzwischen relativ zeitaufwendig geworden: Ein kompletter Durchlauf dauert mittlerweile etwa 6 Stunden. Nachdem wird das ganze nur einmal pro Tag machen, ist aber noch jede Menge Luft – bis wir den Prozess irgendwann dann mal anders portionieren müssen.