Was ist Testautomatisierung?

Unter Testautomatisierung (oder Testautomation) wird das Automatisieren von Test-Aktivitäten verstanden, die dazu dienen, die Qualität eines Software- oder Hardware-Produkts zu verbessern.

So ist es beispielsweise denkbar, manuelle Tests durch automatisierte Tests in Form von Programmen und Schnittstellen zu ersetzen. Diese Tests können beliebig oft (z.B. nachts) ausgeführt werden.

Die Ziele von Testautomatisierung

Vor dem Hintergrund immer komplexerer Produkte, die in immer kürzerer Zeit entwickelt werden, wird es zunehmend schwieriger, die Qualität von Hardware- und Software-Produkten sicherzustellen.

So ist es nicht unüblich, dass 15 Personen für ein halbes Jahr eine Produkt-Version freitesten, bevor dieses verkauft werden kann. Dieser Prozess muss für jede weitere Version wiederholt werden.

Oftmals ist gar nicht genug Zeit vorhanden, Tests in dieser Art vollumfänglich durchzuführen. Also wird weniger getestet.

Darunter leidet die Produktqualität und die Zufriedenheit der Kunden sinkt. In der Summe sind die resultierenden Qualitätskosten höher als die, die mit Tests entstehen.

Die Qualitätskosten ergeben sich aus einer schlechten Teststrategie, dem falsch eingeschätzten Aufwand zur Erstellung und Durchführung der Tests, der falsch eingeschätzten Dauer und Wiederholbarkeit der Tests und der Wartung der Tests.

Mit Hilfe von Testautomatisierung kann der Entwicklungsprozess eines Hardware- und Software-Produkts erheblich beschleunigt und optimiert werden.

Eingangs ist der Aufwand in der Regel höher als eine einzige Testdurchführung. Meistens machen sich die Vorteile durch Testautomatisierung allerdings schon nach kürzester Zeit bezahlt.

In erster Linie laufen automatisierte Tests schneller ab als manuelle Tests. Zudem sind sie wiederholbar und reproduzierbar. Gelegentliche Fehler, die Menschen bei der wiederkehrenden Durchführung von Tests widerfahren, treten bei Testautomatisierung nicht auf. Vor allem bei wartungsintensiven Produkten macht sich Testautomatisierung schnell bezahlt, weil jede Durchführung nur wenig Kosten erfordert.

Testautomatisierung kann bereits den Entwicklungsprozess begleiten. Somit kann jederzeit sichergestellt werden, dass das entstehende Produkt richtig funktioniert.

Strategie der Testautomatisierung

Im Entwicklungsprozess von Hardware- und Software-Produkten ist es selten möglich, alle zu testenden Anforderungen mit demselben Aufwand zu erfassen.

Es ist daher sinnvoll, zunächst diejenigen Tests umzusetzen, die einen hohen Nutzen für das Produkt erzielen und einen geringen Aufwand der Realisierung benötigen. Grundsätzlich sollten immer Aufwand und Nutzen gegenübergestellt werden.

Optimierung von Qualität, Kosten und Geschwindigkeit

Die Ziele jedes Produktentwicklungsprozesses sind die Qualität, Kosten und Zeit. Die Kosten für die Qualität steigen mit dem Zeitpunkt, zu dem ein Fehler erkannt wird. Je später dieser Zeitpunkt eintritt, desto teurer ist es, diesen Fehler zu beheben. Beispielsweise kann ein Fehler früh während der Entwicklung auftreten und sofort behoben werden. Treten Fehler im schlechtesten Fall allerdings erst beim Kunden auf, sind diese Fehler erheblich teurer.

Durch Testautomatisierung können sowohl die Qualität und Kosten optimiert werden, da Fehler früher gefunden werden und gleichzeitig die Testabdeckung erhöht werden und die Durchlaufzeit für Tests verringert werden.

Einmal erstellte Tests können als sogenannte Regressionstests immer und immer wieder durchgeführt werden. So kann bereits während der Entwicklung jederzeit sichergestellt werden, dass aktuelle Änderungen keinen negativen Einfluss auf ältere Produktfunktionen haben.

Die Vorteile der Testautomatisierung überwiegen deren einmalig höheren Initialkosten.

Motivation und Effizienz im Entwicklungsprozess steigern

Die kollektive Durchführung manueller Tests über Monate ist fehleranfällig und frustriert. Einmal erstellt automatisierte Tests benötigen keinerlei Interaktion von Benutzern. Außerdem ist eine immer gleichartige Wiederholbarkeit gegeben. Die Zeitersparnis durch Testautomatisierung kann in eine höhere und umfangreiche Testabdeckung reinvestiert werden.

Erhöhte Testabdeckung

Anstatt Zeit und Energie in die immer wieder gleiche Durchführung von manuellen Tests zu stecken, kann durch Testautomatisierung ein erhebliche höheres Maß der Testabdeckung erreicht werden.

Besonders im Falle von Regressionstests oder datengesteuerten Tests macht eine manuelle Durchführung in der Regel wenig Sinn oder Freude.

Vor allem datengesteuerte Tests müssen nur einmalig implementiert werden und können wieder und wieder mit anderen oder simulierten Daten gefüttert durchgeführt werden.

Testautomatisierung mit HILSTER

HILSTER bietet Software zur Testautomatisierung von Embedded-Systems.

Basierend auf dem HILSTER Testing Framework entstehen produktspezifische Testing Frameworks, mit denen sich Produktentwicklungsprozesse optimal unterstützen und begleiten lassen.

Lesen Sie weiter unter Wie funktioniert Testautomatisierung mit dem HILSTER Testing Framework.

Kontakt
Sollten Sie Fragen haben, nutzen Sie bitte das Kontakformular, schreiben Sie eine E-Mail oder rufen Sie uns an.

Ihr Name*
Firma
Adresse
Ort
Land
EMail-Adresse*
Telefonnummer
Nachricht*
Die mit * markierten Felder müssen angegeben werden.