Você está na página 1de 14

Tutorial de Teste de Carga com

Informações de Contatos

Nome LinkedIn

https://www.linkedin.com/in/johnny-souza-
Johnny de Souza
22b868217/

Matheus Andrade https://www.linkedin.com/in/matheus-andrade-


santos/

https://www.linkedin.com/in/mathmartinsosilva/
Matheus Martins

Renato Alexandre Silva https://www.linkedin.com/in/renato-qa/

Rodrigo Costa https://www.linkedin.com/in/rodrigojcosta/


Introdução
O conjunto de padrões da família ISO/IEC 25000, conhecida como SQuaRE
(Software Product Quality Requirements and Evaluation), cria uma estrutura para
avaliação da qualidade do produto de software, unificando a então, família [1-4]
medindo a qualidade do produto de software de diferentes perspectivas pelos
envolvidos, especificando e avaliando, e a gama [5-9] avaliando o produto de
processo de software. Apesar disso, os casos de padrões de diretrizes de
gerenciamento, medidas, modelos de qualidade, requisitos e processos de avaliação
de software [10], vem de encontro ao modelo de qualidade em uso, relacionado ao
quesito de qualidade, quando o resultado da interação de um sistema é empregado
ao uso e a qualidade do produto, se relaciona às características estáticas e
dinâmicas ao software, e isto implica na definição da qualidade sobre o produto na
satisfação das necessidades do stakeholder/cliente, em proporcionar valor [11].
Apesar desses indícios, a adoção de características em qualidade e avaliação do
produto de software [11], a serem descritos: a este princípio, que é de desempenho,
vem avaliar o quanto o comportamento de um software mantém os previstos dos
requisitos não funcionais acordados, além de escalabilidade, a velocidade,
estabilidade e a capacidade de requisições e/ou respostas sobre cargas de trabalho
[11].

Objetivo
Para enfatizar, o teste de carga que é relacionada ao cenário dos requisitos
tratados da aplicação a usabilidade do usuário. A utilização de ferramentas para
testes de carga é crucial para garantir que possamos avaliar a performance de
nossas aplicações e mantê-las com qualidade, mesmo diante de picos de tráfego
introduzindo atrasos e pausas para uma simulação mais realista. Com o objetivo
principal que é de avaliar o comportamento geral da aplicação, especialmente em
termos de:
• Utilizar usuários virtuais para simular interações como se fossem clientes reais
em teste de carga;
• Validar a aplicação com geração de relatórios em forma de tabelas;

Sobre a Ferramenta
Para tanto, utilizamos a ferramenta JMeter [12], que é desenvolvida pela Apache
Software Foundation ao qual a ferramenta possui uma grande simulação de cenários de
cargas de dados extremos, que pode auxiliar, em uma garantia de escalabilidade e até
mesmo estabilidade dos cenários a serem caracterizados em estudos. Sendo uma
ferramenta totalmente Open Source ou 100% aberta, para o público em geral. Isto torna a
realizar um plano de teste mais rápido e prático para até mesmo o Q.A.(Quality Assurance).
Entretanto, existem alguns ferramentais, em desempenho de recursos estáticos e dinâmicos
entre eles [12]:

· Capacidade de carregar e testar o desempenho de muitos tipos diferentes de


aplicativos/servidores/protocolos:

• Web - HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET,…)


• Serviços Web SOAP/REST
• FTP
• Banco de dados via JDBC
• LDAP
• Middleware orientado a mensagens (MOM) via JMS
• Correio - SMTP(S), POP3(S) e IMAP(S)
• Comandos nativos ou scripts de shell
• TCP
• Objetos Java

Além disso podemos realizar a simulação de um cenário real verificando se a aplicação


consegue lidar com um grande aumento na demanda, identificando gargalos de
desempenho e pontos de falhas no sistema, que é extremamente importante já que é preciso
prevenir falhas antes que afetem os usuários, com o monitoramento de métricas, em tempo
de resposta, taxa de erros e entre outros. É preciso avaliar que o JMeter [12] venha a
atender as expectativas de quem a utiliza e de que seja necessário que o sistema atenda
aos requisitos de qualidade e de desempenho [13].
Tutorial
No exemplo do tutorial, vamos entrar no site de busca de cep dos correios e
vamos simular 1 ou várias pessoas acessando ao mesmo tempo o seguinte link:
https://buscacepinter.correios.com.br/app/endereco/index.php [14].

01. Como instalar o JMeter

É necessário possuir o Java JDK instalado para poder usar o JMeter [12]. Se sua máquina
não tiver o Java instale no site: https://www.oracle.com/br/java/technologies/downloads/ [15]
no mínimo a versão 8.

Por exemplo versão JDK 22 para Windows

Com o Java já instalado:

Acesse o site https://jmeter.apache.org/index.html [12] clique em download releases


Selecione Downloads Releases embaixo de Binaries clique em apache-jmeter-5.6.3.

02. Executar o JMeter


Descompacte o arquivo baixado numa pasta e abra a pasta descompactada o caminho
apache-jmeter-5.6.3/bin e abra o arquivo jmeter.bat ou ApacheJMeter.jar
03. Passos de Funcionamento do JMeter
Abra o arquivo e nomeie o plano de teste no nosso caso, Desafio 3 – teste carga

Adicione o número de usuários clicando com o botão direito do mouse Add - > Threads ->
thread group no primeiro teste adicionamos apenas 1, portanto deixamos o valor default:
Adicione o testador sampler clicando com o botão direito do mouse em thread group Add -
>Sampler->HTTP Request

No campo Name nomeamos o nome do teste, nesse caso Consulta CEP, o protocolo
“Protocol” utilizado, nesse caso é https, o site até o “br”: buscacepinter.correios.com.br , e o
Port number, nesse caso sendo https deve ser 443, se fosse http seria 80, o path que
é “/app/endereco/index.php” .
Adicionamos a árvore de resultados que será um relatório guia para o teste clicando com o
botão direito do mouse em Desafio 3 – teste de carga -> Add -> Listener -> view results tree:

Para rodar nosso primeiro teste vamos no botão start e clicamos. Se o teste foi concluído
com sucesso ele vai ficar com o botão na cor verde. Clicando nele podemos visualizar
sample A) result que é a resposta que o servidor envia de volta para a solicitação feita, B)
Request seriam as solicitações como GET, PUT, DELETE e o C) response data são os
dados da página que pode retornar no formato XML, JSON ou HTPP.

Caso A)
Caso B)

Caso C)

Para obtermos mais dados sobre a requisição, podemos utilizar o “summary Report” clicando
com o botão direito na raiz Desafio 3... _> Add-> Listener-> Summary Report
Com esse sumário conseguimos informações tais como: Tempo mínimo, tempo máximo de
e a média de tempo das requisições entre outros.

Podemos alterar o número de usuários a qualquer momento Primeiro limpamos os


resultados anteriores clicando nas “vassorinhas” destacadas na imagem abaixo e depois no
menu Thread group number of threads colocamos a quantidade de usuários para o teste.
Referências
[1] ISO/IEC 9126-1:2001, Software engineering — Product quality — Part 1: Quality model. Disponível em:
https://www.iso.org/obp/ui/#iso:std:iso-iec:25000:ed-2:v1:en. Acesso em: 18 mar. 2024.

[2] ISO/IEC TR 9126-2:2003, Software engineering — Product quality — Part 2: External metrics. Disponível em:
https://www.iso.org/obp/ui/#iso:std:iso-iec:25000:ed-2:v1:en. Acesso em: 18 mar. 2024.

[3] ISO/IEC TR 9126-3:2003, Software engineering — Product quality — Part 3: Internal metrics. Disponível em:
https://www.iso.org/obp/ui/#iso:std:iso-iec:25000:ed-2:v1:en. Acesso em: 18 mar. 2024.

[4] ISO/IEC TR 9126-4:2004, Software engineering — Product quality — Part 4: Quality in use metrics. Disponível em:
https://www.iso.org/obp/ui/#iso:std:iso-iec:25000:ed-2:v1:en. Acesso em: 18 mar. 2024.

[5] ISO/IEC 14598-1:1999, Information technology — Software product evaluation — Part 1: General overview ISO/IEC 14598-
2:2000, Software engineering — Product evaluation — Part 2: Planning and management. Disponível em:
https://www.iso.org/obp/ui/#iso:std:iso-iec:25000:ed-2:v1:en. Acesso em: 18 mar. 2024.

[6] ISO/IEC 14598-3:2000, Software engineering — Product evaluation — Part 3: Process for developers. Disponível em:
https://www.iso.org/obp/ui/#iso:std:iso-iec:25000:ed-2:v1:en. Acesso em: 18 mar. 2024.

[7] ISO/IEC 14598-4:1999, Software engineering — Product evaluation — Part 4: Process for acquirers. Disponível em:
https://www.iso.org/obp/ui/#iso:std:iso-iec:25000:ed-2:v1:en. Acesso em: 18 mar. 2024.

[8] ISO/IEC 14598-5:1998, Information technology — Software product evaluation — Part 5: Process for evaluators. Disponível
em: https://www.iso.org/obp/ui/#iso:std:iso-iec:25000:ed-2:v1:en. Acesso em: 18 mar. 2024.
[9] ISO/IEC 14598-6:2001, Software engineering — Product evaluation — Part 6: Documentation of evaluation modules.
Disponível em: https://www.iso.org/obp/ui/#iso:std:iso-iec:25000:ed-2:v1:en. Acesso em: 18 mar. 2024.

[10] ISO/IEC 25000:2014 (en) Systems and software engineering — Systems and software Quality Requirements and
Evaluation (SQuaRE) — Guide to SQuaRE. Disponível em: https://www.iso.org/obp/ui/#iso:std:iso-iec:25000:ed-2:v1:en.
Acesso em: 18 mar. 2024.

[11] ISO/IEC (2011). Systems and software engineering - Systems and software Quality Requirements and Evaluation
(SQuaRE) - System and software quality models - 25010. Geneva, Switzerland, 2011.

[12] Apache Software Foundation. (2024). Apache JMeter. Disponível em: https://jmeter.apache.org/index.html. Acesso em: 18
de mar de 2024.

[13] N. Tsuda et al., “WSQF: Comprehensive Software Quality Evaluation Framework and Benchmark Based on SQuaRE,”
Proc. - 2019 IEEE/ACM 41st Int. Conf. Softw. Eng. Softw.Eng. Pract. ICSE-SEIP 2019, pp. 312–321, 201.

[14] Correios. (2024). Busca CEP. Disponível em: https://buscacepinter.correios.com.br/app/endereco/index.php. Acesso em:
18 mar. 2024.

[15] Oracle. (2024). Java Downloads. Disponível em: https://www.oracle.com/java/technologies/downloads/. Acesso em: 18
mar. 2024.

Você também pode gostar