Sobes.tech
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).
  • 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.