SlideShare uma empresa Scribd logo
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

Postman: An Introduction for Developers
Postman: An Introduction for DevelopersPostman: An Introduction for Developers
Postman: An Introduction for Developers
Postman
 
Java SE 9 modules (JPMS) - an introduction
Java SE 9 modules (JPMS) - an introductionJava SE 9 modules (JPMS) - an introduction
Java SE 9 modules (JPMS) - an introduction
Stephen Colebourne
 
Java Spring
Java SpringJava Spring
Java Spring
AathikaJava
 
Integration Testing with a Citrus twist
Integration Testing with a Citrus twistIntegration Testing with a Citrus twist
Integration Testing with a Citrus twist
christophd
 
POSTMAN.pptx
POSTMAN.pptxPOSTMAN.pptx
POSTMAN.pptx
RamaKrishna970827
 
Perofrmance testing and apache jmeter
Perofrmance testing and apache jmeterPerofrmance testing and apache jmeter
Perofrmance testing and apache jmeter
lethibichhoa
 
점진적인 레거시 웹 애플리케이션 개선 과정
점진적인 레거시 웹 애플리케이션 개선 과정점진적인 레거시 웹 애플리케이션 개선 과정
점진적인 레거시 웹 애플리케이션 개선 과정
Arawn Park
 
Space Camp - API Contract Testing
Space Camp - API Contract TestingSpace Camp - API Contract Testing
Space Camp - API Contract Testing
Postman
 
Mocking in Java with Mockito
Mocking in Java with MockitoMocking in Java with Mockito
Mocking in Java with Mockito
Richard Paul
 
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
Ji-Woong Choi
 
Mock Server Using WireMock
Mock Server Using WireMockMock Server Using WireMock
Mock Server Using WireMock
Globant
 
SpringOne Tour: Spring Boot 3 and Beyond
SpringOne Tour: Spring Boot 3 and BeyondSpringOne Tour: Spring Boot 3 and Beyond
SpringOne Tour: Spring Boot 3 and Beyond
VMware Tanzu
 
BDD with Cucumber
BDD with CucumberBDD with Cucumber
BDD with Cucumber
Knoldus Inc.
 
Jenkins presentation
Jenkins presentationJenkins presentation
Jenkins presentation
Valentin Buryakov
 
Curso de Java Persistence API (JPA) (Java EE 7)
Curso de Java Persistence API (JPA) (Java EE 7)Curso de Java Persistence API (JPA) (Java EE 7)
Curso de Java Persistence API (JPA) (Java EE 7)
Helder da Rocha
 
이벤트 기반 분산 시스템을 향한 여정
이벤트 기반 분산 시스템을 향한 여정이벤트 기반 분산 시스템을 향한 여정
이벤트 기반 분산 시스템을 향한 여정
Arawn Park
 
De a máxima cobertura nos seus testes de API
De a máxima cobertura nos seus testes de APIDe a máxima cobertura nos seus testes de API
De a máxima cobertura nos seus testes de API
Elias Nogueira
 
Neoload
Neoload Neoload
Neoload
Kumar Gupta
 
Jenkins tutorial
Jenkins tutorialJenkins tutorial
Jenkins tutorial
HarikaReddy115
 
Postman
PostmanPostman

Mais procurados (20)

Postman: An Introduction for Developers
Postman: An Introduction for DevelopersPostman: An Introduction for Developers
Postman: An Introduction for Developers
 
Java SE 9 modules (JPMS) - an introduction
Java SE 9 modules (JPMS) - an introductionJava SE 9 modules (JPMS) - an introduction
Java SE 9 modules (JPMS) - an introduction
 
Java Spring
Java SpringJava Spring
Java Spring
 
Integration Testing with a Citrus twist
Integration Testing with a Citrus twistIntegration Testing with a Citrus twist
Integration Testing with a Citrus twist
 
POSTMAN.pptx
POSTMAN.pptxPOSTMAN.pptx
POSTMAN.pptx
 
Perofrmance testing and apache jmeter
Perofrmance testing and apache jmeterPerofrmance testing and apache jmeter
Perofrmance testing and apache jmeter
 
점진적인 레거시 웹 애플리케이션 개선 과정
점진적인 레거시 웹 애플리케이션 개선 과정점진적인 레거시 웹 애플리케이션 개선 과정
점진적인 레거시 웹 애플리케이션 개선 과정
 
Space Camp - API Contract Testing
Space Camp - API Contract TestingSpace Camp - API Contract Testing
Space Camp - API Contract Testing
 
Mocking in Java with Mockito
Mocking in Java with MockitoMocking in Java with Mockito
Mocking in Java with Mockito
 
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
 
Mock Server Using WireMock
Mock Server Using WireMockMock Server Using WireMock
Mock Server Using WireMock
 
SpringOne Tour: Spring Boot 3 and Beyond
SpringOne Tour: Spring Boot 3 and BeyondSpringOne Tour: Spring Boot 3 and Beyond
SpringOne Tour: Spring Boot 3 and Beyond
 
BDD with Cucumber
BDD with CucumberBDD with Cucumber
BDD with Cucumber
 
Jenkins presentation
Jenkins presentationJenkins presentation
Jenkins presentation
 
Curso de Java Persistence API (JPA) (Java EE 7)
Curso de Java Persistence API (JPA) (Java EE 7)Curso de Java Persistence API (JPA) (Java EE 7)
Curso de Java Persistence API (JPA) (Java EE 7)
 
이벤트 기반 분산 시스템을 향한 여정
이벤트 기반 분산 시스템을 향한 여정이벤트 기반 분산 시스템을 향한 여정
이벤트 기반 분산 시스템을 향한 여정
 
De a máxima cobertura nos seus testes de API
De a máxima cobertura nos seus testes de APIDe a máxima cobertura nos seus testes de API
De a máxima cobertura nos seus testes de API
 
Neoload
Neoload Neoload
Neoload
 
Jenkins tutorial
Jenkins tutorialJenkins tutorial
Jenkins tutorial
 
Postman
PostmanPostman
Postman
 

Semelhante a Testes em uma arquitetura com messageria/streaming (Kafka)

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
Fábio Rosato
 
Minicurso IOT com javascript - SBTI
Minicurso IOT com javascript - SBTIMinicurso IOT com javascript - SBTI
Minicurso IOT com javascript - SBTI
marcochella
 
Javascript State of the Union 2015
Javascript State of the Union 2015Javascript State of the Union 2015
Javascript State of the Union 2015
Huge
 
Ux for Developers - Build Better Products
Ux for Developers - Build Better ProductsUx for Developers - Build Better Products
Ux for Developers - Build Better Products
Pedro 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
 
Deck QCON SP 2018
Deck QCON SP 2018Deck QCON SP 2018
Deck QCON SP 2018
Rafael Rocha
 
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
Darlan 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 APIs
Rafael de Paula Souza
 
Introdução Splunk Brasil
Introdução Splunk BrasilIntrodução Splunk Brasil
Introdução Splunk Brasil
Splunk
 
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
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
Diego Cavalca
 
MVPConf - Azure Functions
MVPConf - Azure FunctionsMVPConf - Azure Functions
MVPConf - Azure Functions
CDS
 
Apps tecnologias e usos
Apps   tecnologias e usosApps   tecnologias e usos
Apps tecnologias e usos
Alexandre Oliveira
 
Mobile Ria Para Aplicacoes Para Negocios
Mobile Ria Para Aplicacoes Para NegociosMobile Ria Para Aplicacoes Para Negocios
Mobile Ria Para Aplicacoes Para Negocios
Rodney 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 TI
Luciano 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 APIs
Fábio Rosato
 
3 Telas e uma nuvem
3 Telas e uma nuvem3 Telas e uma nuvem
3 Telas e uma nuvem
Luciano Condé
 
EzPlant no Ecossistema
EzPlant no EcossistemaEzPlant no Ecossistema
EzPlant no Ecossistema
Joao Antonio Ferreira (Parana)
 

Semelhante a Testes em uma arquitetura com messageria/streaming (Kafka) (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

TDC Floripa 2024 - Medindo a maturidade do seu time
TDC Floripa 2024 - Medindo a maturidade do seu timeTDC Floripa 2024 - Medindo a maturidade do seu time
TDC Floripa 2024 - Medindo a maturidade do seu time
Robson Agapito Correa
 
Automatizando o Futuro: Desvendando a API do ChatGPT para aprimorar a Automaç...
Automatizando o Futuro: Desvendando a API do ChatGPT para aprimorar a Automaç...Automatizando o Futuro: Desvendando a API do ChatGPT para aprimorar a Automaç...
Automatizando o Futuro: Desvendando a API do ChatGPT para aprimorar a Automaç...
Robson Agapito Correa
 
ChatGPT e Testes de Software
ChatGPT e Testes de SoftwareChatGPT e Testes de Software
ChatGPT e Testes de Software
Robson Agapito Correa
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
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 Portuguesa
Robson 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 Webdriver
Robson 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 Agile
Robson Agapito Correa
 
Utilizando Cucumber para um Continuous Delivery
Utilizando Cucumber para um Continuous DeliveryUtilizando Cucumber para um Continuous Delivery
Utilizando Cucumber para um Continuous Delivery
Robson 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 Mechanize
Robson 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
 
Ruby Conf Brasil 2015
Ruby Conf Brasil 2015Ruby Conf Brasil 2015
Ruby Conf Brasil 2015
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 Agile
Robson 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 Software
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 Software
Robson 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
 

Mais de Robson Agapito Correa (20)

TDC Floripa 2024 - Medindo a maturidade do seu time
TDC Floripa 2024 - Medindo a maturidade do seu timeTDC Floripa 2024 - Medindo a maturidade do seu time
TDC Floripa 2024 - Medindo a maturidade do seu time
 
Automatizando o Futuro: Desvendando a API do ChatGPT para aprimorar a Automaç...
Automatizando o Futuro: Desvendando a API do ChatGPT para aprimorar a Automaç...Automatizando o Futuro: Desvendando a API do ChatGPT para aprimorar a Automaç...
Automatizando o Futuro: Desvendando a API do ChatGPT para aprimorar a Automaç...
 
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...
 

Testes em uma arquitetura com messageria/streaming (Kafka)

  • 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