23
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

Apresentação tcc final

Embed Size (px)

Citation preview

Page 1: Apresentação tcc final

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

Page 2: Apresentação tcc final

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.

Page 3: Apresentação tcc final

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.

Page 4: Apresentação tcc final

Organização

Desenvolvimento de software;

Testes de software;

TDD;

Aplicação do TDD em um modelo de

software;

Considerações finais.

Page 5: Apresentação tcc final

Modelo tradicional

Fonte: SCHACH (2010, p. 51) Fonte: GONÇALVES (2011) Fonte: Adaptado de UCHÔA (2008)

Page 6: Apresentação tcc final

Modelo ágil

XP (Extreme Programming)

Fonte: JENNY (2012)

Page 7: Apresentação tcc final

Modelo ágil

SCRUM

Fonte: Adaptado de MURPHY ([entre 2004 e 2013])

Page 8: Apresentação tcc final

Testes de software

Fonte: DIAS NETO (2008)

Page 9: Apresentação tcc final

Testes de software

Técnicas de teste

Caixa-preta;

Caixa-branca;

Regressão;

Testes de unidade.

Page 10: Apresentação tcc final

Testes no desenvolvimento ágil

SCRUM

Participação ativa da equipe de teste.

XP

Testes de unidade;

Test-first.

Page 11: Apresentação tcc final

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.

Page 12: Apresentação tcc final

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)

Page 13: Apresentação tcc final

TDD – Test Driven Development

Ciclo de desenvolvimento

Fonte: Adaptado de RIBEIRO, CAMILO (2010)

Page 14: Apresentação tcc final

TDD – Test Driven Development

Estados

Fonte: PEREIRA, SCHISSATO (2012).

Page 15: Apresentação tcc final

Diferença entre TDD e testes

tradicionais

Fonte: ANICHE (2012).

Page 16: Apresentação tcc final

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.

Page 17: Apresentação tcc final

Quando não usar TDD

O desenvolvedor já sabe como resolver o

problema;

Métodos de terceiros.

Page 18: Apresentação tcc final

Aplicação do TDD em um modelo de

software

Tecnologias utilizadas

Page 19: Apresentação tcc final

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

Page 20: Apresentação tcc final

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.

Page 21: Apresentação tcc final

Conclusões

Benefícios com a utilização do TDD;

Quando o TDD não deve ser utilizado;

Objetivos alcançados.

Page 22: Apresentação tcc final

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.

Page 23: Apresentação tcc final

Agradecimentos