Den Aufwand für Testautomatisierung nicht raten, sondern schätzen

Im OSTC (Operational Services and Test Center) von Software Quality Lab automatisieren wir für viele unserer Kunden bisher manuell ausgeführte Testfälle. Automatisierung ist ein wichtiges Mittel, um die Effizienz im Testen zu erhöhen.

Im OSTC (Operational Services and Test Center) von Software Quality Lab automatisieren wir für viele unserer Kunden bisher manuell ausgeführte Testfälle.  Automatisierung ist ein wichtiges Mittel, um die Effizienz im Testen zu erhöhen. Zu Beginn solcher Testautomatisierungsprojekte werden wir natürlich gefragt, wie lange das dauert und was es kostet. Wir haben hier eine solide Vorgehensweise entwickelt, wie wir den Aufwand für solche Automatisierungsvorhaben abschätzen.

5 Schritte zur Aufwandsschätzung von Testautomatisierungsprojekten

  1. Einteilen der Testfälle in Komplexitätsklassen „einfach“ / „mittel“ / „komplex“
  2. Automatisieren von je zwei Beispiel-Testfällen jeder Komplexitätsklasse
  3. Ermitteln von Minimum und Maximum Zeiten je Komplexitätsklasse
  4. Hochrechnen der ermittelten Zeiten auf alle Testfälle für den Best-Case und Worst-Case
  5. Aufschlag für weitere Aufwandsfaktoren hinzufügen (Koordination, Setup, Debugging, etc.)

Am Ende erhält man so eine gute Abschätzung des Aufwands. Für die Automatisierung werden die Testfälle noch priorisiert und entsprechend dieser Priorität umgesetzt. Nachfolgend dazu ein Beispiel:

Schritt 1: Einteilen der zu automatisierenden Testfälle in Komplexitätsklassen

Nehmen wir an, wir haben 300 Testfälle im Testplan, die wir automatisieren möchten:

Diese Klassifizierung der Testfälle setzt viel Erfahrung voraus.

Schritt 2: Automatisieren von je zwei Beispiel-Testfällen jeder Komplexitätsklasse

Aus jeder Komplexitätsklasse werden zwei Testfälle automatisiert und die benötigte Zeit gemessen:

Zusätzlich ergeben sich Erkenntnisse wie die folgenden aus der Umsetzung:

  • Für komplexe Testfälle ist viel Diskussionsbedarf zur Klärung der Testschritte nötig.
  • Immer wieder muss auf Image-based Testing zurückgegriffen werden.
  • Die Automatisierung ist durchwegs mit Tool NNN möglich.
  • Für Setup/Teardown reichen im Normalfall SQL Scripts aus.

Diese Erkenntnisse werden in Schritt 5 bei der Aufschlagskalkulation berücksichtigt.

Schritt 3: Definieren von Minimum- und Maximum-Zeiten je Komplexitätsklasse

Schritt 4: Hochrechnen des Aufwands für die Automatisierung aller Testfälle

Schritt 5: Aufschlag für weitere Aufwandsfaktoren hinzufügen

Obige Aufwände sind jedoch nur die Netto-Programmieraufwände für die Testfälle. Dazu kommen noch je nach Projekt und Ihrem Prozess weitere Tätigkeiten:

  • Klärung von unklaren Testfallbeschreibungen
  • Koordination und Abstimmung
  • Deployment der Testfälle auf die Testinfrastruktur
  • Bei längeren Projekten: Laufende Anpassungen bereits automatisierter Testfälle an den Fortschritt der währenddessen weiterlaufenden Produktentwicklung
  • Technische Schwierigkeiten

Für diese Faktoren sollten Sie je nach Projektsituation 25-75% Aufschlag berechnen. In unserem Fall rechnen wir mit 40%:

Insgesamt ergibt das einen Aufwand zwischen 37 und 74 Personentagen für die Automatisierung der 300 definierten Testfälle. Die Erfahrung zeigt, dass der endgültige Wert eher an der oberen Grenze, als am Minimum liegt.


Voraussetzungen

Die hier gezeigte Vorgehensweise setzt voraus, dass

  • die Testfälle bereits definiert sind.
  • die Testumgebung zur Verfügung steht und stabil ist.
  • alle Ansprechpartner in ausreichendem Maße Zeit haben.
  • die Testautomatisierer mit den Automatisierungswerkzeugen vertraut sind.

Ist dies nicht gegeben, muss ein höherer Aufschlag in Schritt 5 berücksichtigt werden.


Zusammenfassung

Testautomatisierung ist Software-Entwicklung. Entsprechend groß können die Aufwände in solchen Projekten werden. Um diese abzuschätzen sind sorgfältige und strukturierte Methoden notwendig. Am besten starten Sie mit einem kleinen Proof of Concept und errechnen aus den Ergebnissen unter Berücksichtigung von Aufschlägen für Koordination, Änderungen und Projektrisiko den Gesamtaufwand. So können Sie Überraschungen vermeiden und den maximalen Nutzen aus der Automatisierung ihrer Testfälle ziehen!

Check other blog posts

see all blog posts

Get your expert
consultation today

Request an expert on-demand consultation to boost your development processes.
Talk to an Expert
Rating
20+ years of Software Quality experience
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.