Skip to content

Instantly share code, notes, and snippets.

@eliasnogueira
Last active December 14, 2022 16:01
Show Gist options
  • Star 29 You must be signed in to star a gist
  • Fork 5 You must be signed in to fork a gist
  • Save eliasnogueira/5340507 to your computer and use it in GitHub Desktop.
Save eliasnogueira/5340507 to your computer and use it in GitHub Desktop.
Diferença entre Smoke e Acceptance Test num contexto ágil

Hoje um colaborador da lista sobre Teste de Software [DFTestes] (http://br.groups.yahoo.com/group/DFTestes/) perguntou em uma thread sobre PhantomJS qual era a difernça entre Smoke Test e Acceptance Test. Ai resolvi responder. Como a lista é somente de acesso aos usuários registrados, estou colocando um resumo, na minha ótica, a diferença entre eles:

Dentro de um contexto ágil nós temos uma separação clara do que é smoke test e o que é teste de aceitação.

  • Smoke Test: conjunto de testes (bem menor do que o conjunto de teste de aceitaçaõ, que vai configurar posteriormente em uma regressão) com o intuito de validar se os pontos maisimportantes da aplicação continuam funcionando após as alterações.

  • Teste de Aceitação: São os testes funcionais que conhecemos. Em um contexto ágil eles são chamados de aceitação ao invés de funcional, pela ótica que adotamos a estes testes, que vão tanto validar a aplicação funcionalmente como validar também da ótica de um usuário (fazer uma venda completa, por exemplo). Estes testes são mais demorados para a execução, mesmo automatizada, pois são um conjunto, as vezes, muito grande de testes e, consequentemente, demorando mais para executar e prover um feedback mais rápido.

Exemplos

Em um site de e-commerce (tipo Submarino) duas das principais funcionalidades são a pesquisa de produtos e a compra de produtos. Se pegarmos os testes automatizados destas duas funcionalidades (não precisa ser todos os testes, somente os testes tipo "caminho feliz") e colocarmos para serem executados automaticamente a uma determinada condição (um commit, ao final de cada dia, etc...) poderemos chamar estes testes de smoke tests, pois eles irão validar a parte mais básica e vital da aplicação antes mesmo de rodar uma bateria completa de automação. Isso reduz o tempo da primeira validação sobre uma entrega e prove um feedback muito rápido para a equipe.

Agora aquele conjunto de testes para fazer uma venda onde o cliente informa o número de cartão de crédito errado, onde ele erra a senha para efetivar a compra e outros possíveis cenários de teste mais "completos" são o conjunto de testes de aceitação.

Cabe dizer aqui que, na verdade, os scripts de automação para ambas as abordagens são os mesmos, o que muda é a ótica: receber um feedback quase instantaneo se os pontos vitais da aplicação continuam funcionando (smoke test) e depois se toda a aplicação (ou parte como uma funcionalidade ou módulo) continua funcionando após as alterações.

Na maioria dos ambientes com contexto ágil a execução do smoke test é diária ou executa mais de uma vez no dia, já os testes de aceitação são executados com menos frequencia por levarem muito mais tempo para executar e prover um feedback

@FabaoAnalista
Copy link

Excelente abordagem , grande abraço.

@UpperWhiskey
Copy link

Obrigado, Elias. Fiquei curioso pelo fato do Jenkins fazer isso durante testes do processo do pipeline e, anteriormente, eu não sabia do que se tratava.

\o

@medeirosfernando
Copy link

Muito bom. Valeu

@alyssom
Copy link

alyssom commented Oct 26, 2018

Muito boa explicação!!! Thanks.

@silramos
Copy link

silramos commented Mar 8, 2019

Ótimo, vlw!

@getJv
Copy link

getJv commented Apr 10, 2019

massa. Obrigado.

@MarcoAurelioQA
Copy link

Muito bom. obrigado.

@GustavoAlef
Copy link

boa. parabéns.

@igor-rodrigues2017
Copy link

Boa! Vlw!!

@GabrielFiel
Copy link

Muito obrigado! 😃

@regisboliver
Copy link

Valeu a explicação!

@MarcosWBA
Copy link

Excelente explicação sobre Smoke Test e Teste de Aceitação. Gostei!

@caiohrff
Copy link

Obrigado, ouvi esse termo em uma reunião do trabalho e fiquei perdido

@VitorAlmeidaVeg
Copy link

Show!!!

@uraniareis
Copy link

Ótima colocação!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment