Ao buscar qualificação em Testes de Performance, muitos profissionais priorizam cursos e livros com foco em alguma ferramenta (como o JMeter) pensando que este conhecimento os qualificarão para atuar em projetos que envolvem testes deste tipo. A ferramenta é importante, porém ela consiste apenas em uma parte do conhecimento necessário. Testes de Performance costumam ser um "ponto de encontro" de profissionais de várias áreas e o profissional de QA envolvido deve ser o "maestro" que coordena esta equipe multidisciplinar. Nesta palestra, vocês entenderão quais conhecimentos são necessários para desempenhar este papel e se sair bem em projetos reais de Testes de Performance.
1. TRILHA API
JMeter não é tudo que você precisa para fazer
Testes de Performance
Raphael Mantilha
Senior Quality Assurance Engineer
2. Raphael Mantilha
Quality Asssurance Engineer (Specialist) no Agi.
Atuo na área de Qualidade de Software desde 2003.
Trabalhei no CPqD, TecBan, EDS (atual DXC Technology), IBM, Cast e Zup.
Trabalho com Testes de Performance desde 2006.
Também atuo com Automação de Testes Funcionais (Interface do Usuário,
Integração e Testes Unitários).
LinkedIn: https://www.linkedin.com/in/raphaelmantilha/
5. O que é Teste de Performance?
É um tipo de Teste Não Funcional que permite, a partir da aplicação de carga sobre o ambiente
da solução, avaliar aspectos como:
Tempo de Resposta Throughput Escalabilidade
Utilização de Recursos Enfileiramento de Requisições Falhas e Sucessos
6. Processo de Testes de Performance
A ferramenta de Teste de
Performance é importante
aqui !
8. Áreas que se relacionam com Testes de Performance
Arquitetura de Sistemas Redes e Protocolos
Linguagens de Programação Sistemas Operacionais Banco de Dados
9. Áreas que se relacionam com Testes de Performance
Segurança Estátística / Matemática
Planejamento e Gerenciamento Processos de Negócio Testes Funcionais
11. Carga de Pico (Peak Load)
A carga sobre o sistema costuma não ser uniforme nem durante o dia nem durante as épocas do ano.
Carga de Pico refere-se ao período no qual o sistema está submetido à carga de maior intensidade.
Exemplo de distribuição da carga de usuários durante o dia Carga de Pico é diferente de Carga Média
12. Throughput
Throughput serve para mediar a quantidade de requisições processadas em relação a uma unidade de
tempo. Quando o limite do ambiente é atingido, as requisições são enfileiradas.
13. Think Time
Think Time corresponde ao intervalo de tempo entre duas requisições do usuário. Durante este
período, o servidor não faz processamento algum para o usuário em questão.
14. O “Efeito Funil”
Nem todas as requisições passam por
todas as camadas.
Mais listeners/threads/connections
causam maior sobrecarga de
gerenciamento de recursos.
O ideal é conseguir parametrizar o
ambiente de modo a obter o melhor
tempo de resposta e a melhor
utilização de hardware sem causar
sobrecarga.
15. Throughput x Utilização de Recursos x Tempo de Resposta
Com o aumento da carga e do throughput, espera-se que os tempos de resposta cresçam
exponencialmente quando o ponto de saturação do sistema for atingido.
17. Performance Analysis for Java Websites
Autores: Stacy Joines
Ruth Willenborg
Ken Hygh
Editora: Addison-Wesley
Alguns Livros sobre Conceitos de Testes de Performance
Performance Testing Guidance
for Web Applications
Editora: Microsoft Press
Solving Enterprise
Applications
Performance Puzzles
Autor: Leonid Grinshpan
Editora: Wiley-IEEE Press
18. Master Apache Jmeter From load testing to DevOps
Autores: Antonio Gomes Rodrigues
Bruno Demion (Milamber)
Philippe Mouawad
Editora: Leanpub
Disponível em http://leanpub.com/master-jmeter-from-load-test-to-devops
Livro e Curso sobre Ferramenta de Testes de Performance
Acesse em http://www.blazemeter.com/university/