Projektmanagement / Software-Test / Testautomatisierung / Testmanagement

„Kein Ei gleicht dem anderen“ – gleiches gilt bei Testautomatisierung!

Haben Sie die ersten Schritte Richtung Software-Testautomatisierung schon getan? Sind Sie gerade mitten in den Vorbereitungen? Trägt die Automatisierung bereits die ersten Früchte oder sind Sie unter jenen Unglücklichen, bei denen eine Automatisierung gescheitert ist? In welcher Phase Sie sich auch befinden – die Entscheidung für Automatisierung und der Aufbau der Lösung ist eine Herausforderung, die nur gut strukturiert bewältigt werden kann. Denn kein Ei gleicht dem anderen – und gleiches gilt bei Software-Testautomatisierung!

Software-Testautomatisierung

©Fotolia/ANECON

Im Zuge der Entwicklung des Advanced Automation Approach (A2A) haben wir vier typische Projektsituation herausgearbeitet, auf die meine Kollegen und ich immer wieder in der Praxis stoßen. Im Folgenden möchte ich jede dieser Situationen näher betrachten und mögliche Lösungsansätze skizzieren. Vielleicht erkennen Sie in einer dieser Situationen ihr eigenes Projekt oder Unternehmen wieder?

 

Situation 1: Noch keine Testautomatisierung im Einsatz

Starting Software-Testautomatisierung

Sie stehen am Beginn des Vorhabens „Testautomatisierung“. Es kann mehrere Gründe geben, warum bist jetzt Automatisierung kein Thema war:

  • Das Projekt befindet sich gerade am Anfang der Entwicklung oder gar noch in der Phase der Anforderungsdefinition
  • Der Bedarf wurde erkannt und es besteht Interesse; erste Recherchen zum Thema wurden durchgeführt, es mangelt jedoch an den Ressourcen oder dem organisationsinternen Know-how zur Umsetzung
  • Der Bedarf wurde (noch) nicht erkannt bzw. gerade erst aufgedeckt; es gibt noch keine konkreten Überlegungen bezüglich Testautomatisierung

Je nachdem welche Gründe zutreffen, bedarf es einer angepassten Herangehensweise. Wichtig in dieser konkreten Situation ist eine Bestandsaufnahme, bei der es vorrangig darum geht zu erkennen in welchem Umfang Automatisierung möglich ist und welche Automatisierungslösung zum Einsatz kommen könnte. Dies ist abhängig von verwendeter Technologie, zur Verfügung stehender Ressourcen und einigen anderen Faktoren. Ist ein Automatisierungstool (bzw. eine Testversion eines Tools) gewählt und eingerichtet, können bereits erste einfache Testfälle als Proof-of-Concept automatisiert werden. Diese Testfälle sollten so gewählt sein, dass sie bereits im PoC einen Nutzen für die Testverantwortlichen haben und vom ersten Tag an regelmäßig durchgeführt werden können. Ausgehend von diesem PoC wird das weitere Vorgehen geplant. Genauso wichtig wie die Wahl eines entsprechenden Tools ist auch die fachliche Einbindung des Projektteams in die Automatisierung.

 

Situation 2: Testautomatisierung im Einsatz, aber erste Hürden bringen Sie zum Schnaufen

Software-Testautomatisierung_Probleme

Nachdem im Projekt beschlossen wurde Testautomatisierung einzusetzen, tauchen immer öfter Fragen und Herausforderungen auf die es zu beantworten bzw. zu bewältigen gilt. Typische Probleme in dieser Situation können sein:

  • Ein fehlendes oder lückenhaftes Gesamtkonzept
  • Mangelnde Einbindung der Automatisierungslösung in den Test- und Entwicklungsalltag
  • Auftretende Probleme bei der Erstellung und Wartung von Testsets

Um einen guten Start der Software-Testautomatisierung zu gewährleisten, braucht es einen durchdachten Fahrplan, in dem vorab grundlegende Vorgehensweisen, Coderichtlinien, Verantwortlichkeiten etc. festgehalten werden. Durch Workshops und Schulungen können die beteiligten Personen auf einen gemeinsamen Wissensstand gebracht werden, der in weiterer Folge sehr viel zum Erfolg der Testautomatisierung beitragen kann. Großes Augenmerk sollte auch auf der Integration der Automatisierungslösung in die umliegende System- und Projektlandschaft liegen. Oft können mehrere Systeme oder parallel laufende Projekte Einfluss auf die Automatisierung haben, gleichzeitig können grundlegenden Elemente der Testautomatisierung auch anderenorts nützlich sein.

Beachten Sie die für die einzelnen Tests benötigten Vorbedingungen, strukturieren Sie den Aufbau und die Wartung der Tests möglichst gut und brechen Sie diese auf kleinere Teile herunter. So bleibt Flexibilität bestehen, die es ermöglicht auf die auftretenden Herausforderungen zielgerichteter zu reagieren.

 

Situation 3: Die Testautomatisierung hat ihren Nutzen verloren oder ist gescheitert

Software-Testautomatisierung_gescheitert

Entgleitet Ihnen die Automatisierung? In vielen Projekten kommt es vor, dass nach der Einführung und Ausarbeitung einer Automatisierungslösung nach einigen Zyklen „die Luft ausgeht“. Der Wartungsaufwand wird unüberschaubar, die Automatisierung kommt der Entwicklung nicht hinterher oder das Management sieht womöglich keinen Nutzen mehr und verlagert die Ressourcen wieder auf den manuellen Test oder andere Bereiche.

Um in einer solchen Situation wieder auf die richtige Bahn zu kommen, müssen die kritischen Faktoren erkannt und analysiert werden. Welcher Änderungen es bedarf um alles wieder ins Rollen zu bringen, ist je nach Projekt und Situation sehr individuell zu entscheiden. Nach Möglichkeit sollten in so einem Fall alle Beteiligten wieder ins selbe Boot geholt werden und das Geschehene genau betrachten; gemeinsam werden zu setzende Maßnahmen festgelegt, um so die Testautomatisierung wieder aufnehmen zu können.

 

Situation 4: Die Automatisierung läuft, es steht jedoch eine große Änderung bevor

Software-Testautomatisierung_Änderungen

Die Software-Testautomatisierung läuft stabil, Sie erzielen damit messbare Erfolge und einen Nutzen für Ihr Unternehmen, aber plötzlich steht eine Änderung bevor, von der Sie fürchten überrollt zu werden?

Nahezu jede Organisation, jedes Projekt bzw. jede Software ist früher oder später Änderungen unterworfen. Solche Änderungen können technologischer, fachlicher oder organisatorischer Natur sein. An dieser Stelle möchte ich auf den Artikel „Managing Testautomation mit A2A“ meines Kollegen Martin Schweinberger hinweisen, in dem er näher auf diese Faktoren eingeht.

Sobald eine anstehende Änderung erkannt wird, sollte jedenfalls rechtzeitig damit begonnen werden diese Änderung in der Testautomatisierung vorzubereiten, um die Auswirkungen auf den Betrieb der Automatisierung zu minimieren; sei es weil ein neues Tool gewählt werden muss, die Testdaten gealtert sind oder weil wichtige Leistungsträger für längere Zeit ausfallen.

Die Flexibilität unserer A2A-Methode ermöglicht es, auf nicht planbare bzw. nicht so gut kontrollierbare Ereignisse angemessen zu reagieren und die Ausfallzeit oder den Einfluss anderer negativer Aspekte gering zu halten.

Wenn eine solche Änderung kontrolliert werden kann, ist im Idealfall die Testautomatisierung im Anschluss sogar stärker und leistungsfähiger als zuvor (beispielsweise der Wechsel auf ein leistungsfähigeres Tool).

 

Fazit

Diese vier beschriebenen Situationen stellen einen Auszug aus einer Vielzahl an Phasen dar, in denen sich eine Organisation im Rahmen der Testautomatisierung befinden kann. Die Bewältigung der Herausforderung „Testautomatisierung“ kann jedenfalls dazu beitragen, die weitere Projektarbeit oder auch nachfolgende Vorhaben bzw. den Livebetrieb einer Software qualitativ zu stärken. Mit der richtigen Herangehensweise werden am Ende auch Sie zufrieden auf die Entscheidung FÜR Testautomatisierung zurückblicken.

Software-Testautomatisierung_Erfolg

 

>> Wollen Sie mehr zu A2A wissen? Dann holen Sie sich die A2A Broschüre oder das Whitepaper als Download auf unserer Webseite!

 

Passende Artikel

Kommentare gesperrt.