Unterschied zwischen Wiederholungstests und Regressionstests mit Beispiel

Was ist der Unterschied zwischen Wiederholungstests und Regressionstests:

Lieben Sie nicht alle die Artikel zum Thema Vergleichen und Kontrast? Das weiß ich. Es ist eine großartige Möglichkeit, Gedanken, Kommentare und vielleicht sogar starke Meinungsverschiedenheiten einzuladen.

Das heutige Thema ist Retesting Vs Regressionstests.

=> Klicken Sie hier für die komplette Regressionstestreihe.

Beginnen wir mit dem erneuten Testen:

Erneutes Testen

Erneutes Testen bedeutet, erneut zu testen. Der Grund spielt keine Rolle. Wenn Sie einen Test wiederholen, wiederholen Sie den Test. Sie können die Funktionalität der aktuellen Version erneut testen. Oder ein Bugfix, Funktionen früherer Versionen, ein Testfall, den Sie gerade ausgeführt haben usw.

 Erneutes Testen und Regressionstests  Erneutes Testen und Regressionstests

Wenn Sie immer noch denken – warum – dann sind die folgenden Gründe so gut wie alle:

  • Sie haben gestern einen Test durchgeführt und sind auf einen Defekt gestoßen. Sie wollen die Schritte und die Reproduzierbarkeit des Defekts bestätigen. Also testen Sie erneut.
  • Sie haben einen Test durchgeführt. Ihre Aufmerksamkeit war nicht darauf gerichtet (vielleicht klingelte Ihr Telefon oder Sie sprachen mit einem Kollegen usw.). Sie möchten noch einmal überprüfen, also testen Sie erneut.

Ich bin sicher, Sie bekommen es.

Wiederholungstest ist, wenn Sie einen Test aus irgendeinem Grund wiederholen. Es ist einer jener Begriffe, die seiner Definition treu bleiben.

Regressionstest

Software entwickelt sich weiter. Es wird neue Versionen über bestehende geben. Es häufen sich neue Funktionen, Erweiterungen usw. Im Laufe der Zeit kann dies jedoch zu einer Instabilität der Anwendung führen.

Stellen Sie sich vor, Sie machen einen Blockturm, indem Sie einen Block über den anderen legen. Sie nehmen sich nicht die Zeit, die Basis zu verstärken oder zu stärken. Es wird nicht lange dauern, bis der Turm abstürzt, nicht wahr?

Einfach so müssen Sie die Basis der Software auf Stärke und Stabilität testen.

Dazu müssten wir die Software erneut testen. Das ist der einzige Weg.

Empfohlene Lektüre => Was sind Regressionstests? Tools und Best Practices

Regression ist eine Form des Retests. Die Besonderheiten von „Warum“ und „Wann“ unterscheiden es von ersterem.

1) Wann testen wir erneut? Wenn sich die Software ändert

2) Warum testen wir erneut? Um sicherzustellen, dass die neuen Ergänzungen / Änderungen die Funktionalität vor dem Arbeiten nicht instabil gemacht haben. Regression ist üblich und empfohlen, wenn:

  • Eine neue Version wird verfügbar. (Regress alle oder zumindest die wichtigen Funktionen der älteren Version)
  • Fehlerbehebung

Hinweis: Erschöpfende Regressionstests sind unmöglich, aber wünschenswert.

Führen Sie deshalb eine Regressionsanalyse durch, bevor Sie direkt mit dem Testen beginnen. In diesem Schritt wird entschieden, wie viel Regression ich für meine Anwendung durchführen soll.

Wovon hängt das Ausmaß der Regression ab?

  • Art der Änderung
  • Beziehung/Auswirkung der Änderung auf das aktuelle System/Feature
  • Verfügbare Zeit und Ressourcen

Wie können Tester das Ausmaß der Regression bestimmen?

1) Durch Erfahrung und Vertrautheit mit der Anwendung

2) Diskussion mit den Entwicklern

3) Der Ort, an dem die Änderung vorgenommen wurde. Beispielsweise: wenn es sich auf der Startseite befindet, benötigt es mehr Aufmerksamkeit als auf einer der weniger aufgerufenen Seiten.

Abhängig von den Faktoren, die im Spiel sind, könnte sich ein Testteam für eines der folgenden entscheiden:

  • Unit-Regression
  • Partielle Regression
  • Vollständige Regression

Unit-Regression bedeutet, dass Sie NUR das geänderte Modul / den geänderten Bereich der Anwendung erneut testen.

Partielle Regression bedeutet, dass Sie das geänderte Modul erneut testen. Dazu gehören auch diejenigen, die damit interagieren.

Bei der vollständigen Regression testen Sie die gesamte Anwendung unabhängig vom Ort der Änderung.

Dies hängt von der Situation (Zeit & Ressourcenverfügbarkeit), der Schwere der Änderung (deren Auswirkungen), den Eingaben Ihres Entwicklers usw. ab. Sie werden effizienter sein, wenn Sie den richtigen Satz von Tests im Vergleich zu allen Tests auswählen.

Die Regressionsanalyse ist der entscheidende Erfolgsfaktor. Es braucht kluge Arbeit statt harter Arbeit.

Missverständnisse über Regressionstests

Es gibt viele Missverständnisse über Regressionstests:

# 1) Die Regression erfolgt immer über Automatisierung: Nein. Die Regression erfolgt ebenfalls manuell. Wir haben einen ganzen Artikel dazu => Wie werden Regressionstests durchgeführt? Kann es manuell gemacht werden?

Beachten Sie, dass die Regression ein perfekter Kandidat für die Automatisierung ist. Das Ausmaß der Wiederholung ist zeitaufwendig und kann zu Langeweile führen. Außerdem könnte eine wichtige Validierung verpasst werden. Automatisierung ist eine zuverlässige, schnelle und effiziente Alternative.

Lesen Sie auch => Herausforderungen beim automatisierten Regressionstest

#2) Regression ist niemals vollständig: Wahr. Aber nicht vollständig.

Was ich meine ist, ein erschöpfender Regressionstest könnte unmöglich sein. Aber erschöpfende Regressionstests könnten auch unnötig sein.

Angenommen, Sie haben einen Rechtschreibfehler auf der Startseite geändert. Dieser Fix ist geringfügig. Es ist auch von den anderen Anwendungsbereichen isoliert. Ein einfaches erneutes Testen der Funktion würde also ausreichen. Keine Notwendigkeit, die frühere Funktionalität um Homepage zurückzugehen.

# 3) Es ist unnötig, wenn Sie Zeit haben: Nicht wahr. Zu wenig Regression führt zu einem Mangel an Vertrauen in das Produkt. Sie werden nie wissen, was Sie von der Reaktion auf verschiedene Endbenutzerszenarien erwarten können.

# 4) Es wird jeder einzelne Testfall der vorherigen Version ausgeführt: Die Auswahl jedes Testfalls ist nicht der richtige Weg, dies zu tun. Die strategische Auswahl der Testfälle ist der Schlüssel. Verstehen Sie die Änderung und wählen Sie die passenden Testfälle aus.

OK, Das ist Wiederholungstest und Regressionstest im Detail.

Nun der Vergleich.

Retesting Vs Regressionstests

Was ist das gleiche über sie?

  • Beide basieren auf Wiederholung
  • Validierungs- und Black-Box-Testtechniken
  • Automatisierung oder manuelle Testfälle werden beide erneut getestet oder regressiert
  • „Man muss seine Zweifel verifizieren oder ausräumen und sie in die Gewissheit von Ja oder NEIN umwandeln – Thomas Carlyle“. Beide machen das.

Was ist anders an ihnen?

  • Das erneute Testen ist für jeden Test anwendbar – Aktuelle oder vorherige Versionsfunktionalität. Regression ist vorherige Version Funktionalität zentriert.
  • Das erneute Testen ist nicht von der anwendbaren Änderung abhängig. Regression ist veränderungsorientiert.

Schließlich, um dieses Konzept zu Hause zu treffen:

Nehmen wir an, Sie haben einen Testfall XYZ, der zu einem Defekt mit der ID 120 geführt hat. Dieser Fehler wird in der nächsten Version behoben. Sie würden den Testfall erneut testen und die Funktionalität um ihn herum zurückbilden. Die Regression soll sicherstellen, dass nach dem Fix von 120 alles intakt funktioniert. Der erneute Test dient dazu, die Behebung des Fehlers zu bestimmen.

Es ist also weder das eine noch das andere, sondern die Kombination von Regression und Retesting, die das dynamische Duo bildet.

Jetzt liegt es an dir. Stimmen Sie den hier vorgestellten Definitionen und Analysen zu?

Über den Autor: Dieser Artikel wurde von Swati S.

geschrieben

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.