Tdd e projeto_comperio

22
Projeto Comperio e Desenvolvimento dirigido por testes(TDD) Alunos: Flavia Fortes, Higor Ramos e Renan Cabral

Transcript of Tdd e projeto_comperio

Page 1: Tdd e projeto_comperio

Projeto Comperio e

Desenvolvimento dirigido por testes(TDD)

Alunos:          Flavia Fortes,             Higor Ramos e         Renan Cabral

Page 2: Tdd e projeto_comperio

Situação problema

• Dispersão da produção acadêmica do IST-Rio • Dificuldade na comunicação entre participantes de projetos e

sociedade acadêmica • Justificar a posição do IST-Rio como uma instituição de

ensino que busca a excelência através do ensino e produção científica

 • Centralização de esforços para aprimoramento de

P&E(Pesquisa e extensão)

Page 3: Tdd e projeto_comperio

Solução computacional

• Um sistema capaz de manter informações sobre a P&E desenvolvida no Instituto

 • Portal para divulgação da produção acadêmica

 • Disponibilização de ferramentas para comunicação

 • Software web totalmente gratuito e open source 

 • Inicialmente desenvolvido em C# na plataforma DotNet

Page 4: Tdd e projeto_comperio

Outras possibilidades

• Geração de uma Rede de relacionamento voltada à educação e Pesquisa

 • Integração com centros de pesquisa, instituições de ensino e

organizações privadas e públicas  • Fonte de informações para análise visando aprimoramento

do ensino e evolução de pesquisas

Page 5: Tdd e projeto_comperio

 

Page 6: Tdd e projeto_comperio

Cotidiano de um programador

Page 7: Tdd e projeto_comperio

Segunda-Feira

10:00- Resolução de bugs no componente de CPF que é utilizado em 48 telas do sistema... 14:00 -Integração com uma biblioteca de terceiro para calculo financeiro OpenSource 16:00-Integração com código desenvolvido pelo programador jr da equipe.

Page 8: Tdd e projeto_comperio

Testes de software

 

Page 9: Tdd e projeto_comperio

O que é mesmo TDD?

É uma técnica de desenvolvimento de software que se baseia em ciclos de desenvolvimento de pequenos: – Escreva um teste que defina uma funcionalidade desejada– Escreva o código que faz o teste passar– Refatore o código produzido

Page 10: Tdd e projeto_comperio

Um pouco de história...

• Design por contrato(DBC) • Programação extrema(XP) 

Page 11: Tdd e projeto_comperio

Testes automatizados

• Documentação executável • Detecção de erros em tempo de programação

 • Confiança e garantia de que tudo funciona

instantaneamente

Page 12: Tdd e projeto_comperio

Testar antes de desenvolver?

• Disciplina é liberdade! • Abandone o debug!

 • Pare de programar por coincidência

 • Aprender sobre os requisitos antes de escrever código

 • Ser o primeiro cliente do seu código

 • Garantir uma cobertura de código de 100%

Page 13: Tdd e projeto_comperio

Metodologia RGR

R-Escreva um teste para a nova funcionalidade desejada, G-Escreva o código que faz o teste passar R- Refatore o código

Page 14: Tdd e projeto_comperio

Bons testes unitários

• Automáticos • Replicáveis

 • Independentes

Page 15: Tdd e projeto_comperio

 

Page 16: Tdd e projeto_comperio

• Cobertura de código    JCover,NCover 

• Frameworks de Teste        XUnit,JUnit,NUnit,Visual Studio Test Tools,Rspec 

Page 17: Tdd e projeto_comperio

Como começar...

• Tenha Fé! • Aplique TDD em pequenos módulos

 • Compare a taxa de bug com a taxa de cobertura

Page 18: Tdd e projeto_comperio

 Testes não são "bala de prata" !

• Testes unitários não são de aceitação • Testes fazem apenas simulações

Page 19: Tdd e projeto_comperio

Dojo do IST-Rio

Desenvolvedores também treinam

Page 20: Tdd e projeto_comperio

Mais informações

• Dojo Rio    http://groups.google.com/group/dojo-rio/topics?pli=1 

• Dojo DNA    http://groups.google.com/group/dotnetarchitects/topics • http://improveit.com.br/xp/praticas/tdd 

 • http://www.extremeprogramming.org/

 • http://en.wikipedia.org/wiki/XUnit

  

Page 21: Tdd e projeto_comperio

"Desenvolvedor que não testa é como um médico que não lava as mãos antes de fazer uma cirurgia"

Page 22: Tdd e projeto_comperio

Contato

Blogs:http://higorcesar.com.br/http://projetocomperio.org/blogEmail:Higor- [email protected] - [email protected] - [email protected]