Como Testar a Performance de APIs
Utilizando uma Ferramenta Simples e
Gratuita?
Edlaine Zamora / @edlainezamora
Desenvolvedora de Software
TDC São Paulo
Sobre mim
Formação
Informática pela Universidade Estadual de Maringá
Especialização em Desenvolvimento Web pela Universidade Estadual de
Maringá
Experiência
6 anos de desenvolvimento de software
Atualmente
Desenvolvedora de Software na ThoughtWorks
3
Agenda
Agenda
• Teste de Performance
• Contexto
• Ambiente
• JMeter
• Monitoramento
• Demonstração
Contexto
Contexto
Uma história real
8 segundos de tempo de resposta
Contexto
Uma história real
TESTE DE PERFORMANCE
Testes 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, garantindo assim a qualidade
do sistema.
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/
1
2
AMBIENTE
Ambiente - Banco de Dados
MongoDB
Hospedado na plataforma mLab em:
ds139072.mlab.com:39072/airlinedb
Ambiente - API Airline
Desenvolvida em NodeJS
Hospedada na plataforma Heroku em:
https://airlineapi.herokuapp.com
http://localhost:3000
Código fonte disponível em:
https://github.com/EdlaineZamora/airlineapi
Ambiente - API Airline
Comunicação
Buscar recursos
Criar um novo recurso
Atualizar um recurso existente
Remover um recurso
Baseado em HTTP
Ambiente - API Airline
Funcionalidades
Ambiente - API Airline
Funcionalidades
1
8
JMETER
JMeter
Motivações de uso
- Gratuito e Multiplataforma
- Gera dados em CSV, Gráficos e Tabelas
- Execução distribuída
- Controle de variáveis
- Suporta programação
- Suporta Web - HTTP, HTTPS, Database via JDBC, LDAP,
JMS, MAIL - POP3, etc.
JMeter
JMeter
Criação de um cenário de teste
Adicionar um Grupo de Thread
JMeter
Criação de um cenário de teste
Adicionar uma Requisição HTTP
JMeter
Criação de um cenário de teste
Adicionar uma Requisição HTTP - Get Passengers
JMeter
Criação de um cenário de teste
Adicionar um Ouvinte Visualizar Árvore de Resultados
JMeter
Criação de um cenário de teste
Execução
JMeter
Criação de um cenário de teste
Adicionar uma Requisição HTTP - Post de Passenger
JMeter
Criação de um cenário de teste
Adicionar uma Gerenciador de Cabeçalho HTTP
JMeter
Criação de um cenário de teste
Fazer a configuração de Content-type
2
9
Monitoramento
Monitoramento
É indispensável que se faça um monitoramento da execução dos
testes.
Existem várias ferramentas de monitoramento que podem ser
utilizadas. Abaixo tem alguns exemplos:
- JProfile
- AppDynamics
- NewRelic
- JVisualVM
Monitoramento
JProfile
Monitoramento
AppDynamics
Monitoramento
NewRelic
Resultado
Com a execução dos testes e monitoramentos conseguimos:
- Identificar quais dependências tomavam mais tempo de execução
- Diminuir o tempo de resposta para 3 segundos
Resultado
Stakeholders
OBRIGADA
edlainetsz1@hotmail.com
@edlainezamora
https://github.com/EdlaineZamor
EDLAINE ZAMORA

Como testar a performance de ap is utilizando uma ferramenta simples e gratuita?