SlideShare uma empresa Scribd logo
1 de 198
Baixar para ler offline
A importância dos
                            testes automatizados
                                  Rafael Ponte
                                   @rponte




Tuesday, October 18, 2011
@rponte



Tuesday, October 18, 2011
Tuesday, October 18, 2011
antes de começarmos...



Tuesday, October 18, 2011
quem aqui já programa?



Tuesday, October 18, 2011
quem aqui já programa?
                            Java? .Net? Ruby? PhP? C?
                                      Pascal?



Tuesday, October 18, 2011
e quem já trabalha na
                               área?


Tuesday, October 18, 2011
e quem escreve testes?



Tuesday, October 18, 2011
eu conheço alguém que escreve...




Tuesday, October 18, 2011
eu conheço alguém que escreve...
       e acho que muitos aqui também já o conhecem




Tuesday, October 18, 2011
@yuriadams
                            O garoto prodígio dos testes.
Tuesday, October 18, 2011
Tuesday, October 18, 2011
Tuesday, October 18, 2011
Tuesday, October 18, 2011
ME MATA
                               DE
                            ORGULHO!


Tuesday, October 18, 2011
desenvolver software é uma
                 luta contra complexidade



Tuesday, October 18, 2011
toda linha de código que
        escrevemos pode ser um ponto de
                       falha



Tuesday, October 18, 2011
toda linha de código que
        escrevemos pode ser um ponto de
                            falha crítico



Tuesday, October 18, 2011
estudamos e aplicamos práticas
                 para tentarmos diminuir estes
                             riscos



Tuesday, October 18, 2011
testar
Tuesday, October 18, 2011
por que testar?



Tuesday, October 18, 2011
para verificar se o sistema se
                        comporta como deveria




Tuesday, October 18, 2011
como testar?
    testes manuais.
    testes automatizados.



Tuesday, October 18, 2011
testes manuais



Tuesday, October 18, 2011
$ão caros
                            $ requer pessoal qualificado
                            $ requer tempo
                            $ requer documentação
                            $ repetitivos e cansativos


Tuesday, October 18, 2011
o que aprendemos com desenvolvimento de
                       software é que...




Tuesday, October 18, 2011
tudo que depende do homem
            e é repetitivo está sujeito a
                        falhas



Tuesday, October 18, 2011
por isso nós
                            automatizamos! :-)


Tuesday, October 18, 2011
testes automatizados



Tuesday, October 18, 2011
um programinha para testar
                            outro programinha




Tuesday, October 18, 2011
testes te trazem confiança e
    segurança para...



             > implementar novas features
             > achar e corrigir bugs
             > refatorar código
             > refatorar código dos outros


Tuesday, October 18, 2011
CONFIANÇA

Tuesday, October 18, 2011
os testes te permitem ter...


             > menor incidência de bugs
             > feedback rápido do que funciona
             > regressão de código
             > produtividade
             > melhor design do código
             > documentação executável
Tuesday, October 18, 2011
tipos de testes
          testes de unidade
             testes de integração
                testes de aceitação


Tuesday, October 18, 2011
testes de unidade
                            menor unidade de código
                                  executável



Tuesday, October 18, 2011
menor
                    unidade na   =   método
                      POO



Tuesday, October 18, 2011
teste de    teste
                          =
                 unidade    unitário


Tuesday, October 18, 2011
testes de unidade
    normalmente são:


                  > mais fáceis de escrever;
                  > muito rápidos para rodar;
                  > mais fáceis para rastrear
                  erros;


Tuesday, October 18, 2011
que tal rodar centenas ou
                        milhares de testes em
                              segundos?



Tuesday, October 18, 2011
feedback quase que instantâneo!
                             WOW!
Tuesday, October 18, 2011
testes de integração
                  seu código integrado ao banco
                     de dados, rede, disco etc



Tuesday, October 18, 2011
valida os componentes de
               software funcionando juntos




Tuesday, October 18, 2011
valida os componentes de
               software funcionando juntos
                            teste de “maxu” vai no banco de
                                        dados!




  Yuri Adams
Tuesday, October 18, 2011
e assim como os testes
                                  de unidade...
Tuesday, October 18, 2011
testes de integração
    normalmente são:


                  > mais fáceis de escrever;
                  > muito rápidos para rodar;
                  > mais fáceis para rastrear
                  erros;


Tuesday, October 18, 2011
feedback AINDA quase que
                                   instantâneo




Tuesday, October 18, 2011
testes de aceitação
                            o que o usuário espera que
                                     aconteça



Tuesday, October 18, 2011
teste



Tuesday, October 18, 2011
teste
                             end


Tuesday, October 18, 2011
teste
                             end
                              to
Tuesday, October 18, 2011
teste
                             end
                              to
                             end
Tuesday, October 18, 2011
valida o software na perspectiva
                          do usuário




Tuesday, October 18, 2011
valida o software na perspectiva
                            do usuário


Tuesday, October 18, 2011
valida o software na perspectiva

                            do usuário

Tuesday, October 18, 2011
testes de aceitação
    normalmente são:


                  > trabalhosos para escrever;
                  > lentos para rodar;
                  > difíceis para rastrear erros;
                  > frágeis


Tuesday, October 18, 2011
apesar da dificuldade para escrevê-los...




Tuesday, October 18, 2011
apesar da dificuldade para escrevê-los...


                                   Aceite os testes de
                                       aceitação!!




    Handerson Frota



Tuesday, October 18, 2011
apesar da dificuldade para escrevê-los...


                                   Aceite os testes de
                                       aceitação!!




                                ainda assim
                                vale a pena!
    Handerson Frota



Tuesday, October 18, 2011
resumindo...



Tuesday, October 18, 2011
como tudo isso vai numa app
                                real?




Tuesday, October 18, 2011
Tuesday, October 18, 2011
browser

                                         banco de dados
                               app
                            (servidor)




Tuesday, October 18, 2011
teste de unidade




Tuesday, October 18, 2011
teste de integração
Tuesday, October 18, 2011
teste de aceitação



Tuesday, October 18, 2011
teste de unidade




   teste de aceitação


 teste de integração
Tuesday, October 18, 2011
qual o melhor?



Tuesday, October 18, 2011
unidade > integração ?



Tuesday, October 18, 2011
não
Tuesday, October 18, 2011
integração > aceitação ?



Tuesday, October 18, 2011
não
Tuesday, October 18, 2011
aceitação > unidade ?



Tuesday, October 18, 2011
não
Tuesday, October 18, 2011
depende?



Tuesday, October 18, 2011
sim
Tuesday, October 18, 2011
depende da tua
                             necessidade


Tuesday, October 18, 2011
depende da tua
                             necessidade
                             teste de aceitação testa TUDO.



Handerson Frota
Tuesday, October 18, 2011
teste de integração é teste de
                                        “maxu”.




                                depende da tua                   Yuri Adams



                                 necessidade
                                    teste de aceitação testa TUDO.



Handerson Frota
Tuesday, October 18, 2011
mas no geral, siga a
                                pirâmide


Tuesday, October 18, 2011
Test Automation Pyramid



                                    Aceitação - 10%




                                  Integração - 40%



                                Unidade - 50%


Tuesday, October 18, 2011
que tal um pouco de
                                 prática, né?


Tuesday, October 18, 2011
de maneira não
                             automatizada


Tuesday, October 18, 2011
problema:
                     calcular fatorial de um
                             número

                            4! = 4.3.2.1 = 24


Tuesday, October 18, 2011
1! ==> 1
                            2! ==> 2
                            3! ==> 6
                                ...

Tuesday, October 18, 2011
4! = 4.3.2.1 = 24

    “com um algoritimo
        recursivo eu
      resolvo isso fácil
    antes da novela das
            7h”


Tuesday, October 18, 2011
Uma função recursiva é uma
                            função que se refere a si própria
Tuesday, October 18, 2011
Tuesday, October 18, 2011
como testar o código?



Tuesday, October 18, 2011
1! ==> 1
                            2! ==> 2
                            3! ==> 6
                                ...

Tuesday, October 18, 2011
você escreve uma classe de teste
                       “meia-boca”




Tuesday, October 18, 2011
depois roda a classe de teste na linha
                de comando




Tuesday, October 18, 2011
depois roda a classe de teste na linha
                de comando




                para ver o resultado!
Tuesday, October 18, 2011
você testa mais um pouco...




Tuesday, October 18, 2011
e roda mais uma vez para ver o
                         resultado...




Tuesday, October 18, 2011
altera mais um pouco,
                             roda mais um pouco,
                              verifica o resultado,
                            corrige aqui, corrige ali,
                                 roda de novo, ...


Tuesday, October 18, 2011
e depois que tudo
                              funciona como
                                esperado...


Tuesday, October 18, 2011
zipa e envia pro
                             professor, né?




Tuesday, October 18, 2011
zipa e envia pro
                              professor, né?


                            ainda não!!
Tuesday, October 18, 2011
zipa e envia pro
                             professor, né?

                 falta apagar a classe
                “meia-boca” de teste!
Tuesday, October 18, 2011
agora sim! zipa e envia
                         pro professor!




Tuesday, October 18, 2011
agora sim! zipa e envia
                         pro professor!

                            com cópia pra mim também! ;D




       Sérgio
Tuesday, October 18, 2011
PRONTO!

Tuesday, October 18, 2011
facinho, né?




Tuesday, October 18, 2011
agora você pode jogar
                              Starcraft II em paz!
Tuesday, October 18, 2011
ou

Tuesday, October 18, 2011
jogar XBox com seus amigos
                              descolados




Tuesday, October 18, 2011
eu me pergunto...



Tuesday, October 18, 2011
e depois de todo esse
  esforço...




Tuesday, October 18, 2011
e depois de todo esse
  esforço...




                            você DESCARTA sua
                               classe de teste?
Tuesday, October 18, 2011
e depois de todo esse
  esforço...
                                   e daí?




          Sérgio
                            você DESCARTA sua
                               classe de teste?
Tuesday, October 18, 2011
e depois de todo esse
  esforço...
                              o que importa é o programa
                                        e daí?
                                       rodando!




          Sérgio
                            você DESCARTA sua
                               classe de teste?
Tuesday, October 18, 2011
e depois de todo esse
  esforço...
                              o que importa é mexer nesse
                              nunca maisevou o programa
                                          daí?
                                 códigorodando! mesmo
                                        de novo




          Sérgio
                            você DESCARTA sua
                               classe de teste?
Tuesday, October 18, 2011
mas na vida real não é
                         bem assim...


Tuesday, October 18, 2011
você mantém o código
                     até que o software
                          “morra”


Tuesday, October 18, 2011
um software não morre...




Tuesday, October 18, 2011
um software não morre...
                            até que




Tuesday, October 18, 2011
um software não morre...
                                   até que
      você tire ele de produção,




Tuesday, October 18, 2011
um software não morre...
                                        até que
      você tire ele de produção,
               você apague todo o código fonte




Tuesday, October 18, 2011
um software não morre...
                                        até que
      você tire ele de produção,
               você apague todo o código fonte
 você apague o banco de dados




Tuesday, October 18, 2011
um software não morre...
                                                   até que
      você tire ele de produção,
               você apague todo o código fonte
 você apague o banco de dados
                            você mate os programadores,
                                 mate os analistas e o arquiteto


Tuesday, October 18, 2011
um software não morre...
                                                   até que
      você tire ele de produção,
               você apague todo o código fonte
 você apague o banco de dados
                            você mate os programadores,
                                 mate os analistas e o arquiteto
    e você queime o backup e documentação

Tuesday, October 18, 2011
mas pro seu azar...




Tuesday, October 18, 2011
suponha que seu professor queira um
                            algoritimo não-recursivo




Tuesday, October 18, 2011
suponha que seu professor queira um
                            algoritimo não-recursivo




                            #comofas

Tuesday, October 18, 2011
1. você vai ter que estudar o
                                 problema de novo




Tuesday, October 18, 2011
2. você tem que alterar o
                               código atual de novo




Tuesday, October 18, 2011
3. você vai ter que testa-lo de
                                         novo




Tuesday, October 18, 2011
mas cadê minha
    classe de teste?




Tuesday, October 18, 2011
eu                  apagueeeeeiiii?



Tuesday, October 18, 2011
Tuesday, October 18, 2011
que tal fazermos do
                                jeito certo?



Tuesday, October 18, 2011
que tal fazermos do
                                jeito certo?
                            com testes automatizados



Tuesday, October 18, 2011
jUnit
          assertEquals(expected, actual);



Tuesday, October 18, 2011
jUnit
                            assertEquals(4, 2+2);



Tuesday, October 18, 2011
jUnit
                            assertEquals(7, 10-4);



Tuesday, October 18, 2011
vamos   testar
Tuesday, October 18, 2011
implementação recursiva
Tuesday, October 18, 2011
primeiro caso de teste



                                 1! ==> 1



Tuesday, October 18, 2011
você escreve o teste com jUnit




Tuesday, October 18, 2011
depois roda o teste...




Tuesday, October 18, 2011
mais alguns casos de teste...

                                2! ==> 2
                                3! ==> 6
                                4! ==> 24
                                5! ==> 120

Tuesday, October 18, 2011
escreva os casos de teste...




Tuesday, October 18, 2011
roda mais uma vez...




Tuesday, October 18, 2011
um caso esquecido...


                                0! ==> 1
                                1! ==> 1


Tuesday, October 18, 2011
não me escapa...




Tuesday, October 18, 2011
roda mais uma vez...




Tuesday, October 18, 2011
PRONTO!
                        agora você pode escrever o
                          algoritimo não-recursivo



Tuesday, October 18, 2011
#greenbar
                        refatora ==> roda os testes



Tuesday, October 18, 2011
facinho, né?




Tuesday, October 18, 2011
primeiro escreve o código da
                            implementação, depois escreve o de
                                      teste... LEGAL!




Tuesday, October 18, 2011
e se fosse possível escrever o teste
                                ANTES da implementação?




Tuesday, October 18, 2011
ahn?




Tuesday, October 18, 2011
TDD
                            Test Driven Development




Tuesday, October 18, 2011
é assim que eu evoluo minha aplicação de
                                            forma contínua




                                        TDD
                            Test Driven Development




Tuesday, October 18, 2011
é assim que eu evoluo minha aplicação de
                                    eu falei sobre isso aqui ontem, ué!
                                              forma contínua




                                        TDD
                            Test Driven Development




Tuesday, October 18, 2011
step by step




Tuesday, October 18, 2011
TDD = testes


Tuesday, October 18, 2011
não
                            TDD = testes


Tuesday, October 18, 2011
TDD é sobre DESIGN e
            MODELAGEM de código


Tuesday, October 18, 2011
a bateria de testes é
                                 um brinde


Tuesday, October 18, 2011
CULTURA DE TESTES
                            casos e casos




Tuesday, October 18, 2011
Tuesday, October 18, 2011
Tuesday, October 18, 2011
Tuesday, October 18, 2011
NEM TUDO SÃO FLORES
                            Depois de +2 anos escrevendo testes.




Tuesday, October 18, 2011
primeiro passo na
                               consultoria


Tuesday, October 18, 2011
Convencer a gerência.
                            Seria um investimento de médio-longo prazo.




Tuesday, October 18, 2011
Projeto já em andamento.
  Dificuldade para escrever testes.




Tuesday, October 18, 2011
Infra?
                            Não tínhamos nada pronto!




Tuesday, October 18, 2011
Colaboração da equipe.
                            Equipe de bons desenvolvedores, mas sem
                                              experiência com testes.




Tuesday, October 18, 2011
Zona de Conforto



Tuesday, October 18, 2011
Devs. simpatizantes.
                            Teste de integração é teste de “maxu”!




Tuesday, October 18, 2011
Testes mal escritos.
  Você vai escrevê-los, pode ter certeza disso.




Tuesday, October 18, 2011
TDD.
  Somente em regras de negócio complexas.




Tuesday, October 18, 2011
OOP e SOLID Principles
               Sem estes conhecimentos não é tão simples ter
                             um bom design.




Tuesday, October 18, 2011
Testes de Aceitação.
  Tudo ia bem, até o dia em que o número de
  testes cresceu demais.




Tuesday, October 18, 2011
Testando cenários
                                 importantes.
                               Começamos do jeito certo.




Tuesday, October 18, 2011
Test Automation Pyramid


                                    Aceitação - 10%




                                  Integração - 40%



                                Unidade - 50%


Tuesday, October 18, 2011
More, more...
  Testes com granularidade fina demais.




Tuesday, October 18, 2011
Test Automation Pyramid
                                            Square


                                  Aceitação - 30%


                                  Integração - 30%



                                  Unidade - 40%




Tuesday, October 18, 2011
Mantê-los se tornou caro.
  Frágeis, feedback demorado, falsos negativos e
  difícil rastrear erros.




Tuesday, October 18, 2011
Nos tornamos mais
                               criteriosos.




Tuesday, October 18, 2011
IMPACTO
                            Depois de +2 anos escrevendo testes.




Tuesday, October 18, 2011
PRODUTIVIDADE.
                     Baixa no início. Melhora durante os Sprints.




Tuesday, October 18, 2011
Qualidade no software.
                            Menor incidência de bugs e correções rápidas.




Tuesday, October 18, 2011
De 100% para 25%.
                             Melhoramos nossas estimativas.




Tuesday, October 18, 2011
Gerência.
                            Satisfeita com a produtividade de alguns
                                 projetos, decepcionada com outros.




Tuesday, October 18, 2011
Equipe mais madura.
  Perceberam a importância real dos testes.




Tuesday, October 18, 2011
CONCLUSÃO


Tuesday, October 18, 2011
Você só percebe os benefícios dos testes entre

                            6 meses e 1 ano


Tuesday, October 18, 2011
não existe uma receita de bolo
                   para desenvolver software




Tuesday, October 18, 2011
mas sim
                  um conjunto de princípios e
                 práticas que podem te ajudar a
                       desenvolver melhor



Tuesday, October 18, 2011
permita que sua equipe
                               trabalhe melhor




Tuesday, October 18, 2011
permita que sua empresa
                            entregue software melhor




Tuesday, October 18, 2011
permita-se ser um profissional
                              melhor




Tuesday, October 18, 2011
use testes
                            automatizados


Tuesday, October 18, 2011
testes automatizados




                                eu aprovo!
Tuesday, October 18, 2011
Rafael Ponte
                            rponte@triadworks.com.br




Tuesday, October 18, 2011

Mais conteúdo relacionado

Mais de Rafael Ponte

TechDay: 10 Features do Oracle que voce nao conhecia - CONNECT BY CLAUSE
TechDay: 10 Features do Oracle que voce nao conhecia - CONNECT BY CLAUSETechDay: 10 Features do Oracle que voce nao conhecia - CONNECT BY CLAUSE
TechDay: 10 Features do Oracle que voce nao conhecia - CONNECT BY CLAUSERafael Ponte
 
TechDay Retrospectiva 2018
TechDay Retrospectiva 2018TechDay Retrospectiva 2018
TechDay Retrospectiva 2018Rafael Ponte
 
Arquitetura Java - Escalando além do Hype
Arquitetura Java - Escalando além do HypeArquitetura Java - Escalando além do Hype
Arquitetura Java - Escalando além do HypeRafael Ponte
 
Como treinar seu estagiario
Como treinar seu estagiarioComo treinar seu estagiario
Como treinar seu estagiarioRafael Ponte
 
Lidando com o Caos: Testando Código PLSQL em um Projeto Critico
Lidando com o Caos: Testando Código PLSQL em um Projeto CriticoLidando com o Caos: Testando Código PLSQL em um Projeto Critico
Lidando com o Caos: Testando Código PLSQL em um Projeto CriticoRafael Ponte
 
Como Apresentar Codigo em Slides - Javou #7 - 2016
Como Apresentar Codigo em Slides - Javou #7 - 2016Como Apresentar Codigo em Slides - Javou #7 - 2016
Como Apresentar Codigo em Slides - Javou #7 - 2016Rafael Ponte
 
Importancia dos Testes Automatizados no dia a dia FIC-Estacio 2015
Importancia dos Testes Automatizados no dia a dia FIC-Estacio 2015Importancia dos Testes Automatizados no dia a dia FIC-Estacio 2015
Importancia dos Testes Automatizados no dia a dia FIC-Estacio 2015Rafael Ponte
 
Hibernate efetivo (IA-2014 / Disturbing the Mind)
Hibernate efetivo (IA-2014 / Disturbing the Mind)Hibernate efetivo (IA-2014 / Disturbing the Mind)
Hibernate efetivo (IA-2014 / Disturbing the Mind)Rafael Ponte
 
Hibernate efetivo (COALTI-2014 / ALJUG)
Hibernate efetivo (COALTI-2014 / ALJUG)Hibernate efetivo (COALTI-2014 / ALJUG)
Hibernate efetivo (COALTI-2014 / ALJUG)Rafael Ponte
 
Migrations for Java (QCONSP2013)
Migrations for Java (QCONSP2013)Migrations for Java (QCONSP2013)
Migrations for Java (QCONSP2013)Rafael Ponte
 
Importancia dos Testes Automatizados no dia a dia (Don't Panic)
Importancia dos Testes Automatizados no dia a dia (Don't Panic)Importancia dos Testes Automatizados no dia a dia (Don't Panic)
Importancia dos Testes Automatizados no dia a dia (Don't Panic)Rafael Ponte
 
Importância dos testes automatizados no dia a dia
Importância dos testes automatizados no dia a diaImportância dos testes automatizados no dia a dia
Importância dos testes automatizados no dia a diaRafael Ponte
 
Hibernate Efetivo (QCONSP-2012)
Hibernate Efetivo (QCONSP-2012)Hibernate Efetivo (QCONSP-2012)
Hibernate Efetivo (QCONSP-2012)Rafael Ponte
 
Migrations for Java
Migrations for JavaMigrations for Java
Migrations for JavaRafael Ponte
 
Os 10 maus habitos dos desenvolvedores jsf (JustJava e CCT)
Os 10 maus habitos dos desenvolvedores jsf (JustJava e CCT)Os 10 maus habitos dos desenvolvedores jsf (JustJava e CCT)
Os 10 maus habitos dos desenvolvedores jsf (JustJava e CCT)Rafael Ponte
 
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
 
Entendendo Domain-Driven Design
Entendendo Domain-Driven DesignEntendendo Domain-Driven Design
Entendendo Domain-Driven DesignRafael Ponte
 
Anatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer FacesAnatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer FacesRafael Ponte
 

Mais de Rafael Ponte (18)

TechDay: 10 Features do Oracle que voce nao conhecia - CONNECT BY CLAUSE
TechDay: 10 Features do Oracle que voce nao conhecia - CONNECT BY CLAUSETechDay: 10 Features do Oracle que voce nao conhecia - CONNECT BY CLAUSE
TechDay: 10 Features do Oracle que voce nao conhecia - CONNECT BY CLAUSE
 
TechDay Retrospectiva 2018
TechDay Retrospectiva 2018TechDay Retrospectiva 2018
TechDay Retrospectiva 2018
 
Arquitetura Java - Escalando além do Hype
Arquitetura Java - Escalando além do HypeArquitetura Java - Escalando além do Hype
Arquitetura Java - Escalando além do Hype
 
Como treinar seu estagiario
Como treinar seu estagiarioComo treinar seu estagiario
Como treinar seu estagiario
 
Lidando com o Caos: Testando Código PLSQL em um Projeto Critico
Lidando com o Caos: Testando Código PLSQL em um Projeto CriticoLidando com o Caos: Testando Código PLSQL em um Projeto Critico
Lidando com o Caos: Testando Código PLSQL em um Projeto Critico
 
Como Apresentar Codigo em Slides - Javou #7 - 2016
Como Apresentar Codigo em Slides - Javou #7 - 2016Como Apresentar Codigo em Slides - Javou #7 - 2016
Como Apresentar Codigo em Slides - Javou #7 - 2016
 
Importancia dos Testes Automatizados no dia a dia FIC-Estacio 2015
Importancia dos Testes Automatizados no dia a dia FIC-Estacio 2015Importancia dos Testes Automatizados no dia a dia FIC-Estacio 2015
Importancia dos Testes Automatizados no dia a dia FIC-Estacio 2015
 
Hibernate efetivo (IA-2014 / Disturbing the Mind)
Hibernate efetivo (IA-2014 / Disturbing the Mind)Hibernate efetivo (IA-2014 / Disturbing the Mind)
Hibernate efetivo (IA-2014 / Disturbing the Mind)
 
Hibernate efetivo (COALTI-2014 / ALJUG)
Hibernate efetivo (COALTI-2014 / ALJUG)Hibernate efetivo (COALTI-2014 / ALJUG)
Hibernate efetivo (COALTI-2014 / ALJUG)
 
Migrations for Java (QCONSP2013)
Migrations for Java (QCONSP2013)Migrations for Java (QCONSP2013)
Migrations for Java (QCONSP2013)
 
Importancia dos Testes Automatizados no dia a dia (Don't Panic)
Importancia dos Testes Automatizados no dia a dia (Don't Panic)Importancia dos Testes Automatizados no dia a dia (Don't Panic)
Importancia dos Testes Automatizados no dia a dia (Don't Panic)
 
Importância dos testes automatizados no dia a dia
Importância dos testes automatizados no dia a diaImportância dos testes automatizados no dia a dia
Importância dos testes automatizados no dia a dia
 
Hibernate Efetivo (QCONSP-2012)
Hibernate Efetivo (QCONSP-2012)Hibernate Efetivo (QCONSP-2012)
Hibernate Efetivo (QCONSP-2012)
 
Migrations for Java
Migrations for JavaMigrations for Java
Migrations for Java
 
Os 10 maus habitos dos desenvolvedores jsf (JustJava e CCT)
Os 10 maus habitos dos desenvolvedores jsf (JustJava e CCT)Os 10 maus habitos dos desenvolvedores jsf (JustJava e CCT)
Os 10 maus habitos dos desenvolvedores jsf (JustJava e CCT)
 
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
 
Entendendo Domain-Driven Design
Entendendo Domain-Driven DesignEntendendo Domain-Driven Design
Entendendo Domain-Driven Design
 
Anatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer FacesAnatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer Faces
 

Importância dos testes automatizados