Testes unitários com junit
Álvaro d’Arce alvaro@darce.com.br
04/05/2012
2
Tópicos
Testes de Programas JUnit – Introdução JUnit – Prática
04/05/2012
3
Testes de Programas
“Qualquer recurso de programa sem um teste automatizado simplesmente não existe.” Kent Beck. Extreme Programing Explained. p 56
04/05/2012
4
Testes de Programas
• Defeitos de programa: problemas • Custos enormes
• Tempo, dinheiro, frustrações...
• Como amenizar esses problemas? • Criação e execução de casos de teste (de maneira contínua) para programas
• Abordagem prática e comum para lidar com defeitos de programas • Antes que sejam “deixados para trás” no ambiente de desenvolvimento
04/05/2012
5
Testes de Programas
• Importância dos testes • Um produto de software deve passar por várias fases de teste:
• Teste de unidade, de integração, de sistema, de aceitação...
04/05/2012
6
Testes de Programas
• Testes devem ser escritos • Poucos o fazem... • “Falta” de tempo... • Resultado: ciclo vicioso
Menos testes Menos produtividade Menos estabilidade
Mais pressão
Quebrando o ciclo:
–
Criar um ambiente simples de testes
04/05/2012
7
Testes de Programas
Testes de Unidade (Unitário)
• Testam as menores unidades de programa desenvolvidas • POO: unidade pode ser método/classe/objeto • Objetivo • Prevenir defeitos • Permitir um nível de qualidade de produto durante o desenvolvimento do software
04/05/2012
8
Testes de Programas
Testes de Unidade (Unitário)
• Testes
• Responsabilidade do próprio desenvolvedor • Comumente testam um método individualmente
• Comparação de uma saída conhecida após o processamento da
mesma
• Não testam todo o programa
04/05/2012
9
Testes de Programas
Java: Teste pelo método main()
• Criação do método main() na classe a ser testada
• Instância da classe • Execução de uma série de checagens
• Certificar que o objeto possui o comportamento desejado