View
136
Download
1
Category
Preview:
Citation preview
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
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.
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.
Organização
Desenvolvimento de software;
Testes de software;
TDD;
Aplicação do TDD em um modelo de
software;
Considerações finais.
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 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.
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)
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, podendo
identificar os impactos das novas
funcionalidades;
Simplicidade;
Melhor entendimento do negócio;
Maior confiança e valor agregado ao
código.
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 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
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.
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 Development) e
ATDD (Acceptance Test Driven
Development) juntamente do Test Driven
Development.
Agradecimentos
Recommended