Was gehört eigentlich in ein Regressionsset?

Ist diese Funktionalität überhaupt noch aktuell? Haben wir das nicht bereits mit einem anderen Test abgedeckt?

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.

Inhalt
  1. Beispielspezifikation
  2. Herleitung der Systemtests
  3. Erstellung des Regressionssets
  4. Wartung des Regressionssets
  5. Zusammenfassung
Beispielspezifikation

Eine Firma hat ein Digitalisierungsprojekt gestartet. Es soll eine App für Kunden erstellt werden, welche folgende Aufgaben lösen kann:

  • Die App zeigt die aktuelle Adresse an
  • Mit der App können Adressänderungen vorgenommen werden

Folgende Feinheiten sind ebenfalls zu beachten:

  • Die App kann von juristischen Personen und natürliche Personen benutzt werden
  • Die App darf nur von Kunden ab 16 Jahren benutzt werden. Für Jüngere Kunden soll das Herunterladen der App gesperrt sein
  • Falls eine ungültige, neue Adresse eingegeben wird, erscheint eine Fehlermeldung
  • Pflichtfelder für natürliche Personen sind: Vorname, Nachname, Strasse, PLZ, Ort, Land
  • Pflichtfelder für juristische Personen sind: Firmenname, Strasse, PLZ, Ort, Land
  • Nach der Adressänderung kann man wählen, ob man eine Bestätigung per E-Mail oder Brief erhalten möchte
Herleitung der Systemtests

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:

  1. Natürliche Person. Benutzer ist unter 16 Jahre alt (Herunterladen gesperrt)
  2. Natürliche Person lässt sich aktuelle Wohnadresse anzeigen
  3. Natürliche Person gibt ungültige Adresse ein, z.B. eingegebene PLZ existiert nicht (Fehlermeldung)
  4. Natürliche Person gibt gültige Adresse ein und wählt die Bestätigung per E-Mail
  5. Natürliche Person gibt gültige Adresse ein und wählt die Bestätigung per Post
  6. Natürliche Person. Verifikation der Pflichtfelder. Eingabe einer unvollständigen Adresse und Verifikation der Fehlermeldungen
  7. Juristische Person lässt sich aktuellen Firmensitz anzeigen
  8. Juristische Person gibt ungültige Adresse ein, z.B. eingegebene PLZ existiert nicht (Fehlermeldung)
  9. Juristische Person gibt gültige Adresse ein und wählt die Bestätigung per E-Mail
  10. Juristische Person gibt gültige Adresse ein und wählt die Bestätigung per Post
  11. Juristische Person: Verifikation der Pflichtfelder. Eingabe einer unvollständigen Adresse und Verifikation der Fehlermeldungen
Erstellung des Regressionssets

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:

  1. Natürliche Person (>16J) lässt sich die aktuelle Adresse anzeigen, gibt dann eine gültige, neue Adresse ein und wählt die Bestätigung per Post
  2. Juristische Person lässt sich die aktuelle Adresse anzeigen, gibt dann eine gültige, neue Adresse ein und wählt die Bestätigung per E-Mail
  3. Juristische Person gibt ungültige Adresse ein, z.B. eingegebene PLZ existiert nicht (Fehlermeldung). Anschliessend wird das Feld Strasse leer gelassen (Fehlermeldung).
Wartung des Regressionssets

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:

  • Es ist möglich die Adressänderung erst zu einem zukünftigen Datum zu aktivieren («Zukunftsadresse»)

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:

  1. Natürliche Person (>16J) lässt sich aktuelle Adresse anzeigen, gibt dann eine gültige, neue Zukunftsdresse ein und wählt die Bestätigung per Post
  2. Juristische Person lässt sich aktuelle Adresse anzeigen, gibt dann eine gültige, neue Adresse ein (Änderung per sofort) und wählt die Bestätigung per E-Mail
  3. Juristische Person gibt ungültige Adresse ein, z.B. eingegebene PLZ existiert nicht (Fehlermeldung). Anschliessend wird das Feld Strasse leer gelassen (Fehlermeldung).

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).

Zusammenfassung
  • Es gibt mehrere Teststufen. Nur ein kleiner Anteil der Systemtests fliesst in die Regression.
  • Auch wenn eine Automatisierung der Tests vorgesehen ist, soll das Regressionsset klein gehalten werden. Auch automatisierte Tests sind nicht «gratis» und benötigen Wartung.
  • Systemtests können kombiniert werden für die Regression um Ausführungszeit zu sparen.
  • Das Regressionsset muss nach jedem Release gewartet werden.

Wie sieht Ihr Regressionsset aus? Falls sie eine Beratung wünschen können Sie sich gerne bei uns melden.

‍

Trainings zu diesem Thema

显示全部
未找到任何物品。.

我们已准备好迎接您的下一步!

您是否愿意利用我们的专业知识并实施技术创新?

本网站
使用 Cookie

本网站使用 Cookie 来进行用户引导和网站分析,以帮助我们改进网站。您可以 此处 查看我们的 Cookie 政策 此处 。继续使用本网站即表示您同意我们的 Cookie 政策。

全部接受
接受选择
最佳。 功能性 cookie 用于优化网站,社交媒体 cookie,用于广告目的并在本网站和第三方网站上提供相关优惠的 cookie,以及用于跟踪网站访问的分析 cookie。
功能有限。 网站使用部分功能性 Cookie 以确保正常显示,例如保存您的个人设置。不会存储任何个人数据。
返回 概览

咨询专家

您有任何疑问或想了解更多信息吗?请留下您的联系方式,我们会尽快与您联系。.