mexxon

mexxon

  • Startseite
  • Services
    • Data Services
    • Consulting Services
    • Quality Services
  • Branchen
    • Versicherungen
    • Banken
    • Telekommunikation
    • Wohnungs- & Energiebranche
    • Gesundheitswesen
    • Forderungsmanagement
  • Karriere
    • Deine Karriere bei mexxon
    • Stellenanzeigen
  • Über uns
    • Unternehmensprofil
    • Publikationen
    • Mitgliedschaften
    • Soziales Engagement
    • Kontakt
    • Impressum
  • Blog
    • Blog
  • MaklerRadar
    • MaklerRadar
    • Erstinformationen
  • DentRadar
    • DentRadar
    • Erstinformationen
  • Home
  • Allgemein
  • Einführung der Software-Testautomatisierung in ein Projekt
Erdem Kabadayi
Dienstag, 24 August 2021 / Veröffentlicht in Allgemein

Einführung der Software-Testautomatisierung in ein Projekt

Wie wird ein Pilotprojekt zur Software-Testautomatisierung selektiert und wann lohnt sich die Investition?

Qualitätssicherungs-Experten, IT-Projektmanager und Qualitätssicherungs-Manager stellen sich eine zentrale Frage: Lohnt es sich Softwaretests zu automatisieren, und wenn ja, wann lohnt sich diese Investition und was sind die Kriterien zur Auswahl?

Anhand von Anwendungsfällen wird folgender Blogbeitrag dieser Frage nachgehen. Hierzu werden zuerst Pilotprojekte ausgewählt, deren Wirtschaftlichkeit mittels einer ROI- (Return on Investment) und Break-Even-Punkt-Berechnung analysiert wird.

Softwaretests sind ein wesentlicher Bestandteil des Softwareentwicklungszyklus. Sie werden als eine zentrale Aktivität angesehen, bei der Software gemäß den Anforderungen und Spezifikationen validiert wird. In vielen IT-Projekten nimmt die Softwarequalitätssicherung – auch Qualitätssicherung (QS) genannt – eine wichtige Rolle ein. Unternehmen formen interne Abteilungen, beauftragen externe Ressourcen und/oder Firmen, um ihre Software mit hoher Qualität in den Markt zu bringen. Dabei entfällt ein erheblicher Anteil der IT-Budgets häufig auf die Qualitätssicherung der IT-Systeme [1].

Wie in der Softwareentwicklung spielt die Agilität auch in der Qualitätssicherung eine wesentliche Rolle und immer mehr Firmen wechseln von dem klassischen Ansatz zu den agilen Ansätzen [3].

Dabei wollen die Unternehmen in den letzten Jahren mehr in die Richtung Testautomatisierung gehen, da das manuelle Testing in bestimmten Fällen nicht in der Lage ist mit den agilen Softwareentwicklungsansätzen zu kooperieren. Aufgrund des erhöhten Taktes von Softwarelieferungen müssen die Tests im agilen Umfeld öfter und schneller durchgeführt werden, damit die Software zeitlich auf den Markt gebracht werden kann. Hierbei muss sichergestellt werden, dass die Bestandsfunktionen einer Software nicht von häufigen Code-Lieferungen negativ beeinflusst werden. Um solche Fälle zu überprüfen, werden idealerweise nach jeder Softwaremodifizierung Regressionstests durchgeführt, die sich wiederum gut für die Automatisierung eignen [6].  

 

Kriterien zur Auswahl

Wie in vielen Projekten werden auch im Software Testing Pilotprojekte identifiziert, um Risiken und damit verbundene Kosten zu minimieren [2].

Das Pilotprojekt wird sorgfältig nach den folgenden Richtlinien ausgewählt.

  1. Kritische Projekte vermeiden. Die Einführung der Testautomatisierung darf keine Verzögerungen bei kritischen Projekten verursachen.
  2. Triviale Projekte vermeiden. Um die Testautomatisierung in dem gesamten Projekt zu etablieren, ist es wichtig, sichtbare Erfolge zu erreichen.
  3. Bei der Auswahl des Pilotprojekts auch Management und Stakeholder engagieren.

Das Pilotprojekt sollte Aspekte beinhalten, die auch bei weiteren Projekten vorkommen. Somit kann die Testautomatisierung mit weniger Aufwand auf weitere Projekte übertragen werden. Ein Bespiel wären GUI-Komponente, die in mehreren Projekten vorkommen [5].

 

Wirtschaftlichkeit und Berechnung von Return on Investment

Eine Möglichkeit zu überprüfen, ob die Automatisierung der Tests sich wirtschaftlich lohnt, ist die Durchführung einer ROI-Berechnung. Folglich wird ein generisches Break-Even-Modell dargestellt, das veranschaulicht, ab wann ein Break-Even-Punkt erreicht werden kann.

Abbildung 1: Break-Even für automatisierte Tests [7]

Die x-Achse zeigt die Anzahl der Testläufe „Test runs“, während die y-Achse die Kosten zeigt, die beim Testen anfallen. Die beiden Kurven veranschaulichen, wie sich die Kosten mit jedem manuellen bzw. automatisierten Test erhöhen. In diesem Graphen ist deutlich zu erkennen, dass sich die Testautomatisierung erst ab einer bestimmten Anzahl von Testläufen immer mehr lohnt.

Um die ROI-Berechnung durchzuführen, müssen zuerst die Kosten ermittelt werden. Folgende Tabelle veranschaulicht die Kosten, die in diese ROI-Berechnung einfließen.  

 

Abbildung 2: Automatisierungskosten und Faktoren

 

Kosten:

  • Testdesignkosten: Kosten der Erstellung und Dokumentation von Testfällen.
  • Toolkosten: Kosten, die durch den Erwerb von Softwarelizenzen entstehen. (In diesem Bespiel sind keine Toolkosten für die Automatisierung vorgesehen, da es sich um eine Open-Source Lösung handelt.)
  • Implementierungskosten: Kosten der Erstellung von Automatisierungsskripts und -bibliotheken durch eine/n Testautomatisierungsingenieur/in.
  • Testausführung: Kosten der Testdurchführung eines Regressionstestkatalogs.

 

Faktoren:

  • Anzahl der „Testruns“ der Regression: Wie oft wird ein Regressionstestkatalog pro Release durchgeführt.
  • Anzahl der Releases pro Jahr: Wie oft ist ein neues Release vorgesehen. Ein neues Release beinhaltet mehrere Iterationen des Regressionstests

 

Bespiel ROI Berechnung und Kosten

Folgende Bespiele veranschaulichen Kosten und ROI-Berechnungen für zwei fiktive Pilotprojekte (APP-X und APP-Y), die zur Einführung der Testautomatisierung ausgewählt wurden.

Um die Auswahl des Pilotprojekts zu finalisieren, muss zusätzlich eine Wirtschaftlichkeitsanalyse durchgeführt werden.  

Abbildung 3: ROI – APP-X
Abbildung 4: ROI – APP-Y

Erklärungen zu den Formeln:

 

Die ROI-Werte (1,035 und 2,20) implizieren, dass beide Applikationen als geeignete Kandidaten gesehen werden können. Für APP-X wird bereits nach dem ersten Jahr die Investition zurückgewonnen. Bei APP-Y gelingt dies schon nach einem halben Jahr. Ein wesentlicher Einflussfaktor dieser Berechnung ist der Wiederholungsgrad der Tests. Falls die Tests wiederholt durchgeführt werden, dann wird die Investition in die automatisierten Tests besonders profitabel. Letztlich ist es wichtig zu erwähnen, dass hierbei keine Toolkosten angefallen sind, da das Testautomatisierungsframework mit Open-Source-Bibliotheken erstellt wurde. In Abbildung 5 und 6 werden Break-Even-Punkte für die beiden Verfahren dargestellt. Diesen Abbildungen kann entnommen werden, dass sich für APP-Y nach Release zwei und für APP-X nach dem dritten Release eine Automatisierung lohnt.

 

Abbildung 5: Break-Even für APP-X
Abbildung 6: Break-Even für APP-Y

 

Gemäß den Berechnungen wird deutlich, dass ein Wechsel zur Testautomatisierung für die beiden Pilotprojekte wirtschaftlich vorteilhaft ist. Es ist allerdings zu beachten, dass dieser Vorteil erst nach einer bestimmten Zeit und einer bestimmten Anzahl von Anwendungen eintritt.

Die ROI-Analyse und die Break-Even-Punkt-Darstellung haben unter anderem gezeigt, dass eine Automatisierung kurzfristig hohe Kosten mit sich bringt. Demzufolge ist den IT-Projekten generell zu empfehlen, eine gründliche Analyse durchzuführen, bevor mit dem Automatisierungsprojekt gestartet wird. Es sollte hier ein geeignetes Pilotprojekt ausgewählt werden, um die Risiken zu minimieren [4]. Die Automatisierung lohnt sich wirtschaftlich erst nach einigen Iterationen und kann für kurze Projekte eher ungünstig wirken. Möglicherweise ist ein Projekt mit nur einem Release kein guter Kandidat für einen Automatisierungsansatz. Das Modell zur Kostenermittlung kann außerdem je nach Projektlage oder Technologie variieren und sollte für jedes Projekt individuell betrachtet werden.  

 

Literatur

[1]      Garousi, V. and Mäntylä, M. V. 2016. When and what to automate in software testing? A multi-vocal literature review. Information and Software Technology 76, 92–117.

[2]      Huguenin, A. and Jeannerat, H. 2017. Creating change through pilot and demonstration projects: Towards a valuation policy approach. Research Policy 46, 3, 624–635.

[3]      International Software Testing Qualifications Board. 2019. ISTQB® Worldwide Software Testing Practices Report 2017-2018.

[4]      Kasurinen, J., Taipale, O., and Smolander, K. 2010. Software Test Automation in Practice: Empirical Observations. Advances in Software Engineering 2010, 4, 1–18.

[5]      Knowledge Park. 2019. Test Automation – Risiken und Unsicherheiten beim Deployment.

[6]      Kumar, D. and Mishra, K. K. 2016. The Impacts of Test Automation on Software’s Cost, Quality and Time to Market. Procedia Computer Science 79, 8–15.

[7]      Ramler, R. and Wolfmaier, K. 2006. Economic perspectives in test automation. In Proceedings of the 2006 international workshop on Automation of software test – AST ’06. ACM Press, New York, New York, USA, 85. DOI=10.1145/1138929.1138946.

 

Autor:in

  • Erdem Kabadayi
    Erdem Kabadayi

    Associate Partner im Bereich Quality Services. Erdem Kabadayi ist verantwortlich für den Bereich Quality Services und unterstützt lokale und internationale Projekte in den Themen Test Management und Software und – Datenqualitätssicherung mit langjährigen Erfahrungen in Logistik/Verkehr, Inkasso, Finanzen und Telekommunikation. Er ist zertifiziert als ISTQB® Foundation Level Certified Tester, Agile Tester und ISTQB® Advanced Level als Test Manager und Test Automation Engineer und durch IHK als Ausbilder.

    Alle Beiträge ansehen

  • Tweet

What you can read next

mexxon ESG-Klassifizierungsmodell
Psychologie des Kunden
Die Psychologie des Kunden
Methoden der Datenbewertung und wann sie am besten zum Einsatz kommen

Kontakt

+49 6172 271 598 0
info@mexxon.com

mexxon consulting GmbH & Co. KG
mexxon kidaton GmbH

Frankfurter Landstraße 23
61352 Bad Homburg v. d. Höhe

Google Maps

Mit dem Laden der Karte akzeptieren Sie die Datenschutzerklärung von Google.
Mehr erfahren

Karte laden

Services

  • Startseite
  • Kontakt
  • Datenschutz
  • Impressum

mexxon entwickelt innovative Lösungen und unterstützt Sie vor Ort bis in den Praxisalltag. Nicht nur mit Rat, sondern auch mit Tat.

OBEN