automação de testes de desempenho para sistemas web utilizando a ferramenta jmeter

27
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

Upload: leandro-ugioni

Post on 20-Jul-2015

340 views

Category:

Software


1 download

TRANSCRIPT

Page 1: 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

Page 2: Automação de testes de desempenho para sistemas web utilizando a ferramenta Jmeter

Objetivo geral

• Realizar um estudo na área de testes de desempenho de sistemas web, aplicando os conceitos na utilização da ferramenta Jmeter.

2

Page 3: Automação de testes de desempenho para sistemas web utilizando a ferramenta Jmeter

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

Page 4: Automação de testes de desempenho para sistemas web utilizando a ferramenta Jmeter

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

Page 5: Automação de testes de desempenho para sistemas web utilizando a ferramenta Jmeter

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

Page 6: Automação de testes de desempenho para sistemas web utilizando a ferramenta Jmeter

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

Page 7: Automação de testes de desempenho para sistemas web utilizando a ferramenta Jmeter

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

Page 8: Automação de testes de desempenho para sistemas web utilizando a ferramenta Jmeter

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

Page 9: Automação de testes de desempenho para sistemas web utilizando a ferramenta Jmeter

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

Page 10: Automação de testes de desempenho para sistemas web utilizando a ferramenta Jmeter

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

Page 11: Automação de testes de desempenho para sistemas web utilizando a ferramenta Jmeter

Fonte: Dos Autores

Page 12: Automação de testes de desempenho para sistemas web utilizando a ferramenta Jmeter

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

Page 13: Automação de testes de desempenho para sistemas web utilizando a ferramenta Jmeter

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

Page 14: Automação de testes de desempenho para sistemas web utilizando a ferramenta Jmeter

Fonte: Dos Autores

Page 15: Automação de testes de desempenho para sistemas web utilizando a ferramenta Jmeter

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

Page 16: Automação de testes de desempenho para sistemas web utilizando a ferramenta Jmeter

Estudo das Ferramentas de Testes

16

Fonte: Dos Autores

Page 17: Automação de testes de desempenho para sistemas web utilizando a ferramenta Jmeter

“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

Page 18: Automação de testes de desempenho para sistemas web utilizando a ferramenta Jmeter

18

Apache JMeter

Fonte: Dos Autores

Page 19: Automação de testes de desempenho para sistemas web utilizando a ferramenta Jmeter

19

Estudo de Caso – Portal Acadêmico

Page 20: Automação de testes de desempenho para sistemas web utilizando a ferramenta Jmeter

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

Page 21: Automação de testes de desempenho para sistemas web utilizando a ferramenta Jmeter

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

Page 22: Automação de testes de desempenho para sistemas web utilizando a ferramenta Jmeter

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

Page 23: Automação de testes de desempenho para sistemas web utilizando a ferramenta Jmeter

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

Page 24: Automação de testes de desempenho para sistemas web utilizando a ferramenta Jmeter

Criação e Execução de um Teste

• Criação e execução do teste de consulta ao acervo na ferramenta JMeter.

24

Page 25: Automação de testes de desempenho para sistemas web utilizando a ferramenta Jmeter

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

Page 26: Automação de testes de desempenho para sistemas web utilizando a ferramenta Jmeter

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