
“E‑mail je stigao” nije dovoljno rezultat testa.
Poruka za registraciju može stići u pretinac s pogrešnim primateljem, isteklog linka, oštećenim mobilnim izgledom, proizvodnim nazivom hosta ili predmetom koji nema smisla na drugom jeziku. Dobra testiranja e‑mailova prate cijelo korisničko putovanje i ostavljaju dovoljno dokaza za dijagnosticiranje greške.
Izradi mali, namjerni matriks
Počni s tokovima koji mogu blokirati korisnika:
- verifikacija novog računa;
- resetiranje lozinke;
- poziv za tim ili radni prostor;
- potvrda promjene e‑mail adrese;
- link za prijavu ili jednokratni kod;
- sigurnosno upozorenje nakon osjetljive radnje.
Za svaki tok testiraj sretni put, jedno isteklo ili ponovno korišteno vjerodajnice i jednu grešku na strani primatelja. To otkriva više stvarnih grešaka nego slanje desetaka identičnih poruka sretnih putova.
Koristi jedan pretinac po scenariju
Ponovno korištenje jedne adrese stvara dvosmislenost. Stara poruka za resetiranje može se pomisliti za najnoviju, a paralelni testovi mogu konzumirati linkove jedni drugih.
Generiraj jedinstvenu adresu za svaki testni slučaj ili testni pokret. Zabilježi je uz broj builda, okruženje, lokalizaciju i scenarij. Ako test ne uspije, adresa postaje dio dokaza i može se pregledati prije isteka zadržavanja.
Nemoj koristiti stvarne adrese kupaca u testnom okruženju. To riskira neželjene poruke, zagađuje analitiku i otežava automatsko čišćenje.
Provjeri omot prije tijela
Prije klikanja bilo čega, provjeri:
- Poruka je poslana na točnu adresu kreiranu za ovaj test.
- Domena pošiljatelja je očekivana za ovo okruženje.
- Predmet identificira radnju bez otkrivanja osjetljivih podataka.
- Stigao je samo predviđeni broj poruka.
- Vremenski žig je kasniji od radnje koja ga je pokrenula.
Ove provjere otkrivaju probleme s usmjeravanjem i dupliciranjem prije nego što ih parser tijela sakrije.
Testiraj sadržaj kako ga korisnik vidi
Otvori poruku i na uskom i na širokom prikazu. Provjeri da je primarna radnja vidljiva, da je tekstualna zamjena razumljiva i da dugačke adrese ili URL‑ovi ne razbijaju izgled.
Za tok temeljen na kodu, provjeri da najnoviji kod radi jednom i da ne uspije nakon upotrebe. Za tok temeljen na linku, potvrdi host i okruženje prije otvaranja. Poruka iz testnog okruženja koja pokazuje na produkciju je blokator izdanja čak i ako link tehnički funkcionira.
Provjeri i manje glamurozne detalje: ponašanje reply-to, kontakt podrške, formulaciju isteka, lokalizaciju i ime računa ili radnog prostora prikazano u poruci.
Negativni slučajevi koji su korisni
Korisni negativni testovi uključuju:
- zahtijevanje drugog koda i potvrda da je prvi poništen;
- otvaranje isteklog linka;
- otvaranje istog linka dva puta;
- promjena stanja računa prije korištenja poruke;
- pozivanje adrese koja već pripada članu;
- unos nepodržane ili neispravne adrese;
- odgađanje isporuke dovoljno dugo da prijeđe granicu isteka.
Ovi testovi otkrivaju uvjete utrke i zavaravajuće poruke o greškama koje jednostavna provjera pretinca nikada ne otkrije.
Odvoji neuspjeh proizvoda od kašnjenja isporuke
Kada poruka nedostaje, zadrži vremenske žigove za korisničku radnju, stavljanje u red aplikacije, predaju pružatelju i dolazak u pretinac kada su ti signali dostupni. Snimka praznog pretinca dokazuje samo da poruka nije bila vidljiva u tom trenutku.
Koristi dijagnostički slijed u Verifikacijski e‑mail ne stiže: Pronađite neispravan korak prije podnošenja nejasnog problema “e‑mail ne radi”.
Što automatizirati
Automatiziraj stabilne ugovore:
- generiraj jedinstvenu adresu;
- pokreni radnju proizvoda;
- pitanjem (poll) s ograničenim timeoutom i povratnim odmakom;
- usporedi očekivanog pošiljatelja i predmet;
- pročitaj najnoviju podudarajuću poruku;
- validiraj kod ili link prema proizvodu;
- spremi korisne dokaze o neuspjehu;
- očisti.
Zadrži vizualnu reviziju, kvalitetu teksta i neobično ponašanje klijenta u usmjerenom ručnom pregledu. Automatizacija je dobra u ponavljanju, ne u ukusu.
Pouzdana automatizacija API‑ja za privremene sandučiće pokriva API stranu, uključujući polling i čišćenje.
Koristan izvještaj o neuspjehu
Izvještaj koji programeri mogu iskoristiti sadrži scenarij, okruženje, adresu, vrijeme okidača, očekivanog pošiljatelja, zapažene poruke, vrijeme posljednjeg pollinga, status odgovora i snimku zaslona ili sanitizirani izvadak tijela. Nikada ne prilaži žive tajne ili ponovo upotrebljive verifikacijske linkove u javni problem.
Cilj nije dokazati da je e‑mail nepouzdan. Cilj je identificirati koji je ugovor propao i ostaviti reproducibilni put do popravka.