Wann sollte automatisiert werden?

Werden Regressionstests rein manuell durchgeführt, übersteigt  der Aufwand für das Testen der bereits bestehenden Funktionalitäten (Qualitätssicherung) bei häufigen Änderungen den Aufwand der eigentlichen Programmierarbeit.

Wir empfehlen manuelle Unittests durch den Entwickler bei Implementierung und stichpunktartige manuelle Tests.

Vorteile von Testautomatisierung

Es ergeben sich folgende Vorteile für Tester und das Gesamtprojekt, wenn die Tests automatisiert werden:

Der Tester kann sich auf neue und schwierige Testszenarien konzentrieren (Testarchitektur, Testfallerstellung und Verbesserung der Testqualität).

Er muss keine langweiligen manuellen Routinetests mehr durchführen.

Die Tests sind:

  • beliebig oft reproduzierbar
  • regelmäßig
  • schneller
  • zuverlässig
  • weniger Fehleranfällig durch manuelles Klicken
  • kosteneffizient durch nächtliche batch-Läufe

Damit ist es möglich, in der agilen Software Entwicklung und in immer größer und komplexer werdenen Projekten schnell Feedback zu erhalten und höhere Softwarequalität zu erreichen.

Tipps für Ihre Testautomatisierung

Wann amortisiert sich das Testtool?

Der initiale Aufwand ist ist beim automatisierten Testen zu Beginn höher als beim manuellen Testen.

Mit Testautomatisierung (z.B. durch  QF-Test) kann schon ab dem dritten Testzyklus eine positive Bilanz beim Testaufwand erreicht werden, der individuell erreichte ROI kann natürlich variieren.

Bei agiler Software-Entwicklung wird der ROI wegen kürzerer Iterationszyklen, bestenfalls täglich oder sogar mehrmals täglich, schneller erreicht als bei klassischen Entwicklungs- und QA-Ansätzen.

Eine Stunde manuelles Testen ist in 1,5 bis 2 Stunden automatisiert.

Ralph van Roosmalen, QA Manager

Planon, Niederlande

Automatisiertes Testen und Return on Investment (ROI)

Den steigenden Testaufwand bewältigen

Durch die aufeinander folgenden Entwicklungszyklen müssen immer mehr Funktionalitäten getestet werden. Der steigende Testaufwand ist nur mit Testautomatisierung zu beherrschen.

Im Laufe der Zeit entsteht eine große Basis an Tests und für eine maximale Testabdeckung werden bei neuen Features peu à peu weitere Tests aufgenommen.

Agile Softwareentwicklung hat viele Iterationen und deshalb ist Testautomatisierung eine Notwendigkeit - zusätzlich zu Unittests und stichpunktartigen manuellen Tests.

Zeiteinsparung durch Automatisierung in der Praxis:
Beispiele von QF-Test Usern

Zeit vor AutomatisierungZeit nach AutomatisierungZitat
8 Wochen1 WocheSean Kane, Manager of Test Engineering, Intervoice Inc., Dallas, USA:
Jetzt können wir die Anwendung in einer Woche testen - früher brauchte das acht Wochen.
2 Wochen5 TageGadi Goldbarg, Development Tools, QA Team Leader, Zend, Ramat Gan, Israel:
QF-Test hat meine Test-Zyklen von plus/minus zwei Wochen auf fünf Tage (es ist noch nicht alles automatisiert) verkürzt.
1 Tag3 StundenDenis Gauthier Software Integration, Thales Australia, Melbourne:
Ich brauchte einen ganzen Tag um die Non-Regression-Tests zum Laufen zu Bringen. Das wurde jetzt auf drei Stunden reduziert (vollständige Fallstudie).
1 Tagunter 1 StundePhil Cross, Lockheed Martin, Owego New York, USA:
Regressions-Tests unserer Java-Anwendungen, die früher einen ganzen Tag benötigten, sind mit QF-Test in unter einer Stunde erledigt.
7-8 Stunden1,5 StundenHeidi Klade, Logistik Pur Software GmbH, Koppl b. Salzburg, Österreich:
Unsere Tests laufen 90 Minuten. Ich schätze, dass ein manueller Testdurchlauf 7-8 Stunden konzentrierte Arbeit kosten würde.
 Reduktion um fast 50%CertiCon, Prag, Tschechische Republik:
In wenigen Monaten erreichten wir die Reduzierung der Testdurchführungszeit um fast 50%, indem wir Hunderte von zusätzlichen Testfällen hinzufügten. (vollständige Fallstudie).

 

Die vollständigen Zitate finden Sie hier: Vorteile für Entscheider

Phasen des Testprozesses mit hohem Einfluss auf den ROI

Die drei rosa markierten Phasen des Testprozesses (im Bild links) Testfall Entwicklung, Testfall Ausführung und Pflege der Testfälle beeinflussen den Return on Investment bei der Automatisierung von Tests am meisten.

Testprozesse mit hohem Einfluss auf den ROI

Testfall Entwicklung

Die Implementierung der Testfälle mit dem Testtool braucht Zeit, Geld und Ressourcen. Deshalb muss sich diese Anfangsinvestition über die Testzyklen hinweg amortisieren. Wenn Sie aber manuell testen, müssten Sie hier die Anweisungen für die Tester aufwändig erstellen.

Testfall Ausführung

Im Vergleich zum manuellen Testen, das langsam ist und hohe Kosten für Hardware und Personal verursacht, ist automatisiertes Testen schnell und nutzt die Hardware optimal aus. Das Testtool ist hierbei sehr zuverlässig bei der Testdurchführung.

Pflege der Testfälle

Natürlich müssen die Testfälle an Änderungen im GUI angepasst werden (Wartung). Jedoch ist der Vorteil an QF-Test, dass Sie diese im GUI nur einmal nachziehen müssen. Außerdem ist Modularisierung und eine gute Wiedererkennung der Komponenten möglich. Bei manuellen Tests würde man die Anweisungen nur nach fundamentalen Änderungen anpassen.

Überzeugen Sie sich selbst:

Performance für Tester
Software-Tester

berichten über Ihre
Erfahrung mit QF-Test

Sicherheit für Entwickler
GUI Entwickler

berichten über Ihre
Erfahrung mit QF-Test

Vorteile für Entscheider
Entscheider

berichten über Ihre
Erfahrung mit QF-Test