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()