Testes de aceitação
Definição
Testes de aceitação verificam se os critérios de aceitação foram cumpridos e se o produto ou funcionalidade funciona como esperado.
Contexto
Testes de aceitação ajudam equipes ágeis a confirmar que a funcionalidade entregue corresponde às expectativas dos stakeholders. Eles criam ciclos de feedback rápidos, identificam problemas precocemente e fortalecem a confiança na qualidade do produto.
Testes de aceitação automatizados aceleram o desenvolvimento ágil, pois reduzem o esforço de testes manuais e aumentam a confiabilidade. Se os critérios de aceitação forem subjetivos, a automatização não é possível. Se forem objetivos, vale a pena automatizar para garantir que alterações no produto não afetem funcionalidades existentes.
Descrição
Enquanto os critérios de aceitação definem as condições para o sucesso, os testes de aceitação descrevem os passos concretos para verificar essas condições no produto.
Eles podem ser criados antes ou durante o desenvolvimento e – se automatizados – podem ser repetidos quantas vezes for necessário. Testes de aceitação são uma parte central da garantia de qualidade ágil, pois asseguram que cada Item do Product Backlog atenda às expectativas antes do release.
Critérios e testes de aceitação também são úteis em modelos tradicionais como o cascata. No entanto, lá eles geralmente são realizados apenas no final (por exemplo, como User Acceptance Tests – UAT), o que atrasa o aprendizado. Em abordagens ágeis como Scrum, eles acontecem em cada Sprint, permitindo que as equipes recebam feedback mais rápido e façam ajustes de forma mais econômica.
Exemplo
Em um app de compras, um critério de aceitação poderia ser:
"Usuários podem adicionar itens ao carrinho e ver o valor total atualizado."
Um teste de aceitação correspondente poderia incluir os seguintes passos:
- Abrir o app e navegar até um produto
- Adicionar o produto ao carrinho
- Verificar se o valor total se atualiza corretamente
Mal-entendidos comuns
Um mal-entendido comum é que testes de aceitação são responsabilidade exclusiva dos testadores. Em equipes ágeis, todos os membros da equipe definem, executam e – quando possível – automatizam esses testes juntos.
Quer saber mais?
Leia o artigo sobre critérios de aceitação para entender como os testes de aceitação se baseiam em condições claramente definidas.
Se você quiser se aprofundar tecnicamente no tema, assista ao vídeo do Dave Farley abaixo.