TDD


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.

  1. Escrever o Teste que será testado no método; (Red)
  2. Executamos o Teste acompanhando o debug do código; (Red)
  3. Adicionamos uma nova funcionalidade do sistema;
  4. Execute os testes automatizados e execute-os com sucesso; (Green)
  5. Refatoramos o código da nova funcionalidade; (Refactor)
  6. 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.


Ferramentas para implementar o processo de TDD:

 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/

About thallitaceleste

0 comments:

Postar um comentário