Automação de testes de desempenho para sistemas web utilizando a ferramenta Jmeter
-
Upload
leandro-ugioni -
Category
Software
-
view
340 -
download
1
Transcript of Automação de testes de desempenho para sistemas web utilizando a ferramenta Jmeter
Automação de testes de desempenho para sistemas web utilizando a ferramenta Jmeter
Acadêmicos: Leandro Ugioni, Ramon Saraiva
Orientador: Profº. Cristiano Damiani Tomasi
1
Objetivo geral
• Realizar um estudo na área de testes de desempenho de sistemas web, aplicando os conceitos na utilização da ferramenta Jmeter.
2
Objetivos específicos• Estudar a área de testes de software;• Estudar os conceitos e técnicas de testes de desempenho;• Analisar fatores relevantes ao desempenho de um
sistema web;• Avaliar as características funcionais da ferramenta
Jmeter;• Utilizar a ferramenta para aplicar testes de desempenho
em uma aplicação web;• Demonstrar os resultados obtidos nos testes realizados.
3
Organização do trabalho
• Qualidade e Testes de Software;• Automação de Testes de Desempenho;• Desempenho de Sistema Web;• Estudo de Ferramentas de Teste;• Estudo de Caso usando a Ferramenta JMeter.
4
Qualidade
• Conceito conhecido desde a época em que o homem começou a produzir e comercializar produtos;
• Sua avaliação deve ser baseada em atributos para que se estabeleça uma avaliação justa;
• Qualidade pode ser definida como algo abstrato variando conforme a necessidade atual.
5
Qualidade de Software
Quais as dificuldades e resultados quando a qualidade é aplicada a engenharia de software?
• Requisitos Funcionais e de desempenhos conforme o que está documentado;
• Nível adequado de confiabilidade na execução das funcionalidades;
• Iniciativa da empresa;• Qualidade com prazo e baixo custo.
6
Qualidade de Software
Qualidade de software pode ser usada para enfatizar três pontos importantes na engenharia de software:
1. Requisitos de Software;
2. Processo de Desenvolvimento;
3. Requisitos implícitos.
7
Importância da qualidade de software nas empresas
“Você pode fazer direito ou fazer novamente”(Pressman, 2002).
• Redução de custo e conformidade com requisitos;
• Consequências finais;• Desejo das empresas;• Metodologia de desenvolvimento.
8
Testes de Software
• Desenvolvimento do software está sujeito a falha humana;
• Objetivo de encontrar erros e realizar validações;
• Se executado de forma paralela ao desenvolvimento do software, diminui os custos nas correções ainda em fase inicial.
9
Dimensões de teste
Todo teste realizado deve possuir as seguintes etapas:
“Sempre que possível deve-se encontrar algum bug durante o teste” (Molinari, 2003).
Planejamento Plano de Teste Casos de Testes
Execução dos Testes Análise dos Resultados
Fonte: Dos Autores
Automação de Testes
• Programas que realizam os testes automaticamente;
• Resultados positivos a médio e longo prazo;
• Foco em áreas criticas;
• Reutilização dos testes;
• Não substitui por completo os testes manuais.
12
Ferramentas de Automação
• Destinadas a áreas e objetivos específicos;
• Possuem limitações e erros;
• Variam conforme o objetivo do projeto de testes;
• O projeto de automação dos testes não pode ser focado apenas em uma única ferramenta pois isso pode inviabilizá-lo.
13
Fonte: Dos Autores
Desempenho de Sistemas Web
“O software que é mais rápido é mais utilizado” (RAMOS, 2014).
•Milhões de requisições X Velocidade de Resposta;
•O desempenho está ligado à eficiência e a vazão disponível para tratar os gargalos de tempo em tempo.
15
Estudo das Ferramentas de Testes
16
Fonte: Dos Autores
“JMeter é uma ferramenta de testes de performance para sistemas web que possibilita que o usuário defina requisições que podem ser configuradas para uma determinada quantidade de repetições, também podem ser adicionados pontos de verificação dentro do script” (MOLINARI, 2010).
17
18
Apache JMeter
Fonte: Dos Autores
19
Estudo de Caso – Portal Acadêmico
Teste de Tempo de Resposta:
•50 usuários virtuais;•Interação simultânea;•Cada requisição terá o tempo de resposta medido;•ADSL – 2 megabytes;•Resultado esperado: 1 segundo com variações de até 1,5 segundos.
20
Estudo de Caso – Portal Acadêmico
Teste de Throughput (Vazão):
•20 usuários virtuais;•Incremento de novos 20 usuários a cada 2 segundos, até no máximo 100 usuários ativos;•ADSL – 2 megabytes;•Resultado esperado: Verificar se em algum momento as requisições nas funcionalidades apresentam falhas.
21
Estudo de Caso – Portal Acadêmico
22
Teste de Tempo de Resposta
Duração Média de tempo requisições
Pico de Tempo/Funcionalidade
Consulta ao acervo
90 seg. 4,5 segundos 7,9 segundos - Login do portal
Consulta de notas parciais
80 seg. 4,6 segundos 7,9 segundos - Login do portal
Criação de aulas 240 seg. 8,4 segundos 14,7 segundos - Diário de Classe
Estudo de Caso – Portal Acadêmico
Fonte: Dos Autores
23
Teste de Throughput
Duração Qtd. Máxima de Usuários
Percentual de Erros/Funcionalidade
Consulta ao acervo
120 seg. 100 usuários Não ocorreu erros
Consulta de notas parciais
105 seg. 100 usuários Não ocorreu erros
Criação de aulas 600 seg. 100 usuários 2% de erros - Diário de classe;2% de erros - Listar turmas
Estudo de Caso – Portal Acadêmico
Fonte: Dos Autores
Criação e Execução de um Teste
• Criação e execução do teste de consulta ao acervo na ferramenta JMeter.
24
Considerações Finais
• Investimento alto nas ferramentas comerciais;• Investimentos em testes de performance garantem
mais usuários ativos;• A ferramenta JMeter se mostrou capaz de
substituir a maioria das ferramentas existentes;• A ferramenta JMeter atendeu todas as
necessidades relativas a teste de performance web estudado no referencial teórico de forma simples e com baixo custo, os resultados foram imediatamente obtidos.
25
Recomendações para trabalhos futuros
• Realizar testes funcionais em conjunto com os testes de desempenho através da ferramenta JMeter;
• Realizar testes de desempenho na camada do servidor da aplicação web;
• Criação de um protótipo de ferramenta para automação de testes de desempenho baseado no código fonte do JMeter;
• Realizar um estudo de caso utilizando uma ferramenta de automação de testes de desempenho desenvolvida no formato SaaS.
26