Skip to main content

2023 | Buch

Konzeption und Umsetzung automatisierter Softwaretests

Testautomatisierung zur Optimierung von Testabdeckung und Softwarequalität

insite
SUCHEN

Über dieses Buch

Für die erfolgreiche Umsetzung von Testautomatisierung im Unternehmen wird konkrete Hilfestellung geboten. Das Buch geht auf unterschiedliche Formen und Ausprägungen der Testautomatisierung, ihre Chancen und Risiken und ihren Einsatz in der betrieblichen Praxis ein. Dabei werden sowohl die Auswirkungen auf andere Bereiche (z.B. Anforderungsmanagement, Releasemanagement, Entwicklung) als auch aktuelle Trends beleuchtet. Das Buch enthält weiterhin eine Wirtschaftlichkeitsberechnung zur Einführung von Testautomatisierung, Erläuterungen zu möglichen Metriken als auch die Bewertung der Testautomatisierung mittels Prozessreifemodellen.

Inhaltsverzeichnis

Frontmatter
Kapitel 1. Vorwort

Dieses Buch behandelt die Umsetzung und Konzeption automatisierter Softwaretests. Zur Einordnung des Themas in die Historie der Softwareentwicklung, in die betriebliche Praxis, das grundlegende Vorgehen und das organisatorische Umfeld, in dem sich Testautomatisierung abspielt, sind zu Beginn einige Aspekte zu beleuchten. Auch die Ziele, die man mit Testautomatisierung verfolgt, sollten von Anfang an klar definiert werden.

Frank Witte
Kapitel 2. Bedeutung von Automatisierung

Die Automatisierungspyramide zeigt die Ebenen der Automatisierung in einem Unternehmen. Die Ziele der Automatisierung treffen grundsätzlich auch auf die Testautomatisierung zu. Dabei hat sich die Bedeutung der einzelnen Ziele der Automatisierung im Laufe der Geschichte gewandelt. Die genaue Analyse der Arbeitsprozesse und die Beachtung der Komplexität der Systemintegration sind entscheidende Erfolgsfaktoren für Automatisierung im Allgemeinen und für Testautomatisierung im Besonderen.

Frank Witte
Kapitel 3. Vorteile der Testautomatisierung

Die Einführung und der Einsatz von Testautomatisierung in einer Organisation führt zu mehreren Vorteilen, die sich auf vielfache Weise positiv auf Unternehmensziele auswirken und erheblich dazu beitragen können, die Qualität von Produkten und die Rendite eines Unternehmens zu steigern. Die Bedeutung von Testautomatisierung ist in den letzten Jahren gestiegen und wird aus unterschiedlichen Gründen weiterhin zunehmen.

Frank Witte
Kapitel 4. Planung der Testautomatisierung

Definition des Projektumfangs und Abgrenzung des Untersuchungsgegenstands stehen am Anfang eines Projekts zur Testautomatisierung. Die einzelnen Schritte sind mit einem Projekt zur Entwicklung einer Software zu vergleichen: Nach einem Proof of Concept wird der Testfallkatalog erstellt, automatisierte Skripte entwickelt, ein Akzeptanztest der erfolgreichen Umsetzung durchgeführt und schließlich das automatisierte Verfahren eingefügt.

Frank Witte
Kapitel 5. Testwerkzeuge und Formen der Testautomatisierung

Für den automatisierten Test existieren unterschiedliche Testtools. Aus dem Ziel der Umsetzung leiten sich die Anforderungen an dieses Werkzeug ab. Die einzelnen Testwerkzeuge besitzen gewisse Stärken und Schwächen und erfüllen dadurch bestimmte Reifestufen. Aus diesem Testvorgehen leiten sich unterschiedliche Formen der Testautomatisierung ab.

Frank Witte
Kapitel 6. Automatisierung der Testdokumentation und Testfallgenerierung

Bei automatisierter Testdurchführung entstehen tendenziell mehr Testfälle als bei manueller Testdurchführung. Testautomatisierung kann aber auch den Aufwand, um die Testdurchführung vorzubereiten, erheblich minimieren. Das bezieht sich sowohl auf die Generierung von Testfällen als auch auf die, Verknüpfung von Testfällen mit geeigneten Testdaten bis zur automatischen Generierung der Testprozeduren und des Codes.

Frank Witte
Kapitel 7. Automatisierung der Testdurchführung

Die Automatisierung der Testdurchführung ist ein zentraler Aspekt der Testautomatisierung. Durch die stärkere Verbreitung agiler Vorgehensmodelle und Continuos Builds ist die Bedeutung von zahlreichen Regressionstests mit hohem Testumfang gestiegen. Auch ein kurzfristiges Feedback über die erzielten Testergebnisse wird immer wichtiger. Unterschiedliche Testarten bei der Automatisierung implizieren dabei unterschiedliche Vorgehensweisen.

Frank Witte
Kapitel 8. Automatisierung des Testreportings

Ein aussagefähiges und transparentes Berichtswesen trägt erheblich zum stärkeren Rückhalt durch das Management und den Erfolg eines Projekts bei. Mithilfe geeigneter Metriken lässt sich der Fortschritt bei der Testautomatisierung mit geeigneten Zahlen untermauern. Aber auch bei manueller Testdurchführung führt eine Automatisierung des Testreportings zu aktuelleren Daten und dadurch zu schnelleren Reaktionen und Entscheidungen über zu treffende Korrekturmaßnahmen.

Frank Witte
Kapitel 9. Automatisierung des Fehlermanagements

Das Fehlermanagement lässt sich grundsätzlich ebenfalls automatisieren. Die Automatisierung unterliegt aber mehreren Einschränkungen, die bei der Umsetzung zu bedenken sind, um nicht verzerrte Fehlerstatistiken und damit ein unbrauchbares Reporting zu bekommen.

Frank Witte
Kapitel 10. Wirtschaftlichkeitsberechnung zur Testautomatisierung

Um die Wirtschaftlichkeit von Maßnahmen zur Testautomatisierung nachzuweisen, sind mehrere Kennzahlen der notwendigen Investitionen (z. B. ROI, Break-Even-Punkt) zur Ermittlung der Rentabilität zu erheben und der erwartete Nutzen darzustellen. Das gilt allgemein für jede Art von Automatisierung und für Vorhaben zur Testautomatisierung im Besonderen.

Frank Witte
Kapitel 11. Arbeitsvorbereitung, Priorisierung und Durchführung der Testautomatisierung

Planung, Vorbereitung und Umsetzung der Testautomatisierung verlangen einige Vorüberlegungen und eine sinnvolle Priorisierung der geplanten Arbeitsschritte. Zur Verfolgung dieser Aktivitäten sollten geeignete Metriken eingesetzt werden. Die Bereitstellung geeigneter Testdaten ist dabei eine besondere Herausforderung.

Frank Witte
Kapitel 12. Auswahl und Evaluierung geeigneter Tools und Entscheidungsmatrix

Bevor ein Werkzeug zur Unterstützung der Testautomatisierung beschafft wird, ist ein geeigneter Auswahlprozess mit definierten Kriterien zur Bestimmung des geeigneten Tools erforderlich. Die Einbindung der Stakeholder in den Auswahlprozess trägt dabei wesentlich zur Akzeptanz des Tools bei. Zur neutralen Beurteilung empfiehlt sich eine entsprechende Gewichtung der einzelnen Kriterien.

Frank Witte
Kapitel 13. Einsatzgebiete für Testautomatisierung

Test durch Testautomatisierung kann bei unterschiedlichen Arten von Systemen und Applikationen eingesetzt werden. Je nach Einsatzgebiet sind dabei unterschiedliche Aspekte, aber auch gewisse Einschränkungen zu berücksichtigen.

Frank Witte
Kapitel 14. Reifegrad der Testautomatisierung

Das TPI NEXT®-Modell ist eine Methode zur Bewertung des Reifegrads von Testprozessen. Dazu wird der Testprozess in Kernbereiche, Reifegrade, Kontrollpunkte und Verbesserungsvorschläge aufgeteilt. In diesem Zusammenhang lässt sich für die Testautomatisierung der betrachteten Organisation ein Reifegrad ermitteln, um die Optimierung der einzelnen Prozesse priorisieren und zielgerichtet vorantreiben zu können.

Frank Witte
Kapitel 15. Testorganisation und Testautomatisierung

Die betriebliche Organisation und die Testprozesse haben Wechselwirkungen mit Maßnahmen zur Testautomatisierung. Für die Umsetzung der Testautomatisierung im Unternehmen ist daher eine Betrachtung des betrieblichen Umfelds erforderlich. Für einen Erfolg der Testautomatisierung und eine optimale Personalauswahl ist es erforderlich, die einzelnen Rollen im Testteam soweit möglich nach den Stärken der verfügbaren Mitarbeiter zu besetzen.

Frank Witte
Kapitel 16. Automatisierung in unterschiedlichen Teststufen (Modultest, Integrationstest, Systemtest)

Testautomatisierung kann in den Teststufen Modultest, Integrationstest und Systemtest durchgeführt werden. Je nach betroffener Teststufe unterscheiden sich dabei die Ziele, Kriterien und besonderen Herausforderungen für die erfolgreiche Umsetzung.

Frank Witte
Kapitel 17. Testautomatisierung für Last- und Performancetests

Nichtfunktionale Tests sind durch unterschiedliche Testziele und Methoden gekennzeichnet. Bei der Automatisierung von Last- und Performancetests sind vor allem die Erstellung geeigneter Testdaten und die Definition der Benutzerparameter zu bedenken. Werkzeuge für Performancetests in der Cloud eignen sich in diesem Zusammenhang besonders für die Simulation verschiedener geografischer Standorte.

Frank Witte
Kapitel 18. Projektübergreifende Testautomatisierung

Wenn Testautomatisierung unternehmensweit oder in mehreren Projekten durchgeführt werden soll, ist ein geeignetes Projektmanagement und eine übergreifende Koordination unbedingt erforderlich. Die Kennzahlen der einzelnen Projekte sollten dabei miteinander verglichen werden, um Erfolgsfaktoren für das gesamte Unternehmen herauszuarbeiten und Störfaktoren zu ermitteln.

Frank Witte
Kapitel 19. Releasemanagement und Testautomatisierung

Neue Software-Versionen und Releasezyklen bedeuten eine permanente Weiterentwicklung der Software, eine Erweiterung des Testumfangs und eine höhere Bedeutung von Regressionstests, die mit Hilfe von Testautomatisierung durchgeführt werden können. Für die Wiederverwendung der Testskripte ist die Beachtung einer Reihe von Richtlinien für wartungsfreundliche Testverfahren erforderlich.

Frank Witte
Kapitel 20. Metriken für die Testautomatisierung

Für den Erfolg einer Maßnahme ist es entscheidend, messbare Zahlen und KPIs zu generieren. Für die Messung der Testautomatisierung gibt es eine Reihe sinnvoller Metriken, die sich in Fortschrittsmetriken und Qualitätsmetriken unterteilen lassen. Für die Ableitung der richtigen Schlüsse muss jede Metrik korrekt interpretiert werden und die Zahlen müssen im Zusammenhang betrachtet werden. Damit kann der Projekterfolg und die Softwarequalität der gesamten Organisationseinheit gezielt optimiert werden.

Frank Witte
Kapitel 21. Prozessreifemodelle und Reifegrad der Testautomatisierung (TMAP)

Prozessreifemodelle bewerten den digitalen Reifegrad der Testautomatisierung. Das TMAP-Modell analysiert dazu mehrere Kernbereiche der Testprozesse. Indem man die Reife der einzelnen Kernbereiche gezielt optimiert, gewinnt man eine bessere Strukturierung der Testprozesse und verbessert die Abstimmung mit den gesamten Softwareentwicklungsprozessen im Unternehmen.

Frank Witte
Kapitel 22. Automatisierungsframeworks

Test-Frameworks dienen der testgetriebenen Entwicklung. Bei Frameworks wird der Test für alle entwickelten Funktionen berücksichtigt. Ein Automatisierungsframework soll Abhängigkeiten zwischen Testfall, Werkzeug und dem Testobjekt vermeiden. Zur technischen Umsetzung eines Automatisierungswerkzeugs bestehen unterschiedliche Ansätze.

Frank Witte
Kapitel 23. Testautomatisierung und Anforderungsmanagement

Testautomatisierung ist im Zusammenhang mit dem gesamten Testprozess zu betrachten. Dadurch bestehen bei einer Änderung der Anforderungen teilweise erhebliche Wechselwirkungen zwischen Anforderungsmanagement und Testautomatisierung. Die Testautomatisierung macht die Notwendigkeit einer wirksamen Umsetzung der Kernbereiche des Anforderungsmanagements deutlich. Dafür sind mehrere Kriterien zu beachten.

Frank Witte
Kapitel 24. Quantität und Qualität automatisierter Testfälle (Testeffektivität und Testeffizienz)

Testautomatisierung soll die Effizienz des Testens und die Softwarequalität erhöhen. Um dieses Ziel zu erreichen, sind die erwarteten Fehler zu ermitteln, die sinnvolle Testabdeckung zu bestimmen und dabei eine Risikoabschätzung vorzunehmen. In diesem Zusammenhang ist die sinnvolle Anzahl der durchzuführenden Testfälle zu ermitteln.

Frank Witte
Kapitel 25. Keywords-Driven Testing und Testautomatisierung

Keyword-Driven Testing eignet sich gut für Testautomatisierung. Dabei ist die geeignete Syntax der Anweisungen zu beachten. Schlüsselwortgetriebenes Testen eignet sich vor allem für Webapplikationen und agile Projekte. Es gibt unterschiedliche Methoden zur Implementierung schlüsselwortgetriebener Tests. Eine geeignete Architektur der Testautomatisierung senkt den für die Automatisierung notwendigen Aufwand zur Umsetzung.

Frank Witte
Kapitel 26. Testumgebungsmanagement und Testautomatisierung

Für die Testautomatisierung muss eine eigene Testumgebung zur Verfügung stehen und vom Testumgebungsmanagement überwacht werden. Die Vorbereitung, Einrichtung und Betriebsführung dieser Testumgebung beinhaltet mehrere Schritte und Aufgaben.

Frank Witte
Kapitel 27. Agile Entwicklung, continuos delivery und Testautomatisierung

In der agilen Softwareentwicklung steigt die Bedeutung der Testautomatisierung. Continuos Delivery und häufige Deployments, eine erhöhte Anzahl an Builds, iterative und inkrementelle Softwareentwicklung erfordern eine stärkere Dynamik in der Softwareentwicklung und beim Test als in klassischen Projekten.

Frank Witte
Kapitel 28. Testgetriebene Entwicklung, Testautomatisierung und künstliche Intelligenz

Testgetriebene Entwicklung bedeutet ein Umdenken der Entwicklung; es werden erst Testfälle entwickelt und danach die Software codiert. Testgetriebene Entwicklung erfordert einen hohen Testautomatisierungsgrad und eine detaillierte Planung. Auch neuartige Ansätze der künstlichen Intelligenz (KI) haben Auswirkungen auf die Testautomatisierung.

Frank Witte
Kapitel 29. Testdaten und Testdatengetriebene Automatisierung

Testdaten haben eine hohe Bedeutung für die Testdurchführung automatisierter Tests und erfordern ein konsequentes Testdatenmanagement. Testdaten lassen sich nach unterschiedlichen Kriterien klassifizieren. Testdaten können automatisch generiert werden. Beim datengetriebenen Test werden Testdaten von den Testschritten getrennt. Durch diese Trennung kann die Testabdeckung erhöht werden und gleichzeitig der Aufwand der Testfallerstellung erheblich reduziert werden.

Frank Witte
Kapitel 30. Modellbasiertes Testen

Modellbasiertes Testen automatisiert die Erstellung von Testfällen und wählt unterschiedliche Ansätze zur Optimierung von Testprozessen und Testdurchführung. Modellelemente und Keywords werden mithilfe von Aktivitätsdiagrammen miteinander verbunden.

Frank Witte
Kapitel 31. Testautomatisierung und die Zukunft des Testens

Mehrere Zukunftstrends werden die Schwerpunkte der Testautomatisierung in den nächsten Jahren bestimmen. Ziel ist dabei die Steigerung der Effizienz und Sicherheit der Testautomatisierung. Codelose Automatisierung, Test Ops, künstliche Intelligenz, Automatisierung in der Cloud und entwicklungsnahe Testautomatisierung sind einige dieser Trends.

Frank Witte
Kapitel 32. Grenzen der Testautomatisierung

Testautomatisierung ist nicht immer sinnvoll, es geht um die richtige Kombination aus manuellen und automatisierten Testfällen. Neue Rollenverteilungen und neue Teamstrukturen wirken sich auf die Möglichkeiten der Testautomatisierung aus.

Frank Witte
Backmatter
Metadaten
Titel
Konzeption und Umsetzung automatisierter Softwaretests
verfasst von
Frank Witte
Copyright-Jahr
2023
Electronic ISBN
978-3-658-42661-3
Print ISBN
978-3-658-42660-6
DOI
https://doi.org/10.1007/978-3-658-42661-3