Testing, testing, testing …


Thomas Wölfer
Thomas Wölfer

23. Juli 2013


In den letzten Tagen gab es doch ein wenig “wenig” Neues im Blog, und das in erster Linie, weil ich ein wenige eingespannt war: Es gibt eine neue Version eines unseres Inhouse-Tools, und zwar von dem, mit dem wir die nächtlichen Tests durchführen.

Jede Nacht findet hier auf zwei Rechner (einmal 32bit, einmal 64bit) folgendes Prozedere (das “Build”) statt:

- Der “Build”-Ordner von “gestern” wird gelöscht
- Der aktuelle Quellcode der Baustatik wird vom Revision-Control Server abgeholt
- Auf Basis der Quellcodes wird eine “tagesaktuelle” Version der Baustatik hergestellt
- Die Testfälle (zur Zeit etwas über 3000) werden vom Revision-Control Server abgeholt
- Die Baustatik wird auf die circa. 3000 Dateien losgelassen und berechnet jedes daraus mögliche Ergebnis
- Diese Ergebnisse werden mit zuvor berechneten Ergebnissen verglichen, damit wir schnell mögliche eingeführte Fehler erkennen können.
- Und für das alles gibt es dann noch ein Reporting

Das bisherige System hatte schon einige Jahre auf dem Buckel und war immer wieder mehr schlecht als recht erweitert worden: Angefangen hatte das auf einem Rechner mit einer handvoll Testdaten – und das jahrelange erweitern hatte die Sache nicht wirklich übersichtlicher gemacht.

Jetzt gibt es eine neue Version davon, und die ist (zwar noch nicht ganz fertig aber) deutlich übersichtlicher, und was auch wichtig ist, deutlich performanter was das Reporting angeht.

Die Startseite der Reports sieht dann so aus: Hier kann man aus allen bisherigen Testläufen den gewünschten (meist den von gestern) auswählen. Testläufe mit einem gelben Symbol hatten “Warnungen”, solche mit einem roten “Fehler” – und solche mit einem grünen sind OK. (Wie man sieht: Es ist wirklich noch nicht ganz “fertig” )

Klickt man auf einen der Durchläufe, gibt es eine Übersicht, was alles getestet wurde, und wo Fehler, Warnungen, etc. aufgetreten sind. Dabei sind die Tests nach “Dokument” sortiert:

Hier kann man dann auf einzelne Fehler oder Warnungen klicken, um sich selbige anzeigen zu lassen. Außerdem gibt es auch eine Verlaufsprotokoll, aus dem der Speicher- und er Handle-Bedarf ablesbar ist:

Diese Kurven sind meist nicht besonders aufregend: Das sollen sie aber auch nicht sein – denn wenn die nicht “einfach so” horizontal verlaufen, dann geht irgendwo Speicher verloren, und das soll ja nicht passieren

Das ganze ist eigentlich noch deutlich aufwendiger, als diese paar Bilder darstellen können – es werden auch noch eMails mit anderen Übersichten verschickt, die Baustatik muss alles in einen Datenbankserver protokollieren, der natürlich auch “da” sein muss, etc. etc. – aber im großen und ganzen gibt das einen ganz guten Einblick darein, wie wir sicherstellen, das Änderungen und Erweiterungen an der Software nicht dazu führen, das die Ergebnisse plötzlich “anders” (sprich: falsch) werden.