Junior
¿Cómo realizar la prueba del campo de entrada de correo electrónico?
sobes.tech AI
Respuesta de la IA
Las pruebas del campo de entrada de correo electrónico incluyen verificaciones a nivel de frontend y backend, así como pruebas de la interfaz de usuario.
Verificaciones del frontend (lado del cliente):
- Validación del formato:
- Direcciones correctas (p.ej.,
test@example.com,test.name@sub.example.co.uk). - Direcciones incorrectas (falta de
@, dominio, caracteres especiales incorrectos, espacios).
- Direcciones correctas (p.ej.,
- Límites de entrada:
- Longitud mínima y máxima.
- Campo vacío.
- Tipo de datos: Asegurarse de que el campo acepte solo caracteres permitidos en email.
- Mensajes de error: Correctitud e informatividad de los mensajes en caso de entrada incorrecta.
- Interacción:
- Enfoque en el campo (estado de foco).
- Estado de escritura.
- Estado de error.
Verificaciones del backend (lado del servidor):
- Validación del formato: Verificación adicional del formato del email para prevenir saltarse la validación del frontend.
- Unicidad: Si el email debe ser único (por ejemplo, en registro), verificar duplicados en la base de datos.
- Lógica de negocio: Verificación del cumplimiento de reglas de negocio (por ejemplo, prohibición de ciertos dominios).
- Manejo de caracteres especiales: Manejo correcto de caracteres que puedan causar problemas (p.ej., inyección SQL).
- Verificación de existencia del dominio: Verificación opcional de la existencia del dominio del email.
Ejemplos de pruebas:
- Positivas:
- Entrada de un email válido.
- Entrada de un email con un dominio/extensión larga.
- Entrada de un email con subdominios.
- Negativas:
- Campo vacío.
- Entrada de texto sin el carácter
@. - Entrada de texto sin la parte del dominio después de
@. - Entrada de texto con espacios.
- Entrada de texto con caracteres no permitidos.
- Entrada de un email que excede la longitud máxima.
- Entrada de un email ya registrado (en registro).
- Entrada de un email con formato incorrecto de caracteres especiales.
Automatización:
Para automatizar estas pruebas, se pueden usar varios frameworks y herramientas:
- Automatización de UI: Selenium, Cypress, Playwright para pruebas de validación frontend y interacción con el campo.
# Ejemplo de pseudocódigo para Selenium en Python
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("tu_url_de_app")
campo_email = driver.find_element_by_id("emailInput") # Encontrar el campo por ID
campo_email.send_keys("email-invalido") # Ingresar email incorrecto
mensaje_error = driver.find_element_by_id("errorMessage") # Encontrar el elemento con el mensaje de error
assert "Formato de email inválido" in mensaje_error.text # Verificar el texto del error
driver.quit()
- Automatización de API: RestAssured, Postman, Requests (Python) para pruebas de validación backend enviando solicitudes con diferentes datos.
// Ejemplo de pseudocódigo para Postman
{
"email": "email-invalido"
}
// Ejemplo de prueba en Postman Tests
pm.test("El código de estado es 400", function () {
pm.response.to.have.status(400); // Verificar que el servidor devuelva error 400 (Solicitud incorrecta)
});
pm.test("El mensaje de error es correcto", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.message).to.eql("Formato de email inválido"); // Verificar el texto del error en la respuesta
});
Aspectos adicionales:
- Pruebas con datos reales (si hay una base de datos de prueba).
- Pruebas en diferentes dispositivos y navegadores.
- Pruebas de rendimiento del campo al ingresar grandes volúmenes de datos.