Softwaretests für Agile and DevOps neu erfunden

Enterprise Continuous Testing

Selbst bei extremer Automatisierung bleibt nicht genug Zeit, „alles“ zu testen. Es ist unmöglich, bei jedem Release alle Pfade einer modernen Geschäftsapplikation zu prüfen. Zum Glück müssen wir das auch nicht. Wenn wir unseren Testansatz überdenken, können wir mit einem viel geringeren Testaufwand, als ihn die meisten Firmen heute erbringen, das Geschäftsrisiko jedes Release-Kandidaten klar beurteilen. 

Softwaretests galten schon immer als Hemmnis für Schnelligkeit und Innovation — als ein langsamer, kostenintensiver Prozess, der Releases verzögert und dessen geschäftlicher Nutzen fragwürdig ist. Im Buch „Enterprise Continuous Testing: Transforming Testing for Agile and DevOps (Kontinuierliches Testen im Unternehmen: die Transformation von Softwaretests für Agile und DevOps) wird eine umfassende Sicht auf kontinuierliches Testen vorgestellt. Die vielen Vorschläge erleichtern es Unternehmen, ihre Softwaretests massiv zu beschleunigen, um mit schnelllebigen Agile- und DevOps-Initiativen schritthalten zu können.

Enterprise Continuous Testing

Dieses Buch wurde für Qualitätsmanager und Geschäftsführer geschrieben, die im Bereitstellungsprozess von Software das optimale Verhältnis zwischen Schnelligkeit und Qualität erreichen müssen. Wenn Sie den Qualitätssicherungsprozess Ihres global agierenden Unternehmens an den unaufhaltsamen Trend in Richtung einer stetig beschleunigten Softwarebereitstellung und an das allgegenwärtige „Continuous Everything“ anpassen wollen, dann sind Sie hier richtig.

Enterprise CT

Der Erlös aus dem Verkauf von „Enterprise Continuous Testing“ geht an Specialisterne, einen gemeinnützigen Verein, der Menschen mit Autismus bei ihrer Integration in den Arbeitsmarkt unterstützt. Specialisterne hat Partnerschaften mit Unternehmen, Universitäten, Schulen und Gemeinden.

Kapitelübersicht

Einleitung

Seien wir ehrlich: Unternehmen von heute wollen — oder brauchen — keine „perfekte“ Software: Vielmehr wollen sie Innovationen so schnell wie möglich auf den Markt bringen. Jede Verzögerung könnte für den Mitbewerber eine Chance sein, Marktanteile zu gewinnen oder gar der neue Marktführer zu werden.

Softwaretests sind oft der Flaschenhals im Bereitstellungsprozess innovativer Software. Wir brauchen rasch Feedback darüber, ob die neueste Innovation wie erwartet funktioniert und müssen sicherstellen, bei Produktivsetzung keine inakzeptablen Geschäftsrisiken einzugehen.

Doch selbst bei extremer Automatisierung bleibt nicht genug Zeit, „alles“ zu testen. Es ist unmöglich, bei jedem Release alle Pfade einer modernen Geschäftsapplikation zu prüfen. Zum Glück müssen wir das auch nicht. Wenn wir unseren Testansatz überdenken, können wir mit einem viel geringeren Testaufwand, als ihn die meisten Firmen heute erbringen, das Geschäftsrisiko jedes Release-Kandidaten klar beurteilen.

Kapitel 1

Die „digitale Transformation“ treibt Unternehmen an, in rasantem Tempo Innovationen zu liefern. Während wir unsere operative Agilität kontinuierlich steigern, muss der Kundennutzen erhöht werden. Andernfalls riskieren wir, eines Tages aufzuwachen und herauszufinden, dass wir gewissermaßen verloren haben, obwohl wir nichts „falsch“ gemacht haben.

Das Tempo der digitalen Transformation ist schon jetzt atemberaubend und wird sich weiter verschärfen. In konkreten Zahlen ausgedrückt:

Von 7,7 Milliarden Menschen auf der Welt …

… haben 4,5 Milliarden regelmäßig Zugang zu einer Toilette

… besitzen aber 5,5 Milliarden ein Smartphone!

Plötzlich ist eine Vielzahl von Menschen aus sehr einfachen Lebensumständen direkt im digitalen Zeitalter angelangt! Dadurch entsteht eine enorme Nachfrage nach immer innovativerer, einfach handzuhabender Software.

Kapitel 2

Der letzte Testbericht, den Sie in Händen hielten, hat wahrscheinlich so oder so ähnlich ausgesehen:

Dieser Bericht besagt:

  • Die Gesamtanzahl der Testfälle beträgt 53.274 
  • Fast 80 Prozent dieser Tests (42.278) wurden bestanden
  • Mehr als 19 Prozent schlugen fehl
  • Ungefähr 1 Prozent wurde nicht ausgeführt

Aber… würden Sie basierend auf diesen Daten über eine Inbetriebnahme entscheiden (oder diese empfehlen)? Vielleicht hängen die fehlgeschlagenen Tests mit einer trivialen Funktion zusammen. Vielleicht rühren sie auch von einer wichtigen Funktion her: dem „Motor“ Ihres Systems. Oder aber vielleicht wurde ihre wichtigste Funktion noch nicht einmal getestet…

Kapitel 3

Für viele Unternehmen klingt eine risikobasierte Herangehensweise an das Testen zwar großartig in der Theorie, sie zweifeln aber daran, ob sie diese auch wirklich implementieren können, weil schlichtweg die Zeit dazu fehlt. Tatsächlich ist die Anwendung risikobasierter Ideen ein relativ einfacher und schmerzloser Prozess. Wir haben sogar festgestellt, je schneller man eine Einschätzung der Risiken von Geschäftsprozessen erarbeitet, desto besser sind die Ergebnisse.

In diesem Kapitel erkläre ich, wie Sie Ihre größten Geschäftsrisiken systematisch in nur wenigen Stunden quantifizieren. Dieser Schritt dient als Grundlage, um 1) zu bestimmen, worauf Sie beim Testen Ihren Schwerpunkt legen müssen und 2) zu überwachen, wie ausführlich Ihre Geschäftsrisiken getestet werden, und ob sie wie erwartet funktionieren.

Die Definition von Risiko

Bevor wir uns ansehen, wie Sie Ihre Geschäftsrisiken beurteilen, sehen wir uns zunächst die Definition des Begriffs „Risiko“ an…

Kapitel 4

Wie im vorangegangenen Kapitel ausgeführt, liefert eine risikogewichtete Bewertung Ihrer Anforderungen und Sub-Anforderungen die Entscheidungsgrundlage dafür, worauf Sie beim Testen den Fokus legen. Aufbauend auf einer vergleichenden Bewertung der Anforderungen steigen Sie entlang der Sub-Anforderungen ins Detail und prüfen, welche Funktionen den größten Beitrag zur Gesamtrisikodeckung leisten.

 

Sobald Sie wissen, was getestet werden soll, legen Sie fest, wie Sie den Test ausführen wollen (manuell, automatisiert, über das User-Interface, über eine API, etc.). Ziel ist natürlich, so effizient wie möglich die größte Risikodeckung für die gewünschten Anforderungen zu erreichen…

Kapitel 5

Um das Meiste aus einem gewissenhaft aufgebauten Testfall-Portfolio herauszuholen, müssen Sie sicherstellen, dass die geplanten Tests so schnell und so oft wie nötig ausgeführt werden. In früheren Wasserfallmodellen passierte dieser Test meist manuell – eine zulässige, wenngleich kostenintensive Lösung. Die Vorteile der Automatisierung lagen zwar stets auf der Hand, dennoch dominierten manuelle Tests, die in Ländern mit geringen Lohnkosten erbracht wurden. Weil Unternehmen die Möglichkeit hatten, solcherart kosteneffizient manuelle Tests durchzuführen, schoben sie Initiativen zum Aufbau und zur Ausweitung einer Testautomatisierung auf. 

Noch vor fünf Jahren wurden in Unternehmen nur 30 Prozent der Softwaretests gänzlich firmenintern durchgeführt, und der Großteil dieser Tests war nicht automatisiert. Heute arbeiten 97 Prozent der Unternehmen mehr oder weniger nach agilen Vorgehensmodellen, und in 73 Prozent der Unternehmen gibt es laufende oder geplante DevOps-Initiativen. Diese Umstellung erzwingt eine Trendwende vom manuellen Testen hin zur Testautomatisierung. Tester müssen in das Team integriert werden und werden angehalten, die Tests noch im aktuellen Entwicklungssprint abzuschließen.

Warum macht ein Umstieg auf Agile-Software-Entwicklung und DevOps die Testautomatisierung unabdingbar? … 

 

image

Über den Autor

Wolfgang Platz ist Gründer und Chief Strategy Officer von Tricentis. Er ist die treibende Kraft hinter Innovationen wie der modellbasierten Automatisierung und der Linear Expansion Methodology für Testentwürfe. Die von ihm entwickelte Technologie ist der Grundstein der ContinuousTestingPlatform von Tricentis, welche von allen wichtigen Analysten als die branchenführende Lösung anerkannt wird. Heute bringt er die Tricentis-Vision, die resiliente Testautomatisierung Realität werden zu lassen, in den 2.000 weltweit größten Firmen voran.

Vor Tricentis war Wolfgang Platz bei Capgemini als Group Head of IT Development für eines der weltweit größten IT-Entwicklungsprojekte einer Versicherung tätig. Dort verantwortete er die Architektur und Implementierung von Lebensversicherungspolicen und das Projektmanagement für mehrere Projekte in Banken.

Wolfgang Platz schloss an der TU Wien das Studium der Technischen Physik ab und absolvierte einen Master of Business Administration.