Test Driven development




Software com mais qualidade, menos bugs e melhor manutenabilidade

O que veremos...


  • Conceito
  • Ciclo de desenvolvimento
  • Boas práticas para unittestS
  • Dojo
  • REALMENTE EXISTEM Benefícios ?


Test DRIVEN DEVELOPMNT  






Ciclo de desenvolvimento



bOAS PráticaS PARA UNITTESTS




Tests F.I.R.S.T !


  • Fast
  • Independent
  • Repeatable
  • Self-Validating
  • Timely

    "Não deixe para amanhã o que você nunca vai fazer" :P

Mão na massa...


Exercício:


Implementar uma classe que represente uma pilha(LIFO) que só possa conter números inteiros e pares.

Suportando as seguintes operações:

  1. push(value) - adiciona um valor no topo da pilha
  2. pop() - remove o primeiro elemento da pilha e retornar o valor do mesmo.
  3. count() - retorna o total de elementos da pilha

BENEFÍCIOS



...Mas desenvolvimento guiado por testes traz algum benefício? 


No final das contas vale a pena?




Manutenção crítica em SOFTWARE sem unitests...


BENEFÍCIOS

    • Testes são uma forma de documentar;
    • Foco nos requerimentos e regras de negócio;
    • Encoraja soluções simples;
    • Ajuda a eliminar bugs previamente.

    dESENVOLVIMENTO GUIADO POR TESTES



    "Se a densidade de defeitos pode ser suficientemente reduzida, então a garantia de qualidade pode mudar de trabalho reativo para trabalho pró-ativo..."


    Kent Beck.

    TDD

    By Raphael Carvalho

    TDD

    • 1,845