In unserer neuen Reihe “Besser mit webmate” wollen wir Ihnen zeigen, wie webmate helfen kann, besonders knifflige Testfälle zu meistern. Heute wollen wir uns einen Use Case anschauen, der fast auf jeder Seite zu finden ist, aber nur selten automatisiert abgetestet wird: Die “Account Registrieren” Funktion.
Egal ob man eine E-Commerce Plattform, ein Payment Portal oder eine E-Learning Webseite betreibt, in den meisten Fällen benötigen die Nutzer des Angebots einen passwortgeschützten Account auf der Webseite. Nach der eigentlichen Registrierung wird oft eine E-Mail mit einem Token oder einem Link an die angegebene E-Mail-Adresse geschickt, um zu verifizieren, dass der Nutzer auch tatsächlich Zugriff auf die angegebene E-Mail-Adresse hat. Dies ist oft schon allein aus regulatorischen Gründen notwendig. Erst im Anschluss kann der Nutzer die Funktionen der Plattform voll nutzen.
Eine Fehlfunktion innerhalb dieses Prozesses kann schnell teuer werden. Entgangener Umsatz, Aufwände im Support und Entwicklungskosten für einen Hotfix summieren sich schnell. Deswegen ist es wichtig, diese und andere essenzielle Funktionen regelmäßig vor dem Release zu testen, am besten automatisiert. Leider ist das Testen von Funktionen, die das Öffnen einer E-Mail benötigen, oftmals schwierig. Zunächst muss sichergestellt werden, dass auf der Testumgebung stets passende Accounts mit passenden E-Mail-Adressen vorhanden sind. Darüber hinaus müssen manuelle Tester bzw. automatisierte Testsysteme Zugriff auf die E-Mail-Adressen bekommen. All das verursacht Aufwand, benötigt stetige Pflege und lenkt das Entwicklerteam von seiner eigentlichen Aufgabe ab.
Die Testautomatisierung dieses Prozesses ist dank des integrierten E-Mail-Testing mit webmate besonders einfach. Innerhalb einer Testsession kann man jederzeit eine zufällig generierte E-Mail-Adresse von webmate anfordern. E-Mails, die an diese Adresse geschickt werden, werden automatisch mit der Testsession assoziiert und können daraufhin abgerufen werden. Wir wollen uns anhand eines kurzen Beispiels die Funktionsweise anschauen.
Wir verwenden an dieser Stelle das webmate SDK, welches eine sehr einfache Integration webmate spezifischer Funktionen in bestehende Tests ermöglicht. Damit die E-Mail später in der richtigen Session landet, müssen wir direkt nach der Erstellung des Drivers eine webmate Session erstellen und den Driver mit dieser Session verknüpfen. Alle Aktionen und Screenshots des Drivers landen nun automatisch in der erstellten Session.
|
|
Der eigentliche Test kann nun wie gewohnt starten. Die für die Registrierung benötigte E-Mail-Adresse wird einfach bei webmate angefragt und im weiteren Prozess verwendet. Die dafür benötigte TestRunId stammt von der webmate Session, die wir mit dem Driver verknüpft haben.
|
|
Durch die Assoziation der E-Mail-Adresse mit dem Testrun kann webmate die auf dieser Adresse empfangenen Mails direkt als Testartefakt der laufenden Session zuordnen. Dadurch können Sie sich auch im Nachhinein alle E-Mails anschauen. Im nächsten Schritt müssen wir nun auf die E-Mail warten. Wir benutzen hierfür einen Polling-Mechanismus, der nach einer gewissen Zeit abbricht und den Test für gescheitert erklärt, da die E-Mail nicht innerhalb der spezifizierten Zeit angekommen ist.
|
|
Wenn die Registrierungsmail mit Aktivierungslink rechtzeitig angekommen ist, können wir direkt auf den Inhalt der Mail zugreifen, um gewisse Eigenschaften wie beispielsweise den Absender zu verifizieren. An dieser Stelle interessiert uns natürlich vor allem der Aktivierungslink, mit dem wir den Aktivierungsprozess abschließen möchten.
|
|
Um zu verifizieren, dass die Aktivierung auch wirklich reibungslos geklappt hat, versuchen wir einen Login mit den im Test verwendeten Daten.
|
|
Ist der Login erfolgreich, können wir davon ausgehen, dass der Aktivierungsprozess wie vorgesehen funktioniert. Der automatisierte Test kann nun als Teil eines Integrationstests vor einem Release mitlaufen. Somit ist stets sichergestellt, dass der Aktivierungsprozess sauber funktioniert.
Die Nutzung von E-Mail-Testing ist natürlich nicht nur auf das Testen des Aktivierungsprozesses beschränkt. Viele weitere Prozesse innerhalb des Accountmanagements benötigen oft eine Interaktion mit dem Nutzer über seine E-Mail-Adresse, beispielsweise die “Passwort vergessen” Funktion. Auch gibt es oft Funktionen, bei denen dem Nutzer zusätzlich eine E-Mail geschickt wird, um ihn beispielsweise über Änderungen an seinen persönlichen Daten oder über den Versand des bestellten Produkts zu informieren. In all diesen Fällen können Sie das E-Mail-Testing gewinnbringend einsetzen, um das Testen dieser Prozesse zu automatisieren.
Sie können das E-Mail-Testing in webmate auch bei Ihren manuellen Tests verwenden. Das Suchen der E-Mail im Posteingang entfällt hierbei, da ankommende E-Mails direkt in der webmate Konsole betrachtet werden können. Weitere Informationen finden Sie in unserer Dokumentation.
Sollten Sie weitere Fragen haben oder Unterstützung bei der Umsetzung brauchen, schreiben Sie uns gerne. Sie nutzen webmate noch nicht, wollen E-Mail-Testing aber mal selbst ausprobieren? Buchen Sie einen Demotermin!