Evaluation von QF-Test Web bei CoreMedia

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:

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 UI 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:

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 UI-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:

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.

Cookie-Konfiguration

Funktionale Cookies

Wir verwenden funktionale Cookies, um die Basisfunktionalität der Webseite zu gewährleisten.

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.

Cookie-Details
Bezeichnung Anbieter Gültigkeitsdauer Typ Verwendung
_pk_id Matomo 13 Monate HTTP Enthält eine eindeutige jedoch pseudonymisierte Matomo-interne Besucher-ID zur Erkennung wiederkehrender Besucher.
_pk_ref Matomo 6 Monate HTTP Wird verwendet, um zu tracken, von welcher Website der anonymisierte Benutzer auf die Website gekommen ist.
_pk_ses Matomo 1 Tag HTTP Das Session Cookie von Matomo wird verwendet, um die Seitenanforderungen des Besuchers während der Sitzung zu verfolgen.
_pk_testcookie Matomo Session HTTP Zur Prüfung, ob der Browser des Besuchers Cookies unterstützt.
_pk_cvar Matomo 30 Minuten HTTP Kurzzeit-Cookie für temporäre Besuchsdatenspeicherung.
_pk_hsr Matomo 30 Minuten HTTP Kurzzeit-Cookie für temporäre Besuchsdatenspeicherung.