Desenvolvimento Guiado por Testes Lógica é a arte de errar com confiança Joseph Wood Krutch.

Post on 17-Apr-2015

108 views 2 download

Transcript of Desenvolvimento Guiado por Testes Lógica é a arte de errar com confiança Joseph Wood Krutch.

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: