SlideShare uma empresa Scribd logo
1 de 147
Baixar para ler offline
Testes de Unidade
    com JUnit
   Paulo César M. Jeveaux
 paulo.jeveaux@giran.com.br
Giran Soluções e Ensino
•   Consultoria e Treinamento especialidados
    •   Java
    •   Ruby on Rails
    •   Desenvolvimento ágil
•   Gerenciamento de projetos com SCRUM
•   Profissionais altamente qualificados
•   Participação ativa na comunidade
•   http://www.giran.com.br
Jeveaux
• CEO da Giran
• Desenvolvedor Java há 8++ anos
• Fundador do ESJUG e Agile-ES
• Administrador do PortalJava.com
• Palestrante e evangelista Java
• Entusiasta Ruby, Rails, Python e Agile
• Curioso e aprendendo Erlang
Sobre o que vamos
   falar hoje...
desenvolvimento de software
desenvolvimento de software
    processo tradicional
desenvolvimento de software
    processo tradicional
    um pouquinho de XP
desenvolvimento de software
    processo tradicional
    um pouquinho de XP

       Testes
desenvolvimento de software
    processo tradicional
    um pouquinho de XP

       Testes
        JUnit
O que é um
   Teste?
você
entraria
num avião...
... que nunca
                     saiu do
                       chão?



você
entraria
num avião...
ta
maluco?
e por que você
entrega software
sem testar?
como você desenvolve
       software hoje?
Code and fix!
O processo tradicional

• Sem metodologia de desenvolvimento
• Procedural e estruturada
• Grande dificuldade para mostrar e simular
  a relação entre o código (entidades) e o
  negócio

                                        [Cristiano Milfont]
Unificação de Processos
•   Criação de processos unificados (*UP)

    •   Direcionados a casos de uso

    •   Centrados na arquitetura

    •   Iterativos e incrementais

•   Utilização da linguagem UML

•   Fases bem definidas, como na engenharia civil

    •   Concepção, elaboração, construção e transição
                                                    [Cristiano Milfont]
Inspirado em outras
                           engenharias




Quase sempre a civil
Inspirado em outras
                           engenharias




Quase sempre a civil
Inspirado em outras
                           engenharias




Quase sempre a civil
Dá pra afastar um pouquinho?
Custo de mudanças
BDUF
big design up front
BDUF
big design up front




           is evil!
nós estamos jogando

com as regras
erradas!
“A maioria das nossas suposições sobre
negócios, tecnologia e organizações têm
pelo menos 50 anos. Elas tem sobrevivido
ao seu tempo. Como resultado, estamos
pregando, ensinando, e praticando políticas
que estão cada vez mais desalinhadas com
a realidade, e são contra produtivas.”

                 Peter Drucker (1909-2005)
Não é assim que se faz software
Não é assim que se faz software

         Acredite!
Manifesto Ágil
      Estamos descobrindo maneiras melhores de desenvolver software fazendo-o nós
      mesmos e ajudando outros a fazê-lo. Através deste trabalho, passamos a valorizar:

Indivíduos e interação entre eles mais que processos e ferramentas
 Software em funcionamento mais que documentação abrangente
   Colaboração com o cliente mais que negociação de contratos
        Responder a mudanças mais que seguir um plano

                           Ou seja, mesmo havendo valor nos itens à direita,
                                valorizamos mais os itens à esquerda.

           Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn,Ward Cunningham, Martin Fowler, James
          Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor,
                                        Ken Schwaber, Jeff Sutherland, Dave Thomas


                                                                                                        ©2001, Autores acima citados.
        Esta declaração pode ser livremente copiada, sob qualquer forma,mas apenas na sua totalidade através do presente aviso.
XP
Extreme Programming
O que é XP?
Utilização de
funcionalidades de software
                           Às vezes
          Frequentemente
                             16%
               13%

        Sempre
          7%



                                      Raramente
                                         19%



           Nunca
            45%
desperdício
            Raramente
               19%



    Nunca
     45%
Pareto
        Frequentemente
             13%

      Sempre
        7%




20% das funcionalidades
  geram 80% do valor
XP é a arte de maximizar a
quantidade de software que
     você não vai fazer
     Vinícius Manhães Teles - ImproveIt
Extreme Programming
 É um conjunto de princípios, valores e práticas
Onde...
Onde...

... os princípios conectam
os valores às práticas
• O XP é uma metodologia rigorosa e
  disciplinada que requer o cumprimento
  de suas práticas para o sucesso na adoção.

• O XP pode ser usado com CMM e UPs.
• A preocupação não é com qualidade (que
  deve natural) e sim com a saúde do
  sistema (segundo Kent Beck).

                                        [Cristiano Milfont]
e testes vão
  me salvar?
testes evitarão falhas?
          e testes vão
            me salvar?
falhas existem


[1] [2]
1/3
                 poderiam ser
                   evitadas



falhas existem


[1] [2]
1/3
                 poderiam ser
                   evitadas

                      50%
falhas existem   são detectadas
                  em produção




[1] [2]
1/3
                 poderiam ser
                   evitadas

                      50%
falhas existem   são detectadas
                  em produção


                 U$60 bi ano
                  custam caro!
[1] [2]
bug
bug   feature
defeitos são caros!

quanto mais tarde
forem encontrados,
mais caros serão
conclusão:
é melhor encontrar os
defeitos o mais cedo
             possível!
depois eu testo
estou sem tempo
funcionou!?
funcionou!?
seja profissional
garanta o seu trabalho!
você é o único
responsável pela
qualidade do seu
        trabalho
ninguém melhora se
você não melhorar
primeiro!
programadores
        profissionais
      escrevem testes.
[3]
teste tudo antes - TDD
quando você
   terminar
quando você
   terminar



         é porque você
    realmente terminou
quando você
   terminar



         é porque você
    realmente terminou
escreva os testes
           antes!
você vai
você vai
     amar seus códigos
você vai
     amar seus códigos
     programar melhor
você vai
     amar seus códigos
     programar melhor
     pensar antes de escrever
você vai
     amar seus códigos
     programar melhor
     pensar antes de escrever
     reduzir código inútil
você vai
     amar seus códigos
     programar melhor
     pensar antes de escrever
     reduzir código inútil
     ganhar com qualidade
“Sempre que estiver tentado a
    escrever um print() ou uma
expressão de depuração, escreva um
              teste”

                       -- Martin Fowler
entre no ritmo
stand-up meeting @ 09:00h

              monte seu par

            escreva um teste

codifique para passar no teste        refatore

                 entregar



           Ir para casa @ 17:00h
red
escreva um teste que não funciona




                   red
green
escreva código que passe no teste




      green
refactor
refatore, recomece e refatore. Sempre!




refactor
testes de unidade
testes de unidade
  teste todo seu código
testes de unidade
  teste todo seu código
  por partes
testes de unidade
  teste todo seu código
  por partes
  isoladas
testes de unidade
  teste todo seu código
  por partes
  isoladas
  e independentes
testes de unidade
testes de unidade
  evitam bugs
testes de unidade
  evitam bugs
  permitem fáceis alterações (coragem)
testes de unidade
  evitam bugs
  permitem fáceis alterações (coragem)
  documenta
testes de unidade
  evitam bugs
  permitem fáceis alterações (coragem)
  documenta
  serve como métrica do projeto
testes de unidade
  evitam bugs
  permitem fáceis alterações (coragem)
  documenta
  serve como métrica do projeto
     - testes == requisitos
rode os testes
todo o tempo
rode os testes
todo o tempo
                     é melhor corrigir
            dois ou três probleminhas
rode os testes
todo o tempo
                      é melhor corrigir
             dois ou três probleminhas


          do que corrigir um problemão
mantenha tudo simples
mantenha tudo simples
  deixe os ‘complexos’ por último
mantenha tudo simples
  deixe os ‘complexos’ por último
  seja criativo
mantenha tudo simples
  deixe os ‘complexos’ por último
  seja criativo
  mantenha o foco
mantenha tudo simples
  deixe os ‘complexos’ por último
  seja criativo
  mantenha o foco
  use dados suficientes
mantenha tudo simples
  deixe os ‘complexos’ por último
  seja criativo
  mantenha o foco
  use dados suficientes
     - se 3 condições bastam, pra que 10?
achou um bug?
não o conserte antes de ter
um teste que o reproduza


achou um bug?
não o conserte antes de ter
um teste que o reproduza


achou um bug?
ou então ele volta!
JUnit
framework que facilita o
desenvolvimento e execução de
testes de unidade em Java



                 fornece uma API para
           criar os testes e aplicações
                      para executa-los
escrito originalmente por Erich
Gamma e Kent Beck



               parte de uma família de
                  arquitetura de testes
                conhecida como xUnit
pra que um framework?
pra que um framework?
  verifica toda unidade de código
pra que um framework?
  verifica toda unidade de código
  facilita a criação
pra que um framework?
  verifica toda unidade de código
  facilita a criação
  facilita a automatização
pra que um framework?
  verifica toda unidade de código
  facilita a criação
  facilita a automatização
  é OO, gratuito, Open Source ...
JUnit 4 ficou
muito simples
@Test
  anote seu método
  não precisa mais do prefixo test

  suas classes não precisam estender
  TestCase
@Before e @After
  anote seus métodos que serão o
  setUp e tearDown


@BeforeClass e @AfterClass
  anote seus métodos que serão o
  setUp e tearDown em nível de classe
Exceptions
   @Test(expected = ArithmeticException.class)



@Ignore
@Ignore(“Não pode ser executado ainda.”)
@Test
Timeout
  @Test(timeout = 1000)
o ritual
saiba o vai implementar
saiba o vai implementar
  liste tudo que deve ser feito
saiba o vai implementar
  liste tudo que deve ser feito
  escreva um teste antes para
  qualquer tarefa listada
saiba o vai implementar
  liste tudo que deve ser feito
  escreva um teste antes para
  qualquer tarefa listada
  certifique-se que o teste falhe
implemente
implemente
 implemente um código simples
 para passar no teste
implemente
 implemente um código simples
 para passar no teste
 refatore o teste e depois o
 código
implemente
 implemente um código simples
 para passar no teste
 refatore o teste e depois o
 código
 recomece
alguns lembretes
alguns lembretes
  assertEquals
alguns lembretes
  assertEquals
    - testa igualdade (esperado x retornado)
alguns lembretes
  assertEquals
    - testa igualdade (esperado x retornado)
  assertTrue
alguns lembretes
  assertEquals
    - testa igualdade (esperado x retornado)
  assertTrue
    - testa o retorno ‘true’
alguns lembretes
  assertEquals
    - testa igualdade (esperado x retornado)
  assertTrue
    - testa o retorno ‘true’
  assertFalse
alguns lembretes
  assertEquals
    - testa igualdade (esperado x retornado)
  assertTrue
    - testa o retorno ‘true’
  assertFalse
    - testa o retorno ‘false’
alguns lembretes
alguns lembretes
  assertNull
alguns lembretes
  assertNull
    - testa se um valor é nulo
alguns lembretes
  assertNull
    - testa se um valor é nulo
  assertNotNull
alguns lembretes
  assertNull
    - testa se um valor é nulo
  assertNotNull
    - testa se um valor não é nulo
hands on!
dúvidas?
http://www.esjug.org
Referências
•   Fotos
    •   ImproveIt - http://www.improveit.com.br
•   Pesquisas
    •   [1] - NIST - http://www.nist.gov/public_affairs/releases/n02-10.htm
    •   [2] - ImproveIt - http://www.improveit.com.br/xp/praticas/tdd
    •   [3] – Fragmental - Shoes - http://blog.fragmental.com.br/2007/10/31/programadoresprofissionais-escrevem-testes-
        ponto-final
•   Materiais
    •   Extreme Programming - http://extremeprogramming.org
    •   Igor Macaubas e Marcos Pereira - http://www.slideshare.net/macaubas/seminario-scrum-presentation
    •   ImproveIt - http://www.improveit.com.br/scrum
    •   ImproveIt - http://www.improveit.com.br/xp
    •   Manifesto Ágil - http://manifestoagil.com.br
    •   Guilherme Chapiewski - http://www.slideshare.net/gchapiewski/desenvolvimento-gil-com-xp-e-scrum-presentation
    •   André Faria Gomes - http://andrefaria.com/2008/08/22/junit-4-em-60-segundos
    •   Cristiano Milfont - http://www.slideshare.net/cmilfont/extreme-programming-148802
Obrigado!
  podem acordar
Testes de Unidade
    com JUnit
   Paulo César M. Jeveaux
 paulo.jeveaux@giran.com.br

Mais conteúdo relacionado

Mais procurados

Testando Aplicações Django: Quando, Como e Onde?
Testando Aplicações Django: Quando, Como e Onde?Testando Aplicações Django: Quando, Como e Onde?
Testando Aplicações Django: Quando, Como e Onde?
Bernardo Fontes
 
Introdução a testes automatizados
Introdução a testes automatizadosIntrodução a testes automatizados
Introdução a testes automatizados
Thiago Ghisi
 

Mais procurados (20)

TDD com Python
TDD com PythonTDD com Python
TDD com Python
 
TDD com Python (Completo)
TDD com Python (Completo)TDD com Python (Completo)
TDD com Python (Completo)
 
Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1
 
Java 12
Java 12Java 12
Java 12
 
Testes Unitários
Testes UnitáriosTestes Unitários
Testes Unitários
 
Testando Aplicações Django: Quando, Como e Onde?
Testando Aplicações Django: Quando, Como e Onde?Testando Aplicações Django: Quando, Como e Onde?
Testando Aplicações Django: Quando, Como e Onde?
 
TDD em django sem desculpas versao fisl
TDD em django sem desculpas versao fislTDD em django sem desculpas versao fisl
TDD em django sem desculpas versao fisl
 
Testes, deploy e integração continua com Python e Django
Testes, deploy e integração continua com Python e DjangoTestes, deploy e integração continua com Python e Django
Testes, deploy e integração continua com Python e Django
 
Testes Unitários/Integrados
Testes Unitários/IntegradosTestes Unitários/Integrados
Testes Unitários/Integrados
 
Introdução a testes automatizados
Introdução a testes automatizadosIntrodução a testes automatizados
Introdução a testes automatizados
 
Testes Automatizados de Software
Testes Automatizados de SoftwareTestes Automatizados de Software
Testes Automatizados de Software
 
Introdução a tdd
Introdução a tddIntrodução a tdd
Introdução a tdd
 
TDD (Resumo)
TDD (Resumo)TDD (Resumo)
TDD (Resumo)
 
Testes de Unidade com Junit
Testes de Unidade com JunitTestes de Unidade com Junit
Testes de Unidade com Junit
 
Apresentacao Testes de Unidade
Apresentacao Testes de UnidadeApresentacao Testes de Unidade
Apresentacao Testes de Unidade
 
Android: testes automatizados e TDD
Android: testes automatizados e TDDAndroid: testes automatizados e TDD
Android: testes automatizados e TDD
 
Testes de Sistema
Testes de SistemaTestes de Sistema
Testes de Sistema
 
Padrões para Desenvolvimento de Software Guiado por Testes
Padrões para Desenvolvimento de Software Guiado por TestesPadrões para Desenvolvimento de Software Guiado por Testes
Padrões para Desenvolvimento de Software Guiado por Testes
 
Por que automatizar testes de software?
Por que automatizar testes de software?Por que automatizar testes de software?
Por que automatizar testes de software?
 
Aexo TI - Boas práticas de testes tdd
Aexo TI - Boas práticas de testes tddAexo TI - Boas práticas de testes tdd
Aexo TI - Boas práticas de testes tdd
 

Semelhante a Palestra Testes De Unidade Com JUnit

XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
Rodrigo Branas
 
Gestão Ágil de Projetos com Scrum e FDD - Manoel Pimentel
Gestão Ágil de Projetos com Scrum e FDD - Manoel PimentelGestão Ágil de Projetos com Scrum e FDD - Manoel Pimentel
Gestão Ágil de Projetos com Scrum e FDD - Manoel Pimentel
Manoel Pimentel Medeiros
 
SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos
SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatosSCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos
SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos
Paulo César M Jeveaux
 
TDD: Técnicas, Benefícios e Limitação
TDD: Técnicas, Benefícios e Limitação TDD: Técnicas, Benefícios e Limitação
TDD: Técnicas, Benefícios e Limitação
Icaro Camelo
 

Semelhante a Palestra Testes De Unidade Com JUnit (20)

Encontro Locaweb
Encontro  LocawebEncontro  Locaweb
Encontro Locaweb
 
Encontro Locaweb Curitiba
Encontro  Locaweb CuritibaEncontro  Locaweb Curitiba
Encontro Locaweb Curitiba
 
Greenbar - Testes automatizados na sua empresa
Greenbar - Testes automatizados na sua empresaGreenbar - Testes automatizados na sua empresa
Greenbar - Testes automatizados na sua empresa
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
 
Testes
TestesTestes
Testes
 
Sobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis UberlândiaSobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis Uberlândia
 
O que é ser um bom programador?
O que é ser um bom programador?O que é ser um bom programador?
O que é ser um bom programador?
 
Qualidade e Testes de Software
Qualidade e Testes de SoftwareQualidade e Testes de Software
Qualidade e Testes de Software
 
Curso Scrum
Curso ScrumCurso Scrum
Curso Scrum
 
Testes de unidade - Conhecendo e aplicando
Testes de unidade - Conhecendo e aplicandoTestes de unidade - Conhecendo e aplicando
Testes de unidade - Conhecendo e aplicando
 
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
 
Gestão Ágil de Projetos com Scrum e FDD - Manoel Pimentel
Gestão Ágil de Projetos com Scrum e FDD - Manoel PimentelGestão Ágil de Projetos com Scrum e FDD - Manoel Pimentel
Gestão Ágil de Projetos com Scrum e FDD - Manoel Pimentel
 
SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos
SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatosSCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos
SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos
 
TDD: Técnicas, Benefícios e Limitação
TDD: Técnicas, Benefícios e Limitação TDD: Técnicas, Benefícios e Limitação
TDD: Técnicas, Benefícios e Limitaçã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
 
Como desenvolver-software
Como desenvolver-softwareComo desenvolver-software
Como desenvolver-software
 
UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27
 
Os Benefícios dos testes no desenvolvimento de software
Os Benefícios dos testes no desenvolvimento de softwareOs Benefícios dos testes no desenvolvimento de software
Os Benefícios dos testes no desenvolvimento de software
 
Tdd na veia
Tdd na veiaTdd na veia
Tdd na veia
 

Mais de Paulo César M Jeveaux

Empreendedorismo além do mundo da fantasia
Empreendedorismo além do mundo da fantasiaEmpreendedorismo além do mundo da fantasia
Empreendedorismo além do mundo da fantasia
Paulo César M Jeveaux
 
Case Giran 2011: os desafios no uso de práticas ágeis no dia-a-dia de uma sta...
Case Giran 2011: os desafios no uso de práticas ágeis no dia-a-dia de uma sta...Case Giran 2011: os desafios no uso de práticas ágeis no dia-a-dia de uma sta...
Case Giran 2011: os desafios no uso de práticas ágeis no dia-a-dia de uma sta...
Paulo César M Jeveaux
 
Case Giran - Os desafios no uso de XP e SCRUM no dia-a-dia
Case Giran - Os desafios no uso de XP e SCRUM no dia-a-diaCase Giran - Os desafios no uso de XP e SCRUM no dia-a-dia
Case Giran - Os desafios no uso de XP e SCRUM no dia-a-dia
Paulo César M Jeveaux
 
Negociação de contratos de projetos de software
Negociação de contratos de projetos de softwareNegociação de contratos de projetos de software
Negociação de contratos de projetos de software
Paulo César M Jeveaux
 
Desenvolvimento Ágil de Software com SCRUM
Desenvolvimento Ágil de Software com SCRUMDesenvolvimento Ágil de Software com SCRUM
Desenvolvimento Ágil de Software com SCRUM
Paulo César M Jeveaux
 
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate SearchTurbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Paulo César M Jeveaux
 
Comunidades Virtuais Java - Conexão Java - 2004
Comunidades Virtuais Java - Conexão Java - 2004Comunidades Virtuais Java - Conexão Java - 2004
Comunidades Virtuais Java - Conexão Java - 2004
Paulo César M Jeveaux
 

Mais de Paulo César M Jeveaux (20)

Wine.com.br - De zero a 300 milhões de faturamento na mesma plataforma
Wine.com.br - De zero a 300 milhões de faturamento na mesma plataformaWine.com.br - De zero a 300 milhões de faturamento na mesma plataforma
Wine.com.br - De zero a 300 milhões de faturamento na mesma plataforma
 
Empreendedorismo além do mundo da fantasia
Empreendedorismo além do mundo da fantasiaEmpreendedorismo além do mundo da fantasia
Empreendedorismo além do mundo da fantasia
 
Case Giran 2011: os desafios no uso de práticas ágeis no dia-a-dia de uma sta...
Case Giran 2011: os desafios no uso de práticas ágeis no dia-a-dia de uma sta...Case Giran 2011: os desafios no uso de práticas ágeis no dia-a-dia de uma sta...
Case Giran 2011: os desafios no uso de práticas ágeis no dia-a-dia de uma sta...
 
E-commerce Além dos Sites
E-commerce Além dos SitesE-commerce Além dos Sites
E-commerce Além dos Sites
 
Controle de versão com GIT
Controle de versão com GITControle de versão com GIT
Controle de versão com GIT
 
Resenha Rework por Jeveaux
Resenha Rework por JeveauxResenha Rework por Jeveaux
Resenha Rework por Jeveaux
 
Case Giran - Os desafios no uso de XP e SCRUM no dia-a-dia
Case Giran - Os desafios no uso de XP e SCRUM no dia-a-diaCase Giran - Os desafios no uso de XP e SCRUM no dia-a-dia
Case Giran - Os desafios no uso de XP e SCRUM no dia-a-dia
 
Desafios no e-commerce brasileiro
Desafios no e-commerce brasileiroDesafios no e-commerce brasileiro
Desafios no e-commerce brasileiro
 
Desenvolvimento Ágil de Software com SCRUM
Desenvolvimento Ágil de Software com SCRUMDesenvolvimento Ágil de Software com SCRUM
Desenvolvimento Ágil de Software com SCRUM
 
Negociação de contratos de projetos de software
Negociação de contratos de projetos de softwareNegociação de contratos de projetos de software
Negociação de contratos de projetos de software
 
Desenvolvimento Ágil de Software com SCRUM
Desenvolvimento Ágil de Software com SCRUMDesenvolvimento Ágil de Software com SCRUM
Desenvolvimento Ágil de Software com SCRUM
 
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate SearchTurbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
 
Extreme Programming - XP
Extreme Programming - XPExtreme Programming - XP
Extreme Programming - XP
 
Desenvolvimento Ágil com SCRUM
Desenvolvimento Ágil com SCRUMDesenvolvimento Ágil com SCRUM
Desenvolvimento Ágil com SCRUM
 
Certificação Digital
Certificação DigitalCertificação Digital
Certificação Digital
 
AOP - JustJava - 2005
AOP - JustJava - 2005AOP - JustJava - 2005
AOP - JustJava - 2005
 
AOP - ESJUG - 2005
AOP - ESJUG - 2005AOP - ESJUG - 2005
AOP - ESJUG - 2005
 
Comunidades Virtuais Java - Conexão Java - 2004
Comunidades Virtuais Java - Conexão Java - 2004Comunidades Virtuais Java - Conexão Java - 2004
Comunidades Virtuais Java - Conexão Java - 2004
 
Ruby On Rails
Ruby On RailsRuby On Rails
Ruby On Rails
 
JGoodies - Conexão Java 2005
JGoodies - Conexão Java 2005JGoodies - Conexão Java 2005
JGoodies - Conexão Java 2005
 

Último

Último (9)

Entrevistas, artigos, livros & citações de Paulo Pagliusi
Entrevistas, artigos, livros & citações de Paulo PagliusiEntrevistas, artigos, livros & citações de Paulo Pagliusi
Entrevistas, artigos, livros & citações de Paulo Pagliusi
 
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docxATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Palestras sobre Cibersegurança em Eventos - Paulo Pagliusi
Palestras sobre Cibersegurança em Eventos - Paulo PagliusiPalestras sobre Cibersegurança em Eventos - Paulo Pagliusi
Palestras sobre Cibersegurança em Eventos - Paulo Pagliusi
 
ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx
ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docxATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx
ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx
 
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIAEAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
 
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINASCOI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
 
Convergência TO e TI nas Usinas - Setor Sucroenergético
Convergência TO e TI nas Usinas - Setor SucroenergéticoConvergência TO e TI nas Usinas - Setor Sucroenergético
Convergência TO e TI nas Usinas - Setor Sucroenergético
 
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdf
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdfAula 01 - Introducao a Processamento de Frutos e Hortalicas.pdf
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdf
 

Palestra Testes De Unidade Com JUnit