Agiles Testmanagement in der CI/CD Pipeline. Entdecken Sie jetzt unser neues E-Book!

Jetzt unser neues E-Book entdecken!

Was macht ein Testautomatisierer? Aufgaben eines Testautomation Engineers

Aufgaben eines Testautomation Engineers
Lesedauer: 4 Minuten

In Zeiten zunehmender Digitalisierung ist die Automatisierung der Tests ein essenzieller Bestandteil von Softwareentwicklungsprojekten. Gerade in komplexeren Projekten empfiehlt es sich, professionelle Hilfe durch einen Testautomation Engineer einzuholen. Zudem gehen wir in diesem Blogartikel auch darauf ein wie man zu einer ISTQB Advanced Level Test Automation Engineer Zertifizierung kommt. Zunächst beginnen wir mit den unterschiedlichen Tätigkeiten, die sich ein professioneller Test Automation Engineer in seiner täglichen Arbeit stellt.

Was ist ein Testautomation Engineer / Testautomatisierer?

Ein Testautomation Engineer ist ein Entwickler oder Tester mit soliden Kenntnissen in den Bereichen Qualitätssicherung, Qualitätsmanagement und Entwicklung. Die Tiefe der benötigten Kenntnisse differiert hierbei stark je nach Art des Entwicklungsprozesses, des System Under Test (SUT) und der eingesetzten Tools.

Typische Aufgaben eines Testautomation Engineers / Testautomatisierer

Zu den typischen Aufgaben einen Testautomation Engineers gehört das Schreiben, Warten und Ausführen von automatisierten Testfallskripten. Diese können auf jeder Ebene der Testpyramide angesiedelt sein. So können Tests auf Komponentenebene (z.B. Unit Test), Integrationsebene (z.B. API Test) und/oder der UI-Ebene (z.B. Seleniumtest) zu den Aufgaben eines Testautomation Engineers gehören.

Rolle eines Testautomation Engineers bei Testautomatisierungslösungen
Bild: Rolle eines Testautomation Engineers bei Testautomatisierungslösungen. (Klicken zum Vergrößern) [Quelle: Qytera]

Auswahl der Testautomatisierungs-Tools

Eine weitere Aufgabe des Testautomation Engineers ist die Beratung des Testmanagers oder die direkte Auswahl des richtigen Automatisierungstools. Hierbei müssen die Anforderungen, Kenntnisse der Tester und Eigenschaften des Testobjekts berücksichtigt werden. Sollte das Tool auch von Mitarbeitern ohne tiefe Programmierkenntnisse bedient werden können, lohnt es sich oft, auf Tools mit einer integrierten Aufnahmefunktionen (z.B. Ranorex zu setzen. Der Testautomation Engineer ist hierbei vor allem für komplexere Funktionen, Konfigurationen und die Architektur zuständig.

Auswahl der richtigen Testautomatisierungsarchitektur

Der Testautomation Engineer ist auch für Entwurf, Entwicklung und Weiterentwicklung der Automatisierungslösung zuständig. Hierbei müssen die Anforderungen und Größe des SUT beachtet werden. Sollte die Test Automation Solution (TAS) für einen längeren Zeitraum eingesetzt werden sowie eine größere Anzahl von Testfällen enthalten, lohnt es sich häufig, auf bewährte Methoden oder Entwurfsmuster wie das Page Object Pattern Design zu setzen. Hierbei wird die Test Automation Architectur (TAA) so gestaltet, dass verschiedene Seiten einer Applikation in einzelne Objekte gegliedert werden. Somit ist die TAS leichter wartbar, da Änderungen nur an einer zentralen Stelle gepflegt werden müssen anstatt in jedem Testfall.

Eine andere Möglichkeit ist es, die Fachseite mit in die Automatisierung einzubinden. Hierzu empfehlen sich Ansätze wie ein Keyword oder Behaviour Driven Design (wie BDD). Bei beiden Ansätzen werden die Automatisierungsskripte in eine leicht verständliche (Meta-) Sprache übersetzt, um sie auch für Mitarbeiter mit wenig Programmierkenntnissen leichter zugänglich zu machen. Ebenso sind künftige Anforderungen, wie die Anbindung der TAS z.B. an eine CI/CD Pipeline zu berücksichtigen.

Testautomatisierungs-Framework für den Testautomation Engineer
Bild: Testautomatisierungs-Framework für den Testautomation Engineer. (Klicken zum Vergrößern) [Quelle: Qytera]

Reporting

Bei der Erstellung des TAF ist zudem auf das richtige Reporting zu achten. Die Ergebnisse können je nach Anforderungen, z.B. per Mail, über eine eigene Reportingseite oder direkt im Testmanagementtool gespeichert werden. Die Auswertung und die Ergebnismeldung an den Testmanager oder Kunden liegen ebenfalls im Verantwortungsbereich des Testautomation Engineers.

Optimierung einer bestehenden Test Automation Solution

In vielen Projekten sind bereits kleine Testsuiten für Regressionstests oder Smoke Tests vorhanden. Diese stoßen jedoch ohne sorgfältige Planung oft schnell an ihre Grenzen, da sie schlecht wartbar oder langsam sind. Deshalb ist ein wesentlicher Bestandteil der Aufgaben eines Testautomation Engineers die Optimierung der bestehenden TAS.

Dies kann über verschiedene Wege verfolgen: z.B. eine solide Grundarchitektur zu entwickeln, um die Wartbarkeit zu steigern oder die TAS für eine Parallelausführung durch z.B. Jenkins oder Selenium Grid vorzubereiten. Eine andere Möglichkeit ist es, bestehende, mehrfach ausgeführte Testschritte oder Testfälle die z.B. auf der Systemeben ausgeführt werden, durch schnellere Funktionen auf der Integrationsebene auszutauschen. Außerdem sollten auch die Testfälle regelmäßig einem Review unterzogen werden, um gegebenenfalls alte und nicht mehr kritische Testfälle durch aktuelle zu Ersetzen.

Software-Entwicklungs-Lebenszyklus für einen Testautomation Engineer
Bild: Software-Entwicklungs-Lebenszyklus für einen Testautomation Engineer. (Klicken zum Vergrößern) [Quelle: Qytera]

Auswahl der Testautomatisierungsstrategie

Der Testautomation Engineer entscheidet oder berät den Testmanager ebenfalls in der Auswahl der richtigen Testautomatisierungsstrategie. Testautomatisierung lohnt sich vor allen bei Tätigkeiten, die oft wiederholt werden müssen, wie dem Regressionstest. Es lohnt sich jedoch oft auch, Ansätze wie risikobasiertes Testen oder der Automatisierung nach User Journey (szenariobasiertes Testen) mit in die Automatisierung einfließen zu lassen. Hierbei kann aus verschiedenen Ansätzen gewählt und kombiniert werden. Dadurch besteht ein Teil der Aufgaben auch darin, die bereitgestellten manuellen Testfälle zu überarbeiten und für die Automatisierung zu optimieren.

Ebenso ist eine Planung für die Durchführung der Testfälle nötig. So kann ein Regressionstest z.B. über ein Nightly Build ausgeführt werden, wohingegen ein Smoketests durch eine Änderungen in der Software ausgelöst werden kann.

Wie wird man Testautomation Engineer / Testautomatisierer und welche Rolle spielen dabei Zertifizierungen?

Eine Ausbildung zum Testautomation Engineer im herkömmlichen Sinne existiert nicht. Es gibt allerdings die Möglichkeit, sich nach ISTQB (International Software Testing Qualifications Board) zertifizieren zu lassen. Hierfür muss man zuerst das Zertifikat ISTQB Certified Tester Foundation Level erlangen, für welches man mindestens 18 Monate Tätigket im Testbereich nachweisen muss. Im Anschluss kann man dann das Zertifikat ISTQB Advanced Level Test Testautomation Engineer anstreben.

Das Erwerben von Zertifizierungen hat mehrere Vorteile für Ihre Berufslaufbahn als professioneller Tester. Zum einen punkten Sie bei der Bewerbung für eine Stelle im Bereich Testautomation Engineer. Hier ist es auch nicht falsch, wenn man zusätzlich noch Zertifikate im Bereich Test Analyst oder Technical Test Analyst vorweisen kann. Häufig wird bei der Wahl einer Besetzung darauf geachtet, dass die nötigen Zertifizierungen vorliegen.

Zum anderen lernt man viele Standards in unterschiedlichen Bereichen wie Testarchitektur oder Testautomatisierung Planung. Die Standards, welche mit den ISTQB-Zertifizierungen erlernt werden können, sind in der Praxis erprobt und bilden eine Basis, auf der man schnell mit anderen Personen zusammenarbeiten kann. Sowohl Begrifflichkeiten als auch Abläufe sind bei gleicher Basis des Teams eine spürbare Erleichterung.

Zusätzlich ist es mit dem Wissen, welches man durch die Zertifizierungen erlangt, eine spürbare Erleichterung, sich in einem neuen Umfeld zurechtzufinden.

Fazit

Die Aufgaben eines Testautomation Engineer sind vielschichtig und haben Bezug zu vielen anderen Tätigkeiten in der Softwareentwicklung. Deshalb ist eine gute Kommunikationsfähigkeit ein Bestandteil der Fähigkeiten eines Testautomation Engineers. Durch eine schnelllebige digitale Welt und der Anforderung, neue oder geänderte Funktionalitäten immer schneller dem Anwender zu Verfügung zu stellen, ist Testautomatisierung ein fester Bestandteil der modernen Softwareentwicklung geworden. Ein Testautomation Engineer kann ihnen hierbei helfen, die Qualität ihrer Software besser abzusichern.

Kostenlosen Testautomatisierungs Workshop mit unseren Testexperten unverbindlich vereinbaren. Kostenlosen Testautomatisierungs Workshop mit unseren Testexperten unverbindlich vereinbaren.
17. Oktober 2020

Über den Autor

Bild des Benutzers Maximilian Bodsch
Senior Test Automation Engineer
Maximilian Bodsch hat sich nach 6 Jahren Testerfahrung bei der Siemens AG auf den Bereich Testautomatisierung fokussiert. Darüber hinaus ist er ISTQB-Advanced Level zertifiziert (Automation Engineer und Testmanagement).

Finden Sie weitere interessante Artikel zum Thema: