What are TDDD and ATDD?
Neste artigo, destacamos as semelhanças e diferenças entre dois métodos de teste populares comumente conhecidos como TDD e ATDD.
TDD significa desenvolvimento orientado a testes, enquanto ATDD significa desenvolvimento orientado a testes de aceitação. Entender como essas duas abordagens de teste funcionam é fundamental para os profissionais de teste e este post será uma cartilha para que você comece a descobrir ambos. Você entenderá TDD vs ATDD.
O que é desenvolvimento controlado por testes (TDD)?
TDD é um sistema de desenvolvimento de software seguindo os princípios da Extreme Programming (XP), no entanto, com o tempo, ele se desenvolveu como uma técnica independente de desenvolvimento de software.
No TDD, o teste unitário é realizado no código fonte diretamente.
Primeiro, o testador escreve um caso de teste automático que define a função desejada que o sistema deve idealmente realizar, mas desenha propositadamente o caso de teste de tal forma que não possa ser realizado pelo sistema no seu estado atual.
Segundamente, o desenvolvedor anotará as razões pelas quais o sistema não satisfez o teste e escreverá o código necessário para refatorar o sistema e habilitá-lo a passar na segunda tentativa. Este processo é resumido no gráfico abaixo.
O processo TDD continua desta forma, ziguezagueando entre o fracasso e o sucesso, de tal forma que cada iteração empurra o sistema para seus limites e depois o ajuda a superá-lo através do feedback que é gerado.
O TDD é um experimento em falha voluntária e é preciso um pouco de coragem para embrulhar a cabeça em torno desta técnica contra-intuitiva. No entanto, quando o fizer, será recompensado com um método simples mas altamente eficaz para combater o medo de falhar durante os testes enquanto melhora o trabalho que faz.
O que é o Desenvolvimento Orientado pelo Teste de Aceitação (ATDD)?
ATDD é um método colaborativo de teste que força todas as pessoas envolvidas na criação de novo software (e.Por exemplo, testadores, desenvolvedores e usuários) para definir como uma equipe os critérios de aceitação que o sistema tem que cumprir nos estágios iniciais de desenvolvimento.
O objetivo desta etapa é assegurar que todos esses interessados concordem com os objetivos principais do projeto, especialmente em termos da funcionalidade que o usuário final pode esperar. Durante esta fase do ATDD, técnicas como personas e histórias de usuários podem ser muito úteis.
Quando os testes de aceitação são finalmente executados no sistema, as falhas são notadas e os desenvolvedores irão então refactor componentes defeituosos, escrevendo o código necessário para satisfazer os critérios de aceitação na próxima tentativa.
Este processo é realizado iterativamente, normalmente no final de cada sprint, até que o produto final esteja pronto para a implantação. O gráfico abaixo explica isto.
ATDD fornece à equipe uma visão mais clara de como o produto final irá funcionar, permitindo que todos se mantenham focados nos objetivos de longo prazo ao invés de se perderem em linhas individuais de código.
Em resumo
Agora você tem uma boa compreensão das diferenças básicas entre TDD e ATDD. Estes dois métodos de teste estão intimamente relacionados, porém ATDD também inclui testes de aceitação no processo e dá mais importância à colaboração da equipe do que TDD.
As duas abordagens se encaixam bem nos princípios ágeis, uma vez que ambas encorajam a coleta de feedback para construir sobre seus erros anteriores. Conforme você refatoria continuamente o sistema e aborda os problemas que enfrentou na tentativa anterior, esses métodos ajudam a desenvolver um produto final mais valioso de forma incremental.
Junte 60.000+ Assinantes
Para blogs mais recentes, atualizações do setor e dicas exclusivas.
*O seu e-mail está seguro conosco, também odiamos spam
Leave a Reply