linguagem técnica ii testes automatizados aula 04 prof. renato novais [email protected]

14
Linguagem Técnica II Testes Automatizados Aula 04 Prof. Renato Novais [email protected]

Upload: annick

Post on 19-Mar-2016

24 views

Category:

Documents


0 download

DESCRIPTION

Linguagem Técnica II Testes Automatizados Aula 04 Prof. Renato Novais [email protected]. Testes de unidades. Fase do processo de teste em que se testam as menores unidades de software desenvolvidas - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Linguagem Técnica II Testes Automatizados Aula 04  Prof. Renato Novais renatoln@yahoo.br

Linguagem Técnica II

Testes Automatizados

Aula 04

Prof. Renato [email protected]

Page 2: Linguagem Técnica II Testes Automatizados Aula 04  Prof. Renato Novais renatoln@yahoo.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.

Page 3: Linguagem Técnica II Testes Automatizados Aula 04  Prof. Renato Novais renatoln@yahoo.br

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

Page 4: Linguagem Técnica II Testes Automatizados Aula 04  Prof. Renato Novais renatoln@yahoo.br

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

Page 5: Linguagem Técnica II Testes Automatizados Aula 04  Prof. Renato Novais renatoln@yahoo.br

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.

Page 6: Linguagem Técnica II Testes Automatizados Aula 04  Prof. Renato Novais renatoln@yahoo.br

24/04/23Renato Novais (IFBA)

7

Junit – API

Page 7: Linguagem Técnica II Testes Automatizados Aula 04  Prof. Renato Novais renatoln@yahoo.br

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()

Page 8: Linguagem Técnica II Testes Automatizados Aula 04  Prof. Renato Novais renatoln@yahoo.br

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);

}

Page 9: Linguagem Técnica II Testes Automatizados Aula 04  Prof. Renato Novais renatoln@yahoo.br

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);

}

Page 10: Linguagem Técnica II Testes Automatizados Aula 04  Prof. Renato Novais renatoln@yahoo.br

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);

} }

Page 11: Linguagem Técnica II Testes Automatizados Aula 04  Prof. Renato Novais renatoln@yahoo.br

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.

Page 12: Linguagem Técnica II Testes Automatizados Aula 04  Prof. Renato Novais renatoln@yahoo.br

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

Page 13: Linguagem Técnica II Testes Automatizados Aula 04  Prof. Renato Novais renatoln@yahoo.br

24/04/23Renato Novais (IFBA) 24/04/23Renato Novais (IFBA)

?

Perguntas

Page 14: Linguagem Técnica II Testes Automatizados Aula 04  Prof. Renato Novais renatoln@yahoo.br

24/04/23Renato Novais (IFBA)

15

Referências

• Está transparência foi preparada baseada no material do Professor Francisco Borges