SlideShare uma empresa Scribd logo
1 de 16
Shaping the future
of digital business
Testes em uma arquitetura com
messageria/streaming
Robson Agapito Correa
CONFIDENTIALGFT GROUP
Shaping the
future of digital
business
Robson Agapito
QA Specialist
QA por opção e Agilista por prazer
@robsonagapito
http://www.slideshare.net/robsonagapito
https://br.linkedin.com/in/robsonagapito
https://github.com/robsonagapito
https://about.me/robsonagapito
https://medium.com/@robsonagapito
CONFIDENTIALGFT GROUP
Shaping the
future of digital
business
Síncrono e Assíncrono
Aplicação Processamento
Continua
Assíncrono
Aplicação Processamento
Continua
Síncrono
CONFIDENTIALGFT GROUP
Shaping the
future of digital
business
Messageria
App Producer MESSAGE
Continua...
App
Consumer
Kafka, RabbitMQ ...
BD
CONFIDENTIALGFT GROUP
Shaping the
future of digital
business
 KAFKA
• BROCKERS
 Localhost
 Server 1
 Server 2
• TOPICOS
 PARTIÇÕES
1. Partição 1
2. Partição 2
 ZOOKEEPER
Arquitetura do Kafka
CONFIDENTIALGFT GROUP
Shaping the
future of digital
business
Diferença do Kafka e outra Messageria
 Não deleta mensagem após consumo
 Posicionar e ler qualquer mensagem
 Facilidade em escalar
 Mais complexo
 Tolerância a falhas
CONFIDENTIALGFT GROUP
Shaping the
future of digital
business
Funcionalidade,
Estrutura(Json)
E
performance
O objetivo não era
testar o Kafka e
sim as aplicações
Consumer e
Producer
Tipos de Testes
CONFIDENTIALGFT GROUP
Shaping the
future of digital
business
Arquitetura da Aplicação
TÓPICO 1
(Json)
TÓPICO 2
(Padrão
MainFrame)
App 2
App 1
Library
App Client
Mainframe
Elastic Search
X
CONFIDENTIALGFT GROUP
Shaping the
future of digital
business
Arquitetura da Aplicação
TÓPICO 1
(Json)
TÓPICO 2
(Padrão
MainFrame)
App 2
App 1
Library
App Client
Mainframe
Elastic Search
X
CONFIDENTIALGFT GROUP
Shaping the
future of digital
business
Arquitetura da Aplicação
TÓPICO 1
(Json)
TÓPICO 2
(Padrão
MainFrame)
App 2
App 1
Library
App Client
Mainframe
Elastic Search
X
CONFIDENTIALGFT GROUP
Shaping the
future of digital
business
Arquitetura da Aplicação
TÓPICO 1
(Json)
TÓPICO 2
(Padrão
MainFrame)
App 2
App 1
Library
App Client
Mainframe
Elastic Search
X
CONFIDENTIALGFT GROUP
Shaping the
future of digital
business
Dificuldades e Desafios
- Falta de conhecimento na arquitetura Kafka
- Comunicação com o Kafka Local
- Segurança da comunicação nos ambientes
- Qualquer aplicação poderia ser um consumer ou um
producer
- Muitas mensagens/informação sendo produzidas e
consumidas (chegamos a atender 6000/segundo)
- Fazer testes antes do desenvolvimento (uma parte
do BDD)
CONFIDENTIALGFT GROUP
Shaping the
future of digital
business
CONFIDENTIALGFT GROUP
Shaping the
future of digital
business
App 1
Library
App Client
Elastic Search
X
Arquitetura da Aplicação
TÓPICO 1
(Json)
TÓPICO 2
(Padrão
MainFrame)
App 2
Mainframe
CONFIDENTIALGFT GROUP
Shaping the
future of digital
business
Links interessantes
Aplicação exemplo do Consumer/Producer do Kafka em Python:
https://github.com/robsonagapito/kafka-app-python
Artigo de como subir um Kafka em Localhost no Windows:
https://medium.com/@robsonagapito/subindo-o-kafka-em-localhost-no-windows-288c66b1b71a
Projeto de testes exemplo:
Podcast GFT sobre Kafka:
https://open.spotify.com/show/1Mw5kJHZaEQYcIpAyP3Db8
Webinar GFT sobre Kafka:
https://www.youtube.com/watch?v=7P7O7X1U2Ew
Site da Documentação do Kafka:
https://kafka.apache.org/documentation
https://github.com/robsonagapito/kafka-testing-java
Shaping the future
of digital business
Thank you!
GFT Brazil
Robson Agapito Correa
QA Specialist
Av. São Francisco, 98
18095-450 - Sorocaba/SP
T +55 15 3414-9371 / +55 11 9 8661-3181
robson.correa@gft.com

Mais conteúdo relacionado

Mais procurados

Testando API REST - Parte 1
Testando API REST - Parte 1Testando API REST - Parte 1
Testando API REST - Parte 1alinebiath
 
Node.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoNode.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoEduardo Bohrer
 
Tutorial Planning Poker Para Times Remotos
Tutorial Planning Poker Para Times RemotosTutorial Planning Poker Para Times Remotos
Tutorial Planning Poker Para Times RemotosRildo (@rildosan) Santos
 
Behavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberBehavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberKMS Technology
 
Criando uma grid para execução de testes paralelo com Appium
Criando uma grid para execução de testes paralelo com AppiumCriando uma grid para execução de testes paralelo com Appium
Criando uma grid para execução de testes paralelo com AppiumElias Nogueira
 
Introdução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de SoftwareIntrodução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de SoftwareCamilo Almendra
 
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
 
Assespro pr-workshop-robot framework
Assespro pr-workshop-robot frameworkAssespro pr-workshop-robot framework
Assespro pr-workshop-robot frameworkMayara Fernandes
 
Introdução à Gerência de configuração de Software
Introdução à Gerência de configuração de SoftwareIntrodução à Gerência de configuração de Software
Introdução à Gerência de configuração de SoftwareLucas Amaral
 
DevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilDevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilElias Nogueira
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasRodrigo Branas
 
Robot Framework no DevTests #34
Robot Framework no DevTests #34Robot Framework no DevTests #34
Robot Framework no DevTests #34Mayara Fernandes
 
Robot Framework - principais características
Robot Framework - principais característicasRobot Framework - principais características
Robot Framework - principais característicasalinebiath
 
Apostila Java Web (Servlets e JSPs)
Apostila Java Web (Servlets e JSPs)Apostila Java Web (Servlets e JSPs)
Apostila Java Web (Servlets e JSPs)Ricardo Terra
 

Mais procurados (20)

Introdução APIs RESTful
Introdução APIs RESTfulIntrodução APIs RESTful
Introdução APIs RESTful
 
Testando API REST - Parte 1
Testando API REST - Parte 1Testando API REST - Parte 1
Testando API REST - Parte 1
 
Node.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoNode.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançado
 
Tutorial Planning Poker Para Times Remotos
Tutorial Planning Poker Para Times RemotosTutorial Planning Poker Para Times Remotos
Tutorial Planning Poker Para Times Remotos
 
Behavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberBehavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using Cucumber
 
Api testing
Api testingApi testing
Api testing
 
Criando uma grid para execução de testes paralelo com Appium
Criando uma grid para execução de testes paralelo com AppiumCriando uma grid para execução de testes paralelo com Appium
Criando uma grid para execução de testes paralelo com Appium
 
Aula 6 - Qualidade de Software
Aula 6 - Qualidade de SoftwareAula 6 - Qualidade de Software
Aula 6 - Qualidade de Software
 
Introdução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de SoftwareIntrodução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de Software
 
Curso de Node JS Básico
Curso de Node JS BásicoCurso de Node JS Básico
Curso de Node JS Básico
 
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
 
Apresentação rest api
Apresentação rest apiApresentação rest api
Apresentação rest api
 
Assespro pr-workshop-robot framework
Assespro pr-workshop-robot frameworkAssespro pr-workshop-robot framework
Assespro pr-workshop-robot framework
 
API Design- Best Practices
API Design-   Best PracticesAPI Design-   Best Practices
API Design- Best Practices
 
Introdução à Gerência de configuração de Software
Introdução à Gerência de configuração de SoftwareIntrodução à Gerência de configuração de Software
Introdução à Gerência de configuração de Software
 
DevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilDevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágil
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo Branas
 
Robot Framework no DevTests #34
Robot Framework no DevTests #34Robot Framework no DevTests #34
Robot Framework no DevTests #34
 
Robot Framework - principais características
Robot Framework - principais característicasRobot Framework - principais características
Robot Framework - principais características
 
Apostila Java Web (Servlets e JSPs)
Apostila Java Web (Servlets e JSPs)Apostila Java Web (Servlets e JSPs)
Apostila Java Web (Servlets e JSPs)
 

Semelhante a Testes em arquitetura com messageria/streaming

Expondo APIs de back-ends legados e travados
Expondo APIs de back-ends legados e travadosExpondo APIs de back-ends legados e travados
Expondo APIs de back-ends legados e travadosFábio Rosato
 
Minicurso IOT com javascript - SBTI
Minicurso IOT com javascript - SBTIMinicurso IOT com javascript - SBTI
Minicurso IOT com javascript - SBTImarcochella
 
Javascript State of the Union 2015
Javascript State of the Union 2015Javascript State of the Union 2015
Javascript State of the Union 2015Huge
 
Ux for Developers - Build Better Products
Ux for Developers - Build Better ProductsUx for Developers - Build Better Products
Ux for Developers - Build Better ProductsPedro Marques
 
Apresentação desenvolvimento de plataforma para comandar microcontroladores e...
Apresentação desenvolvimento de plataforma para comandar microcontroladores e...Apresentação desenvolvimento de plataforma para comandar microcontroladores e...
Apresentação desenvolvimento de plataforma para comandar microcontroladores e...Thiago Barros, PSM
 
Transformando a ti com cloud computing e virtualização
Transformando a ti com cloud computing e virtualizaçãoTransformando a ti com cloud computing e virtualização
Transformando a ti com cloud computing e virtualizaçãoDarlan Segalin
 
API management: um aliado para construção de APIs
API management: um aliado para construção de APIsAPI management: um aliado para construção de APIs
API management: um aliado para construção de APIsRafael de Paula Souza
 
Introdução Splunk Brasil
Introdução Splunk BrasilIntrodução Splunk Brasil
Introdução Splunk BrasilSplunk
 
Webinar: Desenvolvimento de Interface Gráfica para Embarcados
Webinar: Desenvolvimento de Interface Gráfica para EmbarcadosWebinar: Desenvolvimento de Interface Gráfica para Embarcados
Webinar: Desenvolvimento de Interface Gráfica para EmbarcadosEmbarcados
 
Seminário de Desenvolvimento Mobile - Etec Cafelândia
Seminário de Desenvolvimento Mobile - Etec CafelândiaSeminário de Desenvolvimento Mobile - Etec Cafelândia
Seminário de Desenvolvimento Mobile - Etec CafelândiaDiego Cavalca
 
MVPConf - Azure Functions
MVPConf - Azure FunctionsMVPConf - Azure Functions
MVPConf - Azure FunctionsCDS
 
Mobile Ria Para Aplicacoes Para Negocios
Mobile Ria Para Aplicacoes Para NegociosMobile Ria Para Aplicacoes Para Negocios
Mobile Ria Para Aplicacoes Para NegociosRodney Repullo
 
VIII Encontro de Parceiros Microsoft - Visão da Microsoft para Plataforma de TI
VIII Encontro de Parceiros Microsoft - Visão da Microsoft para Plataforma de TIVIII Encontro de Parceiros Microsoft - Visão da Microsoft para Plataforma de TI
VIII Encontro de Parceiros Microsoft - Visão da Microsoft para Plataforma de TILuciano Condé
 
Análise de Ameaças Cibernéticas em Protocolos Industriais
Análise de Ameaças Cibernéticas em Protocolos Industriais Análise de Ameaças Cibernéticas em Protocolos Industriais
Análise de Ameaças Cibernéticas em Protocolos Industriais Alexandre Freire
 
Fuzzing com ZAP (Zed Attack Proxy)
Fuzzing com ZAP (Zed Attack Proxy)Fuzzing com ZAP (Zed Attack Proxy)
Fuzzing com ZAP (Zed Attack Proxy)Maurício Harley
 
Repensando o ESB: sua arquitetura SOA, usando APIs
Repensando o ESB: sua arquitetura SOA, usando APIsRepensando o ESB: sua arquitetura SOA, usando APIs
Repensando o ESB: sua arquitetura SOA, usando APIsFábio Rosato
 

Semelhante a Testes em arquitetura com messageria/streaming (20)

Expondo APIs de back-ends legados e travados
Expondo APIs de back-ends legados e travadosExpondo APIs de back-ends legados e travados
Expondo APIs de back-ends legados e travados
 
Minicurso IOT com javascript - SBTI
Minicurso IOT com javascript - SBTIMinicurso IOT com javascript - SBTI
Minicurso IOT com javascript - SBTI
 
Javascript State of the Union 2015
Javascript State of the Union 2015Javascript State of the Union 2015
Javascript State of the Union 2015
 
Ux for Developers - Build Better Products
Ux for Developers - Build Better ProductsUx for Developers - Build Better Products
Ux for Developers - Build Better Products
 
Apresentação desenvolvimento de plataforma para comandar microcontroladores e...
Apresentação desenvolvimento de plataforma para comandar microcontroladores e...Apresentação desenvolvimento de plataforma para comandar microcontroladores e...
Apresentação desenvolvimento de plataforma para comandar microcontroladores e...
 
Deck QCON SP 2018
Deck QCON SP 2018Deck QCON SP 2018
Deck QCON SP 2018
 
Transformando a ti com cloud computing e virtualização
Transformando a ti com cloud computing e virtualizaçãoTransformando a ti com cloud computing e virtualização
Transformando a ti com cloud computing e virtualização
 
API management: um aliado para construção de APIs
API management: um aliado para construção de APIsAPI management: um aliado para construção de APIs
API management: um aliado para construção de APIs
 
Introdução Splunk Brasil
Introdução Splunk BrasilIntrodução Splunk Brasil
Introdução Splunk Brasil
 
Webinar: Desenvolvimento de Interface Gráfica para Embarcados
Webinar: Desenvolvimento de Interface Gráfica para EmbarcadosWebinar: Desenvolvimento de Interface Gráfica para Embarcados
Webinar: Desenvolvimento de Interface Gráfica para Embarcados
 
Seminário de Desenvolvimento Mobile - Etec Cafelândia
Seminário de Desenvolvimento Mobile - Etec CafelândiaSeminário de Desenvolvimento Mobile - Etec Cafelândia
Seminário de Desenvolvimento Mobile - Etec Cafelândia
 
MVPConf - Azure Functions
MVPConf - Azure FunctionsMVPConf - Azure Functions
MVPConf - Azure Functions
 
Apps tecnologias e usos
Apps   tecnologias e usosApps   tecnologias e usos
Apps tecnologias e usos
 
Mobile Ria Para Aplicacoes Para Negocios
Mobile Ria Para Aplicacoes Para NegociosMobile Ria Para Aplicacoes Para Negocios
Mobile Ria Para Aplicacoes Para Negocios
 
VIII Encontro de Parceiros Microsoft - Visão da Microsoft para Plataforma de TI
VIII Encontro de Parceiros Microsoft - Visão da Microsoft para Plataforma de TIVIII Encontro de Parceiros Microsoft - Visão da Microsoft para Plataforma de TI
VIII Encontro de Parceiros Microsoft - Visão da Microsoft para Plataforma de TI
 
Análise de Ameaças Cibernéticas em Protocolos Industriais
Análise de Ameaças Cibernéticas em Protocolos Industriais Análise de Ameaças Cibernéticas em Protocolos Industriais
Análise de Ameaças Cibernéticas em Protocolos Industriais
 
Fuzzing com ZAP (Zed Attack Proxy)
Fuzzing com ZAP (Zed Attack Proxy)Fuzzing com ZAP (Zed Attack Proxy)
Fuzzing com ZAP (Zed Attack Proxy)
 
Repensando o ESB: sua arquitetura SOA, usando APIs
Repensando o ESB: sua arquitetura SOA, usando APIsRepensando o ESB: sua arquitetura SOA, usando APIs
Repensando o ESB: sua arquitetura SOA, usando APIs
 
3 Telas e uma nuvem
3 Telas e uma nuvem3 Telas e uma nuvem
3 Telas e uma nuvem
 
EzPlant no Ecossistema
EzPlant no EcossistemaEzPlant no Ecossistema
EzPlant no Ecossistema
 

Mais de Robson Agapito Correa

A aventura de um Agile Tester em uma empresa Waterfall Portuguesa
A aventura de um Agile Tester em uma empresa Waterfall PortuguesaA aventura de um Agile Tester em uma empresa Waterfall Portuguesa
A aventura de um Agile Tester em uma empresa Waterfall PortuguesaRobson Agapito Correa
 
Python com qualidade - testes funcionais com Python e Selenium Webdriver
Python com qualidade - testes funcionais com Python e Selenium WebdriverPython com qualidade - testes funcionais com Python e Selenium Webdriver
Python com qualidade - testes funcionais com Python e Selenium WebdriverRobson Agapito Correa
 
Qual arquitetura de automação escolher: monolítica ou distribuída?
Qual arquitetura de automação escolher: monolítica ou distribuída?Qual arquitetura de automação escolher: monolítica ou distribuída?
Qual arquitetura de automação escolher: monolítica ou distribuída?Robson Agapito Correa
 
MindMaps ajudando planejar meus testes no mundo Agile
MindMaps ajudando planejar meus testes no mundo AgileMindMaps ajudando planejar meus testes no mundo Agile
MindMaps ajudando planejar meus testes no mundo AgileRobson Agapito Correa
 
Utilizando Cucumber para um Continuous Delivery
Utilizando Cucumber para um Continuous DeliveryUtilizando Cucumber para um Continuous Delivery
Utilizando Cucumber para um Continuous DeliveryRobson Agapito Correa
 
Mutant Testing: um mundo para um X-Testing.
Mutant Testing: um mundo para um X-Testing.Mutant Testing: um mundo para um X-Testing.
Mutant Testing: um mundo para um X-Testing.Robson Agapito Correa
 
Automação de testes funcionais com Python e Mechanize
Automação de testes funcionais com Python e MechanizeAutomação de testes funcionais com Python e Mechanize
Automação de testes funcionais com Python e MechanizeRobson Agapito Correa
 
Estou desempregado e agora? Como me recolocar como QA.
Estou desempregado e agora? Como me recolocar como QA.Estou desempregado e agora? Como me recolocar como QA.
Estou desempregado e agora? Como me recolocar como QA.Robson Agapito Correa
 
Mutant Testing: um mundo para um X-Tester participar.
Mutant Testing: um mundo para um X-Tester participar.Mutant Testing: um mundo para um X-Tester participar.
Mutant Testing: um mundo para um X-Tester participar.Robson Agapito Correa
 
Criação de uma equipe de QAs, do Waterfall ao Agile
Criação de uma equipe de QAs, do Waterfall ao AgileCriação de uma equipe de QAs, do Waterfall ao Agile
Criação de uma equipe de QAs, do Waterfall ao AgileRobson Agapito Correa
 
QAs podem realizar testes de APIs? DEVEM!!!
QAs podem realizar testes de APIs? DEVEM!!!QAs podem realizar testes de APIs? DEVEM!!!
QAs podem realizar testes de APIs? DEVEM!!!Robson Agapito Correa
 
Continuous Integration, Automated Builds e Continuous Deploy, desenvolvimento...
Continuous Integration, Automated Builds e Continuous Deploy, desenvolvimento...Continuous Integration, Automated Builds e Continuous Deploy, desenvolvimento...
Continuous Integration, Automated Builds e Continuous Deploy, desenvolvimento...Robson Agapito Correa
 
Palestra FIAP - 11/09/2014 - Testes de Software
Palestra FIAP - 11/09/2014 - Testes de SoftwarePalestra FIAP - 11/09/2014 - Testes de Software
Palestra FIAP - 11/09/2014 - Testes de SoftwareRobson Agapito Correa
 
Palestra FIAP - 11/09/2014 - Testes de Software
Palestra FIAP - 11/09/2014 - Testes de SoftwarePalestra FIAP - 11/09/2014 - Testes de Software
Palestra FIAP - 11/09/2014 - Testes de SoftwareRobson Agapito Correa
 
Evento Locaweb Curitiba - Utilizando Rspec com Selenium Webdriver para reali...
Evento Locaweb Curitiba - Utilizando Rspec com Selenium Webdriver  para reali...Evento Locaweb Curitiba - Utilizando Rspec com Selenium Webdriver  para reali...
Evento Locaweb Curitiba - Utilizando Rspec com Selenium Webdriver para reali...Robson Agapito Correa
 
TDC 2012 - Processo de Teste e Qualidade de Software
TDC 2012 - Processo de Teste e Qualidade de SoftwareTDC 2012 - Processo de Teste e Qualidade de Software
TDC 2012 - Processo de Teste e Qualidade de SoftwareRobson Agapito Correa
 

Mais de Robson Agapito Correa (19)

ChatGPT e Testes de Software
ChatGPT e Testes de SoftwareChatGPT e Testes de Software
ChatGPT e Testes de Software
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
A aventura de um Agile Tester em uma empresa Waterfall Portuguesa
A aventura de um Agile Tester em uma empresa Waterfall PortuguesaA aventura de um Agile Tester em uma empresa Waterfall Portuguesa
A aventura de um Agile Tester em uma empresa Waterfall Portuguesa
 
Python com qualidade - testes funcionais com Python e Selenium Webdriver
Python com qualidade - testes funcionais com Python e Selenium WebdriverPython com qualidade - testes funcionais com Python e Selenium Webdriver
Python com qualidade - testes funcionais com Python e Selenium Webdriver
 
Qual arquitetura de automação escolher: monolítica ou distribuída?
Qual arquitetura de automação escolher: monolítica ou distribuída?Qual arquitetura de automação escolher: monolítica ou distribuída?
Qual arquitetura de automação escolher: monolítica ou distribuída?
 
MindMaps ajudando planejar meus testes no mundo Agile
MindMaps ajudando planejar meus testes no mundo AgileMindMaps ajudando planejar meus testes no mundo Agile
MindMaps ajudando planejar meus testes no mundo Agile
 
Utilizando Cucumber para um Continuous Delivery
Utilizando Cucumber para um Continuous DeliveryUtilizando Cucumber para um Continuous Delivery
Utilizando Cucumber para um Continuous Delivery
 
Mutant Testing: um mundo para um X-Testing.
Mutant Testing: um mundo para um X-Testing.Mutant Testing: um mundo para um X-Testing.
Mutant Testing: um mundo para um X-Testing.
 
Automação de testes funcionais com Python e Mechanize
Automação de testes funcionais com Python e MechanizeAutomação de testes funcionais com Python e Mechanize
Automação de testes funcionais com Python e Mechanize
 
Estou desempregado e agora? Como me recolocar como QA.
Estou desempregado e agora? Como me recolocar como QA.Estou desempregado e agora? Como me recolocar como QA.
Estou desempregado e agora? Como me recolocar como QA.
 
Mutant Testing: um mundo para um X-Tester participar.
Mutant Testing: um mundo para um X-Tester participar.Mutant Testing: um mundo para um X-Tester participar.
Mutant Testing: um mundo para um X-Tester participar.
 
Ruby Conf Brasil 2015
Ruby Conf Brasil 2015Ruby Conf Brasil 2015
Ruby Conf Brasil 2015
 
Criação de uma equipe de QAs, do Waterfall ao Agile
Criação de uma equipe de QAs, do Waterfall ao AgileCriação de uma equipe de QAs, do Waterfall ao Agile
Criação de uma equipe de QAs, do Waterfall ao Agile
 
QAs podem realizar testes de APIs? DEVEM!!!
QAs podem realizar testes de APIs? DEVEM!!!QAs podem realizar testes de APIs? DEVEM!!!
QAs podem realizar testes de APIs? DEVEM!!!
 
Continuous Integration, Automated Builds e Continuous Deploy, desenvolvimento...
Continuous Integration, Automated Builds e Continuous Deploy, desenvolvimento...Continuous Integration, Automated Builds e Continuous Deploy, desenvolvimento...
Continuous Integration, Automated Builds e Continuous Deploy, desenvolvimento...
 
Palestra FIAP - 11/09/2014 - Testes de Software
Palestra FIAP - 11/09/2014 - Testes de SoftwarePalestra FIAP - 11/09/2014 - Testes de Software
Palestra FIAP - 11/09/2014 - Testes de Software
 
Palestra FIAP - 11/09/2014 - Testes de Software
Palestra FIAP - 11/09/2014 - Testes de SoftwarePalestra FIAP - 11/09/2014 - Testes de Software
Palestra FIAP - 11/09/2014 - Testes de Software
 
Evento Locaweb Curitiba - Utilizando Rspec com Selenium Webdriver para reali...
Evento Locaweb Curitiba - Utilizando Rspec com Selenium Webdriver  para reali...Evento Locaweb Curitiba - Utilizando Rspec com Selenium Webdriver  para reali...
Evento Locaweb Curitiba - Utilizando Rspec com Selenium Webdriver para reali...
 
TDC 2012 - Processo de Teste e Qualidade de Software
TDC 2012 - Processo de Teste e Qualidade de SoftwareTDC 2012 - Processo de Teste e Qualidade de Software
TDC 2012 - Processo de Teste e Qualidade de Software
 

Testes em arquitetura com messageria/streaming

  • 1. Shaping the future of digital business Testes em uma arquitetura com messageria/streaming Robson Agapito Correa
  • 2. CONFIDENTIALGFT GROUP Shaping the future of digital business Robson Agapito QA Specialist QA por opção e Agilista por prazer @robsonagapito http://www.slideshare.net/robsonagapito https://br.linkedin.com/in/robsonagapito https://github.com/robsonagapito https://about.me/robsonagapito https://medium.com/@robsonagapito
  • 3. CONFIDENTIALGFT GROUP Shaping the future of digital business Síncrono e Assíncrono Aplicação Processamento Continua Assíncrono Aplicação Processamento Continua Síncrono
  • 4. CONFIDENTIALGFT GROUP Shaping the future of digital business Messageria App Producer MESSAGE Continua... App Consumer Kafka, RabbitMQ ... BD
  • 5. CONFIDENTIALGFT GROUP Shaping the future of digital business  KAFKA • BROCKERS  Localhost  Server 1  Server 2 • TOPICOS  PARTIÇÕES 1. Partição 1 2. Partição 2  ZOOKEEPER Arquitetura do Kafka
  • 6. CONFIDENTIALGFT GROUP Shaping the future of digital business Diferença do Kafka e outra Messageria  Não deleta mensagem após consumo  Posicionar e ler qualquer mensagem  Facilidade em escalar  Mais complexo  Tolerância a falhas
  • 7. CONFIDENTIALGFT GROUP Shaping the future of digital business Funcionalidade, Estrutura(Json) E performance O objetivo não era testar o Kafka e sim as aplicações Consumer e Producer Tipos de Testes
  • 8. CONFIDENTIALGFT GROUP Shaping the future of digital business Arquitetura da Aplicação TÓPICO 1 (Json) TÓPICO 2 (Padrão MainFrame) App 2 App 1 Library App Client Mainframe Elastic Search X
  • 9. CONFIDENTIALGFT GROUP Shaping the future of digital business Arquitetura da Aplicação TÓPICO 1 (Json) TÓPICO 2 (Padrão MainFrame) App 2 App 1 Library App Client Mainframe Elastic Search X
  • 10. CONFIDENTIALGFT GROUP Shaping the future of digital business Arquitetura da Aplicação TÓPICO 1 (Json) TÓPICO 2 (Padrão MainFrame) App 2 App 1 Library App Client Mainframe Elastic Search X
  • 11. CONFIDENTIALGFT GROUP Shaping the future of digital business Arquitetura da Aplicação TÓPICO 1 (Json) TÓPICO 2 (Padrão MainFrame) App 2 App 1 Library App Client Mainframe Elastic Search X
  • 12. CONFIDENTIALGFT GROUP Shaping the future of digital business Dificuldades e Desafios - Falta de conhecimento na arquitetura Kafka - Comunicação com o Kafka Local - Segurança da comunicação nos ambientes - Qualquer aplicação poderia ser um consumer ou um producer - Muitas mensagens/informação sendo produzidas e consumidas (chegamos a atender 6000/segundo) - Fazer testes antes do desenvolvimento (uma parte do BDD)
  • 14. CONFIDENTIALGFT GROUP Shaping the future of digital business App 1 Library App Client Elastic Search X Arquitetura da Aplicação TÓPICO 1 (Json) TÓPICO 2 (Padrão MainFrame) App 2 Mainframe
  • 15. CONFIDENTIALGFT GROUP Shaping the future of digital business Links interessantes Aplicação exemplo do Consumer/Producer do Kafka em Python: https://github.com/robsonagapito/kafka-app-python Artigo de como subir um Kafka em Localhost no Windows: https://medium.com/@robsonagapito/subindo-o-kafka-em-localhost-no-windows-288c66b1b71a Projeto de testes exemplo: Podcast GFT sobre Kafka: https://open.spotify.com/show/1Mw5kJHZaEQYcIpAyP3Db8 Webinar GFT sobre Kafka: https://www.youtube.com/watch?v=7P7O7X1U2Ew Site da Documentação do Kafka: https://kafka.apache.org/documentation https://github.com/robsonagapito/kafka-testing-java
  • 16. Shaping the future of digital business Thank you! GFT Brazil Robson Agapito Correa QA Specialist Av. São Francisco, 98 18095-450 - Sorocaba/SP T +55 15 3414-9371 / +55 11 9 8661-3181 robson.correa@gft.com

Notas do Editor

  1. 1 | 37