No princípio, havia o caos...
- 80% do tempo de um desenvolvedor é dedicado à identificação e correção de bugs.
- Mais de 50% dos bugs não são detectados até a
- fase de homologação.
- Aproximadamente 50% dos bugs são introduzidos na fase implementação.
- Cerca de 50% do orçamento total de um projeto de software é gasto em correção de bugs.
O custo de correção de uma falha ou bug pode custar:
- $1 durante a especificação
- $10 durante o desenvolvimento
- $100 se achado na implementação
- $1000 na entrega do produto.
O que vc prefere, passar o seu tempo dando
manutenção em go horses ou fazendo algo novo?
Testes Unitários
(faça testes ou pare de programar!)
- Framework de testes unitários
- Integrado ao Delphi
- Um teste unitário examina o comportamento de uma unidade distinta de trabalho
- A avaliação inclui apenas a interface da unidade, não seus métodos internos
○ Previnem regressão
○ Incentivam o REFACTORING
○ Funcionam como documentação
- ○ Dão segurança, apoio, para que alterações seja realizadas de forma mais dinâmica, menos tempo da depuração
- ○ Dão coragem ao desenvolvedor para encarar as alterações solicitadas
- ○ Dão base para entrega de um sistema robusto, de fácil manutenção
○ RED - Escreva um teste que falhe
○ GREEN -Escreva código para passar
○ GOLD - Refine o código e teste de novo
Sempre que nos deparamos com um código de má qualidade, deve ser nossa obrigação refatorar aquele código – seja introduzindo um novo método, quebrando em classes, otimizando o código e testando.
- Nossa missão é entregar código robusto e com alta qualidade.
- Não basta apenas escrever um código que funcione!
- Código não refatorado envelhece e se torna difícil de manter.
- Teste o comportametno, não o método
- Agrupe testes para avaliar fluxo de dados
- Implementar testes para código legado apenas em partes