SlideShare uma empresa Scribd logo
 
Testes Unitários Setembro/2009 Para Desenvolvedores Parte II Diego Pacheco Arquiteto de Software http://diego-pacheco.blogspot.com http://www.twitter.com/diego_pacheco
Agenda Vídeo  Revisão Spring Mockito Novas Duplas Timer Revisão de código Competição Happy Hour Hands on: Exercícios
É fácil testar?
TestNG Framework de teste unitário para Java; Utiliza anotações; Integração com Eclipse e Maven 2; Grupos de Testes ; Possui Integração com Spring Framework; Relatório de resultado em HTML; Fácil de usar e com boa documentação.
TestNG Integração com Spring Framework: Criar classe de testes que estenda a classe  AbstractTestNGSpringContextTests   do Spring Framework . Adicionar  a anotação  @ContextConfiguration( locations={ "/spring-test-beans.xml" } )   e apontar para onde está o arquivo de configurações do Spring Framework. Injetar serviços com anotações. Ex.:  @Autowired  e  @Test( enabled=false )  para que o método setter de injeção não seja testado.
TestNG Arquivo típico de beans do Spring
Mocks Framework de mock para Java DSL Fluente mock when thenReturn doThrow Simples e Fácil
Mocks Exemplo prático
Novas Duplas
Novas Duplas pair- aye-aye pair -tarsier pair- proboscis-monkey pair- axolotl
Timer !!!
Hands on: Exercicios Todos os exercicios deverão ser feitos utilizando integração contínua(Hudson) , Controle de versão(SVN) e o método TDD. O Commit só deverá ser realizado após os testes construído e executado sem nenhum erro.
Hands on: Exercicios Instalar o Eclipse do Instrutor; Instalar e configurar o Maven 2 ; Fazer checkout do repositório da máquina do instrutor; Criar Testes unitários utilizando só TestNG; Modificar os testes para adicionar suporte ao Spring; Modificar os testes para adicionar suporte ao Mockito.
Hands on: Exercicios Testes que devem ser criados: Testes unitários para o serviço de vendas. Testar Parâmetros inválidos e nulos. Testar se o comissionamento (RN002)  e a baixa de estoque (RN003) estão corretos. Testar o método estornar() Regras de Negocio
Revisar o que foi implementado Revisar o código de testes Revisar a necessidade de testes Revisão de código
i legra Speed Test Champ Unit Test  Champ Seja o  Usain Bolt  dos testes unitários !
Happy Hour !!! Criatividade TDD Comprometimento Testes unitários Capacidade Técnica Integração   Contínua Amigáve l Mocks/TestNG
Dúvidas?
Referências Livros: Prentice Hall PTR 2005 -  Agile Java Crafting Code with Test-Driven Development - Jeff Langr Addison Wesley 2006 - Agility and Discipline made easy - Practices from OpenUP and RUP - Per Krol John Wiley & Sons 2007 - Pragmatic Software Testing: Becoming an Effective and Efficient Test Professional -  Rex Black Visual Books 2008 – Testes Funcionais de Software – Leonardo Molinari Manning 2007 -  Test Driven TDD and Acceptance TDD for Java Developers - Lasse K oskela Addison Wesley 2002 - Test-Driven Development By Example - Kent Beck Sites/Blogs: http://diego-pacheco.blogspot.com/search/label/testes http://www.testexpert.com.br/ http://diariodaqualidade.blogspot.com/ https://hudson.dev.java.net/ http://en.wikipedia.org/wiki/Test-driven_development http://www.agiledata.org/essays/tdd.html http://testng.org/doc/index.html http://googletesting.blogspot.com/ http://testobsessed.com/ http://www.wthreex.com/rup/process/modguide/md_untst.htm http://www.infoq.com/testing/ http://mockito.org/
Twitter Siga a  i legra no twitter http://www.twitter.com/ilegra
 

Mais conteúdo relacionado

Mais procurados

Facilitando o desenvolvimento orientado a testes em aplicações PHP
Facilitando o desenvolvimento orientado a testes em aplicações PHPFacilitando o desenvolvimento orientado a testes em aplicações PHP
Facilitando o desenvolvimento orientado a testes em aplicações PHP
Pedro Chaves
 
3 noções básicas para automação de testes efetivos - Taíse Dias da Silva
3 noções básicas para automação de testes efetivos - Taíse Dias da Silva 3 noções básicas para automação de testes efetivos - Taíse Dias da Silva
3 noções básicas para automação de testes efetivos - Taíse Dias da Silva
minastestingconference
 
MTC - Automatizando Visual Regression Testing
MTC - Automatizando Visual Regression TestingMTC - Automatizando Visual Regression Testing
MTC - Automatizando Visual Regression Testing
Samanta Cicilia
 
Importância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOpsImportância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOps
Samanta 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 software
Heider Lopes
 
[DevOps Summit]Importância de testes automatizados para sustentar Continuous...
[DevOps Summit]Importância de testes automatizados para sustentar Continuous...[DevOps Summit]Importância de testes automatizados para sustentar Continuous...
[DevOps Summit]Importância de testes automatizados para sustentar Continuous...
Samanta Cicilia
 
QAOps - Agile Trends 2021
QAOps - Agile Trends 2021QAOps - Agile Trends 2021
QAOps - Agile Trends 2021
Mayara Fernandes
 
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a ServiçosContinuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Samanta Cicilia
 
Continuous Delivery - versão estendida :)
Continuous Delivery - versão estendida :)Continuous Delivery - versão estendida :)
Continuous Delivery - versão estendida :)
Samanta Cicilia
 
Unit test & TDD
Unit test & TDDUnit test & TDD
Unit test & TDD
Ricardo Moura
 
PDC - Testes - Usando o Testlink
PDC - Testes - Usando o TestlinkPDC - Testes - Usando o Testlink
PDC - Testes - Usando o Testlink
slides_teltools
 
Alcançando qualidade de software através de entrega contínua
Alcançando qualidade de software através de entrega contínuaAlcançando qualidade de software através de entrega contínua
Alcançando qualidade de software através de entrega contínua
Samanta Cicilia
 
TDC2017 | Florianópolis - Trilha Java Melhorando a performance do seu Código ...
TDC2017 | Florianópolis - Trilha Java Melhorando a performance do seu Código ...TDC2017 | Florianópolis - Trilha Java Melhorando a performance do seu Código ...
TDC2017 | Florianópolis - Trilha Java Melhorando a performance do seu Código ...
tdc-globalcode
 
WTM - Entrega Contínua
WTM - Entrega ContínuaWTM - Entrega Contínua
WTM - Entrega Contínua
Samanta Cicilia
 
[Uff] Continuous Delivery: Entrega Contínua de Software de Valor
[Uff] Continuous Delivery: Entrega Contínua de Software de Valor[Uff] Continuous Delivery: Entrega Contínua de Software de Valor
[Uff] Continuous Delivery: Entrega Contínua de Software de Valor
Samanta Cicilia
 
O Testador Técnico
O Testador TécnicoO Testador Técnico
O Testador Técnico
Elias Nogueira
 
Coders On Beer + Ministry Of Testing - Agile Testing
Coders On Beer + Ministry Of Testing - Agile TestingCoders On Beer + Ministry Of Testing - Agile Testing
Coders On Beer + Ministry Of Testing - Agile Testing
Samanta Cicilia
 
Arquitetura básica de testes para seu projeto Java
Arquitetura básica de testes para seu projeto JavaArquitetura básica de testes para seu projeto Java
Arquitetura básica de testes para seu projeto Java
Elias Nogueira
 
Feedback mais rápido na sua build dividindo os testes funcionais
Feedback mais rápido na sua build dividindo os testes funcionaisFeedback mais rápido na sua build dividindo os testes funcionais
Feedback mais rápido na sua build dividindo os testes funcionais
Elias Nogueira
 
Acelerando o feedback e deploy com Automação de Testes!
Acelerando o feedback e deploy com Automação de Testes! Acelerando o feedback e deploy com Automação de Testes!
Acelerando o feedback e deploy com Automação de Testes!
Elias Nogueira
 

Mais procurados (20)

Facilitando o desenvolvimento orientado a testes em aplicações PHP
Facilitando o desenvolvimento orientado a testes em aplicações PHPFacilitando o desenvolvimento orientado a testes em aplicações PHP
Facilitando o desenvolvimento orientado a testes em aplicações PHP
 
3 noções básicas para automação de testes efetivos - Taíse Dias da Silva
3 noções básicas para automação de testes efetivos - Taíse Dias da Silva 3 noções básicas para automação de testes efetivos - Taíse Dias da Silva
3 noções básicas para automação de testes efetivos - Taíse Dias da Silva
 
MTC - Automatizando Visual Regression Testing
MTC - Automatizando Visual Regression TestingMTC - Automatizando Visual Regression Testing
MTC - Automatizando Visual Regression Testing
 
Importância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOpsImportância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOps
 
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
 
[DevOps Summit]Importância de testes automatizados para sustentar Continuous...
[DevOps Summit]Importância de testes automatizados para sustentar Continuous...[DevOps Summit]Importância de testes automatizados para sustentar Continuous...
[DevOps Summit]Importância de testes automatizados para sustentar Continuous...
 
QAOps - Agile Trends 2021
QAOps - Agile Trends 2021QAOps - Agile Trends 2021
QAOps - Agile Trends 2021
 
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a ServiçosContinuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
 
Continuous Delivery - versão estendida :)
Continuous Delivery - versão estendida :)Continuous Delivery - versão estendida :)
Continuous Delivery - versão estendida :)
 
Unit test & TDD
Unit test & TDDUnit test & TDD
Unit test & TDD
 
PDC - Testes - Usando o Testlink
PDC - Testes - Usando o TestlinkPDC - Testes - Usando o Testlink
PDC - Testes - Usando o Testlink
 
Alcançando qualidade de software através de entrega contínua
Alcançando qualidade de software através de entrega contínuaAlcançando qualidade de software através de entrega contínua
Alcançando qualidade de software através de entrega contínua
 
TDC2017 | Florianópolis - Trilha Java Melhorando a performance do seu Código ...
TDC2017 | Florianópolis - Trilha Java Melhorando a performance do seu Código ...TDC2017 | Florianópolis - Trilha Java Melhorando a performance do seu Código ...
TDC2017 | Florianópolis - Trilha Java Melhorando a performance do seu Código ...
 
WTM - Entrega Contínua
WTM - Entrega ContínuaWTM - Entrega Contínua
WTM - Entrega Contínua
 
[Uff] Continuous Delivery: Entrega Contínua de Software de Valor
[Uff] Continuous Delivery: Entrega Contínua de Software de Valor[Uff] Continuous Delivery: Entrega Contínua de Software de Valor
[Uff] Continuous Delivery: Entrega Contínua de Software de Valor
 
O Testador Técnico
O Testador TécnicoO Testador Técnico
O Testador Técnico
 
Coders On Beer + Ministry Of Testing - Agile Testing
Coders On Beer + Ministry Of Testing - Agile TestingCoders On Beer + Ministry Of Testing - Agile Testing
Coders On Beer + Ministry Of Testing - Agile Testing
 
Arquitetura básica de testes para seu projeto Java
Arquitetura básica de testes para seu projeto JavaArquitetura básica de testes para seu projeto Java
Arquitetura básica de testes para seu projeto Java
 
Feedback mais rápido na sua build dividindo os testes funcionais
Feedback mais rápido na sua build dividindo os testes funcionaisFeedback mais rápido na sua build dividindo os testes funcionais
Feedback mais rápido na sua build dividindo os testes funcionais
 
Acelerando o feedback e deploy com Automação de Testes!
Acelerando o feedback e deploy com Automação de Testes! Acelerando o feedback e deploy com Automação de Testes!
Acelerando o feedback e deploy com Automação de Testes!
 

Destaque

Criterii De Evaluare A Pm
Criterii De Evaluare A PmCriterii De Evaluare A Pm
Criterii De Evaluare A Pm
guestc3bede
 
eGovernment: srovnání prezentovaného ideálu a reálného stavu
eGovernment: srovnání prezentovaného ideálu a reálného stavueGovernment: srovnání prezentovaného ideálu a reálného stavu
eGovernment: srovnání prezentovaného ideálu a reálného stavu
KISK FF MU
 
Welcome
WelcomeWelcome
Welcome
GUATE911
 
Presentation1.PPTX
Presentation1.PPTXPresentation1.PPTX
Presentation1.PPTX
jameschloejames
 
Formulario 210
Formulario 210Formulario 210
Formulario 210
ABBEY0106
 
pedido para una farmacia
pedido para una farmaciapedido para una farmacia
pedido para una farmacia
duvanandresmorenosamaca
 
Base participante
Base participante Base participante
Base participante
Erick Fenco
 
Arturo davalos salcedo
Arturo davalos salcedoArturo davalos salcedo
Arturo davalos salcedo
miguecord
 
Spring Capitulo 03
Spring Capitulo 03Spring Capitulo 03
Spring Capitulo 03
Diego Pacheco
 
Namasmaran Bestseller On Superliving Dr. Shriniwas Kashalikar
Namasmaran Bestseller On Superliving  Dr. Shriniwas KashalikarNamasmaran Bestseller On Superliving  Dr. Shriniwas Kashalikar
Namasmaran Bestseller On Superliving Dr. Shriniwas Kashalikar
shivsr5
 
Tejaswi Drushti Bestseller For Super Eyesight Dr. Shriniwas Kashalikar
Tejaswi Drushti Bestseller For Super Eyesight Dr. Shriniwas KashalikarTejaswi Drushti Bestseller For Super Eyesight Dr. Shriniwas Kashalikar
Tejaswi Drushti Bestseller For Super Eyesight Dr. Shriniwas Kashalikar
shivsr5
 
One piece volume 06(045-053)
One piece volume 06(045-053)One piece volume 06(045-053)
One piece volume 06(045-053)
Marcos Donato
 
Cumplimiento a clientes de iq outsourcing
Cumplimiento  a  clientes de  iq outsourcing Cumplimiento  a  clientes de  iq outsourcing
Cumplimiento a clientes de iq outsourcing
edwinrc15
 
Poka yoke
Poka yokePoka yoke
Poka yoke
Diego Pacheco
 
Matchmaking multiplace, piattaforma di APREToscana
Matchmaking multiplace, piattaforma di APREToscanaMatchmaking multiplace, piattaforma di APREToscana
Matchmaking multiplace, piattaforma di APREToscana
Paolo Nesi
 
Mobiilioppiminen
MobiilioppiminenMobiilioppiminen
Mobiilioppiminen
Pauliina Venho
 
Beautiful Data Visualisation & D3
Beautiful Data Visualisation & D3Beautiful Data Visualisation & D3
Beautiful Data Visualisation & D3
Robin Hawkes
 

Destaque (20)

Criterii De Evaluare A Pm
Criterii De Evaluare A PmCriterii De Evaluare A Pm
Criterii De Evaluare A Pm
 
eGovernment: srovnání prezentovaného ideálu a reálného stavu
eGovernment: srovnání prezentovaného ideálu a reálného stavueGovernment: srovnání prezentovaného ideálu a reálného stavu
eGovernment: srovnání prezentovaného ideálu a reálného stavu
 
Welcome
WelcomeWelcome
Welcome
 
Presentation1.PPTX
Presentation1.PPTXPresentation1.PPTX
Presentation1.PPTX
 
Formulario 210
Formulario 210Formulario 210
Formulario 210
 
pedido para una farmacia
pedido para una farmaciapedido para una farmacia
pedido para una farmacia
 
Base participante
Base participante Base participante
Base participante
 
Arturo davalos salcedo
Arturo davalos salcedoArturo davalos salcedo
Arturo davalos salcedo
 
Spring Capitulo 03
Spring Capitulo 03Spring Capitulo 03
Spring Capitulo 03
 
Namasmaran Bestseller On Superliving Dr. Shriniwas Kashalikar
Namasmaran Bestseller On Superliving  Dr. Shriniwas KashalikarNamasmaran Bestseller On Superliving  Dr. Shriniwas Kashalikar
Namasmaran Bestseller On Superliving Dr. Shriniwas Kashalikar
 
Basic SWAT
Basic SWATBasic SWAT
Basic SWAT
 
SkarvelakisCumulus
SkarvelakisCumulusSkarvelakisCumulus
SkarvelakisCumulus
 
Tejaswi Drushti Bestseller For Super Eyesight Dr. Shriniwas Kashalikar
Tejaswi Drushti Bestseller For Super Eyesight Dr. Shriniwas KashalikarTejaswi Drushti Bestseller For Super Eyesight Dr. Shriniwas Kashalikar
Tejaswi Drushti Bestseller For Super Eyesight Dr. Shriniwas Kashalikar
 
One piece volume 06(045-053)
One piece volume 06(045-053)One piece volume 06(045-053)
One piece volume 06(045-053)
 
Cumplimiento a clientes de iq outsourcing
Cumplimiento  a  clientes de  iq outsourcing Cumplimiento  a  clientes de  iq outsourcing
Cumplimiento a clientes de iq outsourcing
 
Poka yoke
Poka yokePoka yoke
Poka yoke
 
Matchmaking multiplace, piattaforma di APREToscana
Matchmaking multiplace, piattaforma di APREToscanaMatchmaking multiplace, piattaforma di APREToscana
Matchmaking multiplace, piattaforma di APREToscana
 
Mobiilioppiminen
MobiilioppiminenMobiilioppiminen
Mobiilioppiminen
 
Mel-Ainscow
Mel-AinscowMel-Ainscow
Mel-Ainscow
 
Beautiful Data Visualisation & D3
Beautiful Data Visualisation & D3Beautiful Data Visualisation & D3
Beautiful Data Visualisation & D3
 

Semelhante a Treinamento Testes Unitários - parte 2

Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1
Diego Pacheco
 
Desenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesDesenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por Testes
Camilo Ribeiro
 
Workshop - Plano de Testes End to End com o Microsoft Test Manager
Workshop   - Plano de Testes End to End com o Microsoft Test ManagerWorkshop   - Plano de Testes End to End com o Microsoft Test Manager
Workshop - Plano de Testes End to End com o Microsoft Test Manager
Alan Carlos
 
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
Roberto Nunes
 
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
Isaac de Souza
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automação
Sandy Maciel
 
Como fazer um bom desgn de c[odigo em java
Como fazer um bom desgn de c[odigo em javaComo fazer um bom desgn de c[odigo em java
Como fazer um bom desgn de c[odigo em java
Paula Santana
 
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
elliando dias
 
Desenvolvimento Guiado por Testes
Desenvolvimento Guiado por TestesDesenvolvimento Guiado por Testes
Desenvolvimento Guiado por Testes
elliando dias
 
Apresentacao dev ops
Apresentacao dev opsApresentacao dev ops
Apresentacao dev ops
Carlos Wagner Costa
 
Specificationby example
Specificationby example Specificationby example
Specificationby example
Laís Berlatto
 
Teste de software
Teste de softwareTeste de software
Teste de software
Nylce Garcia
 
Teste em times ageis
Teste em times ageisTeste em times ageis
Teste em times ageis
Dover H
 
TDD (Test-Driven Development)
TDD (Test-Driven Development)TDD (Test-Driven Development)
TDD (Test-Driven Development)
Renato Groff
 
Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)
Vanilton Pinheiro
 
Test Strategies, Testes unitários, Testes de integração e DevOps
Test Strategies, Testes unitários, Testes de integração e DevOpsTest Strategies, Testes unitários, Testes de integração e DevOps
Test Strategies, Testes unitários, Testes de integração e DevOps
Rodolfo dos Santos Pinto
 
Palestra Fundamentos de Testes - Tche linux POA
Palestra Fundamentos de Testes  - Tche linux POAPalestra Fundamentos de Testes  - Tche linux POA
Palestra Fundamentos de Testes - Tche linux POA
Aline Zanin
 
JUnit Sample
JUnit SampleJUnit Sample
Test day 2012
Test day 2012Test day 2012
Test day 2012
Wellington Marion
 
Teste Driven Development
Teste Driven DevelopmentTeste Driven Development
Teste Driven Development
Eduardo Carvalho
 

Semelhante a Treinamento Testes Unitários - parte 2 (20)

Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1
 
Desenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesDesenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por Testes
 
Workshop - Plano de Testes End to End com o Microsoft Test Manager
Workshop   - Plano de Testes End to End com o Microsoft Test ManagerWorkshop   - Plano de Testes End to End com o Microsoft Test Manager
Workshop - Plano de Testes End to End com o Microsoft Test Manager
 
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
 
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automação
 
Como fazer um bom desgn de c[odigo em java
Como fazer um bom desgn de c[odigo em javaComo fazer um bom desgn de c[odigo em java
Como fazer um bom desgn de c[odigo em java
 
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
 
Desenvolvimento Guiado por Testes
Desenvolvimento Guiado por TestesDesenvolvimento Guiado por Testes
Desenvolvimento Guiado por Testes
 
Apresentacao dev ops
Apresentacao dev opsApresentacao dev ops
Apresentacao dev ops
 
Specificationby example
Specificationby example Specificationby example
Specificationby example
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Teste em times ageis
Teste em times ageisTeste em times ageis
Teste em times ageis
 
TDD (Test-Driven Development)
TDD (Test-Driven Development)TDD (Test-Driven Development)
TDD (Test-Driven Development)
 
Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)
 
Test Strategies, Testes unitários, Testes de integração e DevOps
Test Strategies, Testes unitários, Testes de integração e DevOpsTest Strategies, Testes unitários, Testes de integração e DevOps
Test Strategies, Testes unitários, Testes de integração e DevOps
 
Palestra Fundamentos de Testes - Tche linux POA
Palestra Fundamentos de Testes  - Tche linux POAPalestra Fundamentos de Testes  - Tche linux POA
Palestra Fundamentos de Testes - Tche linux POA
 
JUnit Sample
JUnit SampleJUnit Sample
JUnit Sample
 
Test day 2012
Test day 2012Test day 2012
Test day 2012
 
Teste Driven Development
Teste Driven DevelopmentTeste Driven Development
Teste Driven Development
 

Mais de Diego Pacheco

Naming Things Book : Simple Book Review!
Naming Things Book : Simple Book Review!Naming Things Book : Simple Book Review!
Naming Things Book : Simple Book Review!
Diego Pacheco
 
Continuous Discovery Habits Book Review.pdf
Continuous Discovery Habits  Book Review.pdfContinuous Discovery Habits  Book Review.pdf
Continuous Discovery Habits Book Review.pdf
Diego Pacheco
 
Thoughts about Shape Up
Thoughts about Shape UpThoughts about Shape Up
Thoughts about Shape Up
Diego Pacheco
 
Holacracy
HolacracyHolacracy
Holacracy
Diego Pacheco
 
AWS IAM
AWS IAMAWS IAM
AWS IAM
Diego Pacheco
 
CDKs
CDKsCDKs
Encryption Deep Dive
Encryption Deep DiveEncryption Deep Dive
Encryption Deep Dive
Diego Pacheco
 
Sec 101
Sec 101Sec 101
Sec 101
Diego Pacheco
 
Reflections on SCM
Reflections on SCMReflections on SCM
Reflections on SCM
Diego Pacheco
 
Management: Doing the non-obvious! III
Management: Doing the non-obvious! IIIManagement: Doing the non-obvious! III
Management: Doing the non-obvious! III
Diego Pacheco
 
Design is not Subjective
Design is not SubjectiveDesign is not Subjective
Design is not Subjective
Diego Pacheco
 
Architecture & Engineering : Doing the non-obvious!
Architecture & Engineering :  Doing the non-obvious!Architecture & Engineering :  Doing the non-obvious!
Architecture & Engineering : Doing the non-obvious!
Diego Pacheco
 
Management doing the non-obvious II
Management doing the non-obvious II Management doing the non-obvious II
Management doing the non-obvious II
Diego Pacheco
 
Testing in production
Testing in productionTesting in production
Testing in production
Diego Pacheco
 
Nine lies about work
Nine lies about workNine lies about work
Nine lies about work
Diego Pacheco
 
Management: doing the nonobvious!
Management: doing the nonobvious!Management: doing the nonobvious!
Management: doing the nonobvious!
Diego Pacheco
 
AI and the Future
AI and the FutureAI and the Future
AI and the Future
Diego Pacheco
 
Dealing with dependencies
Dealing  with dependenciesDealing  with dependencies
Dealing with dependencies
Diego Pacheco
 
Dealing with dependencies in tests
Dealing  with dependencies in testsDealing  with dependencies in tests
Dealing with dependencies in tests
Diego Pacheco
 
Kanban 2020
Kanban 2020Kanban 2020
Kanban 2020
Diego Pacheco
 

Mais de Diego Pacheco (20)

Naming Things Book : Simple Book Review!
Naming Things Book : Simple Book Review!Naming Things Book : Simple Book Review!
Naming Things Book : Simple Book Review!
 
Continuous Discovery Habits Book Review.pdf
Continuous Discovery Habits  Book Review.pdfContinuous Discovery Habits  Book Review.pdf
Continuous Discovery Habits Book Review.pdf
 
Thoughts about Shape Up
Thoughts about Shape UpThoughts about Shape Up
Thoughts about Shape Up
 
Holacracy
HolacracyHolacracy
Holacracy
 
AWS IAM
AWS IAMAWS IAM
AWS IAM
 
CDKs
CDKsCDKs
CDKs
 
Encryption Deep Dive
Encryption Deep DiveEncryption Deep Dive
Encryption Deep Dive
 
Sec 101
Sec 101Sec 101
Sec 101
 
Reflections on SCM
Reflections on SCMReflections on SCM
Reflections on SCM
 
Management: Doing the non-obvious! III
Management: Doing the non-obvious! IIIManagement: Doing the non-obvious! III
Management: Doing the non-obvious! III
 
Design is not Subjective
Design is not SubjectiveDesign is not Subjective
Design is not Subjective
 
Architecture & Engineering : Doing the non-obvious!
Architecture & Engineering :  Doing the non-obvious!Architecture & Engineering :  Doing the non-obvious!
Architecture & Engineering : Doing the non-obvious!
 
Management doing the non-obvious II
Management doing the non-obvious II Management doing the non-obvious II
Management doing the non-obvious II
 
Testing in production
Testing in productionTesting in production
Testing in production
 
Nine lies about work
Nine lies about workNine lies about work
Nine lies about work
 
Management: doing the nonobvious!
Management: doing the nonobvious!Management: doing the nonobvious!
Management: doing the nonobvious!
 
AI and the Future
AI and the FutureAI and the Future
AI and the Future
 
Dealing with dependencies
Dealing  with dependenciesDealing  with dependencies
Dealing with dependencies
 
Dealing with dependencies in tests
Dealing  with dependencies in testsDealing  with dependencies in tests
Dealing with dependencies in tests
 
Kanban 2020
Kanban 2020Kanban 2020
Kanban 2020
 

Treinamento Testes Unitários - parte 2

  • 1.  
  • 2. Testes Unitários Setembro/2009 Para Desenvolvedores Parte II Diego Pacheco Arquiteto de Software http://diego-pacheco.blogspot.com http://www.twitter.com/diego_pacheco
  • 3. Agenda Vídeo Revisão Spring Mockito Novas Duplas Timer Revisão de código Competição Happy Hour Hands on: Exercícios
  • 5. TestNG Framework de teste unitário para Java; Utiliza anotações; Integração com Eclipse e Maven 2; Grupos de Testes ; Possui Integração com Spring Framework; Relatório de resultado em HTML; Fácil de usar e com boa documentação.
  • 6. TestNG Integração com Spring Framework: Criar classe de testes que estenda a classe AbstractTestNGSpringContextTests do Spring Framework . Adicionar a anotação @ContextConfiguration( locations={ "/spring-test-beans.xml" } )   e apontar para onde está o arquivo de configurações do Spring Framework. Injetar serviços com anotações. Ex.: @Autowired e @Test( enabled=false ) para que o método setter de injeção não seja testado.
  • 7. TestNG Arquivo típico de beans do Spring
  • 8. Mocks Framework de mock para Java DSL Fluente mock when thenReturn doThrow Simples e Fácil
  • 11. Novas Duplas pair- aye-aye pair -tarsier pair- proboscis-monkey pair- axolotl
  • 13. Hands on: Exercicios Todos os exercicios deverão ser feitos utilizando integração contínua(Hudson) , Controle de versão(SVN) e o método TDD. O Commit só deverá ser realizado após os testes construído e executado sem nenhum erro.
  • 14. Hands on: Exercicios Instalar o Eclipse do Instrutor; Instalar e configurar o Maven 2 ; Fazer checkout do repositório da máquina do instrutor; Criar Testes unitários utilizando só TestNG; Modificar os testes para adicionar suporte ao Spring; Modificar os testes para adicionar suporte ao Mockito.
  • 15. Hands on: Exercicios Testes que devem ser criados: Testes unitários para o serviço de vendas. Testar Parâmetros inválidos e nulos. Testar se o comissionamento (RN002) e a baixa de estoque (RN003) estão corretos. Testar o método estornar() Regras de Negocio
  • 16. Revisar o que foi implementado Revisar o código de testes Revisar a necessidade de testes Revisão de código
  • 17. i legra Speed Test Champ Unit Test Champ Seja o Usain Bolt dos testes unitários !
  • 18. Happy Hour !!! Criatividade TDD Comprometimento Testes unitários Capacidade Técnica Integração Contínua Amigáve l Mocks/TestNG
  • 20. Referências Livros: Prentice Hall PTR 2005 - Agile Java Crafting Code with Test-Driven Development - Jeff Langr Addison Wesley 2006 - Agility and Discipline made easy - Practices from OpenUP and RUP - Per Krol John Wiley & Sons 2007 - Pragmatic Software Testing: Becoming an Effective and Efficient Test Professional - Rex Black Visual Books 2008 – Testes Funcionais de Software – Leonardo Molinari Manning 2007 - Test Driven TDD and Acceptance TDD for Java Developers - Lasse K oskela Addison Wesley 2002 - Test-Driven Development By Example - Kent Beck Sites/Blogs: http://diego-pacheco.blogspot.com/search/label/testes http://www.testexpert.com.br/ http://diariodaqualidade.blogspot.com/ https://hudson.dev.java.net/ http://en.wikipedia.org/wiki/Test-driven_development http://www.agiledata.org/essays/tdd.html http://testng.org/doc/index.html http://googletesting.blogspot.com/ http://testobsessed.com/ http://www.wthreex.com/rup/process/modguide/md_untst.htm http://www.infoq.com/testing/ http://mockito.org/
  • 21. Twitter Siga a i legra no twitter http://www.twitter.com/ilegra
  • 22.