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:
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.
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.
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:
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.
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.
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
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:
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.)
Wir verwenden Cookies zur anonymisierten Auswertung Ihres Besuchs auf unserer Webseite durch »Matomo«. Dafür benötigen wir Ihr Einverständnis, welches für zwölf Monate gilt. Ein Widerruf bzw. Opt-out ist jederzeit auf unser Datenschutz-Seite möglich.
1. Funktionale Cookies
Wir verwenden funktionale Cookies, um die Basisfunktionalität der Webseite zu gewährleisten.
2. Performance und Statistik Cookies
Wir verwenden Matomo zur Analyse und Optimierung unserer Webseite. Cookies erlauben eine anonyme Erfassung der Informationen und helfen uns, Ihnen einen benutzerfreundlichen Besuch unserer Webseite zu bieten.
Dieses Cookie enthält eine eindeutige jedoch pseudonymisierte Matomo-interne Besucher-ID zur Erkennung wiederkehrender Besucher.
Dieses Cookie wird verwendet, um zu tracken, von welcher Website der anonymisierte Benutzer auf die Website gekommen ist.
Das Session Cookie von Matomo wird verwendet, um die Seitenanforderungen des Besuchers während der Sitzung zu verfolgen.
wird erzeugt und versucht sofort wieder zu löschen (zur Prüfung, ob der Browser des Besuchers Cookies unterstützt).
Kurzzeit-Cookies für temporäre Besuchsdatenspeicherung.
Kurzzeit-Cookies für temporäre Besuchsdatenspeicherung.