Effizientere Softwareentwicklung durch Testautomatisierung

Testautomatisierung ist als Methode der agilen Softwareentwicklung heute unerlässlich. Um Software kontinuierlich ausliefern zu können, muss auch kontinuierlich getestet werden. Dabei erkennen wir in unseren Kundenprojekten, dass manuelle Tests, die immer wieder ausgeführt werden müssen, hohe Kosten und hohen Aufwand erfordern, insbesondere auf Seiten der Fachbereiche.

Unsere Erfahrung zeigt, dass circa 80 Prozent der Tests Wiederhol-Testaufwände (Regression) sind.

Hier liegt der Testaufwand schnell um ganze Größenordnungen höher als die Codeänderung. Eine geänderte Codezeile kann hunderte Regressionstests nach sich ziehen. Daher ist es nur durch die Automatisierung der Softwaretests möglich, neue Software schnell, bedarfsgerecht und in hoher Qualität bereitzustellen.

Insgesamt wird der Testaufwand der Fachabteilung um bis zu 90 Prozent reduziert und eine Zeitersparnis von 70 Prozent erreicht.

Unser methodisches Vorgehen im Bereich Testautomatisierung

Profitieren Sie von unserer Beratungs- und Umsetzungskompetenz bei der Konzeption einer modernen Testautomatisierungs-Infrastruktur. Wir verfügen aufgrund zahlreicher Projekte über ein umfassendes Know-how im Bereich DevOps und der damit verbundenen Testautomatisierung.

Als Teil der Quality Assurance (QA) testen wir Software, mit dem Ziel, die Qualität und damit den Wert der Software zu erhöhen. Testen ist kein Selbstzweck, sondern liefert Indizien, um Verbesserungspotentiale systematisch zu identifizieren und kontinuierlich zu nutzen – und das möglichst früh im Produktionsprozess.

Im Sinne einer Continuous Communication werden im Zuge der Testautomatisierung sowohl die Fachabteilung als auch die Software- und Testentwickler*innen bei der Ableitung automatisierbarer Akzeptanztests gleichermaßen einbezogen. Diese gemeinsame Qualitätsverantwortung besteht während des gesamten Softwareentwicklungsprozesses. So stellen wir sicher, dass die Software nicht nur in optimaler Qualität, sondern auch bedarfsgerecht geliefert wird. Die automatisierten Softwaretests können sehr schnell und regelmäßig parallel zum Entwicklungsprozess durchlaufen werden, so dass Fehler, Probleme und Missverständnisse direkt erkannt und behoben werden.

Finden Sie weiteres Material in unserem Downloadbereich zum Thema Testautomatisierung

Anwendung des Wirtschaftlichkeitsprinzips durch die Testpyramide

Wir testen entlang der Testpyramide (Unit > Komponente > Integration > UI):

Das bedeutet wir machen für die Softwareentwickler*innen das Schreiben der Tests der Teststufen Unit, Komponente, und Integration zum Bestandteil der Definition of Done aller fachlichen Anforderungen (User Stories). Und wir schaffen die Rolle des*r Testentwicklers*in für die Teststufe UI, dessen Aufgabe darin besteht den fachlichen Wiederholtestumfang in Testautomatisierung zu überführen, also einen Testroboter für die Computer-Mensch-Schnittstelle zu schaffen. Dafür setzen wir universelle Multiplattform-Test-Frameworks wie Ranorex Studio ein, in denen Branchenstandards wie Selenium Webdriver bereits integriert sind. In der Folge testen Mitarbeiter*innen der Fachabteilungen nur noch die neuen User Stories, während der Testroboter die Regressiontests erledigt. Die Testpyramide entsteht durch die Gewichtung der Teststufen gemäß dem Wirtschaftlichkeitsprinzip. Die Wirtschaftlichkeit eines Tests berechnet sich aus der Geschwindigkeit der Ausführung und der benötigten Zeit zur Erstellung und Pflege, gegenüber der Fehlerfindungsrate und dem Fehlereintrittsrisiko. Eine hohe Testabdeckung (~ 80 %) mit Programmierer*innen-Tests, ist kostengünstig, weil die Tests unmittelbar als Bestandteil des Codes geschrieben werden und sie sehr schnell in abgekapselten Bereichen des Systems ausführbar sind. Dadurch kann sich der*die UI-Testprogrammierer*in auf die Geschäftsprozesse mit dem höchsten Risiko konzentrieren, die das Vorhandensein des Gesamtsystems erfordern, also den Teil der ansonsten immer wieder manuell von den fachlichen Expert*innen getestet werden müsste.

Zur erfolgreichen Implementierung müssen einige typische Herausforderungen gemeinsam im Projekt adressiert werden:

  • Ausreichende Testabdeckung in den Teststufen, gemäß dem wirtschaftlichen Risiko
  • Auswahl geeigneter Regressiontests für den Testroboter
  • Reproduzierbarer Datenbestand
  • Reproduzierbarer Testaufbau

Referenzen

Direktversicherung Saarbrücken

Code-of-Conduct

Prämiert als Vorzeige-Projekt des Landes Saarland  im Bereich Code-of-Conduct.

Situation:

  • Code-of-Conduct-Implementierungsprodukt
  • MT-Verantwortung der Testautomatisierung


Herausforderung:

  • 100 % Testüberdeckung erforderlich, Fachbereich konnte angefragte 150 PT manuelle Testauswände nicht leisten


Lösung:

  • > 90 % Einsparung von geplanten manuellen Fachtestaufwänden durch Testautomatisierung
  • Effektive Tests durch Mengenlehrebetrachtung


„Aufgrund des guten Testkonzepts bereits vor den fachlichen Abnahmetests haben wir „leider“ keine Fehler mehr gefunden!“ – Zitat (C. Westrich)


Rechenzentrum NRW

Testframework mit Orchestrierung

Situation:

  • Projekte im Bereich Steuer, MT AG in Verantwortung, Systemintegrationstests über mehrere Fachverfahren und Anwendungen hinweg zu entwickeln


Herausforderung:

  • Zentrale Steuerung von synchronen und asynchronen Testszenarien
  • Ablösung von hohen manuellen Testaufwänden


Lösung:

  • Eigenentwickeltes Testframework mit Orchestrierung
  • Ca. 70 % Zeitersparnis bei Testausführung durch Wiederholbarkeit


Union Investment Frankfurt

User Story Mapping

Situation:

  • SW Entwicklungsprojekt Fonds-Profiler – Mission Critical Application
  • MT AG entwickelt und trainiert Fachtester


Herausforderung:

  • Projektbeginn mehr manuelle Tester als Entwickler = hoher Testaufwand der Regelwerke


Lösung:

  • Vollständiger Abbau manueller Tests
  • Heute stabile hohe fachliche Qualität durch ca. 1.800 automatisierte Fachtests
  • Ablösung von 30 manuellen Testern


Redooo (Remondis Lünen)

Event Storming / Big Picture Workshop

Situation:

  • Innovationsprojekt zum Aufbau einer Container-Bestellplattform, orientiert am Wettbewerb
  • MT AG betraut mit Architektur und Umsetzung


Herausforderung:

  • Hohe Schlagzahl an automatisierten Auslieferungen in gleichbleibender hoher Qualität, ohne Ausfallzeiten
  • Fachliche QA im Scrum Prozess abbilden


Lösung:

  • Test Driven Development mit > 80% Testabdeckung und kontinuierlichem Ausbau der Teststufen bis zur UI Automation
  • Fachliche Tests dokumentieren und risikobasiert mit UI-Automation-Tests abdecken für den Wiederholtestumfang


W eitere Informationen zu der Redooo-Referenz finden Sie hier

Ansprechpartner

Peter Heintzen

Peter Heintzen

Bereichsleiter IT-Strategie & Architektur