Wir möchten, dass die Regression eine möglichst hohe Testabdeckung erreicht und zum grössten Teil automatisiert getestet wird. Die Realität sieht oft anders aus: Tausende manuelle Testfälle im Regressionsset und man ist sich sicher, dass man mindestens 25% davon gar nicht braucht, aber welche? Warum haben sich so viele Tests angesammelt? An einem Praxisbeispiel möchten wir erläutern, welche Testfälle in eine Regression gehören und welche nicht. Die korrekte Selektion ist ein Schlüsselelement zu einem aufgeräumten, effektiven Regressionsset.
Dieses Praxisbeispiel eignet sich auch zur Schulung von Fachpersonen, welche erst wenig Kontakt mit dem Testing hatten.
Eine Firma hat ein Digitalisierungsprojekt gestartet. Es soll eine App für Kunden erstellt werden, welche folgende Aufgaben lösen kann:
Folgende Feinheiten sind ebenfalls zu beachten:
Die ersten beiden Teststufen, Unittest und Integrationstest, werden gewöhnlich von Entwicklern oder technischen Testern ausgeführt. Hier wird die Funktionalität einzelner Module getestet, beziehungsweise die Zusammenarbeit voneinander abhängigen Komponenten. Bei den Systemtests testen wir die Anforderungen in der Spezifikation bei Verfügbarkeit des Gesamtsystems. Es ist wichtig, dass die Systemtests eine hohe Testabdeckung aufweisen, um Fehler in der Software vor der Einführung in der Produktion zu erkennen. Es ist vorteilhaft, wenn die Systemtests relativ kurz sind, damit man die potentiellen Fehler besser finden und zuordnen kann. Folgende Systemtests würden sich für die oben genannte Spezifikation anbieten:
Die Systemtests werden nach Go-Live der Software zu Regressionstests umgewandelt. Die Anzahl Testfälle für die Regression soll signifikant reduziert werden. Das Ziel der Regression ist es unerwünschte Nebeneffekte von Softwareänderungen zu erkennen. Es geht hierbei nicht darum, die komplette Spezifikation/Software erneut zu testen. Dies gilt auch, wenn eine Automatisierung der Tests vorgesehen wird, denn auch automatisierte Tests benötigen regelmässige Wartung und sind somit in der Ausführung nicht «gratis». Die Regressionstests konzentrieren sich aufs Wesentliche. Es kann auch einen Vorteil bringen mehrere Systemtests miteinander zu kombinieren um Ausführungszeit zu sparen. Die Fehlerdichte bei Regressionstests ist gewöhnlich viel tiefer als bei Systemtests. Wir haben die wichtigsten Systemtests ausgewählt und wo sinnvoll miteinander kombiniert. Daraus ergibt sich folgendes Regressionsset:
Was passiert nun, wenn in einem nächsten Release die App weiterentwickelt wird? Das Regressionsset benötigt regelmässige Wartung. Wir nehmen an, die Spezifikation wird um folgenden Punkt erweitert:
Daraus resultieren erneut mehrere Systemtests, die wir hier nicht auflisten. Anstatt nach dem Release das Regressionsset zu vergrössern kann das bestehende Testset angepasst werden, sodass die Prüfung der Zukunftsadresse ebenfalls inkludiert ist:
Es ist auch möglich, dass nach einer Softwareänderungen Testfälle aus dem Regressionsset gelöscht werden können, falls sie durch die Softwareänderung nicht mehr relevant sind (Beispiel: Falls Adressänderungen nur noch per App möglich sind, braucht es keine Tests mehr um dies via Webseite zu testen).
Wie sieht Ihr Regressionsset aus? Falls sie eine Beratung wünschen können Sie sich gerne bei uns melden.
Sie möchten unsere Expertise nutzen und technologische Innovationen umsetzen?
Haben Sie eine Frage oder suchen Sie weitere Informationen? Geben Sie Ihre Kontaktinformationen an und wir rufen Sie zurück.