140 likes | 225 Views
Linguagem Técnica II Testes Automatizados Aula 04 Prof. Renato Novais renatoln@yahoo.com.br. Testes de unidades. Fase do processo de teste em que se testam as menores unidades de software desenvolvidas
E N D
Linguagem Técnica IITestes AutomatizadosAula 04 Prof.Renato Novaisrenatoln@yahoo.com.br
Testes de unidades Fase do processo de teste em que se testam as menores unidades de software desenvolvidas prevenir o aparecimento de bug’s oriundo de códigos mal escritos e garantir um nível de qualidade de produto durante o desenvolvimento de software Responsabilidade do próprio desenvolvedor Tipicamente executa um método individualmente compara uma saída conhecida após o processamento da mesma Em POO: unidade pode ser um método, uma classe ou um objeto. 2 Renato Novais (IFBA)
JUnit Framework (arcabouço) livre para testes automatizados escrito em Java Escrito originalmente por Kent Beck (Extreme Programming) e Erich Gamma (Design Patterns) Integração com as principais IDEs Grande comunidade de usuários Utilizado principalmente no desenvolvimento de testes de unidade http://www.junit.org 3 Renato Novais (IFBA)
JUnit Vantagens: Permite a criação rápida de código de teste possibilitando um aumento na qualidade do desenvolvimento e teste; Amplamente utilizado pelos desenvolvedores da comunidade código-aberto, possuindo um grande número de exemplos; Uma vez escritos, os testes são executados rapidamente sem que, para isso, seja interrompido o processo de desenvolvimento; JUnit checa os resultados dos testes e fornece uma resposta imediata; JUnit é livre e orientado a objetos. Pode verificar cada método de uma classe Exibição de possíveis erros e/ou falhas 4 Renato Novais (IFBA)
Junit - arquitetura Alguns métodos sugeridos na criação de uma classe de teste setUpBeforeClass() – Executado antes da classe de teste tearDownBeforeClass() – Executado depois da classe de teste setUp() – Método chamado antes de cada método, pode ser utilizado para abrir uma conexão de banco de dados. tearDown() – Método chamado depois de cada método de teste, usado para desfazer o que setUp() fez, por exemplo fechar uma conexão de banco de dados. 5 Renato Novais (IFBA)
Junit – API 7 Renato Novais (IFBA)
Junit – boas práticas Test Case Class: [NomeClasse]Test.java, onde NomeClasse é o nome da classe a ser testada. Exemplo: Classe: Pessoa classe de teste: PessoaTest Test Case Method: test[NomeMetodo], onde NomeMetodo é o método a ser testado. Exemplo: Método: Pessoa.calculaIdade() PessoaTest.testCalculaIdade() 8 Renato Novais (IFBA)
Exemplos import junit.framework.TestCase; public class ContaTest extends TestCase { public void testSacar () { Conta c = new ContaCorrente(); c.setSaldo(200); c.sacar(100); assertTrue(c.getSaldo()==100); } 9 Renato Novais (IFBA)
Exemplos import junit.framework.TestCase; public class ContaTest extends TestCase { public void testSacar () { Conta c = new ContaCorrente(); c.setSaldo(100); c.sacar(100); assertTrue(c.getSaldo()==100); } 10 Renato Novais (IFBA)
Exemplos import junit.framework.TestCase; public class ContaTest extends TestCase { public void testTransferir() { Conta c = new ContaCorrente(); c.setSaldo(50); Conta c1 = new ContaCorrente(); c1.setSaldo(200); c1.transferir(c,50); assertTrue(c.getSaldo()==100); assertTrue(c1.getSaldo()==150); } } 11 Renato Novais (IFBA)
Como configurar Para utilizar o JUnit, é necessário a utilização do .jar do JUnit que pode ser encontrado na página principal do próprio framework (http://www.junit.org). Para configurar o Junit em seu ambiente, é necessário adicionar o .jar do JUnit ao caminho do seu projeto. 12 Renato Novais (IFBA)
Test Driven Development TDD • Metodologia Ágil • Desenvolvimento baseado em teste • Antes de qualquer linha de código, faça um teste para o que vai ser implementado • Nossa memória é curta • Evitar depurações longas • Achar o erro logo Renato Novais (IFBA)
Perguntas ? Renato Novais (IFBA) Renato Novais (IFBA) 09/09/2014
Referências Está transparência foi preparada baseada no material do Professor Francisco Borges 15 Renato Novais (IFBA)