Testautomatisierung – erfolgreich automatisierte Softwaretests mit imbus

Automatisierte Tests sind ein Schlüssel für Qualität, Geschwindigkeit und Effizienz in der Softwareentwicklung. Doch wann lohnt sich Testautomatisierung wirklich? Welche Erfolgsfaktoren sind entscheidend? Und wie gelingt der Einstieg Schritt für Schritt?

imbus begleitet seit über 30 Jahren Unternehmen bei der Einführung und Optimierung von Testautomatisierung  – mit spezialisierten Beratern, erfahrenen Testautomatisierern und praxisbewährten Methoden.

Wir führen Testautomatisierungsprojekte durch und bieten folgende Leistungen an: 

  • spezialisierte Berater und Coaches
  • erfahrene Testautomatisierungsprogrammierer
  • paketierte Assessments, Workshops, Expert-Days
  • ein Outsourcing TestCenter für die Übernahme ganzer Projekte
  • die imbus Akademie für individuelle Weiterbildungen

Wann macht Testautomatisierung Sinn?

Eine Testautomatisierung soll die Produktivität des Testens verbessern und Qualität langfristig sichern.

Typische Vorteile:

  • Wiederkehrende Testschritte müssen nicht manuell wiederholt werden
  • Automatisierte Tests laufen rund um die Uhr (24/7)
  • Testteams werden von monotonen Aufgaben entlastet
  • Umfang und Abdeckung von Tests lassen sich erweitern
  • Komplexe Szenarien, die manuell kaum möglich sind, können getestet werden

Der positive Effekt wird umso wirksamer, je höher die Wiederholfrequenz ist und eine Ergebnisbewertung automatisiert möglich ist.

Vielfach wird in diesem Zusammenhang ein hoher Automatisierungsgrad als Ziel genannt. Die einfache Formel „Je mehr Testanteile automatisiert lauffähig sind, desto besser“ wirkt bestechend – muss aber mit den Erstellungs- und Wartungsaufwänden für die Automatisierungsprogramme im richtigen Verhältnis stehen.

ROI von Testautomatisierung - wann lohnt sich der Aufwand?

Testautomatisierung ist eine Programmiertätigkeit, die initial Aufwand erzeugt.

Dieser Aufwand amortisiert sich im Betrieb:

  • einzelne Testschritte lassen sich sehr schnell und kostengünstig ausführen
  • Tests können beliebig oft wiederholt werden
  • Regressionstests lassen sich automatisiert in jeden Release-Zyklus integrieren

Allerdings gilt: Jede Weiterentwicklung der Software (neue Releases, Updates der Betriebssysteme, Hardwarewechsel) erfordert Wartung der Automatisierungsskripte. Dieser Wartungsaufwand kann den Ersparnisvorteil teilweise oder ganz aufheben.

Der Return on Investment (ROI) muss deshalb immer berücksichtigt werden. Eine Automatisierung ist umso sinnvoller, je häufiger Tests wiederholt werden und je einfacher die automatisierte Auswertung der Ergebnisse möglich ist.

Eine Testautomatisierung ist also umso besser

  • je einfacher sie programmiert werden kann
  • je schneller sich der initiale Aufwand der Erstellung amortisiert
  • je robuster die Implementierung ist, also wie effektiv die Automatisierungsprogramme gewartet werden können

imbus bietet Expert Days und Workshops, in denen spezialisierte imbus Berater mögliche Showstopper und Umsetzungsfallen ermitteln, damit ein Break Even zwischen Aufwänden und Einsparungen in überschaubarer Zeit erreicht werden kann.

Die Empfehlungen der Berater orientieren sich an den konkreten Situationen:

  • sind Ziele adäquat formuliert?
  • können technische Rahmenbedingungen das Ziel gefährden?
  • welche Ausbildungen werden benötigt?

Die imbus Akademie bietet zahlreichen Weiterbildungen zu diesen Themen an, um den Wissenstand des eigenen Teams auf einen neuen Level zu heben.

Was macht eine Testautomatisierung erfolgreich?

Eine erfolgreiche Testautomatisierung von Softwaretests hängt von mehreren Faktoren ab:

Ein maßgeschneidertes Automatisierungskonzept

Wichtige Parameter für eine Testautomatisierung sind:

  • Definition realistischer Ziele (Automatisierungsgrad, Time-to-Market, Qualitätsziele, Risikobetrachtung)
  • Klare strukturierte Spezifikation und Durchführung
  • Technische Anbindung des Systems unter Test (SuT)
  • Auswahl geeigneter Methoden wie Keyword Driven Testing (KDT), Data Driven Testing (DDT) oder Behaviour Driven Testing (BDT)
  • Dokumentation der Konzepte – agil oder klassisch

Ob agil oder klassisch - unabhängig von der Entwicklungsmethodik macht es Sinn, diese Konzeptelemente schriftlich zu fixieren.

imbus analysiert in spezialisierten TA-Expert-Days die zugrundeliegende Situation und spricht Empfehlungen für eine Roadmap aus. Die Erstellung des situationsgerechten Automatisierungskonzept erfolgt auf Basis von bewährten Methoden (best practices) und vor dem Hintergrund von über 30 Jahren TA-Erfahrung! Ein entsprechendes Konzept-Template haben die imbus Quality Engineers dabei!

Workshop zur Testautomatisierungs-Strategie anfragen

Die 10 typischen Fehler in der Testautomatisierung

Die richtige Architektur

Die in der Literatur beschriebene 3-Schichten generische Testautomatisierungsarchitektur (gTAA) bietet eine bewährte Grundlage zur strukturierten Umsetzung der oben genannten Punkte:

  • Testdefinition (Spezifikation)
  • Testdurchführung
  • Anbindung des Systems under Test (SuT)

imbus berät umfassend zur passenden Architektur und unterstützt das Aufsetzen eines entsprechenden TA-Frameworks – onsite wie auch als schlüsselfertig Lösung im imbus eigenen TestCenter!

Eine funktionierende Werkzeugkette

Eine nachhaltige Testautomatisierung benötigt Tools für:

  • Prozessmanagement
  • Anbindung des Testobjekts (SuT)
  • Requirements-Management
  • Defect-Management
  • Reporting & Auswertung

imbus kennt alle relevanten Werkzeuge am Markt – von Open-Source bis Enterprise-Lösung – und unterstützt bei Toolevaluierungen, Proof-of-Concept-Projekten und Entscheidungsvorlagen.

Diese Werkzeuge haben ganz unterschiedliche Fähigkeiten und Einsatzschwerpunkte – abhängig von Basistechnologien, Implementierung der zu testenden Software, Bedienbarkeit und Integrationsfähigkeit. Idealerweise und zugunsten von Geschwindigkeit und Prozessqualität agieren diese Tools in einer integrativen Werkzeugkette.

Ob Open Source-Lösungen oder kommerzielle Produkte – als langjähriger hochspezialisierter Anbieter von Software Qualitätssicherung und -Test hat imbus Erfahrungen mit allen relevanten Werkzeugen am Markt, die man zur Steigerung der Qualität einsetzen kann.

imbus unterstützt sie bei der Auswahl der geeigneten Werkzeuge, führt Toolevaluierung und Proof-of-Concept-Projekte durch und liefert die projektrelevanten Fakten in Form von Entscheidungsvorlagen.

Robuste und wartungsarme Implementierung

Die Umsetzung entscheidet über die Stabilität. Wichtige Erfolgsfaktoren:

  • Know-how im Umgang mit Tools & Frameworks
  • Erfahrung in Testautomatisierungsprojekten
  • ein eingespieltes Team

Die Zusammenstellung des Testautomations-Teams ist ein weiterer kritischer Erfolgsfaktor, der den Unterschied macht hinsichtlich einer zügigen Umsetzung und einer wirklich robusten Lösung, deren Wartungsaufwände nicht aus dem Ruder laufen.

imbus stellt spezialisierte Quality Engineers, die komplette Automatisierungslösungen umsetzen oder bestehende Teams coachen und ergänzen.

Darüber hinaus bietet imbus ein Testautomatisierung-Outsourcing-Modell an, bei dem alle Aufgaben einschließlich Infrastruktur und Tools bereitgestellt werden.

Jetzt Expert-Day oder Assessment anfragen

Wie kommt man zu einer guten Testautomatisierung?

Eine gute Testautomatisierung entsteht Schritt für Schritt:

  1. Readiness-Assessment: Grundlagen prüfen
  2. Strategie & Konzept festlegen
  3. Toolauswahl und Architektur bestimmen
  4. Pilotierung & Implementierung starten
  5. Wartung & Optimierung sicherstellen

Welche einzelnen wesentlichen Aufgaben im jeweiligen Schritt zu erledigen sind, kann im Einzelfall variieren, zum Beispiel können bereits vorhandene Automatisierungswerkzeuge eine Toolevaluierung überflüssig machen. Dabei stellt sich oft die Frage, ob bereits genügend Fakten vorliegen, um mit einer Automatisierung überhaupt zu beginnen. Zu Beginn sollten die wesentlichen Grundlagenentscheidungen getroffen werden, um damit die Voraussetzungen für die weitere Arbeit zu schaffen. Mit Feststellung der „TA-Readyness“ können die nächsten Schritte angepackt werden.

imbus begleitet durch alle Phasen – von der Strategie bis zur Umsetzung – und übernimmt auf Wunsch die vollständige Verantwortung für die Automatisierungslösung.

Testautomatisierung in der agilen Softwareentwicklung

Im agilen Umfeld ist Testautomatisierung unverzichtbar. In kurzen Iterationen (Sprints) entstehen potenziell auslieferbare Softwareteile (nach SCRUM sogenannte potential shipable products), die sofort getestet werden müssen.

  • Test-First-Strategien sichern die Qualität schon vor der Implementierung
  • Automatisierte Tests bilden eine wachsende Regressionstest-Bibliothek
  • Exploratives Testen ergänzt die Automatisierung
  • Langfristige Qualitätssicherung wird über viele Sprints hinweg möglich

Dabei setzen sich Entwickler und Testspezialisten zusammen und überlegen, welche Tests für die Abnahme des potential shipable products erforderlich sind – und programmieren diese auch gleich als automatisierte Tests. Die anschließende Entwicklung des eigentlichen Testobjekts ist frühestens dann abgeschlossen, wenn alle diese Tests erfolgreich absolviert wurden. Die Summe der Tests kann dann als ständig wachsende Testbibliothek für die Regressionstest in allen späteren Sprints verwendet werden. Hier spricht man oft auch von „Systemtest NonStop

Unabhängig von der wachsenden Menge automatisierter Testprozeduren wird vielfach dann das System under Test (SuT) noch zusätzlichen manuellen Tests unterzogen, z.B. mit explorativen Methoden.

Dennoch liegt oft die erste Priorität auf der Automatisierung, da nur über sie eine langfristige Qualitätssicherung über lange Folgen von Sprints möglich ist

imbus unterstützt den gesamten agilen Entwicklungsprozess mit:

  • Readiness-Assessments (z. B. T-5-Assessment)
  • Coaching und Mitarbeit in Sprints
  • QS-Know-how, Automatisierung und Testdesign

Durch Mitwirken in den Sprints bringen imbus Quality Engineers das erforderliche QS-Wissen ein, coachen das Team. Die Erstellung von Tests, Programmierung von Testautomatisierung, Freigaben u.v.m. können direkt in den agilen Teams genutzt werden.

Mehr zu Agilem Testen und DevOps erfahren

Warum Testautomatisierung mit imbus?

 

Ihr Weg zur erfolgreichen Testautomatisierung

Eine durchdachte Testautomatisierung sorgt für mehr Qualität, schnellere Releases und geringere Kosten.
Mit imbus profitieren Sie von langjähriger Erfahrung, praxisbewährten Methoden und einem Team, das Sie von der Strategie bis zur Wartung begleitet.

Jetzt unverbindlich Kontakt aufnehmen

Anmeldung imbus Newsletter

Wenn Sie keine Neuigkeiten rund um Softwaretest und Softwarequalitätssicherung verpassen wollen, abonnieren Sie den imbus-Newsletter unter https://www.imbus.de/newsletter.

Zum Newsletter anmelden