Junior
Jak otestovat pole pro zadání e-mailové adresy?
sobes.tech AI
Odpověď od AI
Testování pole pro zadání e-mailové adresy zahrnuje následující kontroly:
- Validace formátu:
- Správné formáty (name@domain.zone, name.surname@subdomain.domain.zone atd.).
- Nesprávné formáty (bez @, bez domény, s více @, s zakázanými znaky, s mezerami).
- Speciální znaky v místní části a doméně.
- Doménová jména různých délek.
- IP adresa jako doména (
user@[192.168.1.1]).
- Délka pole:
- Minimální povolená délka.
- Maximální povolená délka.
- Překročení maximální délky.
- Povinnosti pole:
- Odeslání formuláře s prázdným polem.
- Citlivost na velikost písmen:
- Je pole case-sensitive (obvykle ne u části domény).
- Testování napříč prohlížeči a platformami:
- Správné zobrazení a chování v různých prohlížečích a na různých zařízeních.
- Testování bezpečnosti:
- XSS útoky (vstup skriptů).
- SQL injection (pokud pole přímo komunikuje s databází).
- Výkon:
- Čas odezvy při zadávání dlouhých/složitých adres (pokud existuje validace "za běhu").
Příklady testovacích scénářů:
| ID | Popis testovacího scénáře | Vstupní data | Očekávaný výsledek | Skutečný výsledek | Stav |
|---|---|---|---|---|---|
| TC-001 | Správný formát emailu | test@example.com |
Systém přijímá email, žádná chybová zpráva. | ||
| TC-002 | Nesprávný formát (bez @) | testexample.com |
Systém hlásí chybu formátu. | ||
| TC-003 | Vícenásobné @ | test@example@com |
Systém hlásí chybu formátu. | ||
| TC-004 | Prázdné pole (povinné) | (prázdné) | Systém upozorňuje, že pole je povinné. | ||
| TC-005 | Dlouhý email | a*250 + @example.com |
Systém správně zpracovává email s povolenou délkou. |
Příklad automatizovaného testu (Python s Selenium):
# test_email_field.py
from selenium import webdriver
from selenium.webdriver.common.by import By
def test_valid_email_input():
driver = webdriver.Chrome() # nebo jiný driver
driver.get("http://your-app-url.com") # nahraďte URL vaší aplikace
email_field = driver.find_element(By.ID, "email") # nahraďte locator pole
email_field.send_keys("test@example.com")
# Kontrola, že se nezobrazuje chybová zpráva
error_message = driver.find_elements(By.ID, "email-error") # nahraďte locator chybové zprávy
assert len(error_message) == 0, "Chybová zpráva se zobrazila pro správný email"
driver.quit()
def test_invalid_email_input():
driver = webdriver.Chrome()
driver.get("http://your-app-url.com")
email_field = driver.find_element(By.ID, "email")
email_field.send_keys("invalid-email")
# Kontrola, že se zobrazila chybová zpráva
error_message = driver.find_element(By.ID, "email-error") # nahraďte locator chybové zprávy
assert error_message.is_displayed(), "Chybová zpráva se nezobrazila pro nesprávný email"
driver.quit()