Testautomatisierung

Qualität im Softwaretest durch Testautomatisierung

Qualität im Softwaretest durch Testautomatisierung

In Zeiten immer kürzer werdender Produkt- und Entwicklungszyklen einerseits, steigenden Anforderungen an Qualität und (Daten-)Sicherheit andererseits, rückt der Softwaretest immer mehr in den Fokus des Projektmanagements. Leisteten sich Unternehmen früher nur kleine Teams aus “Nebenbei-Testern”, meist aussortierte Entwickler oder Fachbereichsmitarbeiter, so haben sich diese Testteams im Laufe der letzten Jahre deutlich professionalisiert.

Die gestiegenen Anforderungen sind oftmals aber auch durch professionelle Strukturen und gut organisiertes manuelles Testvorgehen nicht mehr in den Griff zu bekommen.

Ein kleines Beispiel aus der Praxis:
Einer unserer Kunden veröffentlicht vier Releases pro Jahr. Das Portfolio an Regressionstestfällen umfasst rund 30.000 Testfälle, die durchschnittliche Ausführungsdauer eines Testfalls beträgt 7 Minuten. Manuell ausgeführt würde man (unter Laborbedingungen) für die einmalige Ausführung dieser Testfälle innerhalb des vorgegebenen Zeitraums von 60 Arbeitstagen mindestens acht erfahrene Tester benötigen. Im “echten Leben” kommt jedoch zusätzliche Komplexität wie Abhängigkeiten zu Funktionen, Konfigurationen, Testdaten, Testumgebung, Bugfixing etc. hinzu. Zudem müssen auch Regressionstestfälle i.d.R. mehrfach ausgeführt werden (z.B. bei Fehler-Retests), so dass für eine komplett manuelle Ausführung der Regressionstesfälle innerhalb des vorgegebenen Zeitraums bis zu 50 Tester in verschiedenen Rollen und mit unterschiedlichen Skills benötigt werden.

Der aufwändige Teil des Releasetests besteht jedoch in erster Linie aus dem Test von Neufunktionalität. Die Abstellung von 50 Personen nur für den Regressionstest ist in der Regel völlig unmöglich. Das bedeutet, dass entweder der Regressionstest reduziert werden muss (was in der Praxis tatsächlich häufiger vorkommt als gedacht), oder die Ausführung anderweitig vorgenommen wird. Hier kommen entweder Outsourcing-Anbieter ins Spiel, oder eben das Thema “Testautomatisierung”.

Typische Gründe für Testautomatisierung

Die Reduzierung der Testausführungszeit und damit die Möglichkeit zur häufigeren Testausführung ist sicherlich der Hauptgrund, weshalb Unternehmen sich für Testautomatisierung interessieren. Oft genannte Gründe sind auch

  • unbeaufsichtige Ausführung von automatisierten Testfällen (Nightly Execution),
  • höhere Zuverlässigkeit,
  • bessere Reproduzierbarkeit,
  • schnellere Testdatenerzeugung,
  • Wiederverwendbarkeit für verschiedene Teststufen.

Kurz zusammengefasst könnte man das Ziel der Testautomatisierung so formulieren:

Automatisierung von sich wiederholenden Testaktivitäten soll zu höherer Zuverlässigkeit und Produktivität führen.

Dieser Blog nimmt sich in loser Reihenfolge den diversen größeren und kleineren Themen im Automatisierungsumfeld an. Allgemeine Beobachtungen zu typischen Problemen werden Sie hier genauso finden wie Vorschläge zu idealtypischen Vorgehensvarianten sowie Tipps und Tricks zu spezifischen Testtools bzw. Werkzeugen.

Viel Spaß beim Lesen, ich freue mich schon auf regen Austausch!

 

Hinterlasse eine Antwort