20101112o PPI AG Testautomatisierung

 Home | News | Hefte | Mediadaten | Online-Artikel | Kommentare | Trends | Wir-ueber-uns | Tipps | Impressum | CeBIT 2012

 

Home
News
Trends
Hefte
Online-Artikel
Kommentare
Service-Angebote
Feedback
Abonnement
Wir-ueber-uns
Tipps
Impressum
Veranstaltungen


»manage it« als

E-Paper  11-12 2011
E-Paper  9-10 2011
E-Paper  5-6 2011
E-Paper  3-4 2011
E-Paper  1-2 2011
E-Paper  11-12 2010
E-Paper  9-10 2010

E-Paper  7-8 2010
E-Paper  5-6 2010
 



 




 

 


 




 


 


 

 

Testautomatisierung

Zwischen Effizienzgewinn und Mehraufwand

Der erwünschte Effizienzgewinn durch automatisierte Tests lässt sich nur realisieren, wenn die Umsetzung früh genug beginnt und ein gut durchdachter Plan dahinter steht.

 

5

8 Prozent der IT-Profis gehen davon aus, dass unzureichende Testprozesse für fehlerhafte Software verantwortlich sind. So wird beispielsweise häufig zu wenig Zeit für die Tests aufgewendet. Um den Mängeln entgegenzusteuern, setzen viele Unternehmen auf Testautomatisierung. Die IT-Verantwortlichen unterschätzen jedoch meist den Aufwand, der damit verbunden ist. Wichtige Anforderungen gerade in der Einführungsphase lassen sie außer Acht. Mehraufwand ist die Folge. Denn wer nicht gut vorarbeitet, muss nachbessern. Automatisierte Tests bringen daher nur den erwünschten Effizienzgewinn, wenn die Umsetzung früh genug beginnt und ein gut durchdachter Plan dahinter steht.

Damit die Einführung der Testautomatisierung gelingen kann, empfiehlt sich ein strukturiertes Vorgehen. Es setzt sich aus mehreren Bausteinen zusammen und betrifft sowohl die Umsetzung der Testautomatisierung selbst als auch den Aufwand, der im Vorfeld auf die Unternehmen zukommt.

1. Wahl des richtigen Werkzeugs

In einem ersten Schritt stehen die Unternehmen vor der Herausforderung, das passende Werkzeug zu finden. Die Wahl sollte gut überlegt sein, denn hat sich ein Unternehmen erst einmal entschieden, lässt sich die Lösung nur mit hohem Aufwand gegen die eines anderen Anbieters austauschen. Es gilt deshalb bereits im Vorfeld zu prüfen, welche Anforderungen der Betrieb an das Werkzeug stellt und welche Modelle derzeit auf dem Markt verfügbar sind.

Ein Kriterienkatalog ermöglicht, die genauen Anforderungen festzuhalten und zu gewichten. Neben dem funktionalen Umfang ist beispielsweise eine nahtlose Integration des Werkzeugs in die eigene Tool-Landschaft grundlegend, um einen revisionssicheren Testprozess abzubilden. Ebenfalls entscheidend ist der Hersteller-Support. Nur bei guter Unterstützung lassen sich schwierige Situationen, die gerade auch bei der Einführung des Werkzeugs auftreten, schnell und zufriedenstellend lösen.

2. Qualifizierung der Mitarbeiter

Darüber hinaus spielen qualifizierte Mitarbeiter im eigenen Haus für eine erfolgreiche Testautomatisierung eine Schlüsselrolle. Investitionen in ausgesuchte Schulungsmaßnahmen zahlen sich in jedem Fall aus, da die Qualität der Automatisierung dadurch deutlich steigt. Mangelt es den Mitarbeitern dagegen an Know-how, führt das häufig zu einer fehlerhaften Automatisierung und damit zu nicht mehr wartbaren Ergebnissen. Die Folge: Die Automatisierung muss aufwendig überarbeitet werden, um diese beispielsweise auf einem folgenden Release lauffähig zu machen. Im schlimmsten Fall wird das Projekt verworfen und es erfolgt ein Rückschritt zu rein manuellen Tests.

3. Initialaufwand berechnen

Neben der Mitarbeiterqualifizierung gilt es, geeignete Ansatzpunkte für eine Automatisierung zu identifizieren. Dazu zählen Funktionalitäten, die für das zu entwickelnde Produkt eine große Bedeutung haben und eine kontinuierliche Qualitätskontrolle benötigen. Weiteres Kriterium ist die Häufigkeit: Ist eine Funktionalität über mehrere Releasezyklen immer wieder Gegenstand des Systemtests, bietet sich hierfür eine Automatisierung an. Der Aufwand amortisiert sich jedoch nicht zwingend innerhalb eines Releases. Daher sind für die Automatisierung zum Teil Release-übergreifende Budgetplanungen notwendig.

Sind Ansatzpunkte für eine Automatisierung identifiziert, übersteigt der tatsächliche Aufwand den ursprünglich geplanten allerdings oftmals erheblich. Häufigster Grund: Die Unternehmen unterschätzen die einmaligen Anstrengungen für den Aufbau eines geeigneten Testframeworks. Gerade während der Einführungsphase ist er extrem hoch, nimmt dann aber ab. Innerhalb eines solchen Frameworks, das nach erfolgreicher Einführung der Automatisierung ständig angepasst und erweitert werden muss, finden sich unter anderem Basisfunktionalitäten wie etwa das Verschieben von Dateien oder das Prüfen von Ergebnissen. Diese werden mit jedem neu automatisierten Testfall wirtschaftlicher, da sie immer häufiger eingesetzt werden können und quasi als Grundbaustein für die Entwicklung der zu automatisierenden Tests dienen.

4. Wirtschaftlichkeit durch mehrschichtige Architektur

Für die Wirtschaftlichkeit spielt eine bedeutende Rolle, dass die Testautomatisierung wartbar und erweiterbar ist. Aktuelle Automatisierungswerkzeuge erlauben dabei den Aufbau einer mehrschichtigen Testarchitektur. Damit lassen sich Komponenten der Benutzungsschnittstelle des zu testenden Systems, wieder verwendbare Prozeduren und die eigentlichen – die Fachlichkeit abbildenden – Testfälle sauber voneinander trennen. Das ermöglicht eine hohe Wiederverwendbarkeit von Funktionsblöcken innerhalb der Automatisierung. Je nachdem, wie gut diese Blöcke aufeinander abgestimmt sind, lassen sich beliebige fachliche Anforderungen innerhalb eines Testfalls abbilden. Diese Architektur ermöglicht, Änderungen nur in wenigen Bausteinen vornehmen zu müssen und nicht an vielen Stellen innerhalb der Automatisierung. Die fachliche Ebene, bestehend aus den eigentlichen Testfällen, benötigt zumeist keinen zusätzlichen Anpassungsaufwand.

Die Schichtentrennung hat zudem einen Vorteil hinsichtlich der Arbeitsorganisation: Neue Projekt-Mitarbeiter können mit der Erstellung von Testfällen auf der fachlichen Ebene beginnen. Das Risiko innerhalb der Einarbeitungsphase beschränkt sich dann auf genau die Testfälle, an denen der Mitarbeiter arbeitet. Negative Auswirkungen auf die übrige Automatisierung sind weitestgehend ausgeschlossen.

Nachhaltiger Aufbau einer Testautomatisierung

Voraussetzung für eine funktionierende Testautomatisierung ist, dass sie nicht kurzfristig umgesetzt, sondern auf kontinuierliche und langfristige Erfolge ausgerichtet ist. Dafür benötigen die Unternehmen nicht nur einen gut durchdachten Plan, sondern holen sich im Idealfall Experten zur Unterstützung ins Haus. Eine Einführung ist zwar mit nicht unerheblichem Initialaufwand verbunden. Am Ende steht aber ein signifikanter Effizienzgewinn, der sich nicht nur wirtschaftlich bezahlt macht, sondern auch einen wichtigen Beitrag zur Qualitätssicherung leistet.

Dr. Thorsten Völkel

__________________________________________

Dr. Thorsten Völkel, Testmanager des Software- und Beratungshauses PPI AG

 

 


Folgen Sie »manage it« auf Google+




 


 


 

 

 
Copyright © 2003-2012  ap Verlag GmbH