Sobes.tech
Junior

Kako testirati polje za unos email adrese?

sobes.tech АИ

Одговор од АИ

Testiranje polja za unos email adrese uključuje sledeće provere:

  • Validacija formata:
    • Ispravni formati (name@domain.zone, name.surname@subdomain.domain.zone itd.).
    • Neispravni formati (bez @, bez domena, sa više @, sa zabranjenim simbolima, sa razmacima).
    • Specijalni simboli u lokalnom delu i domeni.
    • Domeni različitih dužina.
    • IP adresa kao domen (user@[192.168.1.1]).
  • Dužina polja:
    • Minimalna dozvoljena dužina.
    • Maksimalna dozvoljena dužina.
    • Prekoračenje maksimalne dužine.
  • Obaveznosť polja:
    • Slanje forme sa praznim poljem.
  • Osetljivost na velika i mala slova:
    • Da li je polje case-sensitive (obično ne za domen).
  • Testiranje preko različitih pregledača i platformi:
    • Ispravno prikazivanje i ponašanje u različitim pregledačima i na različitim uređajima.
  • Testiranje bezbednosti:
    • XSS napadi (unos skripti).
    • SQL injekcije (ako polje direktno komunicira sa bazom podataka).
  • Performanse:
    • Vreme odziva pri unosu dužih/kompleksnih adresa (ako postoji validacija "u realnom vremenu").

Primeri test scenarija:

ID Opis test scenarija Ulazni podaci Očekivani rezultat Stvarni rezultat Status
TC-001 Ispravan format emaila test@example.com Sistem prihvata email, bez poruke o grešci.
TC-002 Neispravan format (bez @) testexample.com Sistem prikazuje poruku o grešci formata.
TC-003 Višestruki @ test@example@com Sistem prikazuje poruku o grešci formata.
TC-004 Prazno polje (obavezno) (prazno) Sistem ukazuje da je polje obavezno.
TC-005 Dugačak email a*250 + @example.com Sistem pravilno obrađuje email sa dozvoljenom dužinom.

Primer automatizovanog testa (Python sa Selenium):

# test_email_field.py
from selenium import webdriver
from selenium.webdriver.common.by import By

def test_valid_email_input():
    driver = webdriver.Chrome() # ili drugi driver
    driver.get("http://your-app-url.com") # zamenite URL vaše aplikacije

    email_field = driver.find_element(By.ID, "email") # zamenite locator polja
    email_field.send_keys("test@example.com")

    # Provera da li se ne prikazuje poruka o grešci
    error_message = driver.find_elements(By.ID, "email-error") # zamenite locator poruke
    assert len(error_message) == 0, "Poruka o grešci se pojavila za ispravan 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")

    # Provera da li se prikazuje poruka o grešci
    error_message = driver.find_element(By.ID, "email-error") # zamenite locator poruke
    assert error_message.is_displayed(), "Poruka o grešci se ne prikazuje za neispravan email"

    driver.quit()