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. 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. 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.
10. Testes no desenvolvimento ágil
SCRUM
Participação ativa da equipe de teste.
XP
Testes de unidade;
Test-first.
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. 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. TDD – Test Driven Development
Ciclo de desenvolvimento
Fonte: Adaptado de RIBEIRO, CAMILO (2010)
14. TDD – Test Driven Development
Estados
Fonte: PEREIRA, SCHISSATO (2012).
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. Quando não usar TDD
O desenvolvedor já sabe como resolver o
problema;
Métodos de terceiros.
18. Aplicação do TDD em um modelo de
software
Tecnologias utilizadas
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. 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.
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.