Selenium, Appium und Chrome: Dreamteam für automatisiertes Testen von Weboberflächen

Mittwoch, 15.2.2017

automatisiertes testen von weboberflaechen

Aktuell werden viele betriebliche Anwendungen auf Basis von Web-Technologien umgesetzt. Gleichzeitig steigt die Komplexität dieser Anwendungen durch die Integration vielfältiger Interaktionsmöglichkeiten und Schnittstellen. Ein wichtiges Stichwort in diesem Zusammenhang ist die so genannte Digitalisierung.

Um den wachsenden Anforderungen auch in puncto Qualitätssicherung Rechnung zu tragen, bietet sich die Automatisierung von Regressionstests an: Bei der Realisierung von Testautomatisierungsvorhaben sollte zunächst eine Aufwand-Nutzen-Betrachtung vorgenommen werden. Als Ergebnis daraus sollte ein Vorgehen entwickelt werden, das bei relativ geringem Aufwand möglichst großen Nutzen verspricht.

Testest Du schon oder suchst Du noch nach geeigneten Testdaten? Jetzt Blogbeitrag lesen!

In unseren Projekten hat sich beim automatisierten Testen von Weboberflächen der Einsatz von Selenium in Kombination mit Chrome als Browser bewährt. Diese Kombination ermöglicht ein schnelles Aufsetzen von Testfällen bei gleichzeitig sehr hoher Stabilität. Auch plattformübergreifende Tests auf mobilen Endgeräten lassen sich durch geringfügige Adaptionen und durch den Einsatz von Appium sehr leicht realisieren.

Die ersten Testfälle sollten immer diejenigen sein, die den Standard-Anwendungsfall einer Software überprüfen. Im betrieblichen Kontext leuchtet dies schnell ein: Sofern Änderungen an der Software vorgenommen werden und die genannten Testfälle laufen auch nach den Änderungen noch, so sind die Menschen, die mit der Software arbeiten, immer noch handlungsfähig, selbst, wenn sich ein Fehler an anderer Stelle eingeschlichen haben sollte. Ausgehend von diesem Basis-Set an Testfällen können dann – wieder unter Berücksichtigung von Aufwand-Nutzen-Aspekten – weitere Testfälle realisiert werden. Die Testfälle sollten dabei so ausgewählt werden, dass die getestete Funktionalität absehbar nicht oder nur sehr wenig von Änderungen betroffen sein wird, denn sonst würde jede Änderung an der Software auch eine Änderung am Testfall nach sich ziehen.

Wichtig in diesem Zusammenhang ist, dass auch seitens der Qualitätssicherung Anforderungen an die Realisierung der automatisierten Softwaretests gestellt werden. Elemente auf einer Oberfläche sollten stets gleichbleibende und am besten noch „sprechende“ Namen bekommen, um den Zugriff so einfach wie möglich zu gestalten. Zwar ist es möglich, den Pfad zu einem Element anzugeben, aber durch Änderungen an der Oberfläche kann dieser Pfad sehr schnell ins Leere und damit zu einem Fehler bei der Durchführung eines Testfalls führen. Und gerade bei der Implementierung von Web-Oberflächen ist die Vergabe von eindeutigen Bezeichnern sehr einfach möglich.

Automatisiertes Testen von Weboberflächen mit Firefox

Automatisiertes Testen von Weboberflächen mit FirefoxNachdem Oberflächentests mit der Kombination von Selenium und Chrome bzw. durch den Einsatz von Appium realisiert wurden, kann begonnen werden, die Testfälle auf andere Browser zu übertragen, sofern dies notwendig ist.

Dabei hat sich gezeigt, dass Firefox ein weitere Browser ist, mit dem sich Testautomatisierung einfach umsetzen lässt. Allerdings sollte auf den Einsatz von Testfällen aus der Selenium-IDE weitgehend verzichtet werden. Insbesondere wenn es um fortgeschrittene Anforderungen wie das Einbinden von Testdaten geht, kommt dieses Werkzeug schnell an seine Grenzen.

Automatisiertes Testen von Weboberflächen mit dem Internet Explorer

Automatisiertes Testen von Weboberflächen mit dem IEBrowser wie der Internet Explorer von Microsoft lassen sich mit Selenium ebenfalls bedienen. Allerdings lässt sich schnell feststellen, dass der Aufwand für die Erstellung von Testfällen schon etwas größer wird – verglichen mit unserer Präferenz.

In der Praxis ist ab dieser Stelle dann häufig eine Grenze erreicht, ab der sich die Betrachtung weiterer Browser nicht mehr lohnt, da der Aufwand den Nutzen übersteigen würde.

Automatisiertes Testen von Weboberflächen: Apple-Welt verliert an Boden

Automatisiertes Testen von Weboberflächen in der Apple-WeltAn dieser Stelle tut sich die Frage auf, wie gut Webanwendungen auf Geräten von Apple getestet werden können. Vor nicht allzu langer Zeit liefen diese auch sehr stabil, so dass sie mit in das „Dreamteam“ gehörten. Aktuell ist das nicht mehr der Fall. Einige Änderungen an der Architektur bei Appium wie auch bei Apple selber haben dazu geführt, dass Tests dort nur mit Workarounds und auch nur sehr instabil laufen. Aus diesem Grund raten wir derzeit, auf das stabile Zusammenwachsen der Werkzeuge zu warten.

Um den Aufwand für den Test unabhängig von der Automatisierung in Grenzen zu halten, sollte zudem eine Empfehlung für den Betrieb der Anwendung gegeben werden. Im Extremfall kann eine Anwendung natürlich von allen möglichen Browsern geöffnet werden. Das treibt den Wartungsaufwand jedoch in immense Höhen.


Testest Du schon oder suchst Du noch nach geeigneten Testdaten? Jetzt Blogbeitrag lesen!

zurück zur Blogübersicht

Diese Beiträge könnten Sie ebenfalls interessieren

Keinen Beitrag verpassen – viadee Blog abonnieren

Jetzt Blog abonnieren!

Kommentare

Bernd Rinklake

Bernd Rinklake

Bernd Rinklake ist seit 2006 bei der viadee IT-Unternehmensberatung und war dort bereits in verschiedenen Rollen der Entwicklung von Individualsoftware tätig. Heute ist er Kompetenzbereichsleiter und damit verantwortlich für Leistungen der viadee rund um RPA, Testautomatisierung und Qualitätssicherung von Software.

Bernd Rinklake bei Xing