Junior
Come eseguire il test del campo di input dell'email?
sobes.tech AI
Risposta dell'AI
Il testing del campo di inserimento email include verifiche a livello di frontend e backend, nonché test dell'interfaccia utente.
Verifiche lato frontend (Client-Side):
- Validazione del formato:
- Indirizzi corretti (es.,
test@example.com,test.name@sub.example.co.uk). - Indirizzi incorretti (mancanza di
@, dominio, caratteri speciali non validi, spazi).
- Indirizzi corretti (es.,
- Limiti di input:
- Lunghezza minima e massima.
- Campo vuoto.
- Tipo di dato: Assicurarsi che il campo accetti solo caratteri validi per email.
- Messaggi di errore: Accuratezza e completezza dei messaggi in caso di input errato.
- Interazione:
- Focus sul campo (stato di focus).
- Stato di digitazione.
- Stato di errore.
Verifiche backend (Server-Side):
- Validazione del formato: Verifica aggiuntiva del formato email per prevenire bypass della validazione frontend.
- Unicità: Se l'email deve essere unica (ad esempio, durante la registrazione), verifica dei duplicati nel database.
- Logica di business: Verifica della conformità alle regole di business (ad esempio, divieto di determinati domini).
- Gestione di caratteri speciali: Gestione corretta di caratteri che potrebbero causare problemi (ad esempio, SQL injection).
- Verifica dell'esistenza del dominio: Verifica opzionale dell'esistenza del dominio email.
Esempi di test:
- Positivi:
- Inserimento di un'email valida.
- Inserimento di un'email con dominio/estensione lunga.
- Inserimento di un'email con sottodomini.
- Negativi:
- Campo vuoto.
- Inserimento di testo senza il carattere
@. - Inserimento di testo senza la parte del dominio dopo
@. - Inserimento di testo con spazi.
- Inserimento di testo con caratteri non validi.
- Inserimento di un'email che supera la lunghezza massima.
- Inserimento di un'email già registrata (durante la registrazione).
- Inserimento di un'email con formato errato di caratteri speciali.
Automazione:
Per automatizzare questi test, si possono usare vari framework e strumenti:
- Automazione UI: Selenium, Cypress, Playwright per testare la validazione frontend e l'interazione con il campo.
# Esempio di pseudocodice per Selenium in Python
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("url_della_tua_app")
email_campo = driver.find_element_by_id("emailInput") # Trova il campo per ID
email_campo.send_keys("email-invalido") # Inserisci email non valida
messaggio_errore = driver.find_element_by_id("errorMessage") # Trova elemento con messaggio di errore
assert "Formato email non valido" in messaggio_errore.text # Verifica il testo del messaggio
driver.quit()
- Automazione API: RestAssured, Postman, Requests (Python) per testare la validazione backend inviando richieste con dati diversi.
// Esempio di pseudocodice per Postman
{
"email": "email-invalido"
}
// Esempio di test in Postman
pm.test("Lo stato è 400", function () {
pm.response.to.have.status(400); // Verifica che il server ritorni errore 400
});
pm.test("Messaggio di errore corretto", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.message).to.eql("Formato email non valido"); // Verifica il testo del messaggio di errore
});
Aspetti aggiuntivi:
- Test con dati reali (se disponibile un database di test).
- Test su diversi dispositivi e browser.
- Test di performance del campo con grandi volumi di dati.