Estudo e aplicação da metodologia de
desenvolvimento Test Driven
Development (TDD) e avaliação de
seus benefícios
Acadêmic...
Objetivo Geral
Apresentar um estudo sobre a técnica de
desenvolvimento de software Test Driven
Development (TDD), com o in...
Objetivos específicos
 Realizar um estudo sobre os processos de
desenvolvimento de softwares existentes;
 Realizar um es...
Organização
Desenvolvimento de software;
Testes de software;
TDD;
Aplicação do TDD em um modelo de
software;
Consider...
Modelo tradicional
Fonte: SCHACH (2010, p. 51) Fonte: GONÇALVES (2011) Fonte: Adaptado de UCHÔA (2008)
Modelo ágil
XP (Extreme Programming)
Fonte: JENNY (2012)
Modelo ágil
SCRUM
Fonte: Adaptado de MURPHY ([entre 2004 e 2013])
Testes de software
Fonte: DIAS NETO (2008)
Testes de software
Técnicas de teste
Caixa-preta;
Caixa-branca;
Regressão;
Testes de unidade.
Testes no desenvolvimento ágil
SCRUM
Participação ativa da equipe de teste.
XP
Testes de unidade;
Test-first.
TDD – Test Driven Development
Se difundiu através do XP;
Criado por Kent Back por volta do ano de
2002;
Surgiu com a ne...
TDD – Test Driven Development
 Estilo/Padrões de desenvolvimento.
KISS (Keep it simple, stupid);
YAGNI (You Ain’t Gonna...
TDD – Test Driven Development
Ciclo de desenvolvimento
Fonte: Adaptado de RIBEIRO, CAMILO (2010)
TDD – Test Driven Development
Estados
Fonte: PEREIRA, SCHISSATO (2012).
Diferença entre TDD e testes
tradicionais
Fonte: ANICHE (2012).
Benefícios do TDD
Foco no teste e não na implementação,
melhorando o design das classes;
O código já nasce testado, pode...
Quando não usar TDD
O desenvolvedor já sabe como resolver o
problema;
Métodos de terceiros.
Aplicação do TDD em um modelo de
software
Tecnologias utilizadas
Aplicação do TDD em um modelo de
software
Protótipo: Sistema de gerenciamento de notas e
frequência de uma instituição de...
Avaliação dos resultados
Feedback dos testes;
As falhas são identificadas no início;
O código é melhor estruturado e co...
Conclusões
Benefícios com a utilização do TDD;
Quando o TDD não deve ser utilizado;
Objetivos alcançados.
Recomendações para trabalhos
futuros
Testes automatizados com Maven;
Método tradicional Vs. TDD;
BDD (Behavior Driven D...
Agradecimentos
Próximos SlideShares
Carregando em…5
×

Apresentação tcc final

523 visualizações

Publicada em

Desenvolvimento dirigido por teste

Publicada em: Software
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
523
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
9
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Apresentação tcc final

  1. 1. Estudo e aplicação da metodologia de desenvolvimento Test Driven Development (TDD) e avaliação de seus benefícios Acadêmicos: Jônatas Flores Roza Samara Pizzetti Borges Profª. orientadora: Muriel de Fátima Bernhardt Rocha
  2. 2. Objetivo Geral Apresentar um estudo sobre a técnica de desenvolvimento de software Test Driven Development (TDD), com o intuito de analisar suas características, bem como os benefícios da utilização desta técnica no desenvolvimento.
  3. 3. Objetivos específicos  Realizar um estudo sobre os processos de desenvolvimento de softwares existentes;  Realizar um estudo da técnica Test Driven Development (TDD) e suas interações no ambiente de desenvolvimento;  Demonstrar as vantagens e desvantagens da utilização da técnica Test Driven Development (TDD);  Aplicar o conhecimento adquirido para a elaboração de um protótipo, demonstrando os resultados das pesquisas realizadas.
  4. 4. Organização Desenvolvimento de software; Testes de software; TDD; Aplicação do TDD em um modelo de software; Considerações finais.
  5. 5. Modelo tradicional Fonte: SCHACH (2010, p. 51) Fonte: GONÇALVES (2011) Fonte: Adaptado de UCHÔA (2008)
  6. 6. Modelo ágil XP (Extreme Programming) Fonte: JENNY (2012)
  7. 7. Modelo ágil SCRUM Fonte: Adaptado de MURPHY ([entre 2004 e 2013])
  8. 8. Testes de software Fonte: DIAS NETO (2008)
  9. 9. Testes de software Técnicas de teste Caixa-preta; Caixa-branca; Regressão; Testes de unidade.
  10. 10. Testes no desenvolvimento ágil SCRUM Participação ativa da equipe de teste. XP Testes de unidade; Test-first.
  11. 11. TDD – Test Driven Development Se difundiu através do XP; Criado por Kent Back por volta do ano de 2002; Surgiu com a necessidade de se produzir softwares de qualidade, identificando e removendo os defeitos no início do projeto; Os testes são criados antes da implementação da funcionalidade.
  12. 12. TDD – Test Driven Development  Estilo/Padrões de desenvolvimento. KISS (Keep it simple, stupid); YAGNI (You Ain’t Gonna Need It); Baby steps: Fonte: ANICHE (2012)
  13. 13. TDD – Test Driven Development Ciclo de desenvolvimento Fonte: Adaptado de RIBEIRO, CAMILO (2010)
  14. 14. TDD – Test Driven Development Estados Fonte: PEREIRA, SCHISSATO (2012).
  15. 15. Diferença entre TDD e testes tradicionais Fonte: ANICHE (2012).
  16. 16. Benefícios do TDD Foco no teste e não na implementação, melhorando o design das classes; O código já nasce testado, podendo identificar os impactos das novas funcionalidades; Simplicidade; Melhor entendimento do negócio; Maior confiança e valor agregado ao código.
  17. 17. Quando não usar TDD O desenvolvedor já sabe como resolver o problema; Métodos de terceiros.
  18. 18. Aplicação do TDD em um modelo de software Tecnologias utilizadas
  19. 19. Aplicação do TDD em um modelo de software Protótipo: Sistema de gerenciamento de notas e frequência de uma instituição de ensino. Cadastrar as notas; Calcular a frequência; Calcular a média; Definir o resultado final do aluno; Calcular a média do exame final. RN2. Reprovação por frequência: frequência < 75% RN3. Aprovação: frequência >= 75% e média >= 7
  20. 20. Avaliação dos resultados Feedback dos testes; As falhas são identificadas no início; O código é melhor estruturado e com isso se torna mais limpo; Maior confiança e qualidade.
  21. 21. Conclusões Benefícios com a utilização do TDD; Quando o TDD não deve ser utilizado; Objetivos alcançados.
  22. 22. Recomendações para trabalhos futuros Testes automatizados com Maven; Método tradicional Vs. TDD; BDD (Behavior Driven Development) e ATDD (Acceptance Test Driven Development) juntamente do Test Driven Development.
  23. 23. Agradecimentos

×