Entwickler gut beraten: UI-Tests die Spaß machen
Session 60'
Abstract
Heutzutage gibt es große Anforderungen an Benutzeroberflächen und auch Web-Applikationen müssen sich anfühlen wie lokal installierte Anwendungen.
Um die Qualität von Ajax-basierten Web-UIs im Rahmen unser agilen Produktentwicklung sicherzustellen, hatten wir in der Vergangenheit angefangen, automatische UI-Tests in unsere normalen Continuous Integration Prozesse einzubinden. Doch leider bereiteten die Tests mehr Kosten als Nutzen. Sie waren mit den Standard-Frameworks schwer zu schreiben und von Haus aus instabil.
Resultat: Die Teams wurden in Ihrer Entwicklungsgeschwindigkeit behindert, Tests waren regelmäßig ein Anlass zu Flüchen und zu gerne wurde ein Test einfach mal abgeschaltet, weil er "eh immer rot" war und statt dessen in die Liste für manuell durchzuführende Tests aufgenommen.
Basierend auf den Erfahrungen haben wir bei mit Hilfe eines QA-Experten ein neues, auf unsere Web-UI-Komponenten-Architektur abgestimmtes Framework zur UI-Test-Automatisierung entwickelt. Seit der Etablierung des Frameworks sind die Entwickler durch die erhöhte Stabilität, die kürzeren Entwicklungszyklen und die bessere Integration in unseren CI Prozess wieder motiviert UI-Tests zu schreiben. Dies führt zu einer stetig steigenden Test-Abdeckung und passt sich gut in den Scrum Prozess ein.
Dieses Framework, das auf Browser-Ansteuerung via Selenium WebDriver beruht, werden wir in dem Vortrag kurz vorstellen und Einblicke in die wichtigsten Konzepte und unsere Erfahrungen bei der Entwicklung und dem Ausrollen an die Entwickler geben. Dazu gehören u.a.:
- wie man bei asynchronen Web-Anwendungen auf (UI-)Ereignisse wartet,
- wie man mit (Java-basierten) Wrappern die UI-Struktur so kapselt, dass Entwickler das Gefühl bekommen, sie schrieben normale Unit-Tests und
- wie man als QA-Spezialist Entwickler mit ins Boot holt, um ein Framework schnell reifen zu lassen.
Speaker
Mark Michaelis, Martti Jeenicke
Folien: Entwickler gut beraten: UI-Tests, die Spass machen - Mark Michaelis, Martti Jeenicke