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