Capítulo 22. Testes de aceitação
Este trabalho foi traduzido com recurso a IA. Agradecemos o teu feedback e comentários: translation-feedback@oreilly.com
Como programador, é fácil concentrar-se nos testes que rodeiam diretamente a tua base de código: testes de unidade, testes de integração, testes de IU e semelhantes. Estes testes verificam se o código está a fazer o que pretendes. São uma ferramenta inestimável para manter a tua base de código livre de regressões. Eles também são completamente a ferramenta errada para construir o que um cliente espera.
Os desenvolvedores escrevem esses testes com total conhecimento do código, o que significa que os testes são tendenciosos em relação às expectativas do desenvolvedor. No entanto, não há garantia de que esse comportamento testado seja realmente o que o cliente deseja.
Considera o seguinte teste unitário:
deftest_chili_has_correct_ingredients():assertmake_chili().ingredients()==["Ground Beef","Chile Blend","Onion",..."Tomatoes","Pinto Beans"]
Este teste pode ser hermético; passa e detecta qualquer regressão feita no código. No entanto, quando apresentado a um cliente, podes ser confrontado com: "Não, eu queria chili à moda do Texas! Sabes, sem tomates ou feijões?" Todos os testes unitários do mundo não te vão salvar de construir a coisa errada.
É aqui que entram os testes de aceitação. Os testes de aceitação verificam se estás a construir o produto correto. Enquanto os testes unitários e os testes de integração são uma ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access