© Excellent backgrounds/Shutterstock.com
Praxisbericht über das neue Testautomatisierungsframework „Integrity“

Damit die Kasse stimmt


Testautomatisierung ist ein komplexes Gebiet – insbesondere im Fall von eher unkonventionellen Softwareprojekten, die die Flexibilität des eingesetzten Toolings auf eine harte Probe stellen. Wir stellen in diesem Artikel das neue und noch recht unbekannte Open-Source-Framework „Integrity“ anhand des Praxisbeispiels der Entwicklung einer neuen Kassensoftwarelösung für ALDI SÜD vor.

Continuous Integration und Continuous Deployment haben die Softwareentwicklung entscheidend verändert: Mehrmals täglich entstehen fertige Builds auf speziell dafür bestimmten Continuous-Integration-Servern. Statt weniger Releases im Abstand von vielen Monaten sind heutzutage Releaseintervalle von – je nach Art der Software – wenigen Wochen bis Tagen oder gar Stunden gängige Praxis. Dabei hat sich am hohen Anspruch an die Qualität der ausgelieferten Produkte nichts geändert. Neue Features sollten nicht nur umgesetzt werden, sondern auch funktionsfähig sein. Regressionen, d. h. das erneute Auftreten bereits bekannter Fehlerbilder, sind zuverlässig zu vermeiden. Während Unit Testing sich gut dazu eignet, auf der Ebene einzelner Softwarekomponenten deren korrekte Funktion sicherzustellen, wird die Automatisierung integrativer Tests – also fachliche oder auch technische Tests des gesamten Endprodukts – in vielen Softwareprojekten leider nach wie vor stiefmütterlich behandelt oder bleibt aufgrund ihrer inhärenten Komplexität gleich ganz aus. Rein manuelles Testen, jahrzehntelang gängige Praxis bei integrativen Tests, wird jedoch den schnellen Releasezyklen der agilen Softwareentwicklungswelt nicht mehr gerecht.

Was macht ein Entwickler, um Komplexität in den Griff zu bekommen? Er schreibt sich passende Tools. Auf diese Weise entstand Integrity, ein Werkzeug zur Unterstützung von Projektteams bei der Automatisierung von Integrations- und Regressionstests. Da wir in vergangenen Projekten bereits mehrfach gute Erfahrungen mit skriptbasierten Automatisierungsansätzen unter Einsatz von FitNesse gemacht haben, lag es nahe, diesen flexiblen Ansatz weiterzuverfolgen und dabei besonders die Schwächen des bisher genutzten Toolings auszumerzen. Insbesondere das krude anmutende Konzept der „Programmierung“ in Wiki-Syntax im Textfenster einer Website und die kaum vorhandene Unterstützung bei der Testerstellung erwiesen sich für erfahrene, mit modernen Entwicklungsumgebungen vertraute Softwareentwickler als konstante Frustrationsquellen und Hindernisse beim Debuggen komplexerer Testfälle. In einer...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang