Sobes.tech
Junior

Como testar o campo de entrada de email?

sobes.tech IA

Resposta da IA

A verificação do campo de entrada de email inclui as seguintes verificações:

  • Validação do formato:
    • Formatos corretos (nome@dominio.zona, nome.sobrenome@subdominio.dominio.zona, etc.).
    • Formatos incorretos (sem @, sem domínio, com múltiplos @, com caracteres proibidos, com espaços).
    • Caracteres especiais na parte local e no domínio.
    • Nomes de domínio de diferentes comprimentos.
    • Endereço IP como domínio (utilizador@[192.168.1.1]).
  • Comprimento do campo:
    • Comprimento mínimo permitido.
    • Comprimento máximo permitido.
    • Ultrapassar o comprimento máximo.
  • Obrigatoriedade do campo:
    • Enviar formulário com o campo vazio.
  • Sensibilidade a maiúsculas e minúsculas:
    • O campo é sensível a maiúsculas (normalmente não para a parte do domínio)?
  • Testes entre navegadores e plataformas:
    • Visualização e comportamento corretos em diferentes navegadores e dispositivos.
  • Testes de segurança:
    • Ataques XSS (injeção de scripts).
    • Injeções SQL (se o campo interagir diretamente com uma base de dados).
  • Desempenho:
    • Tempo de resposta ao inserir endereços longos ou complexos (se houver validação "em tempo real").

Exemplos de casos de teste:

ID Descrição do caso de teste Dados de entrada Resultado esperado Resultado real Estado
TC-001 Formato de email correto test@example.com O sistema aceita o email, sem mensagem de erro.
TC-002 Formato incorreto (sem @) testexample.com O sistema exibe uma mensagem de erro de formato.
TC-003 Formato incorreto (vários @) test@example@com O sistema exibe uma mensagem de erro de formato.
TC-004 Campo vazio (obrigatório) (vazio) O sistema exibe uma mensagem de que o campo é obrigatório.
TC-005 Email longo a*250 + @example.com O sistema processa corretamente um email de comprimento permitido.

Exemplo de teste automatizado (Python com Selenium):

# test_email_field.py
from selenium import webdriver
from selenium.webdriver.common.by import By

def test_valid_email_input():
    driver = webdriver.Chrome() # ou outro driver
    driver.get("http://sua-url-da-aplicacao.com") # substitua pela URL da aplicação

    email_field = driver.find_element(By.ID, "email") # substitua pelo localizador do campo
    email_field.send_keys("test@example.com")

    # Verificação de ausência de mensagem de erro
    error_message = driver.find_elements(By.ID, "email-error") # substitua pelo localizador da mensagem
    assert len(error_message) == 0, "Mensagem de erro apareceu para email correto"

    driver.quit()

def test_invalid_email_input():
    driver = webdriver.Chrome()
    driver.get("http://sua-url-da-aplicacao.com")

    email_field = driver.find_element(By.ID, "email")
    email_field.send_keys("email-invalido")

    # Verificação de exibição da mensagem de erro
    error_message = driver.find_element(By.ID, "email-error") # substitua pelo localizador da mensagem
    assert error_message.is_displayed(), "Mensagem de erro não apareceu para email incorreto"

    driver.quit()