Top Banner
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
23

Apresentação tcc final

Jul 10, 2015

Download

Software

Jhool Flores
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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