Aufbau einer effizienten Testautomatisierungslösung Testwerkzeuge in messagebasierten Systemen Q-Event Luzern, 5.9.2013 «Effizienter Testen aber wie?» Roland Hug Senior Testmanager
Abstract In der agilen Softwareentwicklung ist schnelles Feedback an die Entwickler unabdingbar. Dies betrifft auch den Integrations- und Systemtest. Um dieser Anforderung gerecht zu werden, muss auch auf diesen Stufen automatisiert werden. Die Herausforderungen dabei sind: Welches Testtool eignet sich make or buy? Lohnt sich der Einsatz eines Testtools? Die Beschaffung und der Aufbau sind teuer. Automatisierte Tests auf Stufe Systemtest sind in der Regel sehr wartungsintensiv. Welche Funktionalität sollte eine «Testengine» aufweisen? Wir zeigen in dem Vortrag am Beispiel eines Message-Brokers für Kundeninformationen aus dem Transportwesen auf, wie eine effiziente Testautomatisierungslösung aufgebaut werden kann. Dabei wird auf die Evaluierung, Kosten-Nutzen-Analyse und den Einsatz des Tools in einem agilen Projekt speziell eingegangen. Was waren die entscheidenden Punkte, um den Einsatz des Testtools in einem agilen Umfeld zum Erfolg zu führen?
Wer kennt sie nicht?
Thema Aufbau einer effizienten Testautomatisierungs- Lösung im agilen Umfeld
In agilen Softwareprojekten sind automatisierte Regressionstests ein absolutes Muss!!!
Zu meiner Person Ich bin: Jahrgang 1949 Seit 43 Jahren als Entwickler, Business-Analyst, Projektleiter und Testmanager tätig Seit 12 Jahren spezialisiert auf Testing-Aufgaben Seit 2 Jahren für bbv im Testing bei der SBB Seit 15 Monaten Testmanager im Projekt KI-HUB
Was erreiche ich mit automatisierten Regressionstests Bestmögliche Softwarequalität Softwareanpassungen die effizient testbar sind Kontinuierlichen, progressiven Testaufbau Optimales Kosten- Nutzen Verhältnis Einsatz auch in nachfolgenden Wartungsprojekten Portierbarkeit auf verschiedene Teststufen
Das Testobjekt Rollmaterial (Zugformationen) Verarbeitung Batch (Tageswechsel) Verarbeitung Real Time Fahrplanplaner Fahrplan Normalspur Disposition Leittechnik Betriebszentrale Redakteur Prognosen Disponent Zugverkersleiter Infospezialist Sollfahrplan KI-HUB Schnittstelle zu TU z.b. Postauto TU TU TU Internet Fahrplan Kundeninfo Zug Kundeninfo Bahnhof
Ein paar Zahlen zum Meldungsaufkommen Von KI-HUB täglich verarbeitete Meldungen 927000 350000 490000 582000 2000 85000
Test SQL s XML Testsuites Test Messages Ausführbar über Command Line, Script oder HP QC VAPI-XP Leittechnik KI-HUB Test Engine MIKU Produktions- Plan Input Message Queue Result Log Oracle DB SQL Error Log Output Message Queue KIB Prognosen VDV KI-HUB
Der Testaufbau im SCRUM Projekt KI-HUB Funktionalität Zug Einfahrt Zug Ausfahrt Zug Verspätung Anschluss Zug Gleis änderung Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint Testentwicklung Testset 1 Testset 1 Testset 2 Testset 1 Testset 2 Testset 3 Testset 1 Testset 2 Testset 3 Testset 4 Testset 1 Testset 2 Testset 3 Testset 4 Testset 5
Portierbarkeit Abnahme Test System Test (pro Sprint) Integrationstest (jede Nacht) Testumgebungen Integrationstest (ad Hoc)
Ein paar Zahlen zu Test und Kosten Tests Zahlen Anzahl Testgebiete 58 Anzahl Regressionstests 484 Testabdeckung in % ~ 50 Kosten Zahlen Entwicklungskosten Projekt > 10,000,000 Entwicklungskosten Testengine 220,000 Personal Zahlen Anzahl Entwickler 14 Anzahl Tester 3
«Make before buy» war die richtige Entscheidung Ohne automatische Regressionstests Menge an Regressionstest nicht zu bewältigen Ohne automatische Regressionstests keine laufende Testabdeckung der fachlichen Anforderungen Ohne automatische Regressionstests, Auswirkungen von laufenden Software-Anpassungen auf bereits implementierte Funktionalität nicht testbar
Danke! Roland Hug info@bbv.ch