Dostarczyłem więcej przepływów rejestracji, niż jestem w stanie policzyć. I za każdym razem faza testowania weryfikacji e-mail jest tą samą historią: skrzynka zaczyna się zapełniać wiadomościami testowymi, zaczynam gubić się, który test był który, i gdzieś około czterdziestej rejestracji testowej zaczynam całkowicie ignorować e-maile. To zły nawyk. Oto lepsze podejście.
Czym naprawdę jest weryfikacja e-mail
Weryfikacja e-mail to nie tylko "wysyłanie linku". To wieloetapowy proces: generowanie kryptograficznie bezpiecznego tokenu (patrz OWASP Authentication Cheat Sheet), przechowywanie z datą wygaśnięcia, wysyłanie e-maila przez SMTP (zgodnie z RFC 5321), walidacja przy kliknięciu, oznaczenie jako zweryfikowane i unieważnienie tokenu. Każdy krok może zawieść inaczej. Musisz przetestować je wszystkie.
Dlaczego testowanie z prawdziwym e-mailem to zły pomysł
Używanie prawdziwego adresu do testów deweloperskich ma kilka konkretnych problemów. Po stu testowych rejestracjach skrzynka jest pełna bezużytecznych e-maili weryfikacyjnych. Nie można też zasymulować "nowego użytkownika, który nigdy nie był widziany". Z tymczasowym adresem każdy test jest prawdziwie nowym użytkownikiem z prawdziwie pustą skrzynką.
Rozwiązanie z tymczasowym e-mailem — krok po kroku
Otwórz tymczasową pocztę w karcie przeglądarki obok środowiska deweloperskiego. Unikalny adres jest dostępny natychmiast. Skopiuj go jednym kliknięciem. Przełącz się na swoją aplikację, wklej adres w pole e-mail i wyślij formularz. Wróć do karty temp-email.ai. Jeśli dostarczanie e-maili jest prawidłowo skonfigurowane, e-mail weryfikacyjny pojawi się w ciągu 2-5 sekund. Kliknij link, przepływ jest potwierdzony. Cały test zajął mniej niż dwie minuty.
Co testować w przepływie weryfikacji
- Podstawowe dostarczanie: Czy e-mail dochodzi? Testuj w różnych środowiskach.
- Poprawność linku: Czy URL weryfikacyjny w e-mailu wskazuje na właściwe środowisko?
- Bezpieczeństwo tokenu: Czy token ma co najmniej 32 znaki i jest naprawdę losowy? Patrz OWASP.
- Wygaśnięcie tokenu: Co się dzieje po wygaśnięciu? Czy jest czytelny komunikat błędu?
- Jednorazowe użycie: Czy ten sam link można użyć dwa razy? Nie powinno być to możliwe.
- Ponowne wysyłanie: Czy przycisk ponownego wysyłania działa? Czy stary token jest unieważniany?
- Renderowanie HTML: Czy szablon e-maila jest poprawnie wyświetlany w prawdziwej skrzynce?
- Temat i nazwa nadawcy: Czy są profesjonalne i związane z marką?
Testowanie wielu jednoczesnych użytkowników
Każda karta przeglądarki na temp-email.ai jest całkowicie niezależną skrzynką. Możesz otworzyć pięć kart jednocześnie, skopiować pięć różnych adresów i zarejestrować pięć kont w aplikacji w tym samym czasie. To wyłapuje całą klasę błędów, których sekwencyjne testy nigdy nie wykryją: wyścigi w generowaniu tokenów, zakleszczenia bazy danych i nieoczekiwane interakcje między równoczesnymi sesjami.
Zmiana w przepływie pracy jest naprawdę mała. Zamiast wpisywać prawdziwy adres w formularz testowy, poświęcasz pięć sekund na otwarcie tymczasowej poczty w nowej karcie. To cała zmiana. Ale efekt na jakość testów jest znaczący.