SlideShare uma empresa Scribd logo
Metralhando sua
API
MTC
Edlaine & Thalita
@EdlaineZamora
LT e 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
@ThalitaPinheiro
Deva na ThoughtWorks =)
Formada em Sistemas de Informação pela
Universidade Federal dos Vales do
Jequitinhonha e Mucuri
Experiência de 6 anos de desenvolvimento de
software
Agenda
❖ Teste de Performance
❖ Ferramenta Gatling
❖ Demonstração
➢ Ambiente
➢ Mão na massa
❖ Boas Práticas
Teste de Performance
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.
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.
Teste de Performance
Temos uma API
Teste de Performance
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.
Testes de Performance
Por que testar?
A performance fará você perder clientes para o seu concorrente!
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
Testes de Performance
Importância
● Disponibilidade
● Tempo de resposta
● Consistencia de dados
● Problemas de concorrência
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.
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/
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
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.
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
Ferramenta Gatling
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
Ferramenta Gatling
Características
● Scripts em Scala (Tests as Code)
● Código humanamente legível
● Possibilita asserções de validação do retorno
Ferramenta Gatling
Ferramenta Gatling
Ferramenta nova que vem ganhando popularidade
Demonstração
Demonstração - Ambiente
Scripts de Teste
Código fonte disponível em:
https://github.com/EdlaineZamora/gatling
Demonstração - Ambiente
Banco de dados
Hospedado na plataforma mLab em:
ds139072.mlab.com:39072/airlinedb
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
Demonstração - Ambiente
API
Comunicação
Buscar recursos
Criar um novo recurso
Atualizar um recurso existente
Remover um recurso
Baseado em HTTP
Demonstração - Ambiente
API
Funcionalidades
Demonstração - Mão na Massa
Boas Práticas
7 dicas e sugestões de boas práticas
1. Mantenha seu banco de dados controlado.
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.
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
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
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
7 dicas e sugestões de boas práticas
6. Mantenha seus scripts o mais legível possível
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
 Metralhando sua API

Mais conteúdo relacionado

Semelhante a Metralhando sua API

TDC Floripa 2018 - Metralhando sua API
TDC Floripa 2018 - Metralhando sua APITDC Floripa 2018 - Metralhando sua API
TDC Floripa 2018 - Metralhando sua API
Edlaine Zamora
 
Falando de Testes de Desempenho - por Evandro Grezeli
Falando de Testes de Desempenho - por Evandro GrezeliFalando de Testes de Desempenho - por Evandro Grezeli
Falando de Testes de Desempenho - por Evandro Grezeli
Joao Galdino Mello de Souza
 
Cmg falando de testes de desempenho
Cmg falando de testes de desempenhoCmg falando de testes de desempenho
Cmg falando de testes de desempenho
Evandro Grezeli
 
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...
Edlaine Zamora
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
tdc-globalcode
 
Webcast WebSphere Portal Performance
Webcast WebSphere Portal PerformanceWebcast WebSphere Portal Performance
Webcast WebSphere Portal Performance
Alex Barbosa Coqueiro
 
A Arte dos Testes de Performance Aplicacional
A Arte dos Testes de Performance AplicacionalA Arte dos Testes de Performance Aplicacional
A Arte dos Testes de Performance Aplicacional
Nuno Baptista Rodrigues
 
[GUTS-RS] Testes de Performance
 [GUTS-RS] Testes de Performance [GUTS-RS] Testes de Performance
[GUTS-RS] Testes de Performance
GUTS-RS
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis Paulino
Comunidade NetPonto
 
[GUTS-RS] Evento julho 2017 - Como iniciar os testes de performance em uma a...
[GUTS-RS] Evento julho 2017 -  Como iniciar os testes de performance em uma a...[GUTS-RS] Evento julho 2017 -  Como iniciar os testes de performance em uma a...
[GUTS-RS] Evento julho 2017 - Como iniciar os testes de performance em uma a...
GUTS-RS
 
5 dicas para estruturar seu teste de performance
5 dicas para estruturar seu teste de performance5 dicas para estruturar seu teste de performance
5 dicas para estruturar seu teste de performance
Ariane Izac
 
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaTDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
Cleber Dantas
 
Apresentacao dev ops
Apresentacao dev opsApresentacao dev ops
Apresentacao dev ops
Carlos Wagner Costa
 
E so mais um campinho na tela
E so mais um campinho na telaE so mais um campinho na tela
E so mais um campinho na tela
Vandre Ramos, MSc, MBA, CSM
 
Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?
Igor Abade
 
Teste de performance no contexto de uma aplicação de nf e
Teste de performance no contexto de uma aplicação de nf eTeste de performance no contexto de uma aplicação de nf e
Teste de performance no contexto de uma aplicação de nf e
Alan Correa Morais
 
Arquitetura de dados em stream - TDC SP 2016
Arquitetura de dados em stream - TDC SP 2016Arquitetura de dados em stream - TDC SP 2016
Arquitetura de dados em stream - TDC SP 2016
Kamila Santos Hinckel
 
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
Leandro Ugioni
 
Curso HTML 5 - Aula Inicial
Curso HTML 5 - Aula InicialCurso HTML 5 - Aula Inicial
Curso HTML 5 - Aula Inicial
Tiago Antônio da Silva
 
Dba Ciclo Palestra P5 V1a
Dba Ciclo Palestra P5 V1aDba Ciclo Palestra P5 V1a
Dba Ciclo Palestra P5 V1a
Leonardo Molinari
 

Semelhante a Metralhando sua API (20)

TDC Floripa 2018 - Metralhando sua API
TDC Floripa 2018 - Metralhando sua APITDC Floripa 2018 - Metralhando sua API
TDC Floripa 2018 - Metralhando sua API
 
Falando de Testes de Desempenho - por Evandro Grezeli
Falando de Testes de Desempenho - por Evandro GrezeliFalando de Testes de Desempenho - por Evandro Grezeli
Falando de Testes de Desempenho - por Evandro Grezeli
 
Cmg falando de testes de desempenho
Cmg falando de testes de desempenhoCmg falando de testes de desempenho
Cmg falando de testes de desempenho
 
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
Webcast WebSphere Portal Performance
Webcast WebSphere Portal PerformanceWebcast WebSphere Portal Performance
Webcast WebSphere Portal Performance
 
A Arte dos Testes de Performance Aplicacional
A Arte dos Testes de Performance AplicacionalA Arte dos Testes de Performance Aplicacional
A Arte dos Testes de Performance Aplicacional
 
[GUTS-RS] Testes de Performance
 [GUTS-RS] Testes de Performance [GUTS-RS] Testes de Performance
[GUTS-RS] Testes de Performance
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis Paulino
 
[GUTS-RS] Evento julho 2017 - Como iniciar os testes de performance em uma a...
[GUTS-RS] Evento julho 2017 -  Como iniciar os testes de performance em uma a...[GUTS-RS] Evento julho 2017 -  Como iniciar os testes de performance em uma a...
[GUTS-RS] Evento julho 2017 - Como iniciar os testes de performance em uma a...
 
5 dicas para estruturar seu teste de performance
5 dicas para estruturar seu teste de performance5 dicas para estruturar seu teste de performance
5 dicas para estruturar seu teste de performance
 
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaTDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
 
Apresentacao dev ops
Apresentacao dev opsApresentacao dev ops
Apresentacao dev ops
 
E so mais um campinho na tela
E so mais um campinho na telaE so mais um campinho na tela
E so mais um campinho na tela
 
Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?
 
Teste de performance no contexto de uma aplicação de nf e
Teste de performance no contexto de uma aplicação de nf eTeste de performance no contexto de uma aplicação de nf e
Teste de performance no contexto de uma aplicação de nf e
 
Arquitetura de dados em stream - TDC SP 2016
Arquitetura de dados em stream - TDC SP 2016Arquitetura de dados em stream - TDC SP 2016
Arquitetura de dados em stream - TDC SP 2016
 
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
 
Curso HTML 5 - Aula Inicial
Curso HTML 5 - Aula InicialCurso HTML 5 - Aula Inicial
Curso HTML 5 - Aula Inicial
 
Dba Ciclo Palestra P5 V1a
Dba Ciclo Palestra P5 V1aDba Ciclo Palestra P5 V1a
Dba Ciclo Palestra P5 V1a
 

Mais de minastestingconference

[MTC 2021] Automatizando testes de acessibilidade - Isabel Francine Mendes
[MTC 2021] Automatizando testes de acessibilidade - Isabel Francine Mendes[MTC 2021] Automatizando testes de acessibilidade - Isabel Francine Mendes
[MTC 2021] Automatizando testes de acessibilidade - Isabel Francine Mendes
minastestingconference
 
[MTC 2021] Será que as escolhas matam a qualidade? - Thais Nepomuceno
[MTC 2021] Será que as escolhas matam a qualidade? - Thais Nepomuceno[MTC 2021] Será que as escolhas matam a qualidade? - Thais Nepomuceno
[MTC 2021] Será que as escolhas matam a qualidade? - Thais Nepomuceno
minastestingconference
 
[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...
[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...
[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...
minastestingconference
 
[MTC 2021] Regressão visual com applitools, appium e amazon aws device farm -...
[MTC 2021] Regressão visual com applitools, appium e amazon aws device farm -...[MTC 2021] Regressão visual com applitools, appium e amazon aws device farm -...
[MTC 2021] Regressão visual com applitools, appium e amazon aws device farm -...
minastestingconference
 
[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira
[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira
[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira
minastestingconference
 
[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...
[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...
[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...
minastestingconference
 
[MTC 2021] Conversa sobre shift left - Douglas Cardoso
[MTC 2021] Conversa sobre shift left - Douglas Cardoso[MTC 2021] Conversa sobre shift left - Douglas Cardoso
[MTC 2021] Conversa sobre shift left - Douglas Cardoso
minastestingconference
 
[MTC 2021] Sua api está bem documentada - Tainara Santos Reis
[MTC 2021] Sua api está bem documentada - Tainara Santos Reis[MTC 2021] Sua api está bem documentada - Tainara Santos Reis
[MTC 2021] Sua api está bem documentada - Tainara Santos Reis
minastestingconference
 
[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos
[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos
[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos
minastestingconference
 
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...
minastestingconference
 
[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...
[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...
[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...
minastestingconference
 
[MTC 2021] Vieses da qualidade - Daniele Vieira Fiorot
[MTC 2021] Vieses da qualidade -  Daniele Vieira Fiorot[MTC 2021] Vieses da qualidade -  Daniele Vieira Fiorot
[MTC 2021] Vieses da qualidade - Daniele Vieira Fiorot
minastestingconference
 
MTC 2019 - PENTEST PARA PROTEÇÃO DE REDES CORPORATIVAS
MTC 2019 - PENTEST PARA PROTEÇÃO DE REDES CORPORATIVASMTC 2019 - PENTEST PARA PROTEÇÃO DE REDES CORPORATIVAS
MTC 2019 - PENTEST PARA PROTEÇÃO DE REDES CORPORATIVAS
minastestingconference
 
MTC 2019 - ACESSIBILIDADE: GARANTINDO QUE AS APLICAÇÕES ESTEJAM ACESSÍVEIS PA...
MTC 2019 - ACESSIBILIDADE: GARANTINDO QUE AS APLICAÇÕES ESTEJAM ACESSÍVEIS PA...MTC 2019 - ACESSIBILIDADE: GARANTINDO QUE AS APLICAÇÕES ESTEJAM ACESSÍVEIS PA...
MTC 2019 - ACESSIBILIDADE: GARANTINDO QUE AS APLICAÇÕES ESTEJAM ACESSÍVEIS PA...
minastestingconference
 
MTC 2019 - TESTANDO O CONSUMO DE ENERGIA DO SOFTWARE EM IOT: COMO FAZER NA PR...
MTC 2019 - TESTANDO O CONSUMO DE ENERGIA DO SOFTWARE EM IOT: COMO FAZER NA PR...MTC 2019 - TESTANDO O CONSUMO DE ENERGIA DO SOFTWARE EM IOT: COMO FAZER NA PR...
MTC 2019 - TESTANDO O CONSUMO DE ENERGIA DO SOFTWARE EM IOT: COMO FAZER NA PR...
minastestingconference
 
MTC 2019 - Precisamos falar sobre teste de infra
MTC 2019 - Precisamos falar sobre teste de infraMTC 2019 - Precisamos falar sobre teste de infra
MTC 2019 - Precisamos falar sobre teste de infra
minastestingconference
 
Selenium WebDriver com Docker
Selenium WebDriver com DockerSelenium WebDriver com Docker
Selenium WebDriver com Docker
minastestingconference
 
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
minastestingconference
 
Saia do 7x0 com testes de segurança
Saia do 7x0 com testes de segurançaSaia do 7x0 com testes de segurança
Saia do 7x0 com testes de segurança
minastestingconference
 
QA além da automação
QA além da automaçãoQA além da automação
QA além da automação
minastestingconference
 

Mais de minastestingconference (20)

[MTC 2021] Automatizando testes de acessibilidade - Isabel Francine Mendes
[MTC 2021] Automatizando testes de acessibilidade - Isabel Francine Mendes[MTC 2021] Automatizando testes de acessibilidade - Isabel Francine Mendes
[MTC 2021] Automatizando testes de acessibilidade - Isabel Francine Mendes
 
[MTC 2021] Será que as escolhas matam a qualidade? - Thais Nepomuceno
[MTC 2021] Será que as escolhas matam a qualidade? - Thais Nepomuceno[MTC 2021] Será que as escolhas matam a qualidade? - Thais Nepomuceno
[MTC 2021] Será que as escolhas matam a qualidade? - Thais Nepomuceno
 
[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...
[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...
[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...
 
[MTC 2021] Regressão visual com applitools, appium e amazon aws device farm -...
[MTC 2021] Regressão visual com applitools, appium e amazon aws device farm -...[MTC 2021] Regressão visual com applitools, appium e amazon aws device farm -...
[MTC 2021] Regressão visual com applitools, appium e amazon aws device farm -...
 
[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira
[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira
[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira
 
[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...
[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...
[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...
 
[MTC 2021] Conversa sobre shift left - Douglas Cardoso
[MTC 2021] Conversa sobre shift left - Douglas Cardoso[MTC 2021] Conversa sobre shift left - Douglas Cardoso
[MTC 2021] Conversa sobre shift left - Douglas Cardoso
 
[MTC 2021] Sua api está bem documentada - Tainara Santos Reis
[MTC 2021] Sua api está bem documentada - Tainara Santos Reis[MTC 2021] Sua api está bem documentada - Tainara Santos Reis
[MTC 2021] Sua api está bem documentada - Tainara Santos Reis
 
[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos
[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos
[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos
 
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...
 
[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...
[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...
[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...
 
[MTC 2021] Vieses da qualidade - Daniele Vieira Fiorot
[MTC 2021] Vieses da qualidade -  Daniele Vieira Fiorot[MTC 2021] Vieses da qualidade -  Daniele Vieira Fiorot
[MTC 2021] Vieses da qualidade - Daniele Vieira Fiorot
 
MTC 2019 - PENTEST PARA PROTEÇÃO DE REDES CORPORATIVAS
MTC 2019 - PENTEST PARA PROTEÇÃO DE REDES CORPORATIVASMTC 2019 - PENTEST PARA PROTEÇÃO DE REDES CORPORATIVAS
MTC 2019 - PENTEST PARA PROTEÇÃO DE REDES CORPORATIVAS
 
MTC 2019 - ACESSIBILIDADE: GARANTINDO QUE AS APLICAÇÕES ESTEJAM ACESSÍVEIS PA...
MTC 2019 - ACESSIBILIDADE: GARANTINDO QUE AS APLICAÇÕES ESTEJAM ACESSÍVEIS PA...MTC 2019 - ACESSIBILIDADE: GARANTINDO QUE AS APLICAÇÕES ESTEJAM ACESSÍVEIS PA...
MTC 2019 - ACESSIBILIDADE: GARANTINDO QUE AS APLICAÇÕES ESTEJAM ACESSÍVEIS PA...
 
MTC 2019 - TESTANDO O CONSUMO DE ENERGIA DO SOFTWARE EM IOT: COMO FAZER NA PR...
MTC 2019 - TESTANDO O CONSUMO DE ENERGIA DO SOFTWARE EM IOT: COMO FAZER NA PR...MTC 2019 - TESTANDO O CONSUMO DE ENERGIA DO SOFTWARE EM IOT: COMO FAZER NA PR...
MTC 2019 - TESTANDO O CONSUMO DE ENERGIA DO SOFTWARE EM IOT: COMO FAZER NA PR...
 
MTC 2019 - Precisamos falar sobre teste de infra
MTC 2019 - Precisamos falar sobre teste de infraMTC 2019 - Precisamos falar sobre teste de infra
MTC 2019 - Precisamos falar sobre teste de infra
 
Selenium WebDriver com Docker
Selenium WebDriver com DockerSelenium WebDriver com Docker
Selenium WebDriver com Docker
 
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
 
Saia do 7x0 com testes de segurança
Saia do 7x0 com testes de segurançaSaia do 7x0 com testes de segurança
Saia do 7x0 com testes de segurança
 
QA além da automação
QA além da automaçãoQA além da automação
QA além da automação
 

Metralhando sua API

  • 2. @EdlaineZamora LT e 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
  • 3. @ThalitaPinheiro Deva na ThoughtWorks =) Formada em Sistemas de Informação pela Universidade Federal dos Vales do Jequitinhonha e Mucuri Experiência de 6 anos de desenvolvimento de software
  • 4. Agenda ❖ Teste de Performance ❖ Ferramenta Gatling ❖ Demonstração ➢ Ambiente ➢ Mão na massa ❖ Boas Práticas
  • 6. 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.
  • 7. 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.
  • 9.
  • 11.
  • 12.
  • 13. 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.
  • 14. Testes de Performance Por que testar? A performance fará você perder clientes para o seu concorrente!
  • 15. 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
  • 16. Testes de Performance Importância ● Disponibilidade ● Tempo de resposta ● Consistencia de dados ● Problemas de concorrência
  • 17. 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.
  • 18. 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/
  • 19. 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
  • 20. 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.
  • 21. 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
  • 23. 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
  • 24. Ferramenta Gatling Características ● Scripts em Scala (Tests as Code) ● Código humanamente legível ● Possibilita asserções de validação do retorno
  • 26. Ferramenta Gatling Ferramenta nova que vem ganhando popularidade
  • 28. Demonstração - Ambiente Scripts de Teste Código fonte disponível em: https://github.com/EdlaineZamora/gatling
  • 29. Demonstração - Ambiente Banco de dados Hospedado na plataforma mLab em: ds139072.mlab.com:39072/airlinedb
  • 30. 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
  • 31. Demonstração - Ambiente API Comunicação Buscar recursos Criar um novo recurso Atualizar um recurso existente Remover um recurso Baseado em HTTP
  • 35. 7 dicas e sugestões de boas práticas 1. Mantenha seu banco de dados controlado.
  • 36. 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.
  • 37. 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
  • 38. 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
  • 39. 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
  • 40. 7 dicas e sugestões de boas práticas 6. Mantenha seus scripts o mais legível possível
  • 41. 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