Sobes.tech
Junior

Como escrever um teste de fumaça?

sobes.tech IA

Resposta da IA

Testes de fumo. Identificamos as funções principais e críticas da aplicação. Criamos um conjunto mínimo de testes para verificar a funcionalidade "superficial" dessas funções. Automatizamos-nos para uma execução rápida após cada compilação ou lançamento.

Exemplo de estrutura de teste de fumo (pseudo-código):

# Teste nº1: Verificação do login bem-sucedido do usuário no site

def test_login_bem_sucedido():
    # Navegar para a página de login
    navigate_to("https://mysite.com/login")
    # Inserir credenciais corretas
    enter_username("user@example.com")
    enter_password("password123")
    # Clicar no botão "Entrar"
    click_button("Entrar")
    # Verificar a presença de um elemento ou URL que indique login bem-sucedido (por exemplo, link para o perfil)
    assert element_is_present("//a[@href='/profile']") or url_is("https://mysite.com/dashboard")

# Teste nº2: Verificação de adicionar item ao carrinho

def test_adicionar_item_ao_carrinho():
    # Navegar para a página do produto
    navigate_to("https://mysite.com/products/item1")
    # Clicar no botão "Adicionar ao carrinho"
    click_button("Adicionar ao carrinho")
    # Verificar se o contador de itens no carrinho foi atualizado
    assert get_cart_item_count() == 1

# E assim por diante para outras funções críticas (registro, pagamento, busca, etc.)

Pontos-chave ao escrever testes de fumo:

  • Brevidade e velocidade: Os testes devem ser executados rapidamente.
  • Foco no núcleo: Apenas as funções "essenciais" são verificadas.
  • Estabilidade: Os testes devem ser resistentes a mudanças menores que não afetam a lógica crítica.
  • Automatização: A maioria dos testes de fumo é automatizada para integração em pipelines CI/CD.
  • Simplicidade: A lógica dos testes deve ser compreensível e fácil de manter.