O documento resume as estratégias e ferramentas para testes de performance, incluindo: (1) testes de carga, desempenho e stress; (2) a ferramenta JMeter para automatizar testes; (3) exemplos de melhorias detectadas em testes como aumento de hardware e otimização de código.
Tomada de Decisão baseada em testes de carga - The Developer`s Conference Sã...
Teste de performance com JMeter: como criar e executar os testes
1. Globalcode – Open4education
Trilha – Testes
Teste de performance com JMeter: como criar e executar os testes
em aplicações web e como interpretar seus resultados
Beatriz Makiyama
Analista de Testes na DB1 Global Software
Edlaine Zamora
Desenvolvedora de Software na Thoughtworks
2. Globalcode – Open4education
Agenda
• Teste de Performance
• Estratégias de testes de Performance
• Ferramenta JMeter
• Exemplos de melhorias detectadas no teste
• Dicas e sugestões de boas práticas
• Demonstração
3. 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, garantindo assim a qualidade do
sistema.
5. 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
6. Globalcode – Open4education
Testes de Performance
Importancia
● Evita abandono da aplicação por conta do tempo de
resposta
● Ajuda a garantir alta disponibilidade
● Evita fracasso dos projetos devido a problemas de
performance e escalabilidade
7. 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.
8. 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/
9. 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.
10. 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.
11. 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. Picos
excessivos de carga em curtos períodos de tempo (Black
Friday, Consulta de resultado de vestibular, etc).
14. Globalcode – Open4education
Exemplos de melhorias
detectadas
Diminuir tamanho ou número de arquivos como CSS,
imagens, JavaScript, ícones, entre outros. (Minificação e
Sprite CSS)
16. Globalcode – Open4education
Utilizar cache de dados que possui um maior desempenho ou
otimizar o atual banco de dados.
Exemplos de melhorias
detectadas
17. Globalcode – Open4education
Ferramenta 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 diversos tipos de servidores: web - HTTP, HTTPS,
SOAP, Database via JDBC, LDAP, JMS, MAIL - POP3,
etc.
20. Globalcode – Open4education
Ferramenta JMeter
Algumas variáveis
• Tempo da amostra: Tempo total da requisição em m/s.
• Estado: Mostra se a requisição foi executada com
sucesso ou se houve falhas.
• Bytes: Quantidade de dados retornados pelo servidor.
22. Globalcode – Open4education
Demonstração
Como criar um cenário de teste?
Perguntas essenciais para iniciar o planejamento:
1. Que tipo de serviço vai testar?
2. Qual é a quantidade de usuários que acessam ou irão acessar a
aplicação em produção?
3. Quais são as funcionalidades mais executadas?
4. Qual é o tempo de resposta aceitável?
5. Qual é a arquitetura e infra-estrutura do sistema?
43. Globalcode – Open4education
14 dicas e sugestões de
boas práticas
2. Use “árvore de resultados” apenas com o log de erros ativo.
44. Globalcode – Open4education
14 dicas e sugestões de
boas práticas
3. Aumente a memória heap do JMeter para até 75% da capacidade do
computador que está executando os testes.
Evite o Out Of Memory Error.
47. Globalcode – Open4education
14 dicas e sugestões de
boas práticas
6. Use o modo não-GUI: jmeter -n -t teste.jmx -l test.jtl
48. Globalcode – Open4education
14 dicas e sugestões de
boas práticas
7. Habilite/mexa nas propriedades do JMeter, seja curioso (a).
● Habilitar Cookie/ RMI / LOG são os principais
49. Globalcode – Open4education
14 dicas e sugestões de
boas práticas
8. Saiba da existência do redirecionamento de hosts
● C:WindowsSystem32driversetchosts
50. Globalcode – Open4education
14 dicas e sugestões de
boas práticas
9. Mantenha a infra-estrutura de testes o mais próximo possível do
ambiente de produção.
51. Globalcode – Open4education
14 dicas e sugestões de
boas práticas
10. Envolva testadores, administradores de banco de dados, arquiteto de
rede, de software e desenvolvedores no processo.
54. Globalcode – Open4education
14 dicas e sugestões de
boas práticas
13. 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.
55. Globalcode – Open4education
14 dicas e sugestões de
boas práticas
14. Stakeholders não querem relatório com gráficos e tabelas confusas,
eles querem conclusões e sugestões