Blog - Mr Suricate

Welche Unterschiede bestehen zwischen funktionalen Validierungs- und Nichtregressionstests?

Verfasst von Mr Suricate | 17. Okt. 2022 09:04:22

Mit einer Vielzahl von Begriffen zur Beschreibung von Testmethoden, die versuchen, explizit zu sein, aber oft scheitern, kann das Testvokabular manchmal verwirrend sein.

In diesem Artikel klären wir die Unterschiede zwischen den funktionale Validierungstests und Nicht-Regressionstests (NRT)Zunächst müssen wir jedoch feststellen, dass die Art und Weise, wie die Kategorie "Regressionstests" bezeichnet wird, ausgetauscht werden kann.

Mit anderen Worten: Regressionstest = Nicht-Regressionstest

DAS ISTQB bevorzugt den Begriff Regressionstest, aber viele in der Szene verwenden auch den Begriff Nicht-Regressionstest (zumindest in Frankreich).

Bevor wir jedoch auf die Unterschiede zwischen funktionalen Validierungstests und Nicht-Regressionstests eingehen, wollen wir zunächst untersuchen, was sie sind.

 

Was sind funktionale Validierungstests?

Funktionale Validierungstests sind eine Art von Tests, die durchgeführt werden, um zu überprüfen, ob jede Funktion oder jedes Feature der Softwareanwendung gemäß der Anforderungsspezifikation funktioniert.

Der Tester ist nicht mit dem zugrunde liegenden Code befasst.Funktionale Validierungstests beziehen sich auf die mechanische Geschmeidigkeit oder auf die Überprüfung, ob die einzelnen Module ordnungsgemäß funktionieren.

Er wird mithilfe von Testfällen durchgeführt, die alle möglichen Szenarien - sowohl negative als auch positive - nachstellen. Idealerweisebeginnen die funktionalen Validierungstests in der Anfangsphase der Produktentwicklung und überprüfen :

  • Fehlende Funktionen
  • Falsche Spezifikationen
  • Wenn Schnittstellenfehler bestehen bleiben
  • Lücken, die während der Anforderungsphase bestehen

Gut durchgeführte funktionale Validierungstests ermöglichen die Lieferung eines High-End-Produkts. Sie helfen dabei, ein fehlerfreies Produkt oder eine fehlerfreie Software zu produzieren, um die Zufriedenheit des Endbenutzers sicherzustellen.

 

Beispiele für funktionale Validierungstests :

  • Überprüfen, ob die Schaltfläche "Zurück zur Seite" zur richtigen Seite navigiert
  • Überprüfen Sie, ob die Links auf die richtigen Seiten weiterleiten.
  • Dropdown-Features müssen beim Klicken die richtigen Werte auflisten
  • Überprüfen Sie, ob die Schaltfläche Weiter zur nächsten Seite wechselt.
  • Überprüfen Sie, ob ein Benutzer in der Lage ist, Zeichen in Textfelder einzugeben, wie im Datenelementblatt festgelegt.

*Im Gegensatz zu Regressionstests sind die Begriffe "funktionale Validierungstests" und "nicht-funktionale Tests" nicht untereinander ausgetauscht werden. Bei nicht-funktionalen Tests wird die Anwendung anhand von nicht-funktionalen Aspekten wie Leistung, Benutzerfreundlichkeit, Sicherheit, Zuverlässigkeit, Belastung, Stress usw. getestet. Sie werden anhand von realen Szenarien durchgeführt, um die Leistung des Systems zu überprüfen, wenn es unter solchen Umständen aufrechterhalten wird.

 

Was ist ein Regressions-/Nichtregressionstest (RNT)?

Regression: Eine Entwicklung, die zu einem früheren Stadium zurückführt.

Regressionstests werden mit dem Ziel durchgeführt, Regressionen in einer bereits getesteten Funktionalität zu erkennen.

Solche Rückschritte im Code können durch "Fehlerbehebungen", "neue Funktionen, die dem Code hinzugefügt werden" oder "Änderungen der Anforderungen" entstehen.

Ziel ist es, den gesamten Code zu testen, der von den jüngsten Änderungen betroffen sein könnte, um sicherzustellen, dass keine neuen Fehler eingeführt werden.

Zusammenfassend lässt sich sagen, dass ein Regressionstest dazu dient, zu überprüfen, ob fortgeschrittene Änderungen an der Software, der Website oder der mobilen Anwendung, wie z. B. das Hinzufügen einer neuen Funktion oder ein Update, die bestehenden früheren Funktionen nicht beeinträchtigt haben.

 

Die Unterschiede zwischen diesen beiden Testarten

Ziele

Ziel der funktionalen Validierungstests ist es, festzustellen, inwieweit die entwickelte Anwendung den gewünschten Anforderungen entspricht.

Mit Regressionstests soll überprüft werden, ob eine Änderung in der Anwendung oder in den Systemen zu einem Codebruch geführt hat und ob das System ordnungsgemäß funktioniert.

 

Ausgeführter Testfall

Funktionale Validierungstests ermöglichen es, alle Fälle und Funktionen zuverstehen, die zuvor noch nie getestet und ausgeführt wurden. Testfälle werden erneut durchgeführt, wenn ein Fehler in Bezug auf eine Anforderung festgestellt wird. Anschließend wird er korrigiert und für einen neuen Test zugewiesen. Beim neuen Test werden, wenn der Fehler behoben ist, die verwandten Testfälle, die zuvor fehlgeschlagen sind, erfolgreich abgeschlossen.

Die Regressionssuite enthält Fälle, die zuvor getestet und gelöst wurden. Grundsätzlich werden in Regressionstests Testfälle ausgeführt, um sicherzustellen, dass die Änderungen keine Auswirkungen auf die zuvor getesteten Funktionen haben.

Funktionale Validierungstests sind erforderlich :

  • Wenn ein neues System getestet wird
  • Wenn eine Anwendung auf ihre Spezifikationen und die gewünschten Anforderungen hin überprüft wird.
  • Um zu überprüfen, ob die Integration des Systems und des Moduls richtig funktioniert.
  • Wenn die Funktionalität eines Systems als Ganzes untersucht werden soll.
  • Zur Bestimmung des Arbeitsablaufs eines Systems und seiner Funktionen.
  • Um sicherzustellen, dass der Feed das erwartete Ergebnis liefert.

Während Regressionstests durchgeführt werden, wenn :

  • Es wird eine Änderungsanfrage vom Kunden gestellt, die eine Änderung der Codebasis zur Folge hat.
  • Der Backend-Code wird auf eine andere Plattform migriert.
  • Eine neue Funktion wird zu einer bestehenden Anwendung hinzugefügt.
  • Korrekturen werden hinzugefügt.
  • Es gibt eine Änderung in der Testumgebung.
  • Kritische Fehler, die der Tester während der Testphase findet, werden vom Entwickler behoben.
  • Die größten Bedenken bezüglich Leistungsproblemen und Abstürzen werden von den Entwicklern gelöst.
  • Die Benutzeroberfläche der Anwendung wird für eine bessere Benutzererfahrung geändert.

 

Verwendeter Prozess

Der funktionale Testprozess beginnt damit, dass die Tester die Anforderungen lesen und verstehen, was bei Abweichungen in der Anforderung eine Abweichung aufwirft, gefolgt von der Identifizierung der Testeingabe. Übermitteln Sie die Eingabewerte an die Systeme und vergleichen Sie die Ausgabe mit den erwarteten Ergebnissen.

Wenn das Ergebnis nicht übereinstimmt, wird der Fehler gemeldet und der Testfall als gescheitert markiert.

Der gesamte funktionale Testprozess umfasst :

  • Die Identifizierung der zu testenden Funktionen
  • Der Anstieg der Nachfrage nach Daten
  • Die Ausführung von Testfällen
  • Der Vergleich eines Ergebnisses mit einem erwarteten Ergebnis.
  • Das Scheitern des Testfalls, der nicht der Anforderung entsprach.
  • Die Erstellung von Testszenarien entsprechend der Anforderung
  • Die Umwandlung von Testszenarien in Testfälle
  • Heben Sie Fehler an und weisen Sie sie dem Entwickler zu, wenn Abweichungen in der Anwendung gefunden werden.
  • Erneute Ausführung des Fehlerfalls, nachdem der gemeldete Fehler behoben wurde

Im Gegensatz dazu ist der Prozess vom Typ Regressionstest völlig anders, da diese Aktivität nur dann stattfindet, wenn die bestehende Anwendung geändert oder neue Funktionen hinzugefügt werden.

Die an dieser Art von Test beteiligten Aktivitäten sind folgende:

  • Identifikation der geänderten Teile
  • Priorisierung der Testfälle entsprechend dem Risiko.
  • Auswahl von Testfällen entsprechend den von der Änderung betroffenen Bereichen.

 

Durchführbarkeit der Automatisierung

Funktionale Validierungstests werden zunächst manuell durchgeführt. Sobald eine Funktionalität stabil ist, werden die Testfälle automatisiert.

In Regressionstests können die Testfälle manuell oder automatisch ausgeführt werden. Da die Testfälle in den Regressionstests bereits standardmäßig stabil sind (da sie ihren Funktionstest bereits bestanden haben), können sie automatisiert ausgeführt werden.

Funktionale Testfälle erfordern nicht viele Änderungen, da sie weniger zahlreich sind und sich auf eine bestimmte Funktionalität konzentrieren.

Während bei Regressionstests die Testskripte mehr Pflege benötigen und möglicherweise ältere Testfälle enthalten.

Testfälle können Funktionen enthalten, die sich geändert haben, neue Funktionen, die hinzugefügt wurden, oder bestimmte Funktionen, die entfernt wurden. Deshalb muss die Regressionssuite nach jeder Version aktualisiert werden.

 

Mr Suricate | Automatisieren Sie Ihre Tests mit einer Codeless-Lösung

Bei Mr Suricateschützen wir das Markenimage des Kunden und steigern seinen Umsatz, indem wir sicherstellen, dass die User Journey reibungslos funktioniert, und indem wir Fehler vor und nach der Produktionsfreigabe aufspüren.