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.