Junior
¿Cómo realizar la prueba del campo de entrada de correo electrónico?
sobes.tech AI
Respuesta de la IA
La prueba del campo de entrada de correo electrónico incluye verificaciones:
- Validación de formato:
- Formatos correctos (nombre@dominio.zona, nombre.apellido@subdominio.dominio.zona, etc.).
- Formatos incorrectos (sin @, sin dominio, con múltiples @, con caracteres prohibidos, con espacios).
- Caracteres especiales en la parte local y en el dominio.
- Nombres de dominio de diferentes longitudes.
- Dirección IP como dominio (
usuario@[192.168.1.1]).
- Longitud del campo:
- Longitud mínima permitida.
- Longitud máxima permitida.
- Superar la longitud máxima.
- Obligatoriedad del campo:
- Enviar formulario con campo vacío.
- Sensibilidad a mayúsculas y minúsculas:
- ¿Es el campo sensible a mayúsculas (normalmente no para la parte del dominio)?
- Pruebas en diferentes navegadores y plataformas:
- Visualización y comportamiento correctos en distintos navegadores y dispositivos.
- Pruebas de seguridad:
- Ataques XSS (inyección de scripts).
- Inyecciones SQL (si el campo interactúa directamente con una base de datos).
- Rendimiento:
- Tiempo de respuesta al ingresar direcciones largas o complejas (si hay validación "en tiempo real").
Ejemplos de casos de prueba:
| ID | Descripción del caso de prueba | Datos de entrada | Resultado esperado | Resultado real | Estado |
|---|---|---|---|---|---|
| TC-001 | Formato correcto de email | test@example.com |
El sistema acepta el email, sin mensaje de error. | ||
| TC-002 | Formato incorrecto (sin @) | testexample.com |
El sistema muestra un mensaje de error de formato. | ||
| TC-003 | Formato incorrecto (varios @) | test@example@com |
El sistema muestra un mensaje de error de formato. | ||
| TC-004 | Campo vacío (obligatorio) | (vacío) | El sistema muestra un mensaje de que el campo es obligatorio. | ||
| TC-005 | Email largo | a*250 + @example.com |
El sistema procesa correctamente un email de longitud permitida. |
Ejemplo de prueba automatizada (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() # u otro controlador
driver.get("http://tu-url-de-la-aplicacion.com") # reemplaza con la URL de la app
email_field = driver.find_element(By.ID, "email") # reemplaza con el localizador del campo
email_field.send_keys("test@example.com")
# Verificación de ausencia de mensaje de error
error_message = driver.find_elements(By.ID, "email-error") # reemplaza con el localizador del mensaje
assert len(error_message) == 0, "El mensaje de error apareció para un email correcto"
driver.quit()
def test_invalid_email_input():
driver = webdriver.Chrome()
driver.get("http://tu-url-de-la-aplicacion.com")
email_field = driver.find_element(By.ID, "email")
email_field.send_keys("email-invalido")
# Verificación de que se muestra el mensaje de error
error_message = driver.find_element(By.ID, "email-error") # reemplaza con el localizador del mensaje
assert error_message.is_displayed(), "El mensaje de error no se mostró para un email incorrecto"
driver.quit()