Nichtregressionstest (NRT) - der vollständige Leitfaden

            By
            5 Minutes Read

            Wenn man die Qualität seiner Web- oder Mobilanwendung sicherstellen will, steht eine Reihe von Tests zur Verfügung, darunter der Nicht-Regressionstest (NRT), auch bekannt unter dem Namen RegressionstestDer NRT spielt eine wichtige Rolle.

            Lesen Sie weiter, um zu erfahren, was ein Nicht-Regressionstest ist, welche Vorteile er bietet, welche Fragen zu diesem Thema häufig gestellt werden und wie man ihn am besten durchführt.

             

            Was ist ein Nichtregressionstest (NRT)?

            In der Welt der Webentwicklung findet ein Rückschritt statt, sobald eine Änderung des Codes Auswirkungen auf den bestehenden Code hat.

            Dies kann z. B. durch die Behebung eines Fehlers, eine Softwareaktualisierung oder das Hinzufügen einer neuen Funktion bedingt sein.

            Ein Nicht-Regressionstest (NRT) prüft, ob Änderungen an der Software, der Website oder der mobilen Anwendung, z. B. das Hinzufügen einer neuen Funktion oder ein Update, keine Auswirkungen auf die bestehenden Funktionen haben.

            Die verschiedenen Arten von Nichtregressionstests

            Nicht-Regressionstests können auf verschiedene Arten durchgeführt werden, je nachdem, welcher Bedarf angestrebt wird oder welche Ressourcen das Unternehmen hat:

            Korrigierender Nicht-Regressionstest: Verwendet vorhandene Tests, sofern keine wesentlichen Änderungen am Produkt vorgenommen wurden.

            Vollständiger Nicht-Regressionstest: Besteht aus einem erneuten Test aller Elemente des Produkts, bei dem alle Änderungen, die von Anfang an vorgenommen wurden, überprüft werden.

            Selektiver Nicht-Regressionstest: Ermöglicht die Auswahl bestimmter Tests aus einer Menge, sodass nur die Teile des Codes inspiziert werden, die betroffen sind.

            Progressiver Nichtregressionstest: Besteht darin, neue Tests zu erstellen, wenn die etablierten Tests nicht mehr nützlich sind, z. B. wenn sich die Produkteigenschaften ändern.

            Partieller Nicht-Regressionstest: Wird durchgeführt, wenn verschiedene Module in der Entwicklung sind und kurz davor stehen, mit der Hauptversion des Codes zusammengeführt zu werden.

            Unit-Non-Regressions-Test: Wird verwendet, um den Code einzeln zu testen, ohne andere Elemente zu berücksichtigen.

             

            tests-tnr-types

             

            Nicht-Regressionstest (NRT) FAQ

            Warum Nicht-Regressionstests durchführen?

            Der erste Grund für Nicht-Regressionstests, der auch der Hauptgrund für alle anderen Arten von Tests sein sollte, ist, dass dadurch die Qualität der Software gewährleistet werden kann.

            Durch die Gewährleistung eines qualitativ hochwertigen Produkts werden gleichzeitig die Nutzererfahrung und das Image des Unternehmens verbessert.

            Außerdem beugt der Nicht-Regressionstest Bugs vor, die bestimmte Funktionen behindern könnten, was sich auf den Umsatz und den Ruf des Unternehmens auswirkt, und verhindert gleichzeitig potenzielle Sicherheitslücken.

            Wenn man regelmäßig Nicht-Regressionstests durchführt, spart man Zeit und Geld, da es viel komplexer und teurer ist, einen Fehler zu beheben, wenn er erst einmal in Produktion ist.

            Bei der Entwicklung von mobilen Anwendungen, Websites oder SaaS-Software, die häufig aktualisiert werden müssen, um den Anforderungen der Kunden gerecht zu werden, werden Tests auf Nicht-Regression noch unerlässlicher.

             

            warum-tun-tests-TNR

             

            Wann sollte man Nicht-Regressionstests durchführen?

            Nichtregressionstests können auf allen Ebenen des Testplans durchgeführt werden. Wir empfehlen, sie so regelmäßig wie möglich durchzuführen, sobald eine Änderung oder Aktualisierung vorgenommen wird, und zwar so früh wie möglich in der Entwurfsphase des Produkts.

            In der Regel werden Nicht-Regressionstests durchgeführt, sobald :

            • Eine Korrektur, die am Code vorgenommen wird, um Anomalien zu beheben.
            • Eine neue Funktion, die hinzugefügt wird
            • Eine Änderung einer bestehenden Funktionalität
            • Eine Aktualisierung, die in der Umgebung vorgenommen wird (z. B. Daten)
            • Eine Optimierung des Quellcodes

            Welche Unterschiede bestehen zwischen funktionalen Validierungs- und Nicht-Regressionstests?

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

            Sie werden mithilfe von Testfällen durchgeführt, die alle möglichen Szenarien - sowohl negative als auch positive - nachstellen. Idealerweise beginnen die funktionalen Validierungstests in der Anfangsphase der Produktentwicklung und prü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 Auslieferung eines High-End-Produkts. Sie helfen, ein fehlerfreies Produkt oder eine fehlerfreie Software zu produzieren, um die Zufriedenheit des Endbenutzers sicherzustellen.

            Die Unterschiede zwischen diesen beiden Testarten

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

            Der Zweck von Nicht-Regressionstests ist es, zu überprüfen, 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 zu verstehen, die noch nie zuvor getestet und ausgeführt wurden.

            Testfälle werden ausgeführt, wenn ein Fehler in Bezug auf eine Anforderung festgestellt wird. Anschließend wird er behoben und für einen neuen Test zugewiesen. Wenn der Fehler beim neuen Test behoben wird, werden die verknüpften Testfälle, die zuvor fehlgeschlagen sind, erfolgreich abgeschlossen.

            Die Nicht-Regressionsfolge enthält Fälle, die zuvor getestet und gelöst wurden.

            Grundsätzlich werden bei Nicht-Regressionstests Testfälle ausgeführt, um sicherzustellen, dass die Änderungen keine Auswirkungen auf die zuvor getesteten Funktionen haben.

            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 des Testeintrags.

            Übertragen 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.

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

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

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

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

            Während bei Nicht-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.

             

            test-non-regression

             

            Was ist ein grafischer Nichtregressionstest?

            Tests auf grafische Nichtregression, auch bekannt als grafische Vergleichstests, sind wichtig, um die visuelle Qualität einer Website oder Anwendung zu überprüfen.

            Grundsätzlich stellen diese Tests sicher, dass jedes Element auf einer Seite, wie z. B. Schaltflächen, Texte, Fotos und Bilder, in Bezug auf Position, Größe, Farbe und Form korrekt angezeigt wird, unabhängig davon, welches Gerät oder welchen Browser die Nutzer verwenden.

            Es handelt sich um Nicht-Regression, da diese Tests verwendet werden, um zu überprüfen, ob die Website oder die mobile Anwendung ihrer vorherigen Version pixelgenau (pixel perfect) ähnelt und ob sie den gesetzlichen/rechtlichen Anforderungen entspricht.

            Außerdem kann man mit diesen grafischen Tests das Vorhandensein der gesetzlichen Anzeigen überprüfen, die in einigen Ländern zur Einhaltung der Vorschriften vorgeschrieben sind.

            Wie führt man Nicht-Regressionstests durch? 

            Regressionstests sind sehr zeitaufwändige und sich wiederholende Tests. Daher müssen einige Testfälle zwar manuell durchgeführt werden, die meisten werden jedoch mithilfe eines automatisierten Testwerkzeugs automati siert, mit dem potenzielle Fehler, die aufgrund einer Änderung auftreten, erkannt und behoben werden können, bevor sie sich auf die Nutzer auswirken.

            Automatisierte Nicht-Regressionstests senken außerdem die Kosten, indem sie potenziell verlorene Kunden aufgrund einer suboptimalen Nutzererfahrung einsparen und den Test- und Debuggingprozess beschleunigen.

            Schließlich ermöglicht die Automatisierung ein kontinuierliches und zuverlässiges Testen während des gesamten Entwicklungszyklus und stellt sicher, dass Regressionen schnell erkannt und behoben werden, wodurch das Risiko, dass Fehler die Produktion erreichen, verringert wird.

            Wo liegen die Grenzen von Nichtregressionstests?

            Trotz der Automatisierung müssen vor allem bei komplexen Funktionen immer noch Szenarien erstellt werden, was die Ausführung und damit die Lieferung verzögern kann. 

            Unter Zeit- und Budgetdruck müssen die QA-Teams die wichtigsten Tests priorisieren, da nicht alle Regressionsszenarien durchgeführt werden können.

             

            Mr Suricate - Französischer Marktführer für automatisierte No-Code-Tests

            Bei Mr SuricateUnsere Aufgabe ist es, das Markenimage des Kunden zu schützen und seinen Umsatz zu steigern, während wir gleichzeitig sicherstellen, dass die User Journey reibungslos funktioniert, indem wir Fehler vor und nach der Produktion aufspüren.

             

            Demo anfordern

             

             

            Bild von Mr Suricate

            Mr Suricate

            Autor