Se você trabalha com tecnologia e desenvolvimento de softwares, provavelmente já ouviu falar de Test Driven Development ou Desenvolvimento Orientado por Testes, em português.
Durante o desenvolvimento de um software, os desenvolvedores focam em entregar algo que funcione corretamente, com qualidade e no prazo estipulado inicialmente. Para garantir isso, é necessário que o produto, antes de ser entregue, seja submetido a testes que foquem em encontrar possíveis erros. Assim, é possível que o software seja corrigido antes de chegar aos usuários finais.
Testar um software corretamente não é algo simples. Justamente por isso, existem metodologias que visam testar os diferentes componentes de uma solução de software de maneira correta. Algumas destas metodologias focam em testar a integração entre dos componentes de um software, enquanto outras proporem testar cada um dos componentes de maneira isolada.
Uma das metodologias que auxiliam a aplicar testes nos códigos de forma mais granular é o TDD, que tem ficado cada vez mais popular. No TDD, é possível codificar o teste antes mesmo do código existir.
O que é?
O TDD se baseia, basicamente, em pequenos ciclos de repetições, onde para cada funcionalidade do sistema, um teste é criado antes. Inicialmente, este novo teste criado falha, já que ainda não há a implementação da funcionalidade em questão e, em seguida, a funcionalidade é implementada para que o teste tenha um resultado positivo, ou seja, para que passe.
Este modelo se apropria do conceito de trabalho em ciclos, ou seja, inicialmente é escrito um teste unitário falho. Exatamente por essa falha proposital será criado um código que corrija este erro, esse é a segunda etapa do teste, que consiste em corrigir a falha do primeiro ciclo. Após a implementação do código e correção dos erros criado no primeiro ciclo e solucionado no segundo, é necessário que o programador refatore o código, a fim de melhorar alguns pontos. Essa nova versão também precisa passar pelo ciclo novamente, sem alterar o teste escrito inicialmente.
Essa etapa de controle de qualidade serve para assegurar ao software que todas as funcionalidades estejam sem bugs e funcionando conforme o esperado.
Para essa tarefa existe um profissional específico, que atua em todas as etapas e critérios do teste.
Entre as funções de um profissional de teste, as mais indispensáveis são: entendimento do projeto e novas funcionalidades, planejamento dos testes a serem executados, execução dos testes e registro de erros.
Ciclos do TDD
Existem três ciclos:
- Vermelho: pequeno teste automatizado que, ao ser executado, irá falhar;
- Verde: implementar um código que seja suficiente para ser aprovado no teste recém-escrito;
- Refatorar: refatore o código a fim de ser aprimorado, deixando-o mais funcional e mais limpo.
Para realizar o teste em cada funcionalidade do código será necessário sempre seguir os ciclos. Estes ciclos são comumente referidos como: red-green-refactor ou red-green-blue.A ideia é que se utilize destes ciclos para testes unitários – testes que pretendem avaliar o comportamento de classes e métodos específicos.
Curtiu nosso conteúdo? Acompanhe nosso blog e fique por dentro do mundo da tecnologia e software. Caso você queira entrar em contato conosco é só enviar um e-mail para nós.