Junior
Come testare il campo di inserimento dell'indirizzo email?
sobes.tech AI
Risposta dell'AI
La verifica del campo di inserimento dell'indirizzo email include i seguenti controlli:
- Validazione del formato:
- Formati corretti (nome@dominio.zona, nome.cognome@sottodominio.dominio.zona, ecc.).
- Formati incorretti (senza @, senza dominio, con più @, con caratteri proibiti, con spazi).
- Caratteri speciali nella parte locale e nel dominio.
- Nomi di dominio di diverse lunghezze.
- Indirizzo IP come dominio (
utente@[192.168.1.1]).
- Lunghezza del campo:
- Lunghezza minima consentita.
- Lunghezza massima consentita.
- Superamento della lunghezza massima.
- Obbligatorietà del campo:
- Invio del modulo con campo vuoto.
- Sensibilità alle maiuscole:
- Il campo è case-sensitive (di solito no per la parte del dominio)?
- Test cross-browser e multipiattaforma:
- Visualizzazione e comportamento corretti su diversi browser e dispositivi.
- Test di sicurezza:
- Attacchi XSS (iniezione di script).
- Iniezioni SQL (se il campo interagisce direttamente con un database).
- Prestazioni:
- Tempo di risposta durante l'inserimento di indirizzi lunghi o complessi (se è presente validazione "in tempo reale").
Esempi di casi di test:
| ID | Descrizione del caso di test | Dati di input | Risultato atteso | Risultato effettivo | Stato |
|---|---|---|---|---|---|
| TC-001 | Formato email corretto | test@example.com |
Il sistema accetta l'email, nessun messaggio di errore. | ||
| TC-002 | Formato incorretto (senza @) | testexample.com |
Il sistema mostra un messaggio di errore di formato. | ||
| TC-003 | Formato incorretto (più @) | test@example@com |
Il sistema mostra un messaggio di errore di formato. | ||
| TC-004 | Campo vuoto (obbligatorio) | (vuoto) | Il sistema mostra un messaggio che indica che il campo è obbligatorio. | ||
| TC-005 | Email lunga | a*250 + @example.com |
Il sistema gestisce correttamente un'email di lunghezza consentita. |
Esempio di test automatizzato (Python con Selenium):
# test_email_field.py
from selenium import webdriver
from selenium.webdriver.common.by import By
def test_valid_email_input():
driver = webdriver.Chrome() # o altro driver
driver.get("http://tuo-url-dell-app.com") # sostituisci con l'URL dell'applicazione
email_field = driver.find_element(By.ID, "email") # sostituisci con il localizzatore del campo
email_field.send_keys("test@example.com")
# Verifica assenza di messaggio di errore
error_message = driver.find_elements(By.ID, "email-error") # sostituisci con il localizzatore del messaggio
assert len(error_message) == 0, "Il messaggio di errore è apparso per email corretta"
driver.quit()
def test_invalid_email_input():
driver = webdriver.Chrome()
driver.get("http://tuo-url-dell-app.com")
email_field = driver.find_element(By.ID, "email")
email_field.send_keys("email-invalido")
# Verifica che venga mostrato il messaggio di errore
error_message = driver.find_element(By.ID, "email-error") # sostituisci con il localizzatore del messaggio
assert error_message.is_displayed(), "Il messaggio di errore non è stato mostrato per email incorretta"
driver.quit()