In diesem Blog:
- Was ist ein Regressionstest?
- Wie funktioniert ein Regressionstest?
- Ein Überblick über zehn wichtige Aspekte bei der Erstellung eines Regressionstestsatzes
- Beispiel für einen Regressionstest
Was ist ein Regressionstest?
Regression ist "das Phänomen, dass die Qualität eines Systems als Ganzes durch einzelne Änderungen abnimmt" (TMap Next, 2006). Um Schäden durch diese Softwarefehler zu vermeiden, wird ein Regressionstest durchgeführt.
Regressionstests zielen darauf ab, festzustellen, ob alle Systemkomponenten nach der Implementierung einer oder mehrerer Änderungen weiterhin ordnungsgemäß funktionieren. Regressionstests sind auch nach der Behebung offener Testbefunde ratsam.
Kurz gesagt, ein Regressionstest-Set ist ein wertvolles Instrument, um die Kontinuität der IT-Landschaft zu gewährleisten.
"Regression ist das Phänomen, dass die Qualität eines Systems als Ganzes durch individuelle Anpassungen abnimmt".
Wie funktioniert ein Regressionstest?
Im Folgenden werden die zehn wichtigsten Grundsätze für Regressionstests aufgeführt. Denken Sie daran, dass das wichtigste Prinzip der Regressionstests darin besteht, die Kontinuität des Unternehmens zu gewährleisten.
Arbeiten Sie in kleinen, überschaubaren Schritten auf einen ausgereiften Regressionstest hin. Unsere Testberater helfen Ihnen gerne, diesen Prozess zu begleiten oder mit unseren Lösungen zu erleichtern. Sie können jederzeit ein unverbindliches Beratungsgespräch mit uns vereinbaren. Wir helfen Ihnen gerne auf Ihrem Weg.
Ein Überblick über zehn wichtige Aspekte bei der Erstellung eines Regressionstestsets:
- Legen Sie in den Projektabnahmekriterien fest, dass die im Projekt erstellte Testware nach Abschluss des Projekts an das Management übergeben wird. Immerhin enthält diese Testware eine gute Grundlage für den Regressionstestsatz des gelieferten Systems (Komponente). Das spart viel Zeit und vermeidet, das allgegenwärtige Rad neu zu erfinden.
- Regressionstests konzentrieren sich insbesondere auf die Beziehung zwischen den geänderten und unveränderten Teilen, da hier die Fehlerwahrscheinlichkeit am höchsten ist. Tests, bei denen einzelne Funktionen getestet werden, sind weniger relevant.
- Begrenzte Zeit und begrenzte Ressourcen sind per definitionem eine Herausforderung bei jeder Form des Testens. Daher gilt es auch bei der Zusammenstellung eines Regressionstestsets, sich an den Produktrisiken zu orientieren. Die Komponenten mit dem größten Schadenspotenzial (und der größten Fehlerwahrscheinlichkeit) werden zuerst und am gründlichsten untersucht.
- Obwohl in Projekten sowohl richtige als auch falsche Pfade getestet werden, ist es sinnvoll, die Regressionstests ausschließlich auf die richtigen Pfade zu beschränken (auch bekannt als"Happy Flows").
- Eine große Herausforderung bei Regressionstests besteht darin, die Testfälle und die Testszenarien aktuell zu halten. Stellen Sie daher sicher, dass die Regressionstests so aufgebaut sind, dass sie leicht zu pflegen ist Wenn sich Funktionalitäten ändern, müssen die Tests entsprechend angepasst werden. In Testersuite zum Beispiel werden die Testszenarien auf der Grundlage von Testfälle zusammengestellt. Daher muss nur die Testfall geändert werden, und die Änderung wird sofort in allen Testszenarien umgesetzt, die diese Testfall verwenden.
- Obwohl die Zusammenstellung eines anfänglichen Regressionstestsatzes eine zeitaufwändige Herausforderung ist, wird diese investierte Zeit durch die Wiederverwendung dieses Testsatzes bei den Regressionstests wieder wettgemacht. Übrigens ist diese Amortisation noch völlig unabhängig von den "zurückgewonnenen" Kosten durch die Vermeidung von Produktionsunterbrechungen.
- Bei größeren Versionen wird häufig der gesamte Regressionstestsatz durchgeführt. Es ist jedoch nicht ungewöhnlich, dass kleine Ad-hoc-Änderungen große Regressionsprobleme verursachen. Der Drang, ein Produktionsproblem schnell zu lösen, ist oft größer als das Bewusstsein, die Lösung strukturiert auf Regression zu testen. Durch den skalierbaren Aufbau des Regressionstestsatzes kann dieser auch als Teilmenge geplant werden. Auf diese Weise ist das Testset sowohl für Ad-hoc-Änderungen als auch für geplante größere Wartungsarbeiten verwendbar.
- Die Sicherung großer Mengen von Testfälle und Testszenarien ist eine große Herausforderung, zumal neben der Sicherung der Tests auch die durchgeführten Tests (einschließlich der Testergebnisse) aufbewahrt werden müssen. Die Verwaltung der Inhalte von Testfälle und Testszenarien auf einem Netzlaufwerk ist ein Fulltime-Job. Sorgen Sie für Übersicht und Versionskontrolle durch zentrale Ablage, zum Beispiel mit einem Testmanagement-Tool wie Testersuite.
- Wer ist für die Regressionstests zuständig (sprich: verantwortlich!)? Dies ist vorzugsweise eine Person mit Testexpertise, die nicht in der Projektorganisation tätig ist. Diese Person kann die Verwendung und Wiederverwendung des Regressionstestsets überwachen und sicherstellen, dass das Regressionstestset aktualisiert wird.
- Mit zunehmender Häufigkeit der Regressionstests wird ein Testsatz von immer höherer Qualität und Detaillierungsgrad erstellt. Dadurch ist es möglich, die Tests, die wiederholt ausgeführt werden und sich nicht oft ändern, teilweise (!) zu automatisieren automatisieren. Das spart eine Menge Zeit!
Bei kleinen Änderungen ist der Testaufwand zum Ausschluss einer Regression um ein Vielfaches höher als der Test der kleinen Änderung selbst. Aus diesem Grund ist es ratsam, die Implementierung von Änderungen als Release zu betrachten. Hier kann ein breiterer Regressionstest geplant werden und der Testaufwand steht in einem besseren Verhältnis zum Umfang der Änderungen.
Beispiel für einen Regressionstest
Jede Situation ist anders. Es gibt viele verschiedene Beispiele und Methoden für den Aufbau eines Regressionstestsatzes. Aus unserer Vergangenheit in der Testberatung haben wir viel Erfahrung mit diesem Thema. Wir haben auch zahlreiche Beispiele von Testersuite Anwendern, wie man einen Regressionstestsatz aufbaut. Wenn Sie ein unverbindliches Beratungsgespräch mit uns vereinbaren, zeigen wir Ihnen gerne, wie Sie einen Regressionstestsatz aufbauen und durchführen können.