Sobes.tech
Junior

Cum se testează câmpul de introducere a adresei de email?

sobes.tech AI

Răspuns de la AI

Validarea câmpului de introducere a adresei de email include următoarele verificări:

  • Validarea formatului:
    • Formate corecte (nume@domeniu.zone, nume.prenume@subdomeniu.domeniu.zone etc.).
    • Formate incorecte (fără @, fără domeniu, cu mai multe @, cu caractere interzise, cu spații).
    • Caractere speciale în partea locală și în domeniu.
    • Nume de domenii de diferite lungimi.
    • Adresă IP ca domeniu (utilizator@[192.168.1.1]).
  • Lungimea câmpului:
    • Lungimea minimă permisă.
    • Lungimea maximă permisă.
    • Depășirea lungimii maxime.
  • Obligatoriu pentru câmp:
    • Trimiterea formularului cu câmpul gol.
  • Sensibilitatea la majuscule și minuscule:
    • Este câmpul case-sensitive (de obicei nu pentru partea de domeniu)?
  • Testare cross-browser și multiplatformă:
    • Afișare și comportament corect pe diferite browsere și dispozitive.
  • Testare de securitate:
    • Atacuri XSS (injecție de scripturi).
    • Injeții SQL (dacă câmpul interacționează direct cu o bază de date).
  • Performanță:
    • Timp de răspuns la introducerea adreselor lungi/complexe (dacă există validare "în timp real").

Exemple de cazuri de testare:

ID Descrierea cazului de testare Date de intrare Rezultat așteptat Rezultat real Stare
TC-001 Format corect de email test@example.com Sistemul acceptă emailul, nu afișează mesaj de eroare.
TC-002 Format incorect (fără @) testexample.com Sistemul afișează un mesaj de eroare de format.
TC-003 Format incorect (mai multe @) test@example@com Sistemul afișează un mesaj de eroare de format.
TC-004 Câmp gol (obligatoriu) (gol) Sistemul afișează un mesaj că câmpul este obligatoriu.
TC-005 Email lung a*250 + @example.com Sistemul procesează corect un email de lungime permisă.

Exemplu de test automatizat (Python cu Selenium):

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

def test_valid_email_input():
    driver = webdriver.Chrome() # sau alt driver
    driver.get("http://adresa-ta-url.com") # înlocuiește cu URL-ul aplicației

    email_field = driver.find_element(By.ID, "email") # înlocuiește cu locatorul câmpului
    email_field.send_keys("test@example.com")

    # Verificare absență mesaj de eroare
    error_message = driver.find_elements(By.ID, "email-error") # înlocuiește cu locatorul mesajului
    assert len(error_message) == 0, "Mesaj de eroare afișat pentru email corect"

    driver.quit()

def test_invalid_email_input():
    driver = webdriver.Chrome()
    driver.get("http://adresa-ta-url.com")

    email_field = driver.find_element(By.ID, "email")
    email_field.send_keys("email-invalida")

    # Verificare afișare mesaj de eroare
    error_message = driver.find_element(By.ID, "email-error") # înlocuiește cu locatorul mesajului
    assert error_message.is_displayed(), "Mesaj de eroare nu a fost afișat pentru email incorect"

    driver.quit()