Zusammenfassung

Dieses Paper dokumentiert die Evaluation von verschiedenen Tools um AJAX-Anwendungen basiert auf ExtJS zu testen. Wir evaluierten, weil es große Probleme mit dem aktuell genutzten Testtool namens „Sahi“ gab. Kandidaten für die Ablösung sind:

  • Windmill Testing Framework
  • Selenium web application testing system
  • QF-Test

Der Hauptfokus der Evaluierung ist Capture und Replay, da das die gängigste Art ist, wie neue Tester Tests schreiben. Refaktorierung von Tests für bessere Wartbarkeit wird in kurzen Randnotizen diskutiert.

Zweck

Der Zweck der Evaluierung ist ein gemeinsames Testtool für alle Tests der Webapplikationen bei CoreMedia zu finden. Dabei sollte das Wissen der Nutzung des Testtools zwischen verschiedenen Projekten teilbar sein. Anforderungen Die Hauptanforderungen für ein neues Testtool, hergeleitet von GUI testing – Toolanforderungen und Testrichtlinien.

1. Kurze Einlernphase

Neue Tester sollten schnell in der Lage sein Tests zu verstehen und bestehende zu debuggen. Erste Basistests zu schreiben sollte einfach sein. 2. Mehrere Browser übergreifend Browser die (mindestens) unterstützt werden sollten:

  • Internet Explorer 7 und 8
  • Firefox 3

3. Einfaches Debugging Das beinhaltet, dass automatische Testläufe Screenshots im Fehlerfall liefern, damit mögliche Fehler leicht gefunden werden können. Und es enthält, dass Tests step by step debuggt werden können und dass sie einzeln angestoßen werden können. Letzteres stellt auch eine Anforderung zu den Tests, die nicht nur für das Tool geschrieben werden.

4. Clipboard Interaktion

Ein wichtiger Abschnitt während unserer Tests ist die Interaktion mit dem Clipboard. Deshalb sollten die Werkzeuge Clipboard Interaktions Events aufzeichnen können. Optional und ungetestet während der Evaluierung ist ein Vergleich von Screenshots (Der erwartete versus den aktuellen). Genauso wichtig für die Tests wie z.B. Layoutprobleme sind ein großes Problem mit Multi-Browser-Unterstützung; die Tests sind kompliziert zu entwickeln und robust zu halten nicht nur in verschiedenen Browsern als auch auf mehreren Plattformen. Es ist bekannt, dass QF-Test solch einen Screenshotvergleich bietet, der leicht aufgenommen werden kann.

Zusammenfassung

Webanwendungen scheinen die aller herausforderndste Aufgabe für GUI-Testautomatisierung zu sein. Nicht nur, dass sie unterschiedlich in verschiedenen Browsern rendern, um die Eigenarten der Browser zu bewältigen: Auch die Elementstruktur ist komplexer als bei beispielsweise Java Swing Anwendungen. Deshalb ist es umso wichtiger ein Werkzeug zu finden, diese Herausforderungen zu meistern. Wenn man sich die freien Tools da draußen ansieht, scheint Selenium eine gute Wahl zu sein. Besonders, weil die ExtJS-Entwickler es kennen. Aufnehmen ist einfach und ein Plus ist, dass die aufgenommenen Testfälle in jede Sprache exportiert werden können (wie z.B. Java). Das stellt sicher, dass die Entwickler sie in ihre Lieblingssprache exportieren können. Das bedeutet natürlich auch, dass die Hauptentwicklung und das Debugging außerhalb des IDE stattfinden werden. Wenn man Geld für ein Testtool ausgeben will, empfehle ich QF-Test. Für CoreMedia hat es noch einen zusätzlichen Nutzen, da wir auch Swing Anwendungen entwickeln und so ein Tool für alles haben. Der Support ist großartig und schnell und QF-Test hat große Verbesserungen in den letzten Jahren erlebt, was für die Zukunft sehr vielversprechend aussehen lässt.

Mark Michaelis, Software Engineer Quality Assurance, ISTQB Certified Tester

Über den Autor

Mark Michaelis ist ein Software Engineer Quality Assurance bei CoreMedia seit 2005. Er hat viel Erfahrung während des Debuggens und der Entwicklung von automatisierten Tests gesammelt. Diese Erfahrungen beinhalten:

  • den Schmerz beim Debuggen von schlecht geschriebenen GUI-Tests
  • die Arbeit mit GUI-Test-Tools, die zufällige Ergebnisse produzieren, wenn Tests wieder abgespielt werden und
  • den Nutzen und das gute Feedback für ein gut geschriebenes Test-Framework für GUI-Tests.

Mark Michaelis hat große Kenntnisse im Tool QF-Test und weniger große in anderen Web-Testtools.

Den kompletten Evaluationsbericht, können Sie hier (PDF nur auf Englisch) lesen.

Evaluationsbericht: Web-Test-Automation - Selenium vs. Windmill vs. QF-Test - Juli 2009, Mark Michaelis, CoreMedia, Hamburg.

(Der ursprünglich englische Text bzw. die Zitate wurden ins Deutsche übersetzt.)