Príklad šablóny:
Predmet: Objednávka č. {{order_id}} bola úspešne prijatá
Dobrý deň, {{customer_name}},
ďakujeme za Vašu objednávku. Tu sú jej podrobnosti:
• Produkt: {{product_name}}
• Množstvo: {{quantity}}
• Cena spolu: {{total_price}} €
Vaša objednávka bude odoslaná na adresu:
{{delivery_address}}
S pozdravom,
Tím {{company_name}}
Čo všetko otestovať:
1. Nahradenie placeholderov
- Správne načítanie všetkých premenných (napr. {{order_id}}, {{customer_name}})
- Ošetrenie prázdnych hodnôt (napr. fallback ako „Zákazník“ pri chýbajúcom mene)
2. Lokalizácia a jazyková verzia
- Správny jazyk podľa preferencie používateľa
• Over, či systém používa nastavenie jazyka zo správneho zdroja (napr. jazyk v profile používateľa, cookies, nastavenie účtu)
• Porovnaj, či jazyk e-mailu zodpovedá tomuto nastaveniu (napr. používateľ má zvolenú nemčinu → predmet aj obsah e-mailu sú v nemčine) - Preklady statických aj dynamických textov
3. Štruktúra a formátovanie e-mailu
- Korektné HTML zobrazenie v rôznych klientoch (Gmail, Outlook, mobil)
prípadne prehliadačoch (Firefox, Safari, Edge, Chrome)
- Odstupňovanie, odrážky, zarovnanie
- Korektné zobrazenie aj v plain-text verzii (čisto textová verzia bez formátovania, ktorú niektoré e-mailové klienty zobrazujú namiesto HTML)
4. Obsahová kontrola dát
- Zhoduje sa objednávka v e-maile s údajmi v databáze?
- Cena je správne vypočítaná a zaokrúhlená?
- Adresa nie je useknutá?
5. Bezpečnosť
- Žiadne HTML injekcie cez vstupy. HTML injection (HTML injekcia) je situácia, keď útočník alebo chyba v systéme umožní vložiť nebezpečný HTML kód do obsahu e-mailu. Napríklad ak používateľ zadá do mena reťazec ako <script>alert(‚hack‘);</script>, a tento sa bez úpravy dostane do e-mailu, môže spôsobiť problémy v prehliadači príjemcu. Takéto vstupy treba filtrovať alebo escapovať, aby sa zobrazovali len ako text.
- E-mail neobsahuje citlivé dáta (napr. číslo karty)
6. Spúšťanie a logika odosielania
- Kedy sa e-mail spustí (po objednávke, po úhrade…)?
- Neodosiela sa viackrát?
• Skontroluj logy systému alebo e-mailovej služby (napr. Sendgrid, Mailgun) – koľkokrát bola odoslaná notifikácia pre tú istú objednávku
• Pozri záznamy v databáze (napr. tabuľka email_logs, notifications) – je tam len 1 záznam?
• Otestuj v QA prostredí: vytvor objednávku a sleduj, či sa e-mail neodošle opakovane, ak klikneš znova
• Over, či systém používa príznak ako email_sent = true, a či sa tento stav správne aktualizuje - Čo sa stane pri chybe v šablóne (log, fallback, chyba v systéme)?
7. Testy okrajových prípadov
- Chýbajúci produkt (napr. vymazaný z databázy)
Over, čo sa stane, keď sa po vytvorení objednávky produkt z databázy odstráni. E-mailová šablóna by mala buď:
• čerpať dáta z momentu objednania (napr. snapshot v inej tabuľke),
• alebo bezpečne ošetriť chýbajúce hodnoty (napr. „Produkt bol medzičasom odstránený“).
Test: vytvor testovaciu objednávku → následne produkt z databázy zmaž → spusti generovanie e-mailu a sleduj, čo sa zobrazí v šablóne.
- Príliš dlhé meno alebo adresa
- Zahraničné znaky a diakritika
8. Odhlásenie / footer
- Obsahuje e-mail možnosť odhlásiť sa z notifikácií (ak má)?
- Správne odkazy, GDPR texty
