EUA por ano 78% Desenvolvedores enxergam TDD como melhoria de produtividade 300% Projetos ágeis são mais sucedidos do que os não-ágeis Fonte: TypeMock Dados de 2011
sistema de maneira contínua a um preço justo. • Descobrir o problema mais cedo. • Aumentar a produtividade (caso a medida seja linhas de código sem defeito).
unidade do sistema. • Garantir que uma parte do sistema funcione. Desenvolvedores quando pensam em teste de software, geralmente imaginam um teste que cobre o sistema inteiro.
realizado foi: • Escrevemos um teste de unidade para uma nova funcionalidade. • Vimos o teste falhar. • Implementamos um código mais simples para resolver o problema.
realizado foi: • No início foi implementada alterações mais simples. • Mas foi feito tantas vezes que ficou longe da implementação ideal. • O desenvolvedor deve buscar uma solução mais simples e não uma modificação mais simples.
testDeveRetornar0SeGatoSaudavel { $gato = new Gato("Luke", 3, 60, "SRD"); //Código de Verificação } public function testDeveRetornar1SeGatoDoente { $gato = new Gato("Fred", 4, 55, "SRD"); //Código de Verificação } public function testDeveRetornar2SeGatoEstavel { $gato = new Gato("Atom", 3, 55, "SRD"); //Código de Verificação }
LUGAR. private $gato; protected function setUp() { $this->gato = new Gato(); parent::setUp(); } public function testDeveRetornar0SeGatoSaudavel { //Código de Verificação } public function testDeveRetornar1SeGatoDoente { //Código de Verificação } public function testDeveRetornar2SeGatoEstavel { //Código de Verificação }