SlideShare une entreprise 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

Contenu connexe

Tendances

웨일브라우저 성능 및 메모리 최적화
웨일브라우저 성능 및 메모리 최적화웨일브라우저 성능 및 메모리 최적화
웨일브라우저 성능 및 메모리 최적화
NAVER D2
 
MLOps 플랫폼을 만드는 과정의 고민과 해결 사례 공유(feat. Kubeflow)
MLOps 플랫폼을 만드는 과정의 고민과 해결 사례 공유(feat. Kubeflow)MLOps 플랫폼을 만드는 과정의 고민과 해결 사례 공유(feat. Kubeflow)
MLOps 플랫폼을 만드는 과정의 고민과 해결 사례 공유(feat. Kubeflow)
Jaeyeon Kim
 
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Commit University
 
Arquitetura de microsserviços
Arquitetura  de  microsserviçosArquitetura  de  microsserviços
Arquitetura de microsserviços
Raphael Almeida
 
DevOps Best Practices
DevOps Best PracticesDevOps Best Practices
DevOps Best Practices
Giragadurai Vallirajan
 
Continuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CIContinuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CI
David Hahn
 
Apache Camel v3, Camel K and Camel Quarkus
Apache Camel v3, Camel K and Camel QuarkusApache Camel v3, Camel K and Camel Quarkus
Apache Camel v3, Camel K and Camel Quarkus
Claus Ibsen
 
Jenkins Shared Libraries Workshop
Jenkins Shared Libraries WorkshopJenkins Shared Libraries Workshop
Jenkins Shared Libraries Workshop
Julien Pivotto
 
An Overview of Spinnaker
An Overview of SpinnakerAn Overview of Spinnaker
An Overview of Spinnaker
Pierre-Nicolas Durette
 
The Devops Handbook
The Devops HandbookThe Devops Handbook
The Devops Handbook
Harish Kamugakudi Marimuthu
 
Azure DevOps
Azure DevOpsAzure DevOps
Azure DevOps
Juan Fabian
 
AWS 6월 웨비나 | AWS에서 MS SQL 서버 운영하기 (김민성 솔루션즈아키텍트)
AWS 6월 웨비나 | AWS에서 MS SQL 서버 운영하기 (김민성 솔루션즈아키텍트)AWS 6월 웨비나 | AWS에서 MS SQL 서버 운영하기 (김민성 솔루션즈아키텍트)
AWS 6월 웨비나 | AWS에서 MS SQL 서버 운영하기 (김민성 솔루션즈아키텍트)
Amazon Web Services Korea
 
Spring Framework Petclinic sample application
Spring Framework Petclinic sample applicationSpring Framework Petclinic sample application
Spring Framework Petclinic sample application
Antoine Rey
 
Top 5 benefits of docker
Top 5 benefits of dockerTop 5 benefits of docker
Top 5 benefits of docker
John Zaccone
 
Flink vs. Spark
Flink vs. SparkFlink vs. Spark
Flink vs. Spark
Slim Baltagi
 
De Mensajería hacia Logs con Apache Kafka
De Mensajería hacia Logs con Apache KafkaDe Mensajería hacia Logs con Apache Kafka
De Mensajería hacia Logs con Apache Kafka
Jorge Esteban Quilcate Otoya
 
Rediscovering Spring with Spring Boot(1)
Rediscovering Spring with Spring Boot(1)Rediscovering Spring with Spring Boot(1)
Rediscovering Spring with Spring Boot(1)Gunith Devasurendra
 
Modern UI Development With Node.js
Modern UI Development With Node.jsModern UI Development With Node.js
Modern UI Development With Node.js
Ryan Anklam
 
Stability Patterns for Microservices
Stability Patterns for MicroservicesStability Patterns for Microservices
Stability Patterns for Microservices
pflueras
 
Git interview questions | Edureka
Git interview questions | EdurekaGit interview questions | Edureka
Git interview questions | Edureka
Edureka!
 

Tendances (20)

웨일브라우저 성능 및 메모리 최적화
웨일브라우저 성능 및 메모리 최적화웨일브라우저 성능 및 메모리 최적화
웨일브라우저 성능 및 메모리 최적화
 
MLOps 플랫폼을 만드는 과정의 고민과 해결 사례 공유(feat. Kubeflow)
MLOps 플랫폼을 만드는 과정의 고민과 해결 사례 공유(feat. Kubeflow)MLOps 플랫폼을 만드는 과정의 고민과 해결 사례 공유(feat. Kubeflow)
MLOps 플랫폼을 만드는 과정의 고민과 해결 사례 공유(feat. Kubeflow)
 
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
 
Arquitetura de microsserviços
Arquitetura  de  microsserviçosArquitetura  de  microsserviços
Arquitetura de microsserviços
 
DevOps Best Practices
DevOps Best PracticesDevOps Best Practices
DevOps Best Practices
 
Continuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CIContinuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CI
 
Apache Camel v3, Camel K and Camel Quarkus
Apache Camel v3, Camel K and Camel QuarkusApache Camel v3, Camel K and Camel Quarkus
Apache Camel v3, Camel K and Camel Quarkus
 
Jenkins Shared Libraries Workshop
Jenkins Shared Libraries WorkshopJenkins Shared Libraries Workshop
Jenkins Shared Libraries Workshop
 
An Overview of Spinnaker
An Overview of SpinnakerAn Overview of Spinnaker
An Overview of Spinnaker
 
The Devops Handbook
The Devops HandbookThe Devops Handbook
The Devops Handbook
 
Azure DevOps
Azure DevOpsAzure DevOps
Azure DevOps
 
AWS 6월 웨비나 | AWS에서 MS SQL 서버 운영하기 (김민성 솔루션즈아키텍트)
AWS 6월 웨비나 | AWS에서 MS SQL 서버 운영하기 (김민성 솔루션즈아키텍트)AWS 6월 웨비나 | AWS에서 MS SQL 서버 운영하기 (김민성 솔루션즈아키텍트)
AWS 6월 웨비나 | AWS에서 MS SQL 서버 운영하기 (김민성 솔루션즈아키텍트)
 
Spring Framework Petclinic sample application
Spring Framework Petclinic sample applicationSpring Framework Petclinic sample application
Spring Framework Petclinic sample application
 
Top 5 benefits of docker
Top 5 benefits of dockerTop 5 benefits of docker
Top 5 benefits of docker
 
Flink vs. Spark
Flink vs. SparkFlink vs. Spark
Flink vs. Spark
 
De Mensajería hacia Logs con Apache Kafka
De Mensajería hacia Logs con Apache KafkaDe Mensajería hacia Logs con Apache Kafka
De Mensajería hacia Logs con Apache Kafka
 
Rediscovering Spring with Spring Boot(1)
Rediscovering Spring with Spring Boot(1)Rediscovering Spring with Spring Boot(1)
Rediscovering Spring with Spring Boot(1)
 
Modern UI Development With Node.js
Modern UI Development With Node.jsModern UI Development With Node.js
Modern UI Development With Node.js
 
Stability Patterns for Microservices
Stability Patterns for MicroservicesStability Patterns for Microservices
Stability Patterns for Microservices
 
Git interview questions | Edureka
Git interview questions | EdurekaGit interview questions | Edureka
Git interview questions | Edureka
 

Similaire à 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)
 

Similaire à 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
 

Plus de 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 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 Software
Robson Agapito Correa
 

Plus 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 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

Notes de l'éditeur

  1. 1 | 37