Um Regressionstests als Schnittstelle zwischen verschiedenen Testteams in einer SAFe-Scrum-Umgebung mit vielen Teams und einer großen Anzahl von Testfällen richtig zu verwalten, würde ich die folgenden Schritte vorschlagen:

Definiert klare Richtlinien für die Erstellung und Verwaltung von Testfällen: Alle Teams sollten ein einheitliches Format für die Erstellung und Dokumentation von Testfällen befolgen, einschließlich klarer Definitionen für manuelle und automatisierte Testfälle.

Erstellt ein zentrales Testfall-Repository: Alle Testfälle aus verschiedenen Teams sollten in einem zentralen Repository (z. B. X-Ray) gespeichert werden, um sicherzustellen, dass sie leicht zugänglich und durchsuchbar sind.

Einen Prozess zur Überprüfung von Testfällen einrichten: Ein spezielles Team oder eine Einzelperson sollte alle Testfälle überprüfen, bevor diese in das zentrale Repository aufgenommen werden, um sicherzustellen, dass sie korrekt und vollständig sind und den Richtlinien entsprechen.

Definiert Testlaufvorlagen: Erstellt Vorlagen für verschiedene Arten von Testläufen, z. B. für einzelne Team-Testläufe und komplette Regressionstestläufe, um Konsistenz und Effizienz zu gewährleisten.

Implementiert die Automatisierung von Testfällen: Automatisiert so viele Testfälle wie möglich mithilfe von Tools wie Jenkins, um den Arbeitsaufwand für manuelle Tests zu verringern und die Gesamteffizienz des Testprozesses zu verbessern.

Regelmäßige Überprüfung und Aktualisierung der Testfälle: Um das Risiko zu minimieren, ständig neue und alte Testfälle gemixt zu haben, ist es wichtig, die Testfälle regelmäßig zu überprüfen und bei Bedarf zu aktualisieren.

Verwendet ein Testmanagement-Tool wie X-Ray: Es kann euch helfen, den Überblick über alle Testfälle und Testläufe zu behalten, und gibt euch einen Überblick über die Testergebnisse. Erwägt den Einsatz eines Tools für die Testfallverwaltung wie TestRail, mit dem ihr alle Ihre Testfälle, Testläufe und Testergebnisse organisieren, verwalten und verfolgen könnt.

Automatisierte Testfälle statt manueller Testfälle: Eliminiert nach Möglichkeit manuell durchgeführte, geskriptete Regressionstests - Versucht, geskriptete Regressionstests so weit wie möglich zu automatisieren. Es gibt einige Dinge, die nicht automatisiert werden sollten, z. B. Hardware-Interaktionen, Ausdrucke, Überprüfung des Erscheinungsbilds der Benutzeroberfläche usw. Der Rest sollte so weit wie möglich automatisiert werden.

 

Unittest nutzen: Wenn ihr Zugang zu den Unit-Tests habt, würde ich mit diesen beginnen und die Unit-Tests erweitern, damit ihr so viel Pfad-/Codeabdeckung wie möglich habt. Ich würde auch das Unit-Test-Framework verwenden, um Integrationstests auf niedrigerer Ebene durchzuführen, um die Geschäftslogik abzudecken, damit die schnellstmöglichen Tests so viel Arbeit wie möglich erledigen.

E2E-Test nutzen: Wenn die Benutzeroberfläche die API verwendet, würde ich mich viel mehr auf die API-Tests konzentrieren, um die End-to-End-Funktionalität abzudecken, da diese schneller sind als die UI-Tests. In diesem Szenario würde ich die UI-Tests auf die Formulareingabe/-übermittlung und die Überprüfung, ob die eingegebenen Daten übermittelt werden, beschränken und vielleicht eine Handvoll End-to-End-Tests mit kritischen Funktionen durchführen.

Plant die Automatisierung: Wenn ihr könnt, solltet ihr eure automatisierten Tests in den Build-Prozess einbinden. Ihre API-Tests, Unit-Tests und Integrationstests sollten nach jedem Build ausgeführt werden. Für UI-Tests solltet ihr bei jedem Build einen Smoke-Test verwenden und tägliche Durchläufe der gesamten UI-Testsuite planen, um sicherzustellen, dass die Testläufe nicht zu einem Engpass werden.

Arbeitet mit den Entwicklern zusammen: Bei Unit- und Low-Level-Integrationstests solltet ihr mit den Entwicklern zusammenarbeiten. Dies kann möglich sein oder auch nicht, aber wenn es möglich ist, ist es der beste Weg, um sicherzustellen, dass ihr eine gute Abdeckung habt, die gut funktioniert.

Stellt sicher, dass ihr ein durchsuchbares Test-Repository habt - Alle von euch definierten Tests, ob manuell oder automatisiert, sollten für alle Tester sichtbar sein und von den Testern, die mit diesem Teil des Systems arbeiten, bearbeitet werden können. Wenn ihr eine Namenskonvention verwendet und damit beginnt, alle Tests so umzubenennen, dass sie der Namenskonvention entsprechen, werdet ihr nach und nach doppelte Tests finden und die Redundanzen beseitigen können. Die manuellen Tester sollten in der Lage sein zu sehen, welche Tests automatisiert sind, sodass ihr eure Tests effektiver ausrichten könnt. Beachtet, dass jede Namenskonvention funktioniert, solange sie konsistent ist.

Bereinigt die manuellen Tests: Auch hier gilt, dass alle stark skriptbasierten manuellen Tests nach Möglichkeit automatisiert werden sollten. Erfahrene manuelle Tester sind viel besser geeignet, um manuelle Tests durchzuführen.