Total Cost of Ownership (TCO) in der Testautomatisierung
von itsbusiness AG
Das Software Testing und insbesondere die Testautomation im DevOps Prozess wird meist nur dann als strategische Disziplin angesehen, wenn sich dadurch auch Kosten reduzieren lassen. Ohne diesen positiven Einfluss verkommt die Disziplin zu einem notwendigen Übel.
Teure Testing Tools, komplexe Testarchitekturen, aufwendige Testprozesse bis hin zu den fehlenden Fachkräften und dem dadurch zunehmenden Bedarf nach externer Unterstützung, setzen viele Unternehmen unter Zugzwang dem Kostenaspekt mehr Gewicht beizumessen.
Verschärft wird die Situation im Software Testing durch zusätzliche Governance-, DevOps- und Agile-Auflagen der Business Bereiche.
Kostenintensive Prozesse und Aufgaben müssen daher optimiert werden und so ist ein klarer Trend im Software Testing hin zur Testautomation unterstützt durch ein Testframework erkennbar.
Wir wollen nachfolgend aufzeigen, wie unsere Kunden beim Aufbau einer strukturierten und kosteneffizienten Testautomatisierung über den Einsatz eines Testframework ihre TCO in den Griff bekamen und diese sogar im zweistelligen Prozentbereich reduzieren konnten.
TCO – was sagt die Literatur
Allgemein werden die Bestrebungen, die Gesamtkosten über den gesamten Lebenszyklus zu betrachten, unter dem Schlagwort Total Cost of Ownership (TCO) zusammengefasst. Dieses Lebenszyklus-Kostenmanagement bezieht sowohl den IT-Bereich als auch den internen IT-Kunden (z. B. Endanwender) ein und betrachtet somit die kumulierten Kosten, die beim Betreiber und beim Nutzer vom Entwicklungsbeginn bis zum Ende der technischen und wirtschaftlichen Nutzungsdauer eines Systems entstehen.
Als Gesamtkosten von IT-Systemen werden auch diejenigen in Betracht gezogen die über die reine Betrachtung der Anschaffungskosten von Hard- und Software hinausgehen, wie
- Anwenderschulungen
- Systemadministration
- Support
TCO Reduktion durch Einsatz eines Testframework – was sagen unsere Kunden
Wir können aus einer Vielzahl umgesetzten Softwaretesting-Projekten feststellen, dass sich der Einsatz eines Testframework, wie unser mTs Testframework TestComplete für das SmartBear Testing Tool TestComplete oder unser itsb Testramework Open Source Tools, sehr positiv auf die TCO Einflussfaktoren über den gesamten SDLC (Software Development Life Cycle) Prozess auswirken:
Bedürfnisanalyse und Design Prozess
- IT-Architekten können bestehende Prozesse leichter auf neue Anforderungen anpassen, indem sie auf automatisierte Testcases zurückgreifen
- Im optimalen Fall können bereits in dieser Phase die Anforderung als automatisierte Tests erstellt werden, dadurch entfallen Integrationstests
- Verkürzung der Einarbeitungszeit von neuen Mitarbeitern, speziell in Bereich Fachwissen/Businesslogik
Development Prozess
- Frühzeitige Erkennung von Defects, wodurch die Kosten für die Fehleranalyse und deren Behebung minimiert werden
- Entwickler können automatisierte Testcases verwenden, um die Businesslogik besser zu verstehen, dadurch verkürzt sich die Analysezeit von neuen Change Requests und Features
- Reduktion von Missverständnissen zwischen Software Tester und Entwickler
- Verkürzung der Einarbeitungszeit von neuen Mitarbeitern, in Hinsicht auf Fachwissen/Businesslogik
Testing Prozess
- Verkürzung der Integrationsphase. Software Tester können Template Testcases ausführen, um schneller zu dem zu testenden Punkt zu kommen (bspw. wird ein neues Feld in der Auftragsbestätigung ergänzt, dann kann der Integrationstest wie folgt aussehen: Erstellung eines Auftrags mittels automatisierten Template Testcases, Überprüfung des neuen Felds durch manuelles Testen). Dieses Vorgehen verkürzt zudem die TestCase Skizzierung während der Analysephase, da weniger Teststeps skizziert werden müssen
- Schnelle Ausführung der Regressionstests
- Verkürzung der Einarbeitungszeit von neuen Mitarbeitern, in Hinsicht auf Fachwissen/Businesslogik
- Dokumentation von Fachwissen anhand von automatisierten Testcases welche immer aktuell sind. Dadurch minimiert sich der Dokumentationsaufwand
Infrastruktur / Operation Prozess
- Schnelle Erkennung von Systemausfällen oder Konfigurationsproblemen
Qualitätsmanagement Prozess
- Durch einheitliche und kontinuierliche Testreporte können Optimierungen innerhalb des Produkts und des SDLC Prozesses erkannt und umgesetzt werden
- Reporte können unter anderem für die Nachweispflicht bei der ISO Zertifizierung verwendet werden