SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
(48) 3285 5615 / 9645 5506
contato@qualister.com.br
• Terceirização de profissionais
• Consultoria de teste
• Avaliação de usabilidade
• Automação de testes
• Testes de performance
• Treinamentos

www.qualister.com.br

TDD e UnitTest
em Java

1
Palestrante

Júlio de Lima
E-mail:
julio.lima@qualister.com.br

Linkedin:
br.linkedin.com/in/juliodelimas/
Especialista em automação de testes de software
Experiência em projetos:

•
•
–
–
–
–

•
•

Softwares para o setor Público
Mercado de Ações
Telefonia e SAP
CloudComputing

Certificações internacionais (CTFL e CTAL-TM)
Certificação nacional (CBTS)
2

www.qualister.com.br
Twitter

twitter.com/juliodelimas

3
www.qualister.com.br
Parcerias internacionais

Soluções para automação, profilling e gestão de testes

Soluções para testes de performance

Soluções de apoio a avaliação de usabilidade

4
www.qualister.com.br
Precisamos refatorar o código...

Vai dar
merda!

5
www.qualister.com.br
O que é Unit Test?

“Unit Test (Teste unitário) é um processo
de desenvolvimento de software no qual
a menor parte testável de uma
aplicação, denominada Unidade, é
individualmente e independentemente
verificada se faz o que realmente
deveria fazer”
Software Testing Stuff
http://www.softwaretestingstuff.com/2010/09/unit-testing-best-practices-techniques.html
6
www.qualister.com.br
O que é Unit Test?

Código:

UnitTest:

7
www.qualister.com.br
O que é Unit Test?

“A criação de testes unitários evita
diversos problemas futuros, por
garantir a qualidade e eficiência do
código.”
Software Testing Stuff
http://www.softwaretestingstuff.com/2010/09/unit-testing-best-practices-techniques.html
8
www.qualister.com.br
Porque testar?

Para adquirir confiança no código
que está sendo desenvolvido. E
garantir que mudanças futuras não
farão com que o que funcionava,
parou de funcionar.

9
www.qualister.com.br
Porque testar?

Será que eu fiz
merda!?

“Ficar com a mente tranqüila depois de alterar uma grande
quantidade de código, não tem preço!”
10
www.qualister.com.br
Frameworks

Frameworks fornecem ao
desenvolvedor bibliotecas que
tornam mais simples e mais
produtivo o trabalho de construção
dos testes.

11
www.qualister.com.br
Quando são construídos?

Antes, durante ou após a
codificação. Isso depende da
metodologia utilizada.

12
www.qualister.com.br
Características de um bom UnitTest










Automático;
Completo;
Repetitivo;
Independente;
Objetivo;
Profissional;
Veloz;
Legível.

www.qualister.com.br

13
Livro: The Pragmatic Unit Testing
TDD (Test-Driven Development)

TDD é uma técnica utilizada geralmente
em projetos que seguem metodologias
ágeis, e prega que, antes de iniciar a
escrita de código, devemos construir
testes que provem que o código que
será escrito funciona como esperado.

14
www.qualister.com.br
O ciclo Red/Green/Refactor

A construção dos scripts seguem um
fluxo muito conhecido, chamado
Red/Green/Refactor, palavras que
fazem referência a
Falha/Sucesso/Manutenção do código

15
www.qualister.com.br
Exemplo com JUnit

Exemplo com JUnit

16
www.qualister.com.br
Quando os testes são executados?

Os testes podem ser executados
manual ou automaticamente, antes ou
depois de codificar. Uma prática comum
é a de sincronizar a execução dos
testes com a ferramenta de integração
contínua.

17
www.qualister.com.br
Benefícios

 Aumenta a confiança no código
desenvolvido;
 Facilita a refatoração dos códigos;
 Reduz o custo das falhas encontradas;
 Código pode ser testado previamente;
 Permite a criação de um código mais
limpo;
 Reduz o tempo com debug de código.

18
www.qualister.com.br
Desafios na adoção de Unit Test e TDD








Tempo;
Investimento;
Motivação;
Comprometimento;
Modo de programar;
Reescrita de parte
do código legado.

19
www.qualister.com.br
Retorno no Investimento

Retorno do Investimento

Tempo
20
www.qualister.com.br
Dúvidas?

julio.lima@qualister.com.br
slideshare.net/juliodelimas
Telefone: (48) 3285 5615
www.qualister.com.br
21
www.qualister.com.br

Más contenido relacionado

La actualidad más candente

Automação em Wearables para Android
Automação em Wearables para AndroidAutomação em Wearables para Android
Automação em Wearables para AndroidElias Nogueira
 
Teste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testingTeste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testingQualister
 
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
 
Palestra Automação de Testes em Dispositivos Móveis na Nuvem (BRATESTE2013)
Palestra Automação de Testes em Dispositivos Móveis na Nuvem (BRATESTE2013)Palestra Automação de Testes em Dispositivos Móveis na Nuvem (BRATESTE2013)
Palestra Automação de Testes em Dispositivos Móveis na Nuvem (BRATESTE2013)Júlio de Lima
 
Testes para Android de ponta a ponta
Testes para Android de ponta a pontaTestes para Android de ponta a ponta
Testes para Android de ponta a pontaElias Nogueira
 
4° Encontro Mensal ALATS: Automação de Teste - Mitos e Verdades
4° Encontro Mensal ALATS: Automação de Teste - Mitos e Verdades4° Encontro Mensal ALATS: Automação de Teste - Mitos e Verdades
4° Encontro Mensal ALATS: Automação de Teste - Mitos e VerdadesElias Nogueira
 
O testador esta morto!
O testador esta morto!O testador esta morto!
O testador esta morto!Elias Nogueira
 
Testando na Gringa - Se preparando para uma entrevista técnica para uma vaga ...
Testando na Gringa - Se preparando para uma entrevista técnica para uma vaga ...Testando na Gringa - Se preparando para uma entrevista técnica para uma vaga ...
Testando na Gringa - Se preparando para uma entrevista técnica para uma vaga ...Walmyr Lima e Silva Filho
 
Testes em métodos ágeis
Testes em métodos ágeisTestes em métodos ágeis
Testes em métodos ágeisQualister
 
Fundamentos e Carreira em Teste de Software (Aula Magna UniSalesiano)
Fundamentos e Carreira em Teste de Software (Aula Magna UniSalesiano)Fundamentos e Carreira em Teste de Software (Aula Magna UniSalesiano)
Fundamentos e Carreira em Teste de Software (Aula Magna UniSalesiano)Júlio de Lima
 
Automação de Teste para iOS e Android com Appium
Automação de Teste para iOS e Android com AppiumAutomação de Teste para iOS e Android com Appium
Automação de Teste para iOS e Android com AppiumElias Nogueira
 
Mini curso de testes ágeis
Mini curso de testes ágeisMini curso de testes ágeis
Mini curso de testes ágeisQualister
 
Automacao de testes mitos e verdades
Automacao de testes mitos e verdadesAutomacao de testes mitos e verdades
Automacao de testes mitos e verdadesCristiano Caetano
 
Automacao testes automatizados
Automacao testes automatizadosAutomacao testes automatizados
Automacao testes automatizadosCristiano Caetano
 
Meetup SP - O QA & a Especificação Por Exemplo
Meetup SP - O QA & a Especificação Por ExemploMeetup SP - O QA & a Especificação Por Exemplo
Meetup SP - O QA & a Especificação Por ExemploSamanta Cicilia
 
1 2 3 - Testando - Automatizando os testes de software
1 2 3 - Testando - Automatizando os testes de software1 2 3 - Testando - Automatizando os testes de software
1 2 3 - Testando - Automatizando os testes de softwareHeider Lopes
 
Agileze seus testes com automacao e grid
Agileze seus testes com automacao e gridAgileze seus testes com automacao e grid
Agileze seus testes com automacao e gridElias Nogueira
 
TOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de TestesTOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de TestesSamanta Cicilia
 
Automação no Processo de Teste
Automação no Processo de TesteAutomação no Processo de Teste
Automação no Processo de TesteElias Nogueira
 
Teste performance carga stress jmeter
Teste performance carga stress jmeterTeste performance carga stress jmeter
Teste performance carga stress jmeterCristiano Caetano
 

La actualidad más candente (20)

Automação em Wearables para Android
Automação em Wearables para AndroidAutomação em Wearables para Android
Automação em Wearables para Android
 
Teste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testingTeste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testing
 
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
 
Palestra Automação de Testes em Dispositivos Móveis na Nuvem (BRATESTE2013)
Palestra Automação de Testes em Dispositivos Móveis na Nuvem (BRATESTE2013)Palestra Automação de Testes em Dispositivos Móveis na Nuvem (BRATESTE2013)
Palestra Automação de Testes em Dispositivos Móveis na Nuvem (BRATESTE2013)
 
Testes para Android de ponta a ponta
Testes para Android de ponta a pontaTestes para Android de ponta a ponta
Testes para Android de ponta a ponta
 
4° Encontro Mensal ALATS: Automação de Teste - Mitos e Verdades
4° Encontro Mensal ALATS: Automação de Teste - Mitos e Verdades4° Encontro Mensal ALATS: Automação de Teste - Mitos e Verdades
4° Encontro Mensal ALATS: Automação de Teste - Mitos e Verdades
 
O testador esta morto!
O testador esta morto!O testador esta morto!
O testador esta morto!
 
Testando na Gringa - Se preparando para uma entrevista técnica para uma vaga ...
Testando na Gringa - Se preparando para uma entrevista técnica para uma vaga ...Testando na Gringa - Se preparando para uma entrevista técnica para uma vaga ...
Testando na Gringa - Se preparando para uma entrevista técnica para uma vaga ...
 
Testes em métodos ágeis
Testes em métodos ágeisTestes em métodos ágeis
Testes em métodos ágeis
 
Fundamentos e Carreira em Teste de Software (Aula Magna UniSalesiano)
Fundamentos e Carreira em Teste de Software (Aula Magna UniSalesiano)Fundamentos e Carreira em Teste de Software (Aula Magna UniSalesiano)
Fundamentos e Carreira em Teste de Software (Aula Magna UniSalesiano)
 
Automação de Teste para iOS e Android com Appium
Automação de Teste para iOS e Android com AppiumAutomação de Teste para iOS e Android com Appium
Automação de Teste para iOS e Android com Appium
 
Mini curso de testes ágeis
Mini curso de testes ágeisMini curso de testes ágeis
Mini curso de testes ágeis
 
Automacao de testes mitos e verdades
Automacao de testes mitos e verdadesAutomacao de testes mitos e verdades
Automacao de testes mitos e verdades
 
Automacao testes automatizados
Automacao testes automatizadosAutomacao testes automatizados
Automacao testes automatizados
 
Meetup SP - O QA & a Especificação Por Exemplo
Meetup SP - O QA & a Especificação Por ExemploMeetup SP - O QA & a Especificação Por Exemplo
Meetup SP - O QA & a Especificação Por Exemplo
 
1 2 3 - Testando - Automatizando os testes de software
1 2 3 - Testando - Automatizando os testes de software1 2 3 - Testando - Automatizando os testes de software
1 2 3 - Testando - Automatizando os testes de software
 
Agileze seus testes com automacao e grid
Agileze seus testes com automacao e gridAgileze seus testes com automacao e grid
Agileze seus testes com automacao e grid
 
TOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de TestesTOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
 
Automação no Processo de Teste
Automação no Processo de TesteAutomação no Processo de Teste
Automação no Processo de Teste
 
Teste performance carga stress jmeter
Teste performance carga stress jmeterTeste performance carga stress jmeter
Teste performance carga stress jmeter
 

Similar a TDD e UnitTest em Java

Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasKleitor Franklint Correa Araujo
 
Mini curso testes ágeis
Mini curso testes ágeisMini curso testes ágeis
Mini curso testes ágeisQualister
 
Porque você precisa de uma estratégia de QA e precisa disso AGORA!
Porque você precisa de uma estratégia de QA e precisa disso AGORA!Porque você precisa de uma estratégia de QA e precisa disso AGORA!
Porque você precisa de uma estratégia de QA e precisa disso AGORA!Daniel Carvalhinho
 
Testes Ágeis: 1° Seminário Paranaense de Qualidade de Software
Testes Ágeis: 1° Seminário Paranaense de Qualidade de SoftwareTestes Ágeis: 1° Seminário Paranaense de Qualidade de Software
Testes Ágeis: 1° Seminário Paranaense de Qualidade de SoftwareCristiano Caetano
 
Palestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraPalestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraTaís Dall'Oca
 
Reusabilidade na Utilização de Frameworks Automatizados
Reusabilidade na Utilização de Frameworks Automatizados Reusabilidade na Utilização de Frameworks Automatizados
Reusabilidade na Utilização de Frameworks Automatizados Webcasts developerWorks Brasil
 
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...Igor Abade
 
Conceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidadeConceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidaderzauza
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxRoberto Nunes
 
Papéis em Teste e Qualidade de Software
Papéis em Teste e Qualidade de SoftwarePapéis em Teste e Qualidade de Software
Papéis em Teste e Qualidade de SoftwareCamilo Ribeiro
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven DevelopmentOtavio Augusto
 
TDC-2014 Automação de testes para não programadores com selenium e keyword dr...
TDC-2014 Automação de testes para não programadores com selenium e keyword dr...TDC-2014 Automação de testes para não programadores com selenium e keyword dr...
TDC-2014 Automação de testes para não programadores com selenium e keyword dr...Cristiano Caetano
 
Introdução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de SoftwareIntrodução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de SoftwareCloves da Rocha
 
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a QualidadeERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a QualidadeAndré Abe Vicente
 
Apresentação estrela vs cmmi nivel 2
Apresentação estrela vs cmmi nivel 2Apresentação estrela vs cmmi nivel 2
Apresentação estrela vs cmmi nivel 2Fernando Vargas
 

Similar a TDD e UnitTest em Java (20)

Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégias
 
Mini curso testes ágeis
Mini curso testes ágeisMini curso testes ágeis
Mini curso testes ágeis
 
Mini Curso Testes Ageis
Mini Curso Testes AgeisMini Curso Testes Ageis
Mini Curso Testes Ageis
 
Então, precisamos mesmo de QA em projetos Ágeis?
Então, precisamos mesmo de QA em projetos Ágeis?Então, precisamos mesmo de QA em projetos Ágeis?
Então, precisamos mesmo de QA em projetos Ágeis?
 
Porque você precisa de uma estratégia de QA e precisa disso AGORA!
Porque você precisa de uma estratégia de QA e precisa disso AGORA!Porque você precisa de uma estratégia de QA e precisa disso AGORA!
Porque você precisa de uma estratégia de QA e precisa disso AGORA!
 
Workshop ietec Devops Testing
Workshop ietec Devops TestingWorkshop ietec Devops Testing
Workshop ietec Devops Testing
 
Testes Ágeis: 1° Seminário Paranaense de Qualidade de Software
Testes Ágeis: 1° Seminário Paranaense de Qualidade de SoftwareTestes Ágeis: 1° Seminário Paranaense de Qualidade de Software
Testes Ágeis: 1° Seminário Paranaense de Qualidade de Software
 
Apresentacao dev ops
Apresentacao dev opsApresentacao dev ops
Apresentacao dev ops
 
Apresentação TCC I - IES/SC 2013
Apresentação TCC I - IES/SC 2013Apresentação TCC I - IES/SC 2013
Apresentação TCC I - IES/SC 2013
 
Palestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraPalestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreira
 
Reusabilidade na Utilização de Frameworks Automatizados
Reusabilidade na Utilização de Frameworks Automatizados Reusabilidade na Utilização de Frameworks Automatizados
Reusabilidade na Utilização de Frameworks Automatizados
 
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
 
Conceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidadeConceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidade
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptx
 
Papéis em Teste e Qualidade de Software
Papéis em Teste e Qualidade de SoftwarePapéis em Teste e Qualidade de Software
Papéis em Teste e Qualidade de Software
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
TDC-2014 Automação de testes para não programadores com selenium e keyword dr...
TDC-2014 Automação de testes para não programadores com selenium e keyword dr...TDC-2014 Automação de testes para não programadores com selenium e keyword dr...
TDC-2014 Automação de testes para não programadores com selenium e keyword dr...
 
Introdução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de SoftwareIntrodução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de Software
 
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a QualidadeERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
 
Apresentação estrela vs cmmi nivel 2
Apresentação estrela vs cmmi nivel 2Apresentação estrela vs cmmi nivel 2
Apresentação estrela vs cmmi nivel 2
 

Más de Júlio de Lima

[ATC2021] Distribuição de Testes em Diferentes Camadas
[ATC2021] Distribuição de Testes em Diferentes Camadas[ATC2021] Distribuição de Testes em Diferentes Camadas
[ATC2021] Distribuição de Testes em Diferentes CamadasJúlio de Lima
 
ALTER FACE Test Heuristic
ALTER FACE Test HeuristicALTER FACE Test Heuristic
ALTER FACE Test HeuristicJúlio de Lima
 
[ScrumDay2020] A evolução da responsabilidade em testes
[ScrumDay2020] A evolução da responsabilidade em testes[ScrumDay2020] A evolução da responsabilidade em testes
[ScrumDay2020] A evolução da responsabilidade em testesJúlio de Lima
 
Reducing the scope of load test analysis (STAREast 2020)
Reducing the scope of load test analysis (STAREast 2020)Reducing the scope of load test analysis (STAREast 2020)
Reducing the scope of load test analysis (STAREast 2020)Júlio de Lima
 
[TDC2019] Inteligência Artificial e Testes in a Nutshell
[TDC2019] Inteligência Artificial e Testes  in a Nutshell[TDC2019] Inteligência Artificial e Testes  in a Nutshell
[TDC2019] Inteligência Artificial e Testes in a NutshellJúlio de Lima
 
[GaragemTalks2019] Cultura de Testes e Qualidade de Software
[GaragemTalks2019] Cultura de Testes e Qualidade de Software[GaragemTalks2019] Cultura de Testes e Qualidade de Software
[GaragemTalks2019] Cultura de Testes e Qualidade de SoftwareJúlio de Lima
 
[MoT SP #1] PRISMA para Testes Baseados em Risco
[MoT SP #1] PRISMA para Testes Baseados em Risco[MoT SP #1] PRISMA para Testes Baseados em Risco
[MoT SP #1] PRISMA para Testes Baseados em RiscoJúlio de Lima
 
Mindset de QA em Diferentes Contextos
Mindset de QA em Diferentes ContextosMindset de QA em Diferentes Contextos
Mindset de QA em Diferentes ContextosJúlio de Lima
 
[DevelopersBR-2018] Testes de performance usando a nuvem
[DevelopersBR-2018] Testes de performance usando a nuvem[DevelopersBR-2018] Testes de performance usando a nuvem
[DevelopersBR-2018] Testes de performance usando a nuvemJúlio de Lima
 
[7Masters Aug, 2018] Escolhas durante automação de testes de API
[7Masters Aug, 2018] Escolhas durante automação de testes de API[7Masters Aug, 2018] Escolhas durante automação de testes de API
[7Masters Aug, 2018] Escolhas durante automação de testes de APIJúlio de Lima
 
[Front in Sampa 2018] Desenvolvendo como QAs
[Front in Sampa 2018] Desenvolvendo como QAs[Front in Sampa 2018] Desenvolvendo como QAs
[Front in Sampa 2018] Desenvolvendo como QAsJúlio de Lima
 
Mindset do QA em diferentes contextos
Mindset do QA em diferentes contextosMindset do QA em diferentes contextos
Mindset do QA em diferentes contextosJúlio de Lima
 
[QANinjaConf2017] Testes de Regressão Visual com Galen Framework
[QANinjaConf2017] Testes de Regressão Visual com Galen Framework[QANinjaConf2017] Testes de Regressão Visual com Galen Framework
[QANinjaConf2017] Testes de Regressão Visual com Galen FrameworkJúlio de Lima
 
[PHPConference 2016] Criando Mocks com Prophecy
[PHPConference 2016] Criando Mocks com Prophecy[PHPConference 2016] Criando Mocks com Prophecy
[PHPConference 2016] Criando Mocks com ProphecyJúlio de Lima
 
[QANinjaConference] Carreira em Testes: Ainda vale a pena?
[QANinjaConference] Carreira em Testes: Ainda vale a pena?[QANinjaConference] Carreira em Testes: Ainda vale a pena?
[QANinjaConference] Carreira em Testes: Ainda vale a pena?Júlio de Lima
 
[QANinjaConference] Automação de Testes com Codeception
[QANinjaConference] Automação de Testes com Codeception[QANinjaConference] Automação de Testes com Codeception
[QANinjaConference] Automação de Testes com CodeceptionJúlio de Lima
 
[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)
[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)
[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)Júlio de Lima
 
[PHPConferenceBR] Automação de testes com Codeception
[PHPConferenceBR] Automação de testes com Codeception[PHPConferenceBR] Automação de testes com Codeception
[PHPConferenceBR] Automação de testes com CodeceptionJúlio de Lima
 
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e Webdriver
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e Webdriver[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e Webdriver
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e WebdriverJúlio de Lima
 
[UNIP2015] Testando a Performance de Aplicações Web com JMeter
[UNIP2015] Testando a Performance de Aplicações Web com JMeter[UNIP2015] Testando a Performance de Aplicações Web com JMeter
[UNIP2015] Testando a Performance de Aplicações Web com JMeterJúlio de Lima
 

Más de Júlio de Lima (20)

[ATC2021] Distribuição de Testes em Diferentes Camadas
[ATC2021] Distribuição de Testes em Diferentes Camadas[ATC2021] Distribuição de Testes em Diferentes Camadas
[ATC2021] Distribuição de Testes em Diferentes Camadas
 
ALTER FACE Test Heuristic
ALTER FACE Test HeuristicALTER FACE Test Heuristic
ALTER FACE Test Heuristic
 
[ScrumDay2020] A evolução da responsabilidade em testes
[ScrumDay2020] A evolução da responsabilidade em testes[ScrumDay2020] A evolução da responsabilidade em testes
[ScrumDay2020] A evolução da responsabilidade em testes
 
Reducing the scope of load test analysis (STAREast 2020)
Reducing the scope of load test analysis (STAREast 2020)Reducing the scope of load test analysis (STAREast 2020)
Reducing the scope of load test analysis (STAREast 2020)
 
[TDC2019] Inteligência Artificial e Testes in a Nutshell
[TDC2019] Inteligência Artificial e Testes  in a Nutshell[TDC2019] Inteligência Artificial e Testes  in a Nutshell
[TDC2019] Inteligência Artificial e Testes in a Nutshell
 
[GaragemTalks2019] Cultura de Testes e Qualidade de Software
[GaragemTalks2019] Cultura de Testes e Qualidade de Software[GaragemTalks2019] Cultura de Testes e Qualidade de Software
[GaragemTalks2019] Cultura de Testes e Qualidade de Software
 
[MoT SP #1] PRISMA para Testes Baseados em Risco
[MoT SP #1] PRISMA para Testes Baseados em Risco[MoT SP #1] PRISMA para Testes Baseados em Risco
[MoT SP #1] PRISMA para Testes Baseados em Risco
 
Mindset de QA em Diferentes Contextos
Mindset de QA em Diferentes ContextosMindset de QA em Diferentes Contextos
Mindset de QA em Diferentes Contextos
 
[DevelopersBR-2018] Testes de performance usando a nuvem
[DevelopersBR-2018] Testes de performance usando a nuvem[DevelopersBR-2018] Testes de performance usando a nuvem
[DevelopersBR-2018] Testes de performance usando a nuvem
 
[7Masters Aug, 2018] Escolhas durante automação de testes de API
[7Masters Aug, 2018] Escolhas durante automação de testes de API[7Masters Aug, 2018] Escolhas durante automação de testes de API
[7Masters Aug, 2018] Escolhas durante automação de testes de API
 
[Front in Sampa 2018] Desenvolvendo como QAs
[Front in Sampa 2018] Desenvolvendo como QAs[Front in Sampa 2018] Desenvolvendo como QAs
[Front in Sampa 2018] Desenvolvendo como QAs
 
Mindset do QA em diferentes contextos
Mindset do QA em diferentes contextosMindset do QA em diferentes contextos
Mindset do QA em diferentes contextos
 
[QANinjaConf2017] Testes de Regressão Visual com Galen Framework
[QANinjaConf2017] Testes de Regressão Visual com Galen Framework[QANinjaConf2017] Testes de Regressão Visual com Galen Framework
[QANinjaConf2017] Testes de Regressão Visual com Galen Framework
 
[PHPConference 2016] Criando Mocks com Prophecy
[PHPConference 2016] Criando Mocks com Prophecy[PHPConference 2016] Criando Mocks com Prophecy
[PHPConference 2016] Criando Mocks com Prophecy
 
[QANinjaConference] Carreira em Testes: Ainda vale a pena?
[QANinjaConference] Carreira em Testes: Ainda vale a pena?[QANinjaConference] Carreira em Testes: Ainda vale a pena?
[QANinjaConference] Carreira em Testes: Ainda vale a pena?
 
[QANinjaConference] Automação de Testes com Codeception
[QANinjaConference] Automação de Testes com Codeception[QANinjaConference] Automação de Testes com Codeception
[QANinjaConference] Automação de Testes com Codeception
 
[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)
[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)
[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)
 
[PHPConferenceBR] Automação de testes com Codeception
[PHPConferenceBR] Automação de testes com Codeception[PHPConferenceBR] Automação de testes com Codeception
[PHPConferenceBR] Automação de testes com Codeception
 
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e Webdriver
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e Webdriver[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e Webdriver
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e Webdriver
 
[UNIP2015] Testando a Performance de Aplicações Web com JMeter
[UNIP2015] Testando a Performance de Aplicações Web com JMeter[UNIP2015] Testando a Performance de Aplicações Web com JMeter
[UNIP2015] Testando a Performance de Aplicações Web com JMeter
 

TDD e UnitTest em Java

  • 1. (48) 3285 5615 / 9645 5506 contato@qualister.com.br • Terceirização de profissionais • Consultoria de teste • Avaliação de usabilidade • Automação de testes • Testes de performance • Treinamentos www.qualister.com.br TDD e UnitTest em Java 1
  • 2. Palestrante Júlio de Lima E-mail: julio.lima@qualister.com.br Linkedin: br.linkedin.com/in/juliodelimas/ Especialista em automação de testes de software Experiência em projetos: • • – – – – • • Softwares para o setor Público Mercado de Ações Telefonia e SAP CloudComputing Certificações internacionais (CTFL e CTAL-TM) Certificação nacional (CBTS) 2 www.qualister.com.br
  • 4. Parcerias internacionais Soluções para automação, profilling e gestão de testes Soluções para testes de performance Soluções de apoio a avaliação de usabilidade 4 www.qualister.com.br
  • 5. Precisamos refatorar o código... Vai dar merda! 5 www.qualister.com.br
  • 6. O que é Unit Test? “Unit Test (Teste unitário) é um processo de desenvolvimento de software no qual a menor parte testável de uma aplicação, denominada Unidade, é individualmente e independentemente verificada se faz o que realmente deveria fazer” Software Testing Stuff http://www.softwaretestingstuff.com/2010/09/unit-testing-best-practices-techniques.html 6 www.qualister.com.br
  • 7. O que é Unit Test? Código: UnitTest: 7 www.qualister.com.br
  • 8. O que é Unit Test? “A criação de testes unitários evita diversos problemas futuros, por garantir a qualidade e eficiência do código.” Software Testing Stuff http://www.softwaretestingstuff.com/2010/09/unit-testing-best-practices-techniques.html 8 www.qualister.com.br
  • 9. Porque testar? Para adquirir confiança no código que está sendo desenvolvido. E garantir que mudanças futuras não farão com que o que funcionava, parou de funcionar. 9 www.qualister.com.br
  • 10. Porque testar? Será que eu fiz merda!? “Ficar com a mente tranqüila depois de alterar uma grande quantidade de código, não tem preço!” 10 www.qualister.com.br
  • 11. Frameworks Frameworks fornecem ao desenvolvedor bibliotecas que tornam mais simples e mais produtivo o trabalho de construção dos testes. 11 www.qualister.com.br
  • 12. Quando são construídos? Antes, durante ou após a codificação. Isso depende da metodologia utilizada. 12 www.qualister.com.br
  • 13. Características de um bom UnitTest         Automático; Completo; Repetitivo; Independente; Objetivo; Profissional; Veloz; Legível. www.qualister.com.br 13 Livro: The Pragmatic Unit Testing
  • 14. TDD (Test-Driven Development) TDD é uma técnica utilizada geralmente em projetos que seguem metodologias ágeis, e prega que, antes de iniciar a escrita de código, devemos construir testes que provem que o código que será escrito funciona como esperado. 14 www.qualister.com.br
  • 15. O ciclo Red/Green/Refactor A construção dos scripts seguem um fluxo muito conhecido, chamado Red/Green/Refactor, palavras que fazem referência a Falha/Sucesso/Manutenção do código 15 www.qualister.com.br
  • 16. Exemplo com JUnit Exemplo com JUnit 16 www.qualister.com.br
  • 17. Quando os testes são executados? Os testes podem ser executados manual ou automaticamente, antes ou depois de codificar. Uma prática comum é a de sincronizar a execução dos testes com a ferramenta de integração contínua. 17 www.qualister.com.br
  • 18. Benefícios  Aumenta a confiança no código desenvolvido;  Facilita a refatoração dos códigos;  Reduz o custo das falhas encontradas;  Código pode ser testado previamente;  Permite a criação de um código mais limpo;  Reduz o tempo com debug de código. 18 www.qualister.com.br
  • 19. Desafios na adoção de Unit Test e TDD       Tempo; Investimento; Motivação; Comprometimento; Modo de programar; Reescrita de parte do código legado. 19 www.qualister.com.br
  • 20. Retorno no Investimento Retorno do Investimento Tempo 20 www.qualister.com.br