Sobes.tech
Junior

Cum se efectuează testarea câmpului de introducere a email-ului?

sobes.tech AI

Răspuns de la AI

Testarea câmpului de introducere a emailului include verificări la nivel de frontend și backend, precum și testarea interfeței utilizatorului.

Verificări frontend (Client-Side):

  • Validarea formatului:
    • Adrese corecte (ex., test@example.com, test.name@sub.example.co.uk).
    • Adrese incorecte (lipsa @, domeniu, caractere speciale incorecte, spații).
  • Limite de introducere:
    • Lungime minimă și maximă.
    • Câmp gol.
  • Tip de date: Asigurați-vă că câmpul acceptă doar caracterele permise în email.
  • Mesaje de eroare: Corectitudinea și informativitatea mesajelor în caz de introducere incorectă.
  • Interacțiune:
    • Focalizarea pe câmp (starea de focus).
    • Starea de tastare.
      
    • Starea de eroare.
      

Verificări backend (Server-Side):

  • Validarea formatului: Verificare suplimentară a formatului email pentru a preveni ocolirea validării frontend.
  • Unicitatea: Dacă emailul trebuie să fie unic (de exemplu, la înregistrare), verificare pentru duplicate în baza de date.
  • Logica de afaceri: Verificare a conformității cu regulile de afaceri (de exemplu, interzicerea anumitor domenii).
  • Gestionarea caracterelor speciale: Procesare corectă a caracterelor care pot cauza probleme (de exemplu, injecție SQL).
  • Verificarea existenței domeniului: Verificare opțională a existenței domeniului emailului.

Exemple de teste:

  • Pozitive:
    • Introducerea unui email valid.
    • Introducerea unui email cu domeniu/extensie lungă.
    • Introducerea unui email cu subdomenii.
  • Negative:
    • Câmp gol.
    • Text introdus fără caracterul @.
    • Text introdus fără partea de domeniu după @.
    • Text cu spații.
    • Text cu caractere nepermise.
    • Email care depășește lungimea maximă.
    • Email deja înregistrat (la înregistrare).
    • Email cu format incorect de caractere speciale.

Automatizare:

Pentru automatizarea acestor teste, se pot folosi diverse cadre și instrumente:

  • Automatizare UI: Selenium, Cypress, Playwright pentru testarea validării frontend și interacțiunii cu câmpul.
# Exemplu de pseudocod pentru Selenium în Python
from selenium import webdriver

driver = webdriver.Chrome()
driver.get("adresa_app-ului_tău")

camp_email = driver.find_element_by_id("emailInput") # Găsirea câmpului după ID
camp_email.send_keys("email-invalide") # Introducerea emailului incorect

mesaj_eroare = driver.find_element_by_id("errorMessage") # Găsirea elementului cu mesajul de eroare
assert "Format de email invalid" in mesaj_eroare.text # Verificarea textului mesajului

driver.quit()
  • Automatizare API: RestAssured, Postman, Requests (Python) pentru testarea validării backend prin trimiterea de solicitări cu diferite date.
// Exemplu de pseudocod pentru Postman
{
  "email": "email-invalide"
}
// Exemplu de verificare în Postman Tests
pm.test("Status code este 400", function () {
    pm.response.to.have.status(400); // Verificăm dacă serverul a returnat eroarea 400 (Cerere greșită)
});

pm.test("Mesajul de eroare este corect", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.message).to.eql("Format de email invalid"); // Verificarea textului mesajului de eroare
});

Aspecte suplimentare:

  • Testare cu date reale (dacă există o bază de date de test).
  • Testare pe diferite dispozitive și browsere.
  • Testarea performanței câmpului la introducerea unei cantități mari de date.