TDD
Test Driven Development / Desenvolvimento orientado a teste
Considerada parte da metodologia XP e também utilizado em diversas outras metodologias, além de poder ser utilizada livremente. Projetada por Kent Beck, TDD vem para aplicar o conceito de melhorar e depurar código legado.
O TDD sistematiza o processo de concepção, escrita e verificação do código de forma integrada e simultânea. A prática ajuda o programador a ter controle sobre o design de seu código e a mente-lo com um nível de qualidade ótimo ao longo de todo o processo.
Ciclo TDD:
Definidos como: Red, Green, Refactor.
- Escrever o Teste que será testado no método; (Red)
- Executamos o Teste acompanhando o debug do código; (Red)
- Adicionamos uma nova funcionalidade do sistema;
- Execute os testes automatizados e execute-os com sucesso; (Green)
- Refatoramos o código da nova funcionalidade; (Refactor)
- Escrevemos o próximo Teste.
Vantagens de utilização:
- Garante que todo o código desenvolvido seja coberto por um teste;
- Nível de código mais modularizado, flexível e extensível;
- Com a possibilidade de separar em pequenos "pedaços" o código eles se tornam mais testáveis e menos acoplado;
- Feedback rápido sobre a nova funcionalidade e as funcionalidades existentes no sistema;
- Código mais limpo, já que escrevemos códigos simples para o teste passar;
- Segurança na correção de bugs;
- Segurança no Refactoring pois podemos ver o que estamos ou não afetando;
- Maior produtividade.
PHP:
SimpleTest: Possibilita os testes unitários, além de uma gama ampla de tipos de teste o destaque é a realização de testes através de MOCKS;
PHPUnit: Framework XUnit para teste unitário em PHP, também é possível integrar aos IDE's assim como o JUnit;
Java:
JUnit: Considerado um framework de teste ele que permite a criação de testes unitários. Seu destaque é a possibilidade de uso como plug-in para os mais diversos IDE'S. Disponível para os principais Eclipse e Netbeans;
TesteNG: Outra ferramenta de teste unitária;
.Net:
XUnit: Framework derivado do SUnit, projetado por Kent Beck;
NUnit: Framework de teste no molde XUnit;
Python:
PyUnit: Framework para testes unitários;
JavaScript:
Jasmine: Framework para testes unitários;
C:
CUnit: Ferramenta para os testes unitários;
Bom pessoal, espero que tenham gostado.
Até a próxima o/
0 comments:
Postar um comentário