Desenvolvimento Guiado por Testes
Lógica é a arte de errar com confiança
Joseph Wood Krutch
O Valor do código que testa a si próprio
• A maior parte do tempo dos programadores é gasta
procurando erros de programação no código
• "As classes deveriam testar a si próprias"
• Saída dos testes, geralmente em modo console
"I'm a pretty lazy person and am prepared to work hard in order to avoid
work"
Martin Fowler
O Valor do código que testa a si próprio
Dica
Assegure-se de que todos os testes sejam automáticos e
de que eles verifiquem seus próprios resultados
O Valor do código que testa a si próprio
• Rode todos os testes freqüentemente (a cada compilação,
uma vez por dia...)
• Antigos testes que passam a dar problema, terão sido
certamente ocasionados pelo novo código introduzido
desde a última vez em que os testes foram executados.
• Quando você tiver de acrescentar uma nova
funcionalidade ao software, comece escrevendo os testes
(foco na interface, ao invés da implementação)
O framework de testes JUnit
•
Desenvolvido por Erich Gamma e Kent Beck
•
Disponível para download em http://www.junit.org
•
Instalação:
1. Descompacte o arquivo junit3.8.1.zip
2. Acrescente o arquivo junit.jar à variável de ambiente
CLASSPATH.
Exemplo:
set classpath=%classpath%;C:\junit3.8.1\junit.jar
O framework de testes JUnit
O framework de testes JUnit
Integração com o JCreator
Integração com o JCreator
Integração com o JCreator
Integração com o JCreator
Integração com o JCreator
Integração com o JCreator
Um Exemplo: A classe Dado
Construir uma classe de Teste para a classe Dado
Exemplo: A classe TestaDado
Exemplo: Agora escrevo a classe Dado
Exemplo: O resultado dos testes
Introduzindo um erro
Introduzindo um erro
Exemplo: Uma forma alternativa
Todos os
métodos
iniciados por test
são
automaticamente
incluídos no
conjunto de
testes
Rodando JUnit em uma interface gráfica
Integrando a GUI JUnit ao JCreator
Integrando a GUI JUnit ao JCreator
Integrando a GUI JUnit ao JCreator
Integrando a GUI JUnit ao JCreator
Integrando a GUI JUnit ao JCreator
Integrando a GUI JUnit ao JCreator
Integrando a GUI JUnit ao JCreator
Os métodos Assert
http://junit.sourceforge.net/javadoc/junit/framework/Assert.html
Tips
• É melhor escrever e rodar testes incompletos do que
não rodar testes completos.
• Não se esqueça de testar se as exceções são
lançadas quando ocorrem os erros esperados.
• Não deixe que o receio de que os testes não possam
capturar todos os erros o impeça de escrever os
testes que irão capturar a maioria dos erros
Exercício
Escreva a classe de teste para a classe Calculadora
mostrada abaixo:
Download

TDD