0
Testes unitários com jUnit       Prof. Leonardo Soares
RecapitulandoJá sabemos qual a importância de aplicar testesunitários em nosso softwareTambém sabemos como identificar os ...
Qual o problema com os testes          manuais?Muito código para ser escritoMais código ainda para se verificar o retorno ...
Automação de testesTestes automatizados envolvem o uso de umsoftware para controlar a execução dos testesHá basicamente do...
Automação de testes unitáriosUtilizaremos um framework para executar nossos testesEste framework fará a execução de múltip...
Framework jUnitEscrito originalmente por Kent Beck e Erich GammaUtilizado em Java, mas há versões Unit paradiferentes ling...
Como utilizá-lo em nosso projeto  Podemos baixar a biblioteca do junit e adicionar  manualmente    http://www.junit.org  O...
Testes manuais x automatizados Calcular imposto com base no salário – calcular( Float salario )   Imposto 27,5% a partir d...
Teste manualpublic static void calcular( Double salario ){            if( salario > 3743 ){                         return...
Teste automatizadoimport org.junit.Assert;import org.junit.Test;public class FiscalRendaTest {        @Test        public ...
Conceitos importantes relacionados             a teste  Erro    Quando o método produziu um resultado inesperado  Falha   ...
Annotations jUnitÉ um metadado representado pela @O jUnit utiliza estas annotations para guiar o uso dostestesEvita a nece...
Annotations do jUnit@Test – usada para indicar que o método é usado para criar testes@Before – código a ser executado, tod...
Uso do jUnit1. Criaremos uma classe para nossos testes referentes   a determinada classe2. Daremos imports nas classes e m...
Criem os testes unitários abaixoMétodo para realizar soma  Recebe como entrada dois números  Retorna o resultado da somaMé...
Criem os testes unitários abaixoTestar o método para fazer o saque em uma conta  O método aceita dois valores: valor_saque...
Upcoming SlideShare
Loading in...5
×

Introdução a testes unitários com jUnit

963

Published on

Aula introdutória sobre o uso de jUnit para realização de testes unitários. Ministrada no IFPE - Campus Garanhuns pelo professor Leonardo Soares.

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
963
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
47
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • O teste de regressão é aplicável a uma nova versão de software ou à necessidade de se executar um novo ciclo de teste.
Consiste em se aplicar, a cada nova versão do software ou a cada ciclo, todos os testes que já foram aplicados nas versões ou ciclos de teste anteriores do sistema. Visa identificar se algum erro já identificado anteriormente retorna à nova versão, medindo assim a qualidade do software produzido.
  • Criar um novo projeto e adicionar abibliotecatanto no netbeanscomo no eclipse
  • Modifiquemparatestar com valor nasegundaopção, naterceiraopção e depoismantenhamtodosos testes
  • Testes primeiroponto: quaisquernúmeros, verifiquem se o métodoretorna o valor correto. Incluamvalorescorretos e vejam se osretornossãooscorretosTestes segundoponto: númeropositivomaiorque zero, zero, negativo
  • Testes para a primeiracondição? 20, 100 [sucesso] / 20, 10 [ falha ] (primeiro valor maiorque o segundo) / 0, 0 [falha] (O métododeveaceitar o saquecaso o saldosejamaiorouigual)Testes para a segundacondição? 18 oumaiorque 18 / menorque 18 / número 0 ounegativo
  • Transcript of "Introdução a testes unitários com jUnit"

    1. 1. Testes unitários com jUnit Prof. Leonardo Soares
    2. 2. RecapitulandoJá sabemos qual a importância de aplicar testesunitários em nosso softwareTambém sabemos como identificar os testesnecessáriosAté o momento realizamos nossos testes de umamaneira manual
    3. 3. Qual o problema com os testes manuais?Muito código para ser escritoMais código ainda para se verificar o retorno dosmétodos de forma automáticaTemos de testar um método por vezPrecisamos automatizar isto!
    4. 4. Automação de testesTestes automatizados envolvem o uso de umsoftware para controlar a execução dos testesHá basicamente dois tipos de automatizadores: Para avaliar códigos Para testes através de interface gráfica
    5. 5. Automação de testes unitáriosUtilizaremos um framework para executar nossos testesEste framework fará a execução de múltiplos testesSeu objetivo é realizar comparações entre os valoresretornados e os esperados de forma automáticaAlém de oferecer recursos para comparar mais facilmente osresultados dos métodos aos esperados
    6. 6. Framework jUnitEscrito originalmente por Kent Beck e Erich GammaUtilizado em Java, mas há versões Unit paradiferentes linguagens de programaçãoÉ uma ferramenta de testes de regressaoIntegra-se a diferentes IDEs
    7. 7. Como utilizá-lo em nosso projeto Podemos baixar a biblioteca do junit e adicionar manualmente http://www.junit.org Ou adicionar ao nosso projeto no NetBeans ou Eclipse
    8. 8. Testes manuais x automatizados Calcular imposto com base no salário – calcular( Float salario ) Imposto 27,5% a partir de 3.743 Imposto 22,5% a partir de 2.995 até 3.743 O método deve retornar o valor do imposto a ser pago
    9. 9. Teste manualpublic static void calcular( Double salario ){ if( salario > 3743 ){ return salario*0.275; }else if( salario > 2995 && salario < 3743){ return salario*0.225; } return -1;}public static void main( String args[] ){ double resultado = calcular( 3800.0); if( resultado == 1045){ System.out.println("Passou no teste"); }else{ System.out.println("Teste falhou"); }}
    10. 10. Teste automatizadoimport org.junit.Assert;import org.junit.Test;public class FiscalRendaTest { @Test public void testCalculo(){ double resultado = FiscalRenda.calcular(3800.0); Assert.assertEquals(1045, resultado, 0.1); }}
    11. 11. Conceitos importantes relacionados a teste Erro Quando o método produziu um resultado inesperado Falha Quando há algum problema relacionado ao código Sucesso Quando o método produziu o resultado esperado
    12. 12. Annotations jUnitÉ um metadado representado pela @O jUnit utiliza estas annotations para guiar o uso dostestesEvita a necessidade de herdar de algumasclasses, convenções de nomes, criação de métodosespeciais, dentre outros
    13. 13. Annotations do jUnit@Test – usada para indicar que o método é usado para criar testes@Before – código a ser executado, toda vez, antes da execução decada métodos de teste Usado para preparar o ambiente. Inicializar classes, ler dados, dentre outros@After – código a ser executado, toda vez, após a execução de cadamétodos de teste@BeforeClass – similar ao @Before porém executado apenas uma vezantes de todos os testesUsado para preparar atividades que demandem tempo. Inicializar o banco de@AfterClass – similar ao @Aftermétodo precisam serapenas uma vez dados, por exemplo. Os porém executado estáticosapós todos os testes@Test( expected = Exception.class ) – verifica se a exceção foi lançada@Test(timeout = 100) – falha se o método durar mais que 100milisegundos
    14. 14. Uso do jUnit1. Criaremos uma classe para nossos testes referentes a determinada classe2. Daremos imports nas classes e métodos necessários3. Criaremos métodos para testar nossos métodos4. Faremos a comparação entre o retorno de nosso método com o resultado esperado
    15. 15. Criem os testes unitários abaixoMétodo para realizar soma Recebe como entrada dois números Retorna o resultado da somaMétodo para ralizar divisão Lançar exceção quando receber 0 no denominadorTestar um método para realizar depósito em uma contabancária O método deve receber um flutuante com o valor a ser depósitado O método deve retornar o valor contido na conta
    16. 16. Criem os testes unitários abaixoTestar o método para fazer o saque em uma conta O método aceita dois valores: valor_saque, valor_saldo O método deve retornar um valor referente ao saldo da conta após o saque ou -1 em situação de erroTestar o método para liberar a prova do detran ou não O método aceita um valor do tipo Integer com a idade do aluno A liberação da prova será mediante ao atendimento dos critérios ou não O método deve retornar um boolean true caso a prova seja liberada ou false em caso contrário
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×