TDD - Desenvolvimento dirigido por testes

De volta da Latinoware, agora publicar anotações, começando pela palestra assertTrue($tdd); do Alexandre Gaigalas.

Segundo a Wikipedia: Test Driven Development (TDD) ou em português Desenvolvimento dirigido por testes é uma técnica de desenvolvimento de software que baseia em um ciclo curto de repetições: Primeiramente o desenvolvedor escreve um caso de teste automatizado que define uma melhoria desejada ou uma nova funcionalidade. Então, é produzido código que possa ser validado pelo teste para posteriormente o código ser refatorado para um código sob padrões aceitáveis. Kent Beck, considerado o criador ou o 'descobridor' da técnica, declarou em 2003 que TDD encoraja designs de código simples e inspira confiança[1]. Desenvolvimento dirigido por testes é relacionado a conceitos de programação de Extreme Programming, iniciado em 1999,[2] mas recentemente tem-se criado maior interesse pela mesma em função de seus próprios ideais.[3] Através de TDD, programadores podem aplicar o conceito de melhorar e depurar código legado desenvolvido a partir de técnicas antigas.[4]

Após esta breve definição, vamos as minhas anotações. Como você faz pra testar JS ou PHP? Toda vez abre o navegador, preenche trocentos campos validando CPF, data etc e clica em enviar pra ver está funcionando? Há muita perda de tempo nisso, é muito escroto, programador gosta de programar e não gosta de perder tempo fazendo testes, então, por que não criar um software para testar o software?

Método antigo de teste: var_dump($user);
Agora: // var_dump($user);  :D

Os métodos de teste evoluíram muito nos últimos anos, Breakpoints (usava muito isso no Delphi), Watchers, ... chegando ao TDD.

PHPUnit criado por Sebastian Bergman, uma boa ferramenta.

TDD (Test) + BDD (Behavior) + CI (Integração Contínua) = :D

O TDD foi feito para os desenvolvedores, para facilitar a vida deles e melhorar muito a qualidade do software.

Cuidar com Dependency Injection, não conecta ao banco real para testar.

Abaixo os slides da palestra, veja os gráficos dos tempos sem TDD e com TDD, formas de convencer seu chefe a mudar, etc. Confira também o texto do próprio autor em http://php5.net.br/tdd

Comentários

Postagens mais visitadas deste blog

Solução para problemas com impressora de cheque Bematech DP-20

Solução dos Erros de FTP com PFSENSE

SIOPE 2017 - Instalação e Restauração Cópia de Segurança