Definição – O que significa Desenvolvimento Orientado a Testes (TDD)?
O desenvolvimento dirigido por teste (TDD) é uma abordagem de desenvolvimento de software em que um teste é escrito antes de escrever o código. Depois que o novo código passa no teste, ele é refatorado para um padrão aceitável.
O TDD garante que o código-fonte seja totalmente testado na unidade e conduza a um código modularizado, flexível e extensível. Ele se concentra em escrever apenas o código necessário para passar nos testes, tornando o design simples e claro.
Definirtec explica o Test Driven Development (TDD)
O TDD permite que o programador execute pequenos passos enquanto escreve o software. O teste é escrito antes de testar a funcionalidade e garante que o aplicativo seja adequado para testabilidade. O teste em uma pequena quantidade de código é executado para detectar erros que ocorrem no código testado. Em seguida, a funcionalidade é implementada. Isso é conhecido como “refatoramento verde vermelho”, em que vermelho significa falha e verde mostra aprovação. Essas etapas são então repetidas. O primeiro objetivo de um programador é se concentrar na tarefa em mãos e passá-la.
As diferentes etapas envolvidas em um ciclo de desenvolvimento dirigido por teste são:
- Adicionar um teste: Cada novo recurso no TDD começa com um teste que deve falhar à medida que é colocado em vigor antes que qualquer recurso seja implementado. O requisito essencial para escrever um teste antes da implementação do recurso é uma compreensão clara do requisito pelo desenvolvedor. Isso é feito por meio de histórias de usuário e casos de uso. Portanto, um desenvolvedor entende o requisito antes de escrever o código do programa.
- Execute todos os testes e verifique se o novo código falha: Isso garante o funcionamento correto do equipamento de teste e que o novo teste não passa por engano sem qualquer novo código. Essa etapa também testa o teste e elimina a possibilidade de que o novo teste sempre passe.
- Escrever código: a próxima etapa a seguir é escrever o código que limpa o teste. O novo código não é perfeito, mas é modificado posteriormente de acordo com os requisitos. É meramente projetado para teste e não inclui outras funcionalidades.
- Execute testes automatizados: se cada caso de teste produzido passar facilmente no teste, isso significa que o código atende a todas as especificações exigidas. Portanto, a etapa final do ciclo pode ser iniciada.
- Código de refatoração: é semelhante à remoção da duplicação. Uma refatoração não danifica nenhuma funcionalidade existente e ajuda a remover a duplicação entre os códigos de produção e de teste. O código agora é limpo conforme necessário.
- Repetir: O ciclo é repetido como nos casos anteriores com um novo teste. O requisito essencial é que o tamanho das etapas seja pequeno, com cerca de 1 a 10 edições entre cada execução de teste. Se o novo código não satisfizer um novo teste, o programador deve realizar uma depuração adicional. A integração contínua fornece pontos de verificação reversíveis.