SlideShare uma empresa Scribd logo
Globalcode – Open4education
Metralhando sua API
Trilha – Testes
Edlaine & Thalita
Globalcode – Open4education
@EdlaineZamora
Desenvolvedora de Software na ThoughtWorks
Formada em Informática pela Universidade
Estadual de Maringá
Especializada em Desenvolvimento Web pela
Universidade Estadual de Maringá
Experiência de 6 anos de desenvolvimento de
software
Globalcode – Open4education
@ThalitaPinheiro
Deva na ThoughtWorks =)
Formada em Sistemas de Informação pela
Universidade Federal dos Vales do
Jequitinhonha e Mucuri
Especializada em Gestão de Projetos Ágeis
Experiência de 6 anos de desenvolvimento de
software
Globalcode – Open4education
Agenda
❖ Teste de Performance
❖ Ferramenta Gatling
❖ Demonstração
➢ Ambiente
➢ Mão na massa
❖ Boas Práticas
Globalcode – Open4education
Teste de Performance
Globalcode – Open4education
Teste de Performance
Alguns conceitos
❖ Carga
➢ Volume de tráfego. Medida em transações, requisições, etc.
❖ Requisição
➢ Requisição http realizada.
❖ Transação
➢ Operação completa no sistema. Ex: buscar um produto.
❖ Tempo de resposta
➢ Tempo decorrido entre a requisição e a resposta.
Globalcode – Open4education
Teste de Performance
Alguns conceitos
❖ Profiling
➢ Instrumentação da aplicação para estudo dos métodos e seus tempos de
execução.
❖ Vazão
➢ Taxa de resposta às requisições recebidas.
❖ Gargalo
➢ Tudo o que impede que o sistema apresente maior vazão.
Globalcode – Open4education
Teste de Performance
Temos uma API
Metralhando sua API
Globalcode – Open4education
Teste de Performance
Metralhando sua API
Metralhando sua API
Globalcode – Open4education
O que é teste de performance?
Teste de performance é aquele em que submetemos o sistema a
uma avaliação de carga, stress ou desempenho para avaliar se os
resultados estão de acordo com o esperado.
Globalcode – Open4education
Testes de Performance
Por que testar?
A performance fará você perder clientes para o seu concorrente!
Globalcode – Open4education
Testes de Performance
Por que testar?
"De acordo com estudo do Aberdeen Group, cada segundo extra na leitura da página
pode resultar em aproximadamente 7% em perdas nas vendas."
"Estudo da Forrester Research indica que 40% dos compradores esperam cerca de
três segundos antes de abandonar um site."
"A Amazon divulgou um estudo em que afirma o aumento de 1% no faturamento
quando consegue melhorar a performance da loja virtual em 100 milissegundos."
Fonte: www.ecommercenews.com.br
Globalcode – Open4education
Testes de Performance
Importância
❖ Disponibilidade
❖ Tempo de resposta
❖ Consistencia de dados
❖ Problemas de concorrência
Globalcode – Open4education
Testes de Performance
Page Response Time
❖ Medida de performance que mais importa ao usuário final.
❖ É o tempo entre a requisição de uma página até a sua exibição no navegador.
Globalcode – Open4education
Testes de Performance
Page Response Time - Limites
0,1 segundos Limite que o usuário sente que a resposta foi imediata
1 segundo Limite para que o fluxo de pensamento do usuário se mantenha contínuo, mas ele
notará a demora no processamento
10 segundos Limite máximo de espera para manter a atenção do usuário na tela. Ele sente que
poderia ser mais rápido mas supera isso
Após 10 segundos Após 10 segundos ele começará a pensar em outras coisas, tornando difícil recuperar
sua atenção quando o site responder
Fonte: https://www.nngroup.com/articles/website-response-times/
Globalcode – Open4education
Estratégias de testes de performance
Teste de carga
Testa o software sob as condições normais de uso.
O teste é iniciado com uma carga baixa e vai aumentando gradativamente
Globalcode – Open4education
Estratégias de testes de performance
Teste de desempenho (estabilidade)
Testa se o sistema se mantém funcionando de maneira satisfatória após um
período de uso.
É executado com uma carga constante e mantido por um tempo cronometrado.
Globalcode – Open4education
Estratégias de testes de performance
Teste de stress
Testa o software sob condições extremas de uso. Grande volume de transações e
usuários simultâneos, redução de recursos, etc.
❖ Black Friday
❖ Consulta de resultado de vestibular
Globalcode – Open4education
Ferramenta Gatling
Globalcode – Open4education
Ferramenta Gatling
Características
❖ Grátis e open source
❖ Multiplataforma (JDK8)
❖ Suporta protocolos HTTP/S, JMS e JDBC.
❖ Relatórios HTML lindos <3.
❖ Facilmente integrável com ferramentas de CI
Globalcode – Open4education
Ferramenta Gatling
Características
❖ Scripts em Scala (Tests as Code)
❖ Código humanamente legível
❖ Possibilita asserções de validação do retorno
Globalcode – Open4education
Ferramenta Gatling
Ferramenta nova que vem ganhando popularidade
Globalcode – Open4education
Demonstração
Globalcode – Open4education
Demonstração - Ambiente
Scripts de Teste
Código fonte disponível em:
https://github.com/EdlaineZamora/gatling
Globalcode – Open4education
Demonstração - Ambiente
Banco de dados
Hospedado na plataforma mLab em:
ds139072.mlab.com:39072/airlinedb
Globalcode – Open4education
Demonstração - Ambiente
API
Desenvolvida em NodeJS
Hospedada na plataforma Heroku em:
https://airlineapi.herokuapp.com
Código fonte disponível em:
https://github.com/EdlaineZamora/airlineapi
Globalcode – Open4education
Demonstração - Ambiente
API
Comunicação
Buscar recursos
Criar um novo recurso
Atualizar um recurso existente
Remover um recurso
Baseado em HTTP
Globalcode – Open4education
Demonstração - Ambiente
API
Funcionalidades
Globalcode – Open4education
Demonstração - Mão na Massa
Globalcode – Open4education
Boas Práticas
Globalcode – Open4education
7 dicas e sugestões de boas práticas
1. Mantenha seu banco de dados controlado.
Globalcode – Open4education
7 dicas e sugestões de boas práticas
2. Mantenha a infra-estrutura de testes o mais próximo possível do
ambiente de produção.
Globalcode – Open4education
3. Envolva testadores, administradores de banco de dados,
arquiteto de rede, de software e desenvolvedores no processo.
7 dicas e sugestões de boas práticas
Globalcode – Open4education
4. Execute o mesmo conjunto de testes várias vezes no mesmo dia
e durante vários dias na semana para garantir que os resultados
são consistentes.
7 dicas e sugestões de boas práticas
Globalcode – Open4education
5.Randomize Comportamento:
❖ Usuário reais nunca pensam igual
❖ Considere adicionar alguma aleatorização aos tempos de sono
mínimo / máximo, o número de repetições de chamadas, etc
7 dicas e sugestões de boas práticas
Globalcode – Open4education
7 dicas e sugestões de boas práticas
6. Mantenha seus scripts o mais legível possível
Globalcode – Open4education
7 dicas e sugestões de boas práticas
7. Stakeholders não querem relatório com gráficos e tabelas
confusas, eles querem conclusões e sugestões
Globalcode – Open4education
Metralhando sua API
Metralhando sua API
Metralhando sua API

Mais conteúdo relacionado

PDF
TDC2018FLN | Trilha Testes - Flaky tests: O flakiness que ha em voce
tdc-globalcode
 
PDF
TDC2018FLN | Trilha Testes - High Automation Tests e DevOps - Um novo paradig...
tdc-globalcode
 
PDF
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipster
Edlaine Zamora
 
PDF
Metralhando sua API
minastestingconference
 
PDF
Gestão de Projeto de Desenvolvimento Agil(XP)
elliando dias
 
PPTX
Minas Testing Conference - Entrega Contínua
Samanta Cicilia
 
PDF
[TDCPOA2018] Desmistificando a eXtreme Programming para desenvolvedores "não ...
Vinicius Campos Silva
 
PDF
Análise Estática de Código
Ricardo Terra
 
TDC2018FLN | Trilha Testes - Flaky tests: O flakiness que ha em voce
tdc-globalcode
 
TDC2018FLN | Trilha Testes - High Automation Tests e DevOps - Um novo paradig...
tdc-globalcode
 
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipster
Edlaine Zamora
 
Metralhando sua API
minastestingconference
 
Gestão de Projeto de Desenvolvimento Agil(XP)
elliando dias
 
Minas Testing Conference - Entrega Contínua
Samanta Cicilia
 
[TDCPOA2018] Desmistificando a eXtreme Programming para desenvolvedores "não ...
Vinicius Campos Silva
 
Análise Estática de Código
Ricardo Terra
 

Mais procurados (20)

PDF
Da Integração Contínua à Entrega Contínua apenas com ferramentas open-source
Raphael Paiva
 
PDF
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...
Edlaine Zamora
 
PDF
Como testar a performance de ap is utilizando uma ferramenta simples e gratuita?
Edlaine Zamora
 
PPTX
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
Igor Abade
 
PPTX
Vamos falar de DevOps?
Karini Rodrigues Magalhaes
 
PPTX
Sonarqube
CDS
 
PPSX
DevQA - Da zona de conforto ao comprometimento com a Qualidade
Kamilla Queiroz Xavier
 
PPTX
Importância de Testes Automatizados para Continuous Delivery & DevOps
Samanta Cicilia
 
PPT
Acredite, você pode agilizar feedbacks aplicando Dev Box Testing
Ariane Izac
 
PPTX
Todas as abordagens de testes dentro do ágil
Elias Nogueira
 
PPTX
Desenvolvimento de software mundo ideal x mundo real
Willy Salazar
 
PPTX
Desenvolvimento de software: Mundo ideal x Mundo real
Henrique Schmidt
 
PDF
E so mais um campinho na tela
Vandre Ramos, MSc, MBA, CSM
 
PPTX
Apresentação inícial testes ágeis
Bárbara Cabral da Conceição, CTFL
 
PPTX
Aprendizados de um Agile Coach - Agile Trends
Alexandre Rech
 
PDF
TDC2018SP | Trilha UX - Pair Programming: Troque seu FONE por um DEV
tdc-globalcode
 
PDF
Drupal e a Qualidade de Software
Daniel Carvalhinho
 
PDF
Grafana & Zabbix - Webinar JLCP
Robert Silva
 
PDF
Construindo um micro-serviço Java 100% funcional em 15 minutos
Rafael Chaves
 
PPTX
10 coisas que não me contaram sobre Testes
Katiana Maia
 
Da Integração Contínua à Entrega Contínua apenas com ferramentas open-source
Raphael Paiva
 
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...
Edlaine Zamora
 
Como testar a performance de ap is utilizando uma ferramenta simples e gratuita?
Edlaine Zamora
 
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
Igor Abade
 
Vamos falar de DevOps?
Karini Rodrigues Magalhaes
 
Sonarqube
CDS
 
DevQA - Da zona de conforto ao comprometimento com a Qualidade
Kamilla Queiroz Xavier
 
Importância de Testes Automatizados para Continuous Delivery & DevOps
Samanta Cicilia
 
Acredite, você pode agilizar feedbacks aplicando Dev Box Testing
Ariane Izac
 
Todas as abordagens de testes dentro do ágil
Elias Nogueira
 
Desenvolvimento de software mundo ideal x mundo real
Willy Salazar
 
Desenvolvimento de software: Mundo ideal x Mundo real
Henrique Schmidt
 
E so mais um campinho na tela
Vandre Ramos, MSc, MBA, CSM
 
Apresentação inícial testes ágeis
Bárbara Cabral da Conceição, CTFL
 
Aprendizados de um Agile Coach - Agile Trends
Alexandre Rech
 
TDC2018SP | Trilha UX - Pair Programming: Troque seu FONE por um DEV
tdc-globalcode
 
Drupal e a Qualidade de Software
Daniel Carvalhinho
 
Grafana & Zabbix - Webinar JLCP
Robert Silva
 
Construindo um micro-serviço Java 100% funcional em 15 minutos
Rafael Chaves
 
10 coisas que não me contaram sobre Testes
Katiana Maia
 
Anúncio

Semelhante a Metralhando sua API (20)

PDF
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
tdc-globalcode
 
PPT
Automacao de testes em .NET? Keep Calm and Just do It
tdc-globalcode
 
PPT
Apresentação TDC2015
Bruno Murawski
 
PDF
Automação de testes em projetos ágeis
Cristiano Caetano
 
PDF
TDC 2016 Trilha Testes - Floripa
Walmyr Lima e Silva Filho
 
PDF
Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC...
Rafael Chiavegatto
 
PPT
Testes Funcionais em um ALM Open Source - TDC 2012 SP
Elias Nogueira
 
PPT
Através do espelho
Ana Coli
 
PPT
TDC2016SP - Trilha UX Design
tdc-globalcode
 
PDF
[TDC-Arquitetura Java] Pastoreando Gatos
Rodrigo Stefani Domingues
 
PPT
TDC 2014 Floripa - Melhorando sua Estratégia de Testes Automatizados
Stefan Teixeira
 
PPT
Tdc2013 - Trilha de Teste -
Leonardo Galani
 
PDF
Gestão de produtos data-driven. Como definir e medir o sucesso de uma nova fe...
Rafael Besen - Hiring Awesome Devs
 
PDF
TDC2018FLN | Trilha Gestao de Produtos - Gestão de produtos data-driven. Como...
tdc-globalcode
 
PDF
TDC2018SP | Trilha Agile - Os 3 desafios em se tornar um time agil que realiz...
tdc-globalcode
 
PPT
GAU-1167_2019-04-29T124805_TDCFloripav2.ppt
DsAsdasd1
 
PDF
Como você testa seu software TDC 2017
Ismael
 
PDF
[TDC - Testes] Estratégia de automação dos testes em microserviços
Rodrigo Stefani Domingues
 
PPT
TDC POA 2015 - Já automatizei meu projeto. E agora? - Samuel Lucas
Samuel Lucas
 
PPTX
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Samanta Cicilia
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
tdc-globalcode
 
Automacao de testes em .NET? Keep Calm and Just do It
tdc-globalcode
 
Apresentação TDC2015
Bruno Murawski
 
Automação de testes em projetos ágeis
Cristiano Caetano
 
TDC 2016 Trilha Testes - Floripa
Walmyr Lima e Silva Filho
 
Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC...
Rafael Chiavegatto
 
Testes Funcionais em um ALM Open Source - TDC 2012 SP
Elias Nogueira
 
Através do espelho
Ana Coli
 
TDC2016SP - Trilha UX Design
tdc-globalcode
 
[TDC-Arquitetura Java] Pastoreando Gatos
Rodrigo Stefani Domingues
 
TDC 2014 Floripa - Melhorando sua Estratégia de Testes Automatizados
Stefan Teixeira
 
Tdc2013 - Trilha de Teste -
Leonardo Galani
 
Gestão de produtos data-driven. Como definir e medir o sucesso de uma nova fe...
Rafael Besen - Hiring Awesome Devs
 
TDC2018FLN | Trilha Gestao de Produtos - Gestão de produtos data-driven. Como...
tdc-globalcode
 
TDC2018SP | Trilha Agile - Os 3 desafios em se tornar um time agil que realiz...
tdc-globalcode
 
GAU-1167_2019-04-29T124805_TDCFloripav2.ppt
DsAsdasd1
 
Como você testa seu software TDC 2017
Ismael
 
[TDC - Testes] Estratégia de automação dos testes em microserviços
Rodrigo Stefani Domingues
 
TDC POA 2015 - Já automatizei meu projeto. E agora? - Samuel Lucas
Samuel Lucas
 
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Samanta Cicilia
 
Anúncio

Metralhando sua API