Desenvolvimento
orientado a testes
TEST DRIVEN DEVELOPMENT (TDD)
Conceitos
Os problemas de requisitos são reduzidos quando utiliza-se de metodologias
ágeis
O TDD é um estilo de desenvolvi...
Conceitos
Imagine você adquirindo um carro
...de repente você está andando e nota que na curva o carro não é
eficiente.
O ...
Conceitos
“Qualidade de software é um processo
sistemático que focaliza todas as etapas e
artefatos produzidos com o objet...
Segundo Myers,
quanto mais tardiamente
descobrirmos os erros, mais caros
estes se tornam.
- Regra dos 10
O TDD
Os testes são utilizados para facilitar no entendimento do
projeto
- A criação de teste unitários ou de componentes ...
Benefícios
E qual o benefício em utilizar o TDD?
- torna o processo mais confiável
- reduz custos
- código seguro e sem co...
Ciclo do TDD
O Ciclo do TDD é simples
1 criamos um teste
2 Fazemos a codificação para passar no teste
3 Refatoramos nosso ...
Ciclo do TDD
Ciclo do TDD
O vermelho é a escrita do primeiro
teste antes mesmo da lógica existir
O verde é o ponto em que a lógica
para...
Modelo F.I.R.S.T.
F (Fast) - Rápidos: devem ser rápidos, pois testam apenas uma
unidade;
I (Isolated) - Testes unitários s...
Implementação do TDD
Unit: O JUnit é um framework de teste para Java;
TesteNG: Outra ferramenta de teste unitária, disponí...
Conclusão
Por que não uso?
- O começo
-O tempo
Desenvolvimento orientado a testes - TDD
Próximos SlideShares
Carregando em…5
×

Desenvolvimento orientado a testes - TDD

424 visualizações

Publicada em

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
424
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
8
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Desenvolvimento orientado a testes - TDD

  1. 1. Desenvolvimento orientado a testes TEST DRIVEN DEVELOPMENT (TDD)
  2. 2. Conceitos Os problemas de requisitos são reduzidos quando utiliza-se de metodologias ágeis O TDD é um estilo de desenvolvimento de software ágil derivado do método Extreme Programming (XP) Kent Beck, considerado o criador ou o 'descobridor' da técnica Deve-se primeiro escrever os testes, antes de implementar o sistema Bem segundo Freeman, você não tem nada a perder, a não ser os seus bugs.
  3. 3. Conceitos Imagine você adquirindo um carro ...de repente você está andando e nota que na curva o carro não é eficiente. O TDD se baseia em um ciclo curto de repetições de testes O mesmo acontece com o cliente de um software
  4. 4. Conceitos “Qualidade de software é um processo sistemático que focaliza todas as etapas e artefatos produzidos com o objetivo de garantir a conformidade de processos e produtos, prevenindo e eliminando defeitos”. Bartié
  5. 5. Segundo Myers, quanto mais tardiamente descobrirmos os erros, mais caros estes se tornam. - Regra dos 10
  6. 6. O TDD Os testes são utilizados para facilitar no entendimento do projeto - A criação de teste unitários ou de componentes é parte crucial para o TDD - Cada componente é testado independentemente - É necessário testar o sistema como um todo “Os componentes individuais são testados para garantir que operem corretamente...” Presmann
  7. 7. Benefícios E qual o benefício em utilizar o TDD? - torna o processo mais confiável - reduz custos - código seguro e sem complexidades - evita retrabalho Redução na quantidade de defeitos
  8. 8. Ciclo do TDD O Ciclo do TDD é simples 1 criamos um teste 2 Fazemos a codificação para passar no teste 3 Refatoramos nosso código
  9. 9. Ciclo do TDD
  10. 10. Ciclo do TDD O vermelho é a escrita do primeiro teste antes mesmo da lógica existir O verde é o ponto em que a lógica para que o teste previamente criado passe O refatora é a melhoria do código.
  11. 11. Modelo F.I.R.S.T. F (Fast) - Rápidos: devem ser rápidos, pois testam apenas uma unidade; I (Isolated) - Testes unitários são isolados, testando individualmente as unidades e não sua integração; R (Repeateble) - Repetição nos testes, com resultados de comportamento constante; S (Self-verifying) - A auto verificação deve verificar se passou ou se deu como falha o teste; T (Timely) - O teste deve ser oportuno, sendo um teste por unidade.
  12. 12. Implementação do TDD Unit: O JUnit é um framework de teste para Java; TesteNG: Outra ferramenta de teste unitária, disponível para Java; PHPUnit: Framework XUnit para teste unitário em PHP; SimpleTest: Outra ferramenta para realização de teste para PHP; NUnit: Framework de teste no molde XUnit para a plataforma .NET; Jasmine: Framework para teste unitário de JavaScript; CUnit: Ferramenta para os testes unitários disponível para Linguagem C; PyUnit: Framework Xunit para testes na linguagem Python.
  13. 13. Conclusão Por que não uso? - O começo -O tempo

×