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).
- Adrese corecte (ex.,
- 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.