2
29.03.2012
Rolf Prünte

Automatisierte Tests in der Softwareentwicklung

Seit Anfang des Jahres werden bei Ferber-Software verstärkt automatisierte Tests zur Sicherung der Qualität eingesetzt. Komplexe Testszenarien, die sonst immer manuell durchgeführt werden mussten, können somit „auf Knopfdruck“ in nächtlichen Jobs ohne großen Aufwand abgearbeitet werden. Bereits während der Entwicklungsphase kann somit regelmäßig geprüft werden, ob Änderungen, die von Entwicklern durchgeführt worden sind, Regressionen verursachen. Dabei wird nicht nur die inhaltliche Korrektheit der Ergebnisse geprüft, sondern z.B. auch die Systemperformance.

Für die aktuellen IKAROS-Varianten liegt der Fokus der automatisierten Tests derzeit auf dem Modul IKAROS-Auskunftei. Die Schnittstellen in diesem Modul sind für automatisierte Batchjobs über ActiveX ausgelegt und werden auch in Produktion entsprechend eingesetzt. Somit bietet sich ein Einstieg in das automatisierte Testen hier an. Aktuell können in einem Batchlauf Tests durchgeführt werden, deren Umfang sonst ca. zehn Personentage an manuellem Aufwand bedeutet hätten. Die Tests werden laufend erweitert und auch auf weitere IKAROS-Bereiche ausgeweitet.

Für zukünftige IKAROS-Versionen, welche die neue Systemarchitektur mit dem neuen Business-Object-Model verwenden werden, wird bereits während der Entwicklung der Fokus auf automatisiertes Testen gelegt: Das sogenannte Test-Driven-Development (TDD). Im Gegensatz zur herkömmlichen Herangehensweise beim Testen (Entwicklung – Entwicklertest – Qualitätssicherung) steht beim TDD der Test am Anfang des Entwicklungsprozesses. Noch bevor eine Zeile Quellcode geschrieben wird, werden zunächst die Testszenarien entworfen. Der Quellcode wird nun so programmiert, dass er diesen Testszenarien genügt. Sollen weitere Funktionalitäten ergänzt werden, müssen entsprechend neue Testszenarien entworfen werden. Erst anschließend wird der Quellcode erweitert. Die somit während der Entwicklung definierten Tests werden auch automatisch in regelmäßigen Jobs ausgeführt. Sobald ein Entwickler eine Änderung in den Quellcode einpflegt, wird 15 Minuten später ein automatischer Testlauf durchgeführt. Fehler und Regressionen werden so sehr früh im Entwicklungsprozess entdeckt und können behoben werden. Zusätzlich sind die Tests beim TDD deutlich feiner als im oben genannten Beispiel der Auskunftei-Tests: Es werden keine kompletten Funktionalitäten getestet, sondern einzelne, kleine Softwarekomponenten. Parallel laufen natürlich weiterhin komplette Funktionstests.

Durch diese Vorgehensweisen steigt einerseits die Qualität von IKAROS, andererseits kann die ersparte Zeit für Tätigkeiten wie die Umsetzung neuer Funktionalitäten und Verbesserungsvorschläge investiert werden, wovon die Kunden in doppelter Hinsicht profitieren.