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 ca. 80% 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% reduziert und eine Zeitersparnis von 70% 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 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.
Anwendung des Wirtschaftlichkeitsprinzip durch die Testpyramide
Wir testen entlang der Testpyramide (Unit > Komponente > Integration > UI):
Das bedeutet wir machen für die Software Entwickler 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 Testentwicklers 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 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 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 UI-Testprogrammierer 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 Experten getestet werden müsste.
Zur erfolgreichen Implementierung müssen einige typische Herausforderungen gemeinsam im Projekt adressiert werden:
Referenzen
Leistungspakete
Wir bieten Ihnen 5 Pakete mit konkretem Nutzen, bei denen Sie in unterschiedlichen Stufen von unserer Expertise profitieren. Dabei ist es ganz Ihnen überlassen, ob wir in einem Workshop konkrete Handlungsempfehlungen für Sie ableiten, das Coaching übernehmen oder Testszenarien entwickeln.