Testautomatisierung ist das Rückgrat von DevOps. Unsere Checkliste zeigt euch, worauf ihr bei der Bewertung des Reifegrads eurer Testautomatisierung achten solltet.
Tatu Kairi
Principal Consultant
Tatu enjoys piña coladas, getting caught in the rain, is not into yoga and has half a brain.
Wie der Name vermuten lässt, analysiert die im April 2019 in Evaluation and Assessment in Software Engineering (EASE ‘19) veröffentlichte Studie Lücken in den verfügbaren Frameworks zur Selbstbewertung der Reife von Testautomatisierung und schlägt einen besseren Ansatz vor.
Ich dachte, es wäre sinnvoll, die wichtigsten Erkenntnisse der Studie hervorzuheben und darauf hinzuweisen, dass ihr eure Reife bei der Testautomatisierung mit der Umfrage bewerten könnt. Im Grunde ist dieser Blog eine Checkliste dafür, worauf ihr bei einer Reifebewertung der Testautomatisierung achten solltet.
Ich möchte es noch einmal betonen: Die Studie läuft noch! Ihr könnt die Reife eurer Testautomatisierung weiterhin selbst bewerten und gleichzeitig zum vorhandenen Wissen in diesem Bereich beitragen. Bitte füllt die EASE-Umfrage aus, um die Reife der Testautomatisierung in eurem Unternehmen selbst zu bewerten.
Warum ist Testautomatisierung wichtig?
Ich bin voreingenommen – aber Testautomatisierung ist das Rückgrat von DevOps, weil sie Qualität bei hoher Geschwindigkeit ermöglicht. Wenn ihr sie richtig umsetzt, richtet ihr die Testautomatisierung einmal ein, sie lässt sich relativ einfach warten, und Tests erfordern danach deutlich weniger Aufwand.
Selbstbewertung der Reife von Testautomatisierung: Warum sollte man sie durchführen?
Dass Testautomatisierung für die DevOps-Performance wichtig ist, ist keine wirklich neue Erkenntnis.
Etwas neu für diesen Bereich ist jedoch die Erkenntnis, dass es sich lohnt, den Reifegrad eurer Testautomatisierung zu kennen.
Wir sprechen nicht über DevOps-Reife, sondern gezielt über die Reife der Testautomatisierung.
Der Zweck der Selbstbewertung ist einfach: Sie senkt die Kosten der Testautomatisierung und verringert das Risiko, Fehler zu machen, die euch später Probleme bereiten.
Welche Faktoren bestimmen die Reife der Testautomatisierung?
Ein geeignetes Instrument zur Selbstbewertung der Testautomatisierung deckt viele bisherige blinde Flecken von Unternehmen auf, die Testautomatisierung einführen. Hier findet ihr einen Überblick über die Bereiche, die ihr betrachten solltet. Er ist nicht vollständig – dafür müsst ihr direkt zur Quelle gehen.
Strategie für Testautomatisierung
Leider reicht „Wir brauchen Testautomatisierung“ als Strategie nicht aus. Eine solide Strategie für Testautomatisierung umfasst Folgendes:
● Ziele für die Testautomatisierung sind festgelegt
● Ein Business Case für die Testautomatisierung ist erstellt
● Risiken werden analysiert
● Der Umfang ist festgelegt: In welchem Maß wird automatisiert?
● Überschneidungen zwischen Testautomatisierung und manuellen Tests wurden berücksichtigt
● Lücken und Überschneidungen zwischen Testarten und Abstraktionsebenen wurden berücksichtigt
● Ressourcen für die Testautomatisierung sind identifiziert
● Feedback zur Strategie wird von Stakeholdern eingeholt
Ressourcen
Wer, was und reicht es aus? Achtet darauf, ob:
● Genügend Personen für die Durchführung der Testautomatisierung vorhanden sind. Dazu können erfahrene Tester, Manager, Berater, Automatisierungsexperten und weitere gehören.
● Testtools unterstützen die Testaktivitäten
● Die Testumgebung ist mit der erforderlichen Software, Hardware und den Testdaten eingerichtet
Testorganisation
Wer ist verantwortlich, und haben alle, was sie brauchen?
● Rollen und Verantwortlichkeiten sind klar definiert
● Mechanismen für Kommunikation und Problemlösung sind vorhanden
● Das Testteam verfügt über ausreichende Kenntnisse für eine optimale Automatisierung, einschließlich Programmierung, Fachwissen und Techniken für das Testdesign
● Einblick in das Kosten-Nutzen-Verhältnis der Testautomatisierung
● Die Testorganisation ist in der Lage, die gewählten Testtools zu warten
Wissenstransfer
Baut eure Organisation ihre Expertise in der Testautomatisierung aus?
● Gute Expertise, Testtools und Praktiken für die Testautomatisierung werden geteilt
● Für Schulungen und Lernkurven wird ausreichend Zeit eingeplant
Auswahl von Testtools
Das ist wichtig.
● Die richtigen Tools werden ausgewählt (Einschränkungen, datengesteuertes Testen, Sprache des Testcodes, Testumgebung)
● Bestehende Testtools werden optimal genutzt
Testumgebung
Auch das ist wichtig.
● Die Anforderungen werden verstanden
● Die Testumgebung wird getestet
● Support für die Testumgebung wird bereitgestellt
Testanforderungen
Auch hier ist ein Prozess erforderlich.
● Prozesse für Anforderungen an die Testautomatisierung sind definiert
Testdesign
Hier muss das Rad nicht neu erfunden werden.
● Spezifische Testdesign-Techniken werden eingesetzt, um mit verschiedenen Testarten Testfälle zu erstellen
● Entwurfsmuster werden wiederverwendet
● Statische und dynamische Messungen werden am Testcode durchgeführt
Testausführung
Es geht nicht nur darum, auf „Start“ zu drücken.
● Testfälle werden für die Automatisierung priorisiert, um den Zeitplan für die Testausführung einzuhalten
● Vorverarbeitungsaufgaben werden vor der Ausführung abgeschlossen
● Nachverarbeitungsaufgaben werden nach der Ausführung automatisch durchgeführt
Bewertungen, d. h. Ergebnisse
Testdaten müssen maximal genutzt werden.
● Stabile Testorakel bestimmen, ob ein Test bestanden oder fehlgeschlagen ist
● Status und Fortschritt der Tests können überwacht werden
● Verschiedene Testergebnisse werden integriert, um ein Gesamtbild der Testdaten zu erstellen
● Relevante Testergebnisse werden den Stakeholdern kommuniziert
● Das Dashboard wird an jeden Stakeholder angepasst
Testautomatisierungsprozess
Der Entwicklungszyklus ist hier das Schlüsselwort.
● Der Prozess ist stabil und steuerbar
● Die Testautomatisierung läuft parallel zum relevanten Entwicklungszyklus
● Der Testautomatisierungsprozess unterstützt andere Prozesse
Die zu testende Software
Testautomatisierung ist keine Selbstverständlichkeit.
● Die Software selbst ist ausgereift genug für die Testautomatisierung – ist sie testbar?
● Die Software ist ausreichend performant, d. h., die Ausführungsgeschwindigkeit reicht für die Testautomatisierung aus.
Kennzahlen zur Testautomatisierung
Mehr zu Daten.
● Mit den richtigen Kennzahlen wird die Testautomatisierung gemessen.
● Wichtige Merkmale sind identifiziert: Effektivität, Gründlichkeit, Zuverlässigkeit, Wartbarkeit.
● Verbesserungsbereiche werden anhand von Messungen identifiziert.
● Mitglieder des Testteams erhalten Feedback zu ihrer Leistung.
Die Merkmale einer hervorragenden Testautomatisierung
Ich kann nicht behaupten, dass dieser Beitrag kürzer wird, aber bevor ich mich verabschiede, folgen noch einige allgemeine Punkte dazu, worauf ihr mit eurem Testautomatisierungsprogramm abzielen solltet – zusätzlich zu den oben genannten Details. Wie alle Inhalte in diesem Blog stammt auch dies aus dem entsprechenden wissenschaftlichen Artikel.
Portabilität: Wie einfach ist es, automatisierte Tests in einer neuen Umgebung mit anderer Hardware auszuführen?
Wartbarkeit: Ist eure Testautomatisierung einfach zu warten, insbesondere was die Verwaltung und Aktualisierung der Testumgebung betrifft?
Zuverlässigkeit: Sind die Tests zuverlässig und präzise? Sind sie unempfindlich gegenüber geringfügigen Änderungen?
Benutzerfreundlichkeit: Sind die Tests für viele verschiedene Personen, einschließlich Manager und Führungskräfte, leicht verständlich?
Effizienz: Werden Kosten und personeller Aufwand im richtigen Umfang eingesetzt?
Funktionalität: Verbessert eure Testautomatisierung den ROI, also die Produktqualität?
Macht jetzt die Selbsteinschätzung zur Reife eurer Testautomatisierung
Jetzt, da ihr das Ende dieses Beitrags erreicht habt – ihr beeindruckenden Menschen –, werft bitte einen Blick auf die Umfrage zur Selbsteinschätzung der Reife eurer Testautomatisierung. Sie gibt euch zumindest einen besseren Einblick in eure Praktiken zur Testautomatisierung.
- DevOps
Subscribe to our newsletter
Related blogs