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
Nenhum comentário:
Postar um comentário