Sobes.tech
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()