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.
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 :
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.
*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.
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.
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.
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.
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 :
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:
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.
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.