Testautomatisierer

Grundlagen eines Testers

Um die Qualität von Software effizient und effektiv zu verbessern, nutze ich die Vorteile von Testautomatisierung. Als Testautomatisierer implementiere ich die Abläufe für die einzelnen Testarten - z.B. Oberflächentests - und erledige die Integration in die Testumgebung(en). Wo möglich, nutze ich Standards und Frameworks, kann aber auch individuelle Lösungen erstellen.
Dabei wirkte ich als Testautomatisierer mit soliden Kenntnissen in den Bereichen Qualitätssicherung, Qualitätsmanagement und Softwareentwicklung in meinen Kundenprojekten. Die Tiefe der benötigten Kenntnisse ist stark vom Projektkontext, des System Under Test (SUT) und der eingesetzten Testwerkzeugen abhängig.

...weiter lesen

Zu den typischen Aufgaben als Testautomatisierer gehört der eigenverantwortliche Entwurf von Testfällen auf Basis der technischen Testfallspezifikation, des Fachkonzeptes, User Stories o.ä., ähnlich wie bei den Kollegen des Testdesigns. Darüber hinaus schreibe ich die Testfallskripte und stelle die Korrektheit der Kodierung sicher. Natürlich unterliegen die erstellten Testfallskripte auch Wartung und Ausführung durch mich. Die Teststkripte selbst können auf jeder Ebene der Testpyramide angesiedelt sein. Dazu können Tests auf Modul- und Komponentenebene (z.B. Unit Test), Integrationsebene (z.B. API Test) und/oder der UI-Ebene (z.B. Appium-/Seleniumtest) gehören.
Ergänzend überwache und pflege ich die Testinfrastruktur und entwerfe die notwendigen Hilfsprogramme (Stubs, Treiber, Generatoren) für das jeweilige Testausführungsumfeld. Als Testautomatisierer koordiniere ich zusammen mit dem Testmanager den automatisierten Regressionstest und baue ein Reporting auf. Letzteres kann, z.B. via E-Mail, über eine eigene Reportingseite oder direkt im Testmanagementwerkzeug erfolgen.
Testautomatisierer

Eine weitere Aufgabe habe ich die Evaluation des richtigen Automatisierungswerkzeugs. Dabei berate ich den Testmanager und berücksichtige die Anforderungen, die Kenntnisse der Tester sowie Eigenschaften des Testobjekts. Soll das Testwerkzeug auch von Mitarbeitern ohne Programmierkenntnisse bedient werden können, lohnt sich ggf. der codelose, KI-gestützte Ansatz über ein kommerzielles Testwerkzeug (z.B. Tricentis Tosca).

Video

Qualitätsmanagement

Rolle als Testautomatisierers

Als Testautomatisierer bin ich für Entwurf, Implementierung, Wartung und Weiterentwicklung der Automatisierungslösung verantwortlich. Es gilt, die Anforderungen und Größe des zu testenden Systems beachten. Soll die Automatisierungslösung über mehrere Releases eingesetzt werden sowie eine große Anzahl von Testfällen enthalten, hat sich das Entwurfsmuster Page Object Model (POM) bewährt. Hierbei wird die Test Automation Architectur (TAA) so gestaltet, dass verschiedene Seiten einer Applikation in einzelne Objekte gegliedert werden. Somit ist die Lösung im Verlauf leichter wartbar, da Änderungen nur an einer zentralen Stelle gepflegt werden müssen anstatt in jedem Testfall.

Eine andere Möglichkeit ist, die Fachseite in die Automatisierung miteinzubinden. Hierzu empfehle ich Ansätze, wie z.B. Behaviour Driven Design (BDD). Bei diesem Ansatz werden die Automatisierungsskripte in eine (Meta-) Sprache übersetzt, um sie auch für Mitarbeiter mit wenig Programmierkenntnissen leichter zugänglich zu machen.

Ebenso muss ich künftige Methoden, wie z.B. Continuous Integration, Continuous Delivery und Continuous Deployment (CI/CD) berücksichtigen. Bei CI/CD handelt sich hier um eine Methode, bei der regelmäßig Software bereitgestellt und alle Phasen der Anwendungsentwicklung automatisiert werden. Eine solche CI/CD Pipeline sorgt für eine kontinuierliche Automatisierung und Überwachung über den gesamten Software Lifecycle hinweg, von der Implementierungs-, Integrations- und Testphase bis hin zur Bereitstellung.
Lade...