Zurück zur Skill-Übersicht

Skill-Wissen und Projektmarkt

Test Automation

Freelancer, Projekte, Experten und Wissen rund um Test Automation.

Kategorie

Monitoring

Test Automation Freelancer und Projekte finden

Auf jobtic.com vernetzen sich IT-Freelancer direkt mit Recruitern, Fachbereichsleitern und Projektanbietern. Egal ob du Expertise im Bereich Test Automation suchst oder anbietest, unser intelligenter Algorithmus bringt dich direkt mit den passenden Spezialisten und Projekten zusammen.

Aktuelle Freelancer-Konditionen

Stundensätze 80 - 85 EUR Ø 83 EUR
Tagessätze 640 - 680 EUR Ø 660 EUR

Aktuelle Projekt-Angebote

Derzeit keine verfügbaren Statistiken

Jetzt Top-Freelancer mit fundierter Test Automation-Erfahrung finden

Mehr anzeigen

Auf jobtic.com präsentieren Freelancer Ihr Test Automation-Profil mit CV, Skills, Stundensatz, Projekthistorie und Remote-Präferenzen übersichtlich für Recruiter und Projektanbieter. Auftraggeber finden über die gezielte Freelancer-Suche schnell passende Experten, sowohl für Test Automation-Projekte als auch für andere IT-Bereiche und Skills.

SAP Test Manager
Freelancer Profil
Basic

Experte in Test Automation

SAP Test Manager

Test Automation Testing Testmanagement

Alles Wissenswerte zum Thema Test Automation

Wikipedia

Testautomatisierung

Artikel öffnen

Unter Testautomatisierung (auch Testautomation) ist die Automatisierung von Aktivitäten im Test zu verstehen, sowohl beim Softwaretest als auch bei Hardware.

Motivation

In der Softwareentwicklung ist es besonders wichtig, einen festen, definierten Status der Software zu kennen, so z. B.:

  • Ist die jetzige, neue Softwareversion besser als die alte Version?

Automatische Tests, die nach dem Einspielen einer Änderung unerwünschte Auswirkungen auf andere Funktionen abtesten, werden Regressionstests genannt. Sie machen Software bezüglich ihrer Qualität erst messbar und zeigen mögliche Nebeneffekte von vorgenommenen Änderungen direkt und erkennbar an. Sie dienen als direkte Rückkopplung für Entwickler und für Tester, die unter Umständen nicht in der Lage sind, das Gesamtsoftwaresystem auf einmal zu überschauen, sowie zur Erkennung von Nebeneffekten und Folgefehlern.

Die Testautomatisierung liefert demnach eine Metrik, die Anzahl erfolgreicher Testfälle pro Testlauf. Dadurch können folgende Fragen beantwortet werden:

  • Wann ist eine neue Anforderung durch eine Software vollständig erfüllt?
  • Wann ist ein Programmfehler behoben?
  • Wann ist die Arbeit des Entwicklers beendet?
  • Wer ist zu welchem Zeitpunkt wofür verantwortlich?
  • Welche Qualität hat eine neue Software-Version (siehe Entwicklungsstadium (Software))?
  • Ist die neue Software-Version qualitativ besser als die vorherige Version?
  • Hat ein behobener Fehler oder eine neue Anforderung eine Auswirkung auf bestehende Software (Änderung des Verhaltens der Software)?
  • Ist sichergestellt, dass der Echtbetrieb mit der neuen Software erfolgreich und sicher ist?
  • Was beinhaltet die Software tatsächlich an neuer Funktionalität sowie etwaigen Fehlerkorrekturen; ist dies nachvollziehbar?
  • Lässt sich der Liefertermin der Software noch einhalten, wenn eine Einschätzung der momentanen Qualität der Software nicht möglich ist?

Zur Beispielfrage: „Wann ist ein Programmfehler behoben?“ lautet die Antwort in diesem Fall:

„Genau dann, wenn alle schon existierenden Testfälle und auch die für den Programmfehler selbst geschriebenen Testfälle erfolgreich beendet wurden.“

Eine Rückmeldung liefert nur der ständige Test, und dieser ist durch Automatisierung erst möglich und realisierbar.

Ein weiterer Vorteil der Testautomatisierung ist die Beschleunigung des Entwicklungsprozesses. Wo bei Software-Projekten ohne Automatisierung die Produktion, die Installation und der Test nacheinander manuell durchgeführt werden, können bei vollautomatisierten Projekten (also wenn außer dem Test auch Produktion und Installation automatisierbar sind) diese drei Schritte automatisch nacheinander gestartet werden, z. B. in einem nächtlichen Lauf. Je nach Umfang des Projektes kann man gegebenenfalls diesen Ablauf abends starten und am nächsten Morgen das Testergebnis verfügbar haben.

Automatisierbare Aktivitäten

Prinzipiell lassen sich folgende Aktivitäten automatisieren:

  • Testfallerstellung
    • Testdatenerstellung
    • Testskripterstellung
  • Testdurchführung
  • Testauswertung
  • Testdokumentation
  • Testadministration

Testfallerstellung

Abhängig vom verwendeten Format zur Beschreibung eines Testfalles lässt sich die Testfallerstellung automatisieren, indem höhersprachliche Beschreibungen (Testspezifikationen) in dieses Format transformiert werden. Zur Testspezifikation werden Sprachen unterschiedlicher Abstraktionsstufe verwendet: einfache tabellenartige Notationen für Testdaten und Funktionsaufrufe, Skriptsprachen (z. B. Tcl, Perl, Python), imperative Sprachen (z. B. C, TTCN-3), objektorientierte Ansätze (JUnit) und deklarative und logische Formalismen sowie modellbasierte Ansätze (z. B. TPT). Dabei wird eine weitgehende und möglichst vollautomatische Übersetzung von Artefakten in einer maschinenfernen fachlichen Sprachebene in Artefakte in einer maschinennahen technischen Sprachebene angestrebt. Ein anderer Ansatz ist es, die Testfallerstellung anhand von zu deklarierenden Geschäftsobjekten dynamisch zu generieren. Liegt eine Testspezifikation nicht schon in ablauffähiger Form vor, sondern in einer nicht ausführbaren Sprache (z. B. UML, Excel-Tabelle, oder ähnliches), kann diese unter Umständen mit geeigneten Werkzeugen automatisch in ablauffähige Testfälle übersetzt werden.

Testdatenerstellung und Testskripterstellung

Da die Anzahl möglicher Eingabewerte und Abläufe eines Programms oft sehr groß ist, müssen bei der Generierung von Testfällen aus Testspezifikationen Eingabedaten und Abläufe gemäß der zu erzielenden Testabdeckung ausgewählt werden. Zur Testdatenerstellung kann dabei oft das Datenmodell der Software genutzt werden, zur Testskripterstellung werden beim modellbasierten Testen Verhaltensmodelle der Software verwendet. Lösungen, die ohne Skripten auskommen, sind auf dem kommerziellen Markt auch verfügbar.

Testdurchführung

Die Testdurchführung erfolgt heute weitgehend durch vollautomatische Testwerkzeuge. Abhängig vom Zielsystem kommen hier Unit-Test-Tools, Testsysteme für Grafische Benutzeroberflächen, Lasttestsysteme, Hardware-in-the-loop-Prüfstände oder andere Werkzeuge zum Einsatz. Für automatisierte Tests über die grafische Benutzeroberfläche von Webanwendungen haben sich unter anderem die quelloffenen Frameworks Selenium, Playwright und Cypress etabliert.[1]

Testauswertung

Zur Testauswertung muss das erhaltene Testergebnis mit dem Erwartungswert verglichen werden. Im einfachsten Fall ist hier nur ein Tabellenvergleich vorzunehmen; falls das Sollverhalten allerdings durch logische Constraints definiert ist oder extrem komplexe Berechnungen enthält, kann das so genannte Orakelproblem auftreten. Werden zwei Software-Versionen oder zwei Testzyklen und damit zwei Testergebnisse gegen das Soll-Ergebnis verglichen, so lassen sich Tendenzaussagen und Qualitätsstatistiken berechnen.

Testdokumentation

Bei der Testdokumentation wird aus den erhaltenen Testergebnissen ein nachvollziehbarer und verständlicher Testbericht erzeugt. Hierfür können Dokumentgeneratoren und Schablonenwerkzeuge eingesetzt werden.

Testadministration

Aufgabe der Testadministration ist die Verwaltung und Versionierung von Testsuiten sowie die Bereitstellung einer adäquaten Benutzungsumgebung. Neben Standardwerkzeugen wie Versionsverwaltungssystemen (z. B. Git) und Entwicklungsumgebungen (z. B. Eclipse) gibt es eine Reihe von Spezialwerkzeugen, die speziell auf die Belange des Softwaretests zugeschnitten sind.

Testautomatisierung in Continuous Integration und Continuous Delivery

Bei kontinuierlicher Integration und Continuous Delivery werden automatisierte Tests bei jeder Änderung am Quellcode als Teil einer Build-Pipeline ausgeführt. Die Testdurchführung verschiebt sich damit von periodischen, etwa nächtlichen Testläufen hin zu einer kontinuierlichen Rückmeldung an die Entwickler innerhalb von Minuten.[2] Für die Verteilung automatisierter Tests auf die Teststufen hat sich die von Mike Cohn beschriebene Testpyramide als Heuristik etabliert: Viele schnelle Modultests bilden die Basis, ergänzt um weniger Integrationstests und wenige Ende-zu-Ende-Tests über die Benutzeroberfläche.[3][4]

KI-gestützte Testautomatisierung

Seit den 2020er Jahren werden Verfahren des maschinellen Lernens und der generativen künstlichen Intelligenz in der Testautomatisierung eingesetzt, etwa zur Generierung von Testfällen und Testdaten aus Anforderungen sowie zur automatischen Anpassung der Objekterkennung grafischer Oberflächen bei Änderungen der Anwendung (sogenannte Self-Healing-Mechanismen). Das International Software Testing Qualifications Board trägt dieser Entwicklung mit dem Lehrplan „Certified Tester AI Testing“ Rechnung, der sowohl das Testen KI-basierter Systeme als auch den Einsatz künstlicher Intelligenz beim Testen behandelt.[5][6]

Universelle Architektur zur Testautomatisierung

Für die Automatisierung der oben genannten Aktivitäten existieren verschiedene Tools. Diese fokussieren stets die Lösung spezieller Aufgaben und unterscheiden sich in Bedienphilosophie, Syntax und Semantik. Daher ist es oft schwierig, die richtigen Tools für eine bestimmte Menge von Aktivitäten auszuwählen bzw. die Tools richtig einzusetzen. Eine Strukturierung und Einordnung der automatisierbaren Aktivitäten zur abstrahierten lösungsneutralen Toolfunktionalität bietet die universelle Testsystem-Architektur. Dazu definiert sie fünf Funktionsebenen: Testmanagement, Testausführung und -auswertung, Testbettsteuerung, Testobjektstimulation und -beobachtung sowie Testobjektumgebung. Die Testsystem-Architektur unterstützt die Integration vorhandener Test-Tools und -Komponenten in Testsysteme und stellt somit eine universelle Grundlage zur Testautomatisierung dar.

Software für automatisierte Software-Tests

Literatur

  • Dmitry Korotkiy: Universelle Testsystem-Architektur in der Mechatronik. Sierke Verlag, Göttingen 2010. ISBN 978-3-86844-238-0.
  • Manfred Baumgartner, Stefan Gwihs, Richard Seidl, Thomas Steirer, Marc-Florian Wendland: Basiswissen Testautomatisierung - Aus- und Weiterbildung zum ISTQB® Advanced Level Specialist – Certified Test Automation Engineer. 3., akt. u. überarb. Auflage. dpunkt.verlag, Heidelberg 2021, ISBN 978-3-86490-675-6, S. 398. 

Einzelnachweise

  1. Manfred Baumgartner, Stefan Gwihs, Richard Seidl, Thomas Steirer, Marc-Florian Wendland: Basiswissen Testautomatisierung. 3. Auflage, dpunkt.verlag, Heidelberg 2021, ISBN 978-3-86490-675-6.
  2. International Software Testing Qualifications Board: Certified Tester Advanced Level Test Automation Engineering (CTAL-TAE), Syllabus, Version 2.0. 2024, abgerufen am 11. Juli 2026 (englisch).
  3. Mike Cohn: Succeeding with Agile. Software Development Using Scrum. Addison-Wesley, Upper Saddle River 2009, ISBN 978-0-321-57936-2.
  4. Ham Vocke: The Practical Test Pyramid. martinfowler.com, 26. Februar 2018, abgerufen am 11. Juli 2026 (englisch).
  5. German Testing Board: Lehrplan Certified Tester AI Testing (CT-AI), Version 1.1D. 2023, abgerufen am 11. Juli 2026.
  6. Gesellschaft für Informatik: Der ISTQB „Certified Tester AI Testing“ (CT-AI). Abgerufen am 11. Juli 2026.
Wikipedia

Dieser Text basiert auf dem Artikel Testautomatisierung aus der freien Enzyklopädie Wikipedia und steht unter der Lizenz Creative Commons CC-BY-SA 3.0 Unported. Eine Liste der Autoren ist in der Wikipedia verfügbar.

Monitoring

Experten finden

jobtic.com verbindet IT-Freelancer und Projektanbieter im DACH-Raum. Unser Suchalgorithmus, der auf jahrzehntlanger Erfahrung im Contracting beruht, findet die besten Spezialisten im Bereich für dein Projekt.

Zentral vernetzen

Ob für Projekte oder den Wissensaustausch mit Gleichgesinnten: jobtic ist deine Plattform für Test Automation und alle Themen der IT-Welt. Vernetze dich direkt mit Experten und Projektanbietern, finde zu deiner Spezialisierung passende Aufträge und nutze aktuelles Know-how für dein Business.

Projekte veröffentlichen

Als Projektanbieter kannst du deine Projekte im Bereich Test Automation auf jobtic detailliert präsentieren, von den benötigten Skills über Remote-Optionen bis hin zum Stundensatz. Du entscheidest was du darstellen möchtest und wie. Unser Such-Algorithmus findet dabei noch während deiner Eingabe sofort passende Spezialisten für deine Anforderungen. Ganz gleich ob du Spezialisten aus dem Bereich Test Automation suchst, oder aus anderen IT-Bereichen.

Passende Projekte zu Test Automation

Mehr Projekte