Se você está procurando um conteúdo sobre testes automatizados com PHP, com PHPunit e TDD, vai encontrar aqui um pouco sobre o assunto. Espero que ajude você.
O que são testes
Todo projeto com expectativa de “ser grande”, precisa começar com a criação dos testes automatizados no desenvolvimento.
Executar testes manualmente são uma das tarefas mais repetitivas na vida do desenvolvedor. Todo mundo passa por isso de escrever o código e atualizar o navegador, para ver o código está correto.
O que poucos acabam se aprofundando no assunto, é que você não precisa Xampp, Wamp, Apache e etc para executar um código em PHP e validar se o mesmo está funcionando.
Para pequenos projetos, esse processo até pode ser tranquilo, digamos que fácil de ser executado. São casos de blogs em WordPress ou pequenos sites institucionais.
Para grandes projetos, chegará o momento de ser impossível testar todas as funcionalidades do sistema a cada nova atualização.

O que é TDD
Um dos padrões mais adotados é o TDD. Esse padrão que é uma sigla de test-driven development, que ajuda muito na vida de grandes projetos, pois antes de começar qualquer desenvolvimento, você irá pensar no que é necessário testar.
Pois, isso sempre é o pensamento, talvez até já seja o processo ao criar “checklists” para depois de cada alteração, lembrar o que é necessário testar.
Executar o desenvolvimento, com o padrão TDD, facilita muito a vida pois você irá mapear todos os processos e já criar os testes, antes de começar o desenvolvimento.
Quando usar TDD
É possível criar os testes automatizados, já com o trablho pronto.
Este não é um processo muito amigável no longo prazo. O ideal é que antes de começar o desenvolvimento você já pare e pense no que será necessário.
Como falar anteriormente pequenos projetos podem não ter tanta necessidade de testes automatizados, pois são poucas coisas para se testar.
Agora, grandes projetos você não terá como controlar quais dependências tiveram alterações, se outra equipe de desenvolvimento fez modificações que impactam no seu feature, e não será possível testar todo o código em pouco tempo.
Os benefícios do TDD
O benefício de se usar testes automatizados, é que a partir de um momento que o projeto tem uma grande escala, você poderá executar um comando no terminal e esperar para ver qual foi o impacto da alteração.
Você terá um ganho em produtividade, pois ao invés de ter que ficar trocando de janelas, executando diversas atualizações de navegador e confiando que passou por todo o processo, um só comando é necessário para tudo isso ser executado e o resultado aparecer na tela.
O processo de deploy também é muito mais fácil, podendo ligar ferramentas de controle de qualidade que irão fazer todos os testes quando qualquer membro da equipe executar um push para o versionamento.
Como usar
O principal framework para fazer testes no PHP, é o PHPUnit.
Praticamente todas as distribuições de frameworks usadas hoje no PHP já vem com esse package pré-instalado.

(34 votos, média: 4,50 de 5)
