SlideShare uma empresa Scribd logo
1 de 52
Baixar para ler offline
II Beljungle
                             SEPAI              2005
                                        JUnit
                        Implementando Testes
                              Unitários em Java




                         br.groups.yahoo.com/group/xpnorte
JUnit – Implementado Testes Unitários em Java     Por Manoel Pimentel - Fundador do XPNorte
Palestrante: Manoel Pimentel Medeiros
           É Engenheiro de Software, com mais de 15 anos na área de TI, atualmente
            trabalha com projetos pela Rhealeza(SP). É Diretor Editorial da Revista Visão
            Ágil, Membro da Agile Alliance e foi um dos pioneiros na utilização e divulgação
            de métodos ágeis no Brasil.         Já escreveu artigos para importantes revistas e
            portais especializados no Brasil e no exterior. Possui as certificações CSM e
            CSP da Scrum Alliance. Já participou do time de Desenvolvimento do
            NetBeans(Sun), foi criador do projeto BoxSQL, fundador do grupo XPNorte e
            do NUG-BR e frequentemente palestra em eventos sobre processos e
            tecnologias. Maiores informações em: http://manoelpimentel.blogspot.com




JUnit – Implementado Testes Unitários em Java             Por Manoel Pimentel - Fundador do XPNorte
Agenda:
           Um pouco de XP.
           Como programar guiado a testes?
           Teste Unitário (O que?, por que?, quando?, quem?,
            como?).
           JUnit(O que?, por que?, quando?, quem?, como?).
           JUnit(Planejamento e arquitetura das classes ).
           JUnit(Funcionamento e Análise do resultado ).
           Implementado testes em JUnit usando o Eclipse.
           Outros métodos e técnicas complementares.
           Conclusão.
JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
Um pouco de XP:
           XP é um apelido carinhoso de uma
            metodologia ágil de desenvolvimento
            designada Extreme Programming,  com
                                Programming
            foco em agilidade de equipes e qualidade de
            projetos, apoiada em valores como
            simplicidade, comunicação, feedback e
            coragem.


JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
Você desenvolve “O”
        Você faz programa
        programa com o cliente?
        com o cliente?
           XP é metodologia muito comportamental,
            onde prima mudanças de atitudes e práticas.

           Sua principal mudança está na máxima
            integração entre pessoas e principalmente,
            estimulando uma participação maior do
            cliente. Portando, literalmente, temos que
            FAZER O PROGRAMA COM O CLIENTE.


JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
Práticas XP
           XP sugere um conjunto de boas práticas
            que melhoram o planejamento, execução,
            e gerenciamento de seu projeto de
            software.

           Essas práticas melhoram sua eficiência e
            eficácia, diminuindo o retrabalho,
            garantindo dessa forma a qualidade em seu
            projeto.
JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
Práticas organizacionais
                                                                        Práticas de equipe


       Práticas XP                                                      Práticas de pares



                                Equipe(Técnicos e clientes)




              Propriedade               Teste Unitário             Padrão
                  Coletiva                                         De Código

Teste de                                                                         Jogo de
Aceitação              Programação                       Refatoração             Planejamento
                       Em par


              Integração                                        Ritmo
                                            Design
                Contínua                                        Sustentável
                                            Simples


                                         Metáforas
                                      Pequenas Versões
JUnit – Implementado Testes Unitários em Java            Por Manoel Pimentel - Fundador do XPNorte
TDD
       Test Driven Development
        Desenvolvimento Guiado por Testes, define que
         antes de criarmos um código novo, devemos
         escrever um teste para ele.
        E testes serão usados como métrica em todo o
         tempo de vida do projeto.

Obter                 Criar Código de            Codificar                 Fazer
tarefa               Teste para a tarefa                                Refactoring




                                         Passou nos testes?
                           Sim: Nova tarefa              Não: Revisar código
JUnit – Implementado Testes Unitários em Java     Por Manoel Pimentel - Fundador do XPNorte
Teste Unitário

                                        Imagine se um avião só fosse
                                        testado após a conclusão de sua
                                        construção....


                                        Seria um desastre....




JUnit – Implementado Testes Unitários em Java     Por Manoel Pimentel - Fundador do XPNorte
Teste Unitário
       (O que é?)
         O teste unitário é uma modalidade de
         testes que se concentra na verificação da
         menor unidade do projeto de software. É
         realizado o teste de uma unidade lógica,
         com uso de dados suficientes para se testar
         apenas a lógica da unidade em questão.
         Em sistemas construídos com uso de
         linguagens orientadas a objetos, essa unidade
         pode ser identificada como um método, uma
         classe ou mesmo um objeto.
JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
Teste Unitário
       (Por que?)
           Previne contra o aparecimento de “BUG’S” oriundos
            de códigos mal escritos.
           Código testado é mais confiável.
           Permite alterações sem medo(coragem)
           Testa situações de sucesso e de falha.
           Resulta em outras práticas XP como : Código
            coletivo, refatoração, integração contínua.
           Serve como métrica do projeto ( teste ==requisitos)
           Gera e preserva um “conhecimento” sobre o projeto.
JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
Teste Unitário
       (Organização dos testes e práticas XP)




JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
Teste Unitário
       (Quando fazer?)
           No início
            Primeiro projetar e escrever as classes de
            testes, depois as classes com regra de
            negócios
           Diariamente
            È SUGERIDO que seja rodado os testes várias
            vezes ao dia (é fácil corrigir pequenos
            problemas do que corrigir um “problemão”
            somente no final do projeto.
JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
Teste Unitário
       (Quem faz?)
           Test Case(para cada classe)
            Desenvolvedor(Projeta, escreve e roda)

            Test Suite(Rodas vários test cases)
             Coordenador e Desenvolvedor
            (Projeta, escreve e roda)

        * Teste de aceitação(homologação) é feito
          junto ao cliente.
JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
Teste Unitário
       (Que Testar?)
           A principal regra para saber o que testar é: “Tenha criatividade para
            imaginar as possibilidades de testes”.

           Comece pelas mais simples e deixe os testes “complexos“ para o final.

           Use apenas dados suficientes (não teste 10 condições se três forem
            suficientes)

           Não teste métodos triviais, tipo get e set.

           No caso de um método set, só faça o teste caso haja validação de
            dados.

           Achou um bug? Não conserte sem antes escrever um teste que o
            pegue (se você não o fizer, ele volta)!
JUnit – Implementado Testes Unitários em Java      Por Manoel Pimentel - Fundador do XPNorte
Exercício de Imaginação
       - Ache as possibilidades de testes neste diagrama de classe




JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
JUnit – O que é?
           Um framework que facilita o
            desenvolvimento e execução de testes
            de unidade em código Java

           Fornece Uma API para construir os
            testes e Aplicações para executar testes


JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
JUnit – Por que?
           JUnit pode verificar se cada unidade de código
            funciona da forma esperada.

           Facilita a criação, execução automática de testes e
            a apresentação dos resultados.

           É Orientado a Objeto

           É Free e pode ser baixado em:
            www.junit.org
JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
JUnit – Como instalar?
           Incluir o arquivo junit.jar no
            classpath para compilar e rodar os
            programas de teste

           Já vem configurado nas versões
            recentes de IDE’s como Eclipse,
            JBuilder, BlueJ e outros.
JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
JUnit – Planejando os testes
           1. Defina uma lista de tarefas a implementar( o que
            testar)

           2. Escreva uma classe (test case) e implemente um
            método de teste para uma tarefa da lista.

           3. Rode o JUnit e certifique-se que o teste falha

           4. Implemente o código mais simples que rode o
            teste
JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
JUnit – Planejando os testes
           5. Refatore o código para remover a duplicação de
            dados

           6. Caso necessário, escreva mais um teste ou refine
            o existente

           7. Faça esses passos para toda a lista de tarefas.



JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
JUnit- Arquitetura das Classes




                                                     Fonte: Manual do JUnit (Cooks Tour)
JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
JUnit – Como implementar
           1. Crie uma classe que estenda junit.framework.TestCase
            para cada classe a ser testada
                  import junit.framework.*;
                  class SuaClasseTest extends TestCase
                  {...
                   }
           2. Para cada método a ser testado defina um método public void
            test???() no test case
           SuaClasse:
                  public int Soma(Object o ...)
                  { ...
                   }
           SuaClasseTest:
                  public void testSoma()
JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
JUnit – Funcionamento
                             O TestRunner recebe uma subclasse de
                              junit.framework.TestCase

                             Cada método testXXX(), executa:
                                1. o método setUp() /* Opcional */

                                2. o próprio método testXXX()

                                3. o método tearDown() /* Opcional */




JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
JUnit – Analisando o
       Resultado
           Em modo gráfico, os métodos testados
            podem apresentar o seguintes
            resultados:

           Sucesso

           Falha

           exceção
JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
Criando a classe
de teste no Eclipse
JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
Sua Classe a
ser testada
JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
Rodando o teste em
modo gráfico
JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
Resultado em caso
de SUCESSO
JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
Resultado em caso
de FALHA
JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
Automatizando a criação
dos Test Cases
JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
Outros Exemplo
de teste
JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
Criando Test Suite
para rodar vários
test cases
JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
JUnit - Outros Métodos
       de Testes
            assertEquals
                Testa igualdade entre dois objetos(esperado x retornado)
           assertFalse( )
                Testa Retorno booleano FALSO
           assertTrue( )
                Testa Retorno booleano VERDADEIRO
           assertNotNull( )
                Testa se um valor de um objeto NÃO está NULO
           assertNull( )
                Testa se um valor de um objeto está NULO
JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
JUnit – métodos setUp() e
       tearDown()
          São os dados reutilizados por vários testes, Inicializados no
           setUp() e destruídos no tearDown() (se necessário)




JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
Técnicas complementares
           É importante também, ser aplicado
            tipos de testes como:
                Teste       de    Performance,
                Teste       de    Carga,
                Teste       de    estresse,
                Teste       de    aceitação, etc.


JUnit – Implementado Testes Unitários em Java   Por Manoel Pimentel - Fundador do XPNorte
Dúvidas?

      E-mail: manoelp@gmail.com

                  Ou

   br.groups.yahoo.com/group/xpnorte

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Unit Testing
Unit TestingUnit Testing
Unit Testing
 
Unit testing best practices
Unit testing best practicesUnit testing best practices
Unit testing best practices
 
Mocking in Java with Mockito
Mocking in Java with MockitoMocking in Java with Mockito
Mocking in Java with Mockito
 
Unit testing
Unit testingUnit testing
Unit testing
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
Junit
JunitJunit
Junit
 
Testes de Unidade com JUnit
Testes de Unidade com JUnitTestes de Unidade com JUnit
Testes de Unidade com JUnit
 
Understanding Unit Testing
Understanding Unit TestingUnderstanding Unit Testing
Understanding Unit Testing
 
[AUG]개발자와 QA가 상생하는 테스트 프로세스
[AUG]개발자와 QA가 상생하는 테스트 프로세스[AUG]개발자와 QA가 상생하는 테스트 프로세스
[AUG]개발자와 QA가 상생하는 테스트 프로세스
 
Mockito
MockitoMockito
Mockito
 
Unit Testing in Java
Unit Testing in JavaUnit Testing in Java
Unit Testing in Java
 
Fundamentos de Testes de Software
Fundamentos de Testes de SoftwareFundamentos de Testes de Software
Fundamentos de Testes de Software
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de Software
 
Unit and integration Testing
Unit and integration TestingUnit and integration Testing
Unit and integration Testing
 
SQL
SQLSQL
SQL
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
Testes pythonicos com pytest
Testes pythonicos com pytestTestes pythonicos com pytest
Testes pythonicos com pytest
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
Workshop unit test
Workshop   unit testWorkshop   unit test
Workshop unit test
 

Destaque

Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1Diego Pacheco
 
Marco General
Marco GeneralMarco General
Marco Generalsan blas
 
Mini Curso - Pen Test - Univem
Mini Curso - Pen Test - UnivemMini Curso - Pen Test - Univem
Mini Curso - Pen Test - Univemevandrovv
 
Jornada sobre Seguridad en Medios de Pago: PCI DSS
Jornada sobre Seguridad en Medios de Pago: PCI DSSJornada sobre Seguridad en Medios de Pago: PCI DSS
Jornada sobre Seguridad en Medios de Pago: PCI DSSInternet Security Auditors
 
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágilTodas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágilElias Nogueira
 
Os 10 maus hábitos dos desenvolvedores JSF
Os 10 maus hábitos dos desenvolvedores JSFOs 10 maus hábitos dos desenvolvedores JSF
Os 10 maus hábitos dos desenvolvedores JSFRafael Ponte
 
Ericsson Radio Dot System: Introduction
Ericsson Radio Dot System: Introduction Ericsson Radio Dot System: Introduction
Ericsson Radio Dot System: Introduction Ericsson
 
Certificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de SoftwareCertificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de SoftwareCamilo Ribeiro
 
Diretrizes curriculares nacionais para educação infantil
Diretrizes curriculares nacionais para educação infantilDiretrizes curriculares nacionais para educação infantil
Diretrizes curriculares nacionais para educação infantilEMEI Julio Alves Pereira
 
Minería e fontes de enerxía en España e Galicia
Minería e fontes de enerxía en España e GaliciaMinería e fontes de enerxía en España e Galicia
Minería e fontes de enerxía en España e GaliciaAgrela Elvixeo
 
Service Desing Week2
Service Desing Week2Service Desing Week2
Service Desing Week2Bom Kim
 
Beyond "The Crisis in Civics"
Beyond "The Crisis in Civics"Beyond "The Crisis in Civics"
Beyond "The Crisis in Civics"Ethan Zuckerman
 

Destaque (20)

Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1
 
Cómo hacer concept tests
Cómo hacer concept tests Cómo hacer concept tests
Cómo hacer concept tests
 
Marco General
Marco GeneralMarco General
Marco General
 
Mini Curso - Pen Test - Univem
Mini Curso - Pen Test - UnivemMini Curso - Pen Test - Univem
Mini Curso - Pen Test - Univem
 
Jornada sobre Seguridad en Medios de Pago: PCI DSS
Jornada sobre Seguridad en Medios de Pago: PCI DSSJornada sobre Seguridad en Medios de Pago: PCI DSS
Jornada sobre Seguridad en Medios de Pago: PCI DSS
 
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágilTodas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
 
Os 10 maus hábitos dos desenvolvedores JSF
Os 10 maus hábitos dos desenvolvedores JSFOs 10 maus hábitos dos desenvolvedores JSF
Os 10 maus hábitos dos desenvolvedores JSF
 
From DOT to Dotty
From DOT to DottyFrom DOT to Dotty
From DOT to Dotty
 
Proyecto Domótica Marcelo Bernal
Proyecto Domótica Marcelo BernalProyecto Domótica Marcelo Bernal
Proyecto Domótica Marcelo Bernal
 
Curso de Java #10 - Estruturas Condicionais (Parte 2)
Curso de Java #10 - Estruturas Condicionais (Parte 2)Curso de Java #10 - Estruturas Condicionais (Parte 2)
Curso de Java #10 - Estruturas Condicionais (Parte 2)
 
Ericsson Radio Dot System: Introduction
Ericsson Radio Dot System: Introduction Ericsson Radio Dot System: Introduction
Ericsson Radio Dot System: Introduction
 
Certificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de SoftwareCertificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de Software
 
Ctai Teste De Software Aula 2
Ctai Teste De Software Aula 2Ctai Teste De Software Aula 2
Ctai Teste De Software Aula 2
 
El test psicométrico y la evaluación neuropsicológica
El test psicométrico y la evaluación neuropsicológicaEl test psicométrico y la evaluación neuropsicológica
El test psicométrico y la evaluación neuropsicológica
 
Diretrizes curriculares nacionais para educação infantil
Diretrizes curriculares nacionais para educação infantilDiretrizes curriculares nacionais para educação infantil
Diretrizes curriculares nacionais para educação infantil
 
Living with licensing
Living with licensingLiving with licensing
Living with licensing
 
Nova ortografia
Nova ortografiaNova ortografia
Nova ortografia
 
Minería e fontes de enerxía en España e Galicia
Minería e fontes de enerxía en España e GaliciaMinería e fontes de enerxía en España e Galicia
Minería e fontes de enerxía en España e Galicia
 
Service Desing Week2
Service Desing Week2Service Desing Week2
Service Desing Week2
 
Beyond "The Crisis in Civics"
Beyond "The Crisis in Civics"Beyond "The Crisis in Civics"
Beyond "The Crisis in Civics"
 

Semelhante a JUnit Implementação de Testes Unitários

Implementando Implementando eXtreme treme Programming rogramming em em Java Java
Implementando Implementando eXtreme treme Programming rogramming em em Java JavaImplementando Implementando eXtreme treme Programming rogramming em em Java Java
Implementando Implementando eXtreme treme Programming rogramming em em Java Javaelliando dias
 
Apresentacao Testes de Unidade
Apresentacao Testes de UnidadeApresentacao Testes de Unidade
Apresentacao Testes de UnidadeAline Ferreira
 
Qualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMQualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMAdriano Bertucci
 
Gerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2aGerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2aLeonardo Molinari
 
Desenvolvimento em .Net - Testes Unitários
Desenvolvimento em .Net - Testes UnitáriosDesenvolvimento em .Net - Testes Unitários
Desenvolvimento em .Net - Testes UnitáriosVitor Silva
 
Aplicando eXtreming Programing ao cenário do Borland ALM - BorCon 2003
Aplicando  eXtreming Programing  ao cenário do  Borland ALM - BorCon 2003Aplicando  eXtreming Programing  ao cenário do  Borland ALM - BorCon 2003
Aplicando eXtreming Programing ao cenário do Borland ALM - BorCon 2003Edgar Silva
 
Vi ebts implantação de fábrica de teste - desafios, resultados e melhores p...
Vi ebts   implantação de fábrica de teste - desafios, resultados e melhores p...Vi ebts   implantação de fábrica de teste - desafios, resultados e melhores p...
Vi ebts implantação de fábrica de teste - desafios, resultados e melhores p...Welington Monteiro
 
Testes unitários x unit
Testes unitários   x unitTestes unitários   x unit
Testes unitários x unitLucas Marques
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programmingceife
 
Treinamento Testes Unitários - parte 2
Treinamento Testes Unitários - parte 2Treinamento Testes Unitários - parte 2
Treinamento Testes Unitários - parte 2Diego Pacheco
 
IBM Rational Piores Práticas em Testes
IBM Rational Piores Práticas em TestesIBM Rational Piores Práticas em Testes
IBM Rational Piores Práticas em TestesFelipe Freire
 
Testes de Software & Ferramentas de Testes
Testes de Software & Ferramentas de TestesTestes de Software & Ferramentas de Testes
Testes de Software & Ferramentas de TestesPaulo César M Jeveaux
 
O XP não é contra Design com Paulo Caroli, Café Ágil em Recife
O XP não é contra Design com Paulo Caroli, Café Ágil em RecifeO XP não é contra Design com Paulo Caroli, Café Ágil em Recife
O XP não é contra Design com Paulo Caroli, Café Ágil em RecifePaulo Caroli
 
O XP não é contra Design com Paulo Caroli, Café Ágil em Recife
O XP não é contra Design com Paulo Caroli, Café Ágil em Recife O XP não é contra Design com Paulo Caroli, Café Ágil em Recife
O XP não é contra Design com Paulo Caroli, Café Ágil em Recife Paulo Caroli
 

Semelhante a JUnit Implementação de Testes Unitários (20)

Implementando Implementando eXtreme treme Programming rogramming em em Java Java
Implementando Implementando eXtreme treme Programming rogramming em em Java JavaImplementando Implementando eXtreme treme Programming rogramming em em Java Java
Implementando Implementando eXtreme treme Programming rogramming em em Java Java
 
Programacao Extrema
Programacao ExtremaProgramacao Extrema
Programacao Extrema
 
Apresentacao Testes de Unidade
Apresentacao Testes de UnidadeApresentacao Testes de Unidade
Apresentacao Testes de Unidade
 
Qualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMQualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALM
 
Testes
TestesTestes
Testes
 
J unit xp
J unit xpJ unit xp
J unit xp
 
Gerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2aGerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2a
 
Desenvolvimento em .Net - Testes Unitários
Desenvolvimento em .Net - Testes UnitáriosDesenvolvimento em .Net - Testes Unitários
Desenvolvimento em .Net - Testes Unitários
 
Aplicando eXtreming Programing ao cenário do Borland ALM - BorCon 2003
Aplicando  eXtreming Programing  ao cenário do  Borland ALM - BorCon 2003Aplicando  eXtreming Programing  ao cenário do  Borland ALM - BorCon 2003
Aplicando eXtreming Programing ao cenário do Borland ALM - BorCon 2003
 
Vi ebts implantação de fábrica de teste - desafios, resultados e melhores p...
Vi ebts   implantação de fábrica de teste - desafios, resultados e melhores p...Vi ebts   implantação de fábrica de teste - desafios, resultados e melhores p...
Vi ebts implantação de fábrica de teste - desafios, resultados e melhores p...
 
Testes unitários x unit
Testes unitários   x unitTestes unitários   x unit
Testes unitários x unit
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
Minicurso de TDD
Minicurso de TDDMinicurso de TDD
Minicurso de TDD
 
Treinamento Testes Unitários - parte 2
Treinamento Testes Unitários - parte 2Treinamento Testes Unitários - parte 2
Treinamento Testes Unitários - parte 2
 
IBM Rational Piores Práticas em Testes
IBM Rational Piores Práticas em TestesIBM Rational Piores Práticas em Testes
IBM Rational Piores Práticas em Testes
 
Aula - Teste de Software
Aula - Teste de SoftwareAula - Teste de Software
Aula - Teste de Software
 
Testes de Software & Ferramentas de Testes
Testes de Software & Ferramentas de TestesTestes de Software & Ferramentas de Testes
Testes de Software & Ferramentas de Testes
 
Testes e Refatoração
Testes e RefatoraçãoTestes e Refatoração
Testes e Refatoração
 
O XP não é contra Design com Paulo Caroli, Café Ágil em Recife
O XP não é contra Design com Paulo Caroli, Café Ágil em RecifeO XP não é contra Design com Paulo Caroli, Café Ágil em Recife
O XP não é contra Design com Paulo Caroli, Café Ágil em Recife
 
O XP não é contra Design com Paulo Caroli, Café Ágil em Recife
O XP não é contra Design com Paulo Caroli, Café Ágil em Recife O XP não é contra Design com Paulo Caroli, Café Ágil em Recife
O XP não é contra Design com Paulo Caroli, Café Ágil em Recife
 

Mais de Manoel Pimentel Medeiros

The DNA for Catalysing Organisational Improvements
The DNA for Catalysing Organisational ImprovementsThe DNA for Catalysing Organisational Improvements
The DNA for Catalysing Organisational ImprovementsManoel Pimentel Medeiros
 
How to evolve your career as Agile Coach using The Agile Coaching DNA
How to evolve your career as Agile Coach using The Agile Coaching DNAHow to evolve your career as Agile Coach using The Agile Coaching DNA
How to evolve your career as Agile Coach using The Agile Coaching DNAManoel Pimentel Medeiros
 
Como não ficar careca em Agile Transformations
Como não ficar careca em Agile TransformationsComo não ficar careca em Agile Transformations
Como não ficar careca em Agile TransformationsManoel Pimentel Medeiros
 
How to use the emergent learning as an enabler for product innovation
How to use the emergent learning as an enabler for product innovationHow to use the emergent learning as an enabler for product innovation
How to use the emergent learning as an enabler for product innovationManoel Pimentel Medeiros
 
The Cone of Change - Manoel Pimentel (keynote)
The Cone of Change - Manoel Pimentel (keynote)The Cone of Change - Manoel Pimentel (keynote)
The Cone of Change - Manoel Pimentel (keynote)Manoel Pimentel Medeiros
 
Fusing the Agile Testing into an Agile Team
Fusing the Agile Testing into an Agile TeamFusing the Agile Testing into an Agile Team
Fusing the Agile Testing into an Agile TeamManoel Pimentel Medeiros
 
Hacking the World - Keynote - TaSafoConf2015
Hacking the World - Keynote - TaSafoConf2015Hacking the World - Keynote - TaSafoConf2015
Hacking the World - Keynote - TaSafoConf2015Manoel Pimentel Medeiros
 
Os beatos ágeis e os pecados mundanos das grandes empresas
Os beatos ágeis e os pecados mundanos das grandes empresasOs beatos ágeis e os pecados mundanos das grandes empresas
Os beatos ágeis e os pecados mundanos das grandes empresasManoel Pimentel Medeiros
 
Como escalar algo essencialmente artesanal?
Como escalar algo essencialmente artesanal?Como escalar algo essencialmente artesanal?
Como escalar algo essencialmente artesanal?Manoel Pimentel Medeiros
 
Escalando a Gestão Ágil com SAFe - Manoel Pimentel
Escalando a Gestão Ágil com SAFe - Manoel PimentelEscalando a Gestão Ágil com SAFe - Manoel Pimentel
Escalando a Gestão Ágil com SAFe - Manoel PimentelManoel Pimentel Medeiros
 

Mais de Manoel Pimentel Medeiros (20)

The DNA for Catalysing Organisational Improvements
The DNA for Catalysing Organisational ImprovementsThe DNA for Catalysing Organisational Improvements
The DNA for Catalysing Organisational Improvements
 
The Agile Coaching DNA - Overview
The Agile Coaching DNA -  OverviewThe Agile Coaching DNA -  Overview
The Agile Coaching DNA - Overview
 
Organisational Plasticity - Agile 2018
Organisational Plasticity - Agile 2018Organisational Plasticity - Agile 2018
Organisational Plasticity - Agile 2018
 
How to evolve your career as Agile Coach using The Agile Coaching DNA
How to evolve your career as Agile Coach using The Agile Coaching DNAHow to evolve your career as Agile Coach using The Agile Coaching DNA
How to evolve your career as Agile Coach using The Agile Coaching DNA
 
Como não ficar careca em Agile Transformations
Como não ficar careca em Agile TransformationsComo não ficar careca em Agile Transformations
Como não ficar careca em Agile Transformations
 
How to use the emergent learning as an enabler for product innovation
How to use the emergent learning as an enabler for product innovationHow to use the emergent learning as an enabler for product innovation
How to use the emergent learning as an enabler for product innovation
 
The Cone of Change - Manoel Pimentel (keynote)
The Cone of Change - Manoel Pimentel (keynote)The Cone of Change - Manoel Pimentel (keynote)
The Cone of Change - Manoel Pimentel (keynote)
 
Fusing the Agile Testing into an Agile Team
Fusing the Agile Testing into an Agile TeamFusing the Agile Testing into an Agile Team
Fusing the Agile Testing into an Agile Team
 
Creating Great Teams using Management 3.0
Creating Great Teams using Management 3.0Creating Great Teams using Management 3.0
Creating Great Teams using Management 3.0
 
The Conflict Fast Model - Agile2016
The Conflict Fast Model - Agile2016The Conflict Fast Model - Agile2016
The Conflict Fast Model - Agile2016
 
Hacking the World - Keynote - TaSafoConf2015
Hacking the World - Keynote - TaSafoConf2015Hacking the World - Keynote - TaSafoConf2015
Hacking the World - Keynote - TaSafoConf2015
 
Problem Pitch
Problem PitchProblem Pitch
Problem Pitch
 
Thinking Hack - Workouts
Thinking Hack - WorkoutsThinking Hack - Workouts
Thinking Hack - Workouts
 
Thinking Hack - in 18 minutes
Thinking Hack - in 18 minutesThinking Hack - in 18 minutes
Thinking Hack - in 18 minutes
 
10 dicas para escalar Agile usando SAFe
10 dicas para escalar Agile usando SAFe10 dicas para escalar Agile usando SAFe
10 dicas para escalar Agile usando SAFe
 
SAFe - Como escalar algo artesanal?
SAFe - Como escalar algo artesanal?SAFe - Como escalar algo artesanal?
SAFe - Como escalar algo artesanal?
 
Estratégias para Transição Ágil
Estratégias para Transição ÁgilEstratégias para Transição Ágil
Estratégias para Transição Ágil
 
Os beatos ágeis e os pecados mundanos das grandes empresas
Os beatos ágeis e os pecados mundanos das grandes empresasOs beatos ágeis e os pecados mundanos das grandes empresas
Os beatos ágeis e os pecados mundanos das grandes empresas
 
Como escalar algo essencialmente artesanal?
Como escalar algo essencialmente artesanal?Como escalar algo essencialmente artesanal?
Como escalar algo essencialmente artesanal?
 
Escalando a Gestão Ágil com SAFe - Manoel Pimentel
Escalando a Gestão Ágil com SAFe - Manoel PimentelEscalando a Gestão Ágil com SAFe - Manoel Pimentel
Escalando a Gestão Ágil com SAFe - Manoel Pimentel
 

Último

Conferência SC 24 | A força da geolocalização impulsionada em ADS e Fullcomme...
Conferência SC 24 | A força da geolocalização impulsionada em ADS e Fullcomme...Conferência SC 24 | A força da geolocalização impulsionada em ADS e Fullcomme...
Conferência SC 24 | A força da geolocalização impulsionada em ADS e Fullcomme...E-Commerce Brasil
 
Ética NO AMBIENTE DE TRABALHO, fundamentosdas relações.pdf
Ética NO AMBIENTE DE TRABALHO,  fundamentosdas relações.pdfÉtica NO AMBIENTE DE TRABALHO,  fundamentosdas relações.pdf
Ética NO AMBIENTE DE TRABALHO, fundamentosdas relações.pdfInsttLcioEvangelista
 
Conferência SC 24 | Estratégias de diversificação de investimento em mídias d...
Conferência SC 24 | Estratégias de diversificação de investimento em mídias d...Conferência SC 24 | Estratégias de diversificação de investimento em mídias d...
Conferência SC 24 | Estratégias de diversificação de investimento em mídias d...E-Commerce Brasil
 
EP GRUPO - Mídia Kit 2024 - conexão de marcas e personagens
EP GRUPO - Mídia Kit 2024 - conexão de marcas e personagensEP GRUPO - Mídia Kit 2024 - conexão de marcas e personagens
EP GRUPO - Mídia Kit 2024 - conexão de marcas e personagensLuizPauloFerreira11
 
Conferência SC 24 | Omnichannel: uma cultura ou apenas um recurso comercial?
Conferência SC 24 | Omnichannel: uma cultura ou apenas um recurso comercial?Conferência SC 24 | Omnichannel: uma cultura ou apenas um recurso comercial?
Conferência SC 24 | Omnichannel: uma cultura ou apenas um recurso comercial?E-Commerce Brasil
 
Conferência SC 24 | O custo real de uma operação
Conferência SC 24 | O custo real de uma operaçãoConferência SC 24 | O custo real de uma operação
Conferência SC 24 | O custo real de uma operaçãoE-Commerce Brasil
 
Conferência SC 24 | Estratégias de precificação: loja própria e marketplace
Conferência SC 24 | Estratégias de precificação: loja própria e marketplaceConferência SC 24 | Estratégias de precificação: loja própria e marketplace
Conferência SC 24 | Estratégias de precificação: loja própria e marketplaceE-Commerce Brasil
 
Conferência SC 24 | Social commerce e recursos interativos: como aplicar no s...
Conferência SC 24 | Social commerce e recursos interativos: como aplicar no s...Conferência SC 24 | Social commerce e recursos interativos: como aplicar no s...
Conferência SC 24 | Social commerce e recursos interativos: como aplicar no s...E-Commerce Brasil
 
A LOGÍSTICA ESTÁ PREPARADA PARA O DECRESCIMENTO?
A LOGÍSTICA ESTÁ PREPARADA PARA O DECRESCIMENTO?A LOGÍSTICA ESTÁ PREPARADA PARA O DECRESCIMENTO?
A LOGÍSTICA ESTÁ PREPARADA PARA O DECRESCIMENTO?Michael Rada
 
Conferência SC 2024 | Tendências e oportunidades de vender mais em 2024
Conferência SC 2024 | Tendências e oportunidades de vender mais em 2024Conferência SC 2024 | Tendências e oportunidades de vender mais em 2024
Conferência SC 2024 | Tendências e oportunidades de vender mais em 2024E-Commerce Brasil
 
Desenvolvendo uma Abordagem Estratégica para a Gestão de Portfólio.pptx
Desenvolvendo uma Abordagem Estratégica para a Gestão de Portfólio.pptxDesenvolvendo uma Abordagem Estratégica para a Gestão de Portfólio.pptx
Desenvolvendo uma Abordagem Estratégica para a Gestão de Portfólio.pptxCoca Pitzer
 
Conferência SC 24 | Estratégias omnicanal: transformando a logística em exper...
Conferência SC 24 | Estratégias omnicanal: transformando a logística em exper...Conferência SC 24 | Estratégias omnicanal: transformando a logística em exper...
Conferência SC 24 | Estratégias omnicanal: transformando a logística em exper...E-Commerce Brasil
 
66ssssssssssssssssssssssssssssss4434.pptx
66ssssssssssssssssssssssssssssss4434.pptx66ssssssssssssssssssssssssssssss4434.pptx
66ssssssssssssssssssssssssssssss4434.pptxLEANDROSPANHOL1
 
Conferência SC 2024 | De vilão a herói: como o frete vai salvar as suas vendas
Conferência SC 2024 |  De vilão a herói: como o frete vai salvar as suas vendasConferência SC 2024 |  De vilão a herói: como o frete vai salvar as suas vendas
Conferência SC 2024 | De vilão a herói: como o frete vai salvar as suas vendasE-Commerce Brasil
 
Introdução à Multimídia e seus aspectos.pdf
Introdução à Multimídia e seus aspectos.pdfIntrodução à Multimídia e seus aspectos.pdf
Introdução à Multimídia e seus aspectos.pdfVivianeVivicka
 
Conferência SC 24 | Gestão logística para redução de custos e fidelização
Conferência SC 24 | Gestão logística para redução de custos e fidelizaçãoConferência SC 24 | Gestão logística para redução de custos e fidelização
Conferência SC 24 | Gestão logística para redução de custos e fidelizaçãoE-Commerce Brasil
 
Questionárionnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
QuestionárionnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnQuestionárionnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
QuestionárionnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnGustavo144776
 
Conferência SC 24 | Inteligência artificial no checkout: como a automatização...
Conferência SC 24 | Inteligência artificial no checkout: como a automatização...Conferência SC 24 | Inteligência artificial no checkout: como a automatização...
Conferência SC 24 | Inteligência artificial no checkout: como a automatização...E-Commerce Brasil
 
Conferência SC 24 | Data Analytics e IA: o futuro do e-commerce?
Conferência SC 24 | Data Analytics e IA: o futuro do e-commerce?Conferência SC 24 | Data Analytics e IA: o futuro do e-commerce?
Conferência SC 24 | Data Analytics e IA: o futuro do e-commerce?E-Commerce Brasil
 
Conferência SC 24 | Estratégias de precificação para múltiplos canais de venda
Conferência SC 24 | Estratégias de precificação para múltiplos canais de vendaConferência SC 24 | Estratégias de precificação para múltiplos canais de venda
Conferência SC 24 | Estratégias de precificação para múltiplos canais de vendaE-Commerce Brasil
 

Último (20)

Conferência SC 24 | A força da geolocalização impulsionada em ADS e Fullcomme...
Conferência SC 24 | A força da geolocalização impulsionada em ADS e Fullcomme...Conferência SC 24 | A força da geolocalização impulsionada em ADS e Fullcomme...
Conferência SC 24 | A força da geolocalização impulsionada em ADS e Fullcomme...
 
Ética NO AMBIENTE DE TRABALHO, fundamentosdas relações.pdf
Ética NO AMBIENTE DE TRABALHO,  fundamentosdas relações.pdfÉtica NO AMBIENTE DE TRABALHO,  fundamentosdas relações.pdf
Ética NO AMBIENTE DE TRABALHO, fundamentosdas relações.pdf
 
Conferência SC 24 | Estratégias de diversificação de investimento em mídias d...
Conferência SC 24 | Estratégias de diversificação de investimento em mídias d...Conferência SC 24 | Estratégias de diversificação de investimento em mídias d...
Conferência SC 24 | Estratégias de diversificação de investimento em mídias d...
 
EP GRUPO - Mídia Kit 2024 - conexão de marcas e personagens
EP GRUPO - Mídia Kit 2024 - conexão de marcas e personagensEP GRUPO - Mídia Kit 2024 - conexão de marcas e personagens
EP GRUPO - Mídia Kit 2024 - conexão de marcas e personagens
 
Conferência SC 24 | Omnichannel: uma cultura ou apenas um recurso comercial?
Conferência SC 24 | Omnichannel: uma cultura ou apenas um recurso comercial?Conferência SC 24 | Omnichannel: uma cultura ou apenas um recurso comercial?
Conferência SC 24 | Omnichannel: uma cultura ou apenas um recurso comercial?
 
Conferência SC 24 | O custo real de uma operação
Conferência SC 24 | O custo real de uma operaçãoConferência SC 24 | O custo real de uma operação
Conferência SC 24 | O custo real de uma operação
 
Conferência SC 24 | Estratégias de precificação: loja própria e marketplace
Conferência SC 24 | Estratégias de precificação: loja própria e marketplaceConferência SC 24 | Estratégias de precificação: loja própria e marketplace
Conferência SC 24 | Estratégias de precificação: loja própria e marketplace
 
Conferência SC 24 | Social commerce e recursos interativos: como aplicar no s...
Conferência SC 24 | Social commerce e recursos interativos: como aplicar no s...Conferência SC 24 | Social commerce e recursos interativos: como aplicar no s...
Conferência SC 24 | Social commerce e recursos interativos: como aplicar no s...
 
A LOGÍSTICA ESTÁ PREPARADA PARA O DECRESCIMENTO?
A LOGÍSTICA ESTÁ PREPARADA PARA O DECRESCIMENTO?A LOGÍSTICA ESTÁ PREPARADA PARA O DECRESCIMENTO?
A LOGÍSTICA ESTÁ PREPARADA PARA O DECRESCIMENTO?
 
Conferência SC 2024 | Tendências e oportunidades de vender mais em 2024
Conferência SC 2024 | Tendências e oportunidades de vender mais em 2024Conferência SC 2024 | Tendências e oportunidades de vender mais em 2024
Conferência SC 2024 | Tendências e oportunidades de vender mais em 2024
 
Desenvolvendo uma Abordagem Estratégica para a Gestão de Portfólio.pptx
Desenvolvendo uma Abordagem Estratégica para a Gestão de Portfólio.pptxDesenvolvendo uma Abordagem Estratégica para a Gestão de Portfólio.pptx
Desenvolvendo uma Abordagem Estratégica para a Gestão de Portfólio.pptx
 
Conferência SC 24 | Estratégias omnicanal: transformando a logística em exper...
Conferência SC 24 | Estratégias omnicanal: transformando a logística em exper...Conferência SC 24 | Estratégias omnicanal: transformando a logística em exper...
Conferência SC 24 | Estratégias omnicanal: transformando a logística em exper...
 
66ssssssssssssssssssssssssssssss4434.pptx
66ssssssssssssssssssssssssssssss4434.pptx66ssssssssssssssssssssssssssssss4434.pptx
66ssssssssssssssssssssssssssssss4434.pptx
 
Conferência SC 2024 | De vilão a herói: como o frete vai salvar as suas vendas
Conferência SC 2024 |  De vilão a herói: como o frete vai salvar as suas vendasConferência SC 2024 |  De vilão a herói: como o frete vai salvar as suas vendas
Conferência SC 2024 | De vilão a herói: como o frete vai salvar as suas vendas
 
Introdução à Multimídia e seus aspectos.pdf
Introdução à Multimídia e seus aspectos.pdfIntrodução à Multimídia e seus aspectos.pdf
Introdução à Multimídia e seus aspectos.pdf
 
Conferência SC 24 | Gestão logística para redução de custos e fidelização
Conferência SC 24 | Gestão logística para redução de custos e fidelizaçãoConferência SC 24 | Gestão logística para redução de custos e fidelização
Conferência SC 24 | Gestão logística para redução de custos e fidelização
 
Questionárionnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
QuestionárionnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnQuestionárionnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
Questionárionnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
 
Conferência SC 24 | Inteligência artificial no checkout: como a automatização...
Conferência SC 24 | Inteligência artificial no checkout: como a automatização...Conferência SC 24 | Inteligência artificial no checkout: como a automatização...
Conferência SC 24 | Inteligência artificial no checkout: como a automatização...
 
Conferência SC 24 | Data Analytics e IA: o futuro do e-commerce?
Conferência SC 24 | Data Analytics e IA: o futuro do e-commerce?Conferência SC 24 | Data Analytics e IA: o futuro do e-commerce?
Conferência SC 24 | Data Analytics e IA: o futuro do e-commerce?
 
Conferência SC 24 | Estratégias de precificação para múltiplos canais de venda
Conferência SC 24 | Estratégias de precificação para múltiplos canais de vendaConferência SC 24 | Estratégias de precificação para múltiplos canais de venda
Conferência SC 24 | Estratégias de precificação para múltiplos canais de venda
 

JUnit Implementação de Testes Unitários

  • 1. II Beljungle SEPAI 2005 JUnit Implementando Testes Unitários em Java br.groups.yahoo.com/group/xpnorte JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 2. Palestrante: Manoel Pimentel Medeiros  É Engenheiro de Software, com mais de 15 anos na área de TI, atualmente trabalha com projetos pela Rhealeza(SP). É Diretor Editorial da Revista Visão Ágil, Membro da Agile Alliance e foi um dos pioneiros na utilização e divulgação de métodos ágeis no Brasil. Já escreveu artigos para importantes revistas e portais especializados no Brasil e no exterior. Possui as certificações CSM e CSP da Scrum Alliance. Já participou do time de Desenvolvimento do NetBeans(Sun), foi criador do projeto BoxSQL, fundador do grupo XPNorte e do NUG-BR e frequentemente palestra em eventos sobre processos e tecnologias. Maiores informações em: http://manoelpimentel.blogspot.com JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 3. Agenda:  Um pouco de XP.  Como programar guiado a testes?  Teste Unitário (O que?, por que?, quando?, quem?, como?).  JUnit(O que?, por que?, quando?, quem?, como?).  JUnit(Planejamento e arquitetura das classes ).  JUnit(Funcionamento e Análise do resultado ).  Implementado testes em JUnit usando o Eclipse.  Outros métodos e técnicas complementares.  Conclusão. JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 4. Um pouco de XP:  XP é um apelido carinhoso de uma metodologia ágil de desenvolvimento designada Extreme Programming,  com Programming foco em agilidade de equipes e qualidade de projetos, apoiada em valores como simplicidade, comunicação, feedback e coragem. JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 5. Você desenvolve “O” Você faz programa programa com o cliente? com o cliente?  XP é metodologia muito comportamental, onde prima mudanças de atitudes e práticas.  Sua principal mudança está na máxima integração entre pessoas e principalmente, estimulando uma participação maior do cliente. Portando, literalmente, temos que FAZER O PROGRAMA COM O CLIENTE. JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 6. Práticas XP  XP sugere um conjunto de boas práticas que melhoram o planejamento, execução, e gerenciamento de seu projeto de software.  Essas práticas melhoram sua eficiência e eficácia, diminuindo o retrabalho, garantindo dessa forma a qualidade em seu projeto. JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 7. Práticas organizacionais Práticas de equipe Práticas XP Práticas de pares Equipe(Técnicos e clientes) Propriedade Teste Unitário Padrão Coletiva De Código Teste de Jogo de Aceitação Programação Refatoração Planejamento Em par Integração Ritmo Design Contínua Sustentável Simples Metáforas Pequenas Versões JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 8. TDD Test Driven Development  Desenvolvimento Guiado por Testes, define que antes de criarmos um código novo, devemos escrever um teste para ele.  E testes serão usados como métrica em todo o tempo de vida do projeto. Obter Criar Código de Codificar Fazer tarefa Teste para a tarefa Refactoring Passou nos testes? Sim: Nova tarefa Não: Revisar código JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 9. Teste Unitário Imagine se um avião só fosse testado após a conclusão de sua construção.... Seria um desastre.... JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 10. Teste Unitário (O que é?) O teste unitário é uma modalidade de testes que se concentra na verificação da menor unidade do projeto de software. É realizado o teste de uma unidade lógica, com uso de dados suficientes para se testar apenas a lógica da unidade em questão. Em sistemas construídos com uso de linguagens orientadas a objetos, essa unidade pode ser identificada como um método, uma classe ou mesmo um objeto. JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 11. Teste Unitário (Por que?)  Previne contra o aparecimento de “BUG’S” oriundos de códigos mal escritos.  Código testado é mais confiável.  Permite alterações sem medo(coragem)  Testa situações de sucesso e de falha.  Resulta em outras práticas XP como : Código coletivo, refatoração, integração contínua.  Serve como métrica do projeto ( teste ==requisitos)  Gera e preserva um “conhecimento” sobre o projeto. JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 12. Teste Unitário (Organização dos testes e práticas XP) JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 13. Teste Unitário (Quando fazer?)  No início Primeiro projetar e escrever as classes de testes, depois as classes com regra de negócios  Diariamente È SUGERIDO que seja rodado os testes várias vezes ao dia (é fácil corrigir pequenos problemas do que corrigir um “problemão” somente no final do projeto. JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 14. Teste Unitário (Quem faz?)  Test Case(para cada classe) Desenvolvedor(Projeta, escreve e roda)  Test Suite(Rodas vários test cases) Coordenador e Desenvolvedor (Projeta, escreve e roda) * Teste de aceitação(homologação) é feito junto ao cliente. JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 15. Teste Unitário (Que Testar?)  A principal regra para saber o que testar é: “Tenha criatividade para imaginar as possibilidades de testes”.  Comece pelas mais simples e deixe os testes “complexos“ para o final.  Use apenas dados suficientes (não teste 10 condições se três forem suficientes)  Não teste métodos triviais, tipo get e set.  No caso de um método set, só faça o teste caso haja validação de dados.  Achou um bug? Não conserte sem antes escrever um teste que o pegue (se você não o fizer, ele volta)! JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 16. Exercício de Imaginação - Ache as possibilidades de testes neste diagrama de classe JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 17. JUnit – O que é?  Um framework que facilita o desenvolvimento e execução de testes de unidade em código Java  Fornece Uma API para construir os testes e Aplicações para executar testes JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 18. JUnit – Por que?  JUnit pode verificar se cada unidade de código funciona da forma esperada.  Facilita a criação, execução automática de testes e a apresentação dos resultados.  É Orientado a Objeto  É Free e pode ser baixado em: www.junit.org JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 19. JUnit – Como instalar?  Incluir o arquivo junit.jar no classpath para compilar e rodar os programas de teste  Já vem configurado nas versões recentes de IDE’s como Eclipse, JBuilder, BlueJ e outros. JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 20. JUnit – Planejando os testes  1. Defina uma lista de tarefas a implementar( o que testar)  2. Escreva uma classe (test case) e implemente um método de teste para uma tarefa da lista.  3. Rode o JUnit e certifique-se que o teste falha  4. Implemente o código mais simples que rode o teste JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 21. JUnit – Planejando os testes  5. Refatore o código para remover a duplicação de dados  6. Caso necessário, escreva mais um teste ou refine o existente  7. Faça esses passos para toda a lista de tarefas. JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 22. JUnit- Arquitetura das Classes Fonte: Manual do JUnit (Cooks Tour) JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 23. JUnit – Como implementar  1. Crie uma classe que estenda junit.framework.TestCase para cada classe a ser testada import junit.framework.*; class SuaClasseTest extends TestCase {... }  2. Para cada método a ser testado defina um método public void test???() no test case  SuaClasse: public int Soma(Object o ...) { ... }  SuaClasseTest: public void testSoma() JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 24. JUnit – Funcionamento  O TestRunner recebe uma subclasse de junit.framework.TestCase  Cada método testXXX(), executa:  1. o método setUp() /* Opcional */  2. o próprio método testXXX()  3. o método tearDown() /* Opcional */ JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 25. JUnit – Analisando o Resultado  Em modo gráfico, os métodos testados podem apresentar o seguintes resultados:  Sucesso  Falha  exceção JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 26. Criando a classe de teste no Eclipse
  • 27. JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 28. Sua Classe a ser testada
  • 29. JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 30. Rodando o teste em modo gráfico
  • 31. JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 33. JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 35. JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 37. JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 38. JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 39. JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 40. JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 41. JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 43. JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 44. JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 45. Criando Test Suite para rodar vários test cases
  • 46. JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 47. JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 48. JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 49. JUnit - Outros Métodos de Testes  assertEquals  Testa igualdade entre dois objetos(esperado x retornado)  assertFalse( )  Testa Retorno booleano FALSO  assertTrue( )  Testa Retorno booleano VERDADEIRO  assertNotNull( )  Testa se um valor de um objeto NÃO está NULO  assertNull( )  Testa se um valor de um objeto está NULO JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 50. JUnit – métodos setUp() e tearDown()  São os dados reutilizados por vários testes, Inicializados no setUp() e destruídos no tearDown() (se necessário) JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 51. Técnicas complementares  É importante também, ser aplicado tipos de testes como:  Teste de Performance,  Teste de Carga,  Teste de estresse,  Teste de aceitação, etc. JUnit – Implementado Testes Unitários em Java Por Manoel Pimentel - Fundador do XPNorte
  • 52. Dúvidas? E-mail: manoelp@gmail.com Ou br.groups.yahoo.com/group/xpnorte