Von Sven Rudolph, Leiter Test Automation & Agile Testing, Telekom MMS

Mit Testautomatisierung lassen sich Geschwindigkeit, Qualität und Effizienz von Softwareentwicklung steigern und gleichzeitig Kosten senken. Dafür haben unsere Kolleg*innen das Java-basiertes Framework „Testerra“ entwickelt, mit welchem unterschiedliche Web-Anwendungen automatisiert getestet werden können. Seit 2021 steht Testerra als Open Source auf Github zur Verfügung, um eine offene, aktive und transparente Entwicklung der Software voranzutreiben. Wie der Weg bis zum Framework aussah und welche Möglichkeiten sie dadurch für User*innen ergeben, zeigen wir in diesem Beitrag.

Wie das alles begann…

Alles begann vor knapp 15 Jahren. Ein kleines Team aus acht Kolleg*innen beschloss, sich mit dem Thema „Testautomatisierung für Webanwendungen“ intensiver zu beschäftigen, was gleichzeitig der Startschuss für die Gründung des Geschäftsbereichs „Testautomation“ war.

Schnell erkannte das zunächst kleine Team, dass es sehr viele unterschiedliche Herangehensweisen für die Testautomatisierung gab und sich auch eine vielschichtige und unübersichtliche Toollandschaft von Testautomatisierungslösungen gebildet hatte. Nicht nur die von Frameworks und Tools, sondern auch die Funktionsweise dieser Lösungen bieten viele unterschiedliche Herangehensweisen an das Thema.

Das Team wollte daher aufgrund der vielen unterschiedlichen Entwicklungsprojekte und Technologien auf ein Framework setzen, welches Open Source, sehr stabil und trotzdem gut erweiterbar sein sollte.

Nach einer Vielzahl von Evaluierungen entschieden sie sich, auf das Framework Selenium zu setzen, welches speziell für automatisierte Softwaretests von Webanwendungen konzipiert wurde. Selenium bot schon damals eine hohe Zahl an Features und gute Erweiterbarkeit. Mittlerweile gilt es als Industriestandard zur Testautomatisierung von Web-Anwendungen.

YouTube

Mit dem Laden des Videos akzeptieren Sie die Datenschutzerklärung von YouTube.
Mehr erfahren

Video laden

PGlmcmFtZSB3aWR0aD0iNTYwIiBoZWlnaHQ9IjMxNSIgc3JjPSJodHRwczovL3d3dy55b3V0dWJlLW5vY29va2llLmNvbS9lbWJlZC9aSzJIajFqWWpMUT9zaT1aeHRoS2dHVkl4LVYzNVpfIiB0aXRsZT0iWW91VHViZSB2aWRlbyBwbGF5ZXIiIGZyYW1lYm9yZGVyPSIwIiBhbGxvdz0iYWNjZWxlcm9tZXRlcjsgYXV0b3BsYXk7IGNsaXBib2FyZC13cml0ZTsgZW5jcnlwdGVkLW1lZGlhOyBneXJvc2NvcGU7IHBpY3R1cmUtaW4tcGljdHVyZTsgd2ViLXNoYXJlIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+

Ein Jahrzehnt der Entwicklung

Im Laufe von mehr als 10 Jahren und auf Grundlage der unterschiedlichsten Anforderungen von über 300 Projekten und verschiedenen Technologien ist ein robustes und vielseitiges Framework entstanden. Der Vorgänger von Testerra war zunächst nur für den internen Gebrauch vorgesehen.

Seit 2021 steht dieses Framework unter dem Namen Testerra auf den Github-Seiten der Telekom als Open Source für jeden zur freien Verfügung.

Was kann Testerra?

Testerra ist ein Ready-to-use-Framework, das heißt, es ist mit geringem Initialaufwand einsatzbereit.

Unter anderem bietet Testerra folgende Highlights:

  • Eine erleichterte Erstellung automatisierter Tests durch Vereinfachung komplexer Abläufe und Befehlsketten gegenüber Selenium,
  • Eine einfache Handhabung von Browserinstanzen.
  • Testerra legt Wert auf eine hohe Ausführungsstabilität.
  • Parallelisierte Ausführung von automatisierten Tests.
  • Website-Elemente können auch auf ihr Layout hin geprüft werden, entweder auf Basis von Screenshots oder ihrer Lage im Seiten-DOM.
  • Testerra unterstützt das Page-object pattern, um automatisierte Tests sinnvoll zu strukturieren und Komponenten wiederverwendbar zu machen.
  • Es wird die neueste Selenium-Version 4 unterstützt.

Aktuell erprobt das Team einen Prototypen zur Testautomatisierung mit künstlicher Intelligenz. Den GitHub-Insights entsprechend ist die Entwicklung sehr aktiv.

Wie funktioniert das Framework im Testautomation-Alltag?

Bei Testerra handelt es sich um ein konventionelles Java-Framework, was in jedem beliebigen Java-Projekt eingesetzt und auch so entsprechend ausgeführt werden kann. Daher lässt es sich problemlos in bestehende Infrastrukturen bzw. Pipelines integrieren und ist damit Sec- und DevOps-freundlich. Inzwischen können wir damit nicht nur Tests mit diversen Browsern (Chrome, Edge, Firefox, Safari) auf den verschiedensten Plattformen (Windows, Linux, Mac) ausführen, sondern steuern auch Endgeräte in der Mobile Device Cloud oder synchronisieren Testergebnisse mit Jira Xray oder Micro Focus ALM Quality Center.

Wo wird Testerra bereits eingesetzt?

Eingesetzt wird das Framework erfolgreich in großen Testprojekten für namhafte Kunden. Es können sowohl Standard-Softwareprodukte (wie z.B. Salesforce) als auch Individualsoftware getestet werden. Die größten Projekte haben deutlich mehr als tausend Testfälle und tausende Betriebsstunden im Monat.

Wie kann ich das ausprobieren?

Wichtige Voraussetzung ist eine Java-Entwicklungsumgebung (JDK, Maven/Gradle) mit einer vernünftige IDE (Wir schwören auf Jetbrains IntelliJ IDEA).

Ansonsten gibt’s hier Hilfestellung:

Weiterführende Informationen

>Testerra Website

>Testerra auf Github

>Testerra Dokumentation


Gastautor Sven Rudolph, Leiter Test Automation & Agile Testing, Telekom MMS

Sven Rudolph ist Leiter des Bereichs Test Automation & Agile Testing. Nach seinem Abschluss als Diplom Ingenieur für Medientechnik sammelte er langjährige Erfahrung in den Bereichen Digital Reliability, Projektmanagement und Mitarbeiterführung. Zudem erhielt er Zertifizierungen als EFQM Assessor, Project Management Professional (PMP/PMI) und Microsoft Certified Professional (MCP).


Teaser zum Whitepaper "Testautomatisierung: So setzen Sie Testautomatisierung in Ihrem Unternehmen ein"
Link führt zur Download-Seite auf der Corporate Site der Telekom MMS

Noch mehr Open Source?