Welche Testmethoden setzen moderne Entwicklungsteams ein?

In der Softwareentwicklung verändern sich die Voraussetzungen des Testprozesses kontinuierlich. Entwicklungsteams greifen in der Regel auf drei Methoden zurück.

Die Softwaretestmethoden, die bei der Qualitätssicherung (Quality Assurance, QA) verwendet werden, ändern sich immer wieder aufgrund von Geschäftsanforderungen oder neuen Einschränkungen. Agile Prozesse ermöglichen zum Beispiel eine bessere Reaktion auf Kundenanforderungen und erfüllen die Anforderungen an Geschwindigkeit.

Die QA-Testverfahren sind nicht von Änderungen ausgenommen und sollten es auch nicht sein. Softwaretestmethoden müssen immer wieder in mehrfacher Hinsicht modernisiert werden.

Die im Folgenden aufgeführten Testtypen greifen entweder auf traditionelle Teststrategien zurück oder verwenden optimierte Prozesse, die weniger Zeit in Anspruch nehmen als zuvor. Aufgrund der Vernetzung von Anwendungen und Daten gibt es eine Testmethode, die man nicht ignorieren kann.

Feature gleich Funktion

Feature Testing, auch Story-Tests genannt, haben Funktionstests ersetzt beziehungsweise neu ausgerichtet. Funktionstests bestätigen, dass Anwendungen trotz Ergänzungen oder anderen Änderungen wie geplant funktionieren.

Feature Testing beinhaltet die Idee des Agile Story Testing und konzentriert sich weniger auf die Funktion und vielmehr auf den Nachweis, dass das Feature funktioniert, wenn es mit der vollständigen Anwendung integriert ist.

Da Features im Kanban- oder Scrum-Entwicklungsmodell in mehrere Stories zerlegt werden können, wird ein komplettes Feature in kleinen Teilen über einen kürzeren Zeitraum, aber auf den gesamten Anwendungscode hin getestet. Die Tester konzentrieren sich im Laufe eines Release-Zyklus auf das Merkmal, um sicherzustellen, dass das Endprodukt wie erwartet funktioniert.

Regressionstests

Regressionstests haben sich in den letzten fünf Jahren sehr stark verändert. Es dauert nicht mehr Wochen, in denen alle denkbaren Tests gemacht werden. Es ist nun vielmehr ein Smoke Test, der sicherstellt, dass die Grundlagen wie erwartet funktionieren.

Integrationstests haben sich zu einer weit verbreiteten, priorisierten Softwaretestmethode entwickelt.

Moderne Regressionstests beinhalten automatisierte Unit-Tests auf Codeebene und unter Umständen eine Reihe von automatisierten Backend-Tests, um alles von der API-Konnektivität bis zum Erfolg des Datenaustauschs zu überprüfen. Manuelle Smoke Tests prüfen, ob die kritischsten Bereiche der Software funktionieren. Der Name Smoke-Test leitet sich daraus ab, ob ein Produkt im übertragen Sinn beim Einschalten oder Aktivieren Feuer fängt. Diese Regressionstests erfolgen innerhalb weniger Tage, am häufigsten als kontinuierlicher Testprozess.

Regressionstests beinhalten außerdem Release-Tests, wobei der QA-Tester bestätigen muss, dass alle Elemente, aus denen sich ein Release zusammensetzt, im Code vorhanden sind. Der Release-Test ähnelt einer zweiten Runde des traditionellen Regressionstests, der sicherstellt, dass freigegebene Features im Code vorhanden sind und wie erwartet zusammenwirken.

Integration ist alles

Integrationstests haben sich zu einer weit verbreiteten, priorisierten Testmethode entwickelt. Tester können den Prozess nicht mehr überspringen oder ignorieren, da jede Anwendung Daten mit mehreren Partnern über gesicherte API-Strukturen hinweg teilt.

In modernen Entwicklungstestpraktiken ist der Integrationstest kontinuierlich. Er ist automatisch in den Funktionstest integriert und tritt auch bei Smoke- und Release-Tests auf. Für viele moderne Softwareteams läuft der Prozess nicht einmal mehr unter dem Namen Integrationstest. Teams verlassen sich auf mehrere Apps, die nahtlos gleichzeitig funktionieren, so dass jede Kleinigkeit integriert ist.

Moderne Tests sind eine gute Nachricht für Teams in der Qualitätssicherung, denn sie bieten die Möglichkeit, zu wachsen und die Fähigkeiten zu erweitern, während sie gleichzeitig viel schneller und mit schlankeren Praktiken vorankommen. Moderne Softwaretestmethoden können mit den Geschäftsrealitäten der Softwareentwicklung Schritt halten.

Nächste Schritte

Wie A/B-Tests Entwickler von Mobile Apps unterstützen.

Warum DevOps-Entwicklung kontinuierliches Testen braucht.

Automatisches Testen als Teil des Continuous Deployment.

Erfahren Sie mehr über Softwareentwicklung