linguagem técnica ii testes automatizados aula 04 prof. renato novais renatoln@yahoo.br
Post on 19-Mar-2016
25 Views
Preview:
DESCRIPTION
TRANSCRIPT
Linguagem Técnica II
Testes Automatizados
Aula 04
Prof. Renato Novaisrenatoln@yahoo.com.br
24/04/23Renato Novais (IFBA)
2
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.
24/04/23Renato Novais (IFBA)
3
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
24/04/23Renato Novais (IFBA)
4
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
24/04/23Renato Novais (IFBA)
5
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.
24/04/23Renato Novais (IFBA)
7
Junit – API
24/04/23Renato Novais (IFBA)
8
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()
24/04/23Renato Novais (IFBA)
9
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);
}
24/04/23Renato Novais (IFBA)
10
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);
}
24/04/23Renato Novais (IFBA)
11
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);
} }
24/04/23Renato Novais (IFBA)
12
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.
24/04/23Renato 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
24/04/23Renato Novais (IFBA) 24/04/23Renato Novais (IFBA)
?
Perguntas
24/04/23Renato Novais (IFBA)
15
Referências
• Está transparência foi preparada baseada no material do Professor Francisco Borges
top related