SlideShare uma empresa Scribd logo
Globalcode – Open4education
Minimizando problemas do dia a dia
com Virtualização de Serviços
Globalcode – Open4education
Apresentação
José Ernesto da Silva Barbosa
Líder de Qualidade na CWI Software
8 anos de experiência na área de qualidade
Automação de Testes
Web, Mobile, Desktop, Webservices
Bacharel em Ciência da Computação (Feevale – Novo Hamburgo/RS)
Mestrando em Computação Aplicada (Unisinos – São Leopoldo/RS)
Globalcode – Open4education
CWI Software
Roteiro
Service Virtualization
O que é?
Ferramentas
Alguns exemplos open source
Globalcode – Open4education
CWI Software
Caso de Estudo
Cenário elaborado para
demonstrar o processo
Escolhendo a ferramenta
Quais fatores avaliar?
Ferramenta escolhida
Como utilizar a ferramenta
Hands-on
Construção conjunta de um
exemplo prático
1
1
1
Globalcode – Open4education
CWI Software
FIM
Encerramento
Espaço para perguntas
1
Globalcode – Open4education
Pirâmide de Testes
Exploratórios
Testes manuais
User Interface
Automação de GUI
Serviços
Integração
Testes de Componentes
Unidade
Testes Unitários
Fonte: Livro “Succeeding with Agile: Software Development Using Scrum” – Mike Cohn
Globalcode – Open4education
A virtualização do serviços emula o
comportamento de componentes de software para
remover restrições de dependência nas equipes de
desenvolvimento e teste. Essas restrições ocorrem
em ambientes complexos e interdependentes.
[https://en.wikipedia.org/wiki/Service_virtualization]
Service Virtualization
Globalcode – Open4education
CWI Software
Ambientes Complexos:
- Integrações
- Protocolos variados (Soap, Rest)
Globalcode – Open4education
CWI Software
Contract First:
- Contratos de serviços estipulados entre
cliente e fornecedores
Globalcode – Open4education
CWI Software
Mocks:
- Disponibilização de mocks para que o
desenvolvimento ocorra em paralelo
Globalcode – Open4education
Como garantir a qualidade de múltiplos fluxos
antes mesmo do serviço ser integrado?
01 02 03 04
Mock Pronto
Desenvolvimento cria
cenários de sucesso
Testes Falham
Quando chega na etapa de
teste as integrações não
estão prontas
Faltam Cenários
A maioria dos fluxos
alternativos não são
validados, pois os mocks
contemplam poucos fluxos
Entrega comprometida
As integrações são
liberadas muito próximas à
data de entrega, gerando
gargalo nos testes
Globalcode – Open4education
CWI Software
Ferramentas
1 2 3
4 5 6
Globalcode – Open4education
Caso de Estudo – Sistema X
1 2 3 4 5
Frontend
Canais digitais como aplicativos
Android e iOS, sites, etc.
SOAP
Serviços de backend que tratam as
regras de negócio do sistema
REST
Camada inicial de comunicação com
o Frontend
Database
Banco de dados com as informações
relevantes ao sistema proposto
Globalcode – Open4education
CWI Software
Sistema X
X
Globalcode – Open4education
Que ferramenta utilizar?
Who
What
When
Where
Why
How
Globalcode – Open4education
CWI Software
Que ferramenta utilizar?
Globalcode – Open4education
CWI Software
Que ferramenta utilizar?
Globalcode – Open4education
CWI Software
Que ferramenta utilizar?
Globalcode – Open4education
CWI Software
Que ferramenta utilizar?
Globalcode – Open4education
CWI Software
Que ferramenta utilizar?
Globalcode – Open4education
CWI Software
Que ferramenta utilizar?
Globalcode – Open4education
CWI Software
Que ferramenta utilizar?
Globalcode – Open4education
CWI Software
Que ferramenta utilizar?
Globalcode – Open4education
CWI Software
Que ferramenta utilizar?
Globalcode – Open4education
CWI Software
Ferramenta escolhida
WireMock
Mapeamentos com JSON e XML
Mocks Rest, Soap, etc..
Permite uso de variáveis (com extensões)
Permite elencar prioridades
Virtualização de serviços de protocolo HTTP
Baixa curva de aprendizagem
Standalone
Hard Code (Java)
Globalcode – Open4education
CWI Software
Ferramenta escolhida
Globalcode – Open4education
CWI Software
Ferramenta escolhida
Globalcode – Open4education
CWI Software
Ferramenta escolhida
Globalcode – Open4education
CWI Software
Ferramenta escolhida
Globalcode – Open4education
CWI Software
Ferramenta escolhida
Globalcode – Open4education
CWI Software
Ferramenta escolhida
Globalcode – Open4education
CWI Software
Ferramenta escolhida
Globalcode – Open4education
CWI Software
Ferramenta escolhida
Globalcode – Open4education
CWI Software
Ferramenta escolhida
Globalcode – Open4education
CWI Software
Ferramenta escolhida
https://app.mocklab.io
Globalcode – Open4education
CWI Software https://github.com/ernestosbarbosa/wiremock-json-templating
JSON Templating
Globalcode – Open4education
CWI Software
JSON Templating
Globalcode – Open4education
CWI Software
JSON Templating
https://github.com/benhurott/camusjs
Globalcode – Open4education
CWI Software
JSON Templating
Globalcode – Open4education
CWI Software
JSON Templating
Globalcode – Open4education
CWI Software
JSON Templating
Globalcode – Open4education
Será que isso funciona?
Who
What
When
Where
Why
How
COMCERTEZA!!!
Toda a equipe passou a utilizar e manter os serviços virtualizados.
Após o contrato os
dev’s criam os fluxos
principais.
Os QA’s ampliam
estes cenários
As automações de
teste utilizam os
cenários
Integrações
entregues e validadas
rapidamente com a
automação
Projeto Entregue
no prazo e com
qualidade
Globalcode – Open4education
Hands-on
https://github.com/ernestosbarbosa/testes-tdc-2018
Globalcode – Open4education
Perguntas?
Globalcode – Open4education
CWI Software
jose.barbosa@cwi.com.br
ernestosbarbosa@outlook.com
facebook.com/ernestosbarbosa
linkedin.com/in/ernestosbarbosa
github.com/ernestosbarbosa
Contato

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Migração de Banco de Dados - Oracle para MongoDB - TDC2014Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Migração de Banco de Dados - Oracle para MongoDB - TDC2014
 
Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011
 
Refatorar é preciso. Palestra TDC 2014
Refatorar é preciso. Palestra TDC 2014Refatorar é preciso. Palestra TDC 2014
Refatorar é preciso. Palestra TDC 2014
 
Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011
 
TDC2016POA | Trilha .NET - O que esperar do C# 7
TDC2016POA | Trilha .NET - O que esperar do C# 7TDC2016POA | Trilha .NET - O que esperar do C# 7
TDC2016POA | Trilha .NET - O que esperar do C# 7
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
Qualidade e Teste de Software - O que preciso saber
Qualidade e Teste de Software - O que preciso saberQualidade e Teste de Software - O que preciso saber
Qualidade e Teste de Software - O que preciso saber
 
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on AzureTDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
 
Produtividade com ZF2, PDT & Zend Server Free Edition
Produtividade com ZF2, PDT & Zend Server Free EditionProdutividade com ZF2, PDT & Zend Server Free Edition
Produtividade com ZF2, PDT & Zend Server Free Edition
 
Vamos falar de DevOps?
Vamos falar de DevOps?Vamos falar de DevOps?
Vamos falar de DevOps?
 
TDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps JavaTDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps Java
 
TDC2016POA | Trilha .NET - Trazendo o poder dos containers ao mundo .NET
TDC2016POA | Trilha .NET -  Trazendo o poder dos containers ao mundo .NETTDC2016POA | Trilha .NET -  Trazendo o poder dos containers ao mundo .NET
TDC2016POA | Trilha .NET - Trazendo o poder dos containers ao mundo .NET
 
Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...
Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...
Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...
 
[TDCPOA2018] Desmistificando a eXtreme Programming para desenvolvedores "não ...
[TDCPOA2018] Desmistificando a eXtreme Programming para desenvolvedores "não ...[TDCPOA2018] Desmistificando a eXtreme Programming para desenvolvedores "não ...
[TDCPOA2018] Desmistificando a eXtreme Programming para desenvolvedores "não ...
 
Arquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviçosArquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviços
 
TDC 2012 TDD e 20 coisas que você precisa saber
TDC 2012 TDD e 20 coisas que você precisa saberTDC 2012 TDD e 20 coisas que você precisa saber
TDC 2012 TDD e 20 coisas que você precisa saber
 
DevQA | Da zona de conforto ao comprometimento com a qualidade
DevQA | Da zona de conforto ao comprometimento com a qualidadeDevQA | Da zona de conforto ao comprometimento com a qualidade
DevQA | Da zona de conforto ao comprometimento com a qualidade
 
Palestra TDD - TDC - 2016
Palestra TDD - TDC - 2016Palestra TDD - TDC - 2016
Palestra TDD - TDC - 2016
 
Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHP
Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHPCombatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHP
Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHP
 
Desenvolvimento Orientado a Documentação? Utilizando doctests para tornar seu...
Desenvolvimento Orientado a Documentação? Utilizando doctests para tornar seu...Desenvolvimento Orientado a Documentação? Utilizando doctests para tornar seu...
Desenvolvimento Orientado a Documentação? Utilizando doctests para tornar seu...
 

Semelhante a Service virtualization floripa

TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaTDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
Cleber Dantas
 
Gestão de fábrica de software com desenvolvimento multi plataformas
Gestão de fábrica de software com desenvolvimento multi plataformasGestão de fábrica de software com desenvolvimento multi plataformas
Gestão de fábrica de software com desenvolvimento multi plataformas
José Freire Neto
 

Semelhante a Service virtualization floripa (20)

TDC Floripa 2018 - Metralhando sua API
TDC Floripa 2018 - Metralhando sua APITDC Floripa 2018 - Metralhando sua API
TDC Floripa 2018 - Metralhando sua API
 
Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC...
Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC...Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC...
Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC...
 
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
 
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaTDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
 
Testes Funcionais em um ALM Open Source - TDC 2012 SP
Testes Funcionais em um ALM Open Source - TDC 2012 SPTestes Funcionais em um ALM Open Source - TDC 2012 SP
Testes Funcionais em um ALM Open Source - TDC 2012 SP
 
Automação de testes em projetos ágeis
Automação de testes em projetos ágeisAutomação de testes em projetos ágeis
Automação de testes em projetos ágeis
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservices
 
Monitorando serviços REST com o Application Insights
Monitorando serviços REST com o Application InsightsMonitorando serviços REST com o Application Insights
Monitorando serviços REST com o Application Insights
 
TDC 2014 Floripa - Melhorando sua Estratégia de Testes Automatizados
TDC 2014 Floripa - Melhorando sua Estratégia de Testes AutomatizadosTDC 2014 Floripa - Melhorando sua Estratégia de Testes Automatizados
TDC 2014 Floripa - Melhorando sua Estratégia de Testes Automatizados
 
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
 
Monitorando serviços REST com o Application Insights e Distributed Tracing
Monitorando serviços REST com o Application Insights e Distributed TracingMonitorando serviços REST com o Application Insights e Distributed Tracing
Monitorando serviços REST com o Application Insights e Distributed Tracing
 
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutosTDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
 
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipster
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipsterGerando aplicações Spring Boot e AngularJS com gerador de código JHipster
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipster
 
Abertura Trilha de Teste TDC 2011 Goiånia
Abertura Trilha de Teste TDC 2011 GoiåniaAbertura Trilha de Teste TDC 2011 Goiånia
Abertura Trilha de Teste TDC 2011 Goiånia
 
TDC2017 | São Paulo - Trilha Acessibilidade How we figured out we had a SRE t...
TDC2017 | São Paulo - Trilha Acessibilidade How we figured out we had a SRE t...TDC2017 | São Paulo - Trilha Acessibilidade How we figured out we had a SRE t...
TDC2017 | São Paulo - Trilha Acessibilidade How we figured out we had a SRE t...
 
Testando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a pontaTestando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
 
Gestão de fábrica de software com desenvolvimento multi plataformas
Gestão de fábrica de software com desenvolvimento multi plataformasGestão de fábrica de software com desenvolvimento multi plataformas
Gestão de fábrica de software com desenvolvimento multi plataformas
 
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos DelphiTDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
 
Desconstruindo monolitos - Construindo microservicos em Delphi
Desconstruindo monolitos - Construindo microservicos em DelphiDesconstruindo monolitos - Construindo microservicos em Delphi
Desconstruindo monolitos - Construindo microservicos em Delphi
 
Cross testing mobile com ruby, cucumber e appium
Cross testing mobile com ruby, cucumber e appiumCross testing mobile com ruby, cucumber e appium
Cross testing mobile com ruby, cucumber e appium
 

Service virtualization floripa