Desenvolvimento

Ξ Deixe um comentário

Ferramentas para avaliar o desempenho do software

publicado por Vanessa Gomes

Figura - Ferramentas para avaliar o desempenho do softwareHá várias outras ferramentas para realizar tais tipos de testes, desde pagas até free. É importante que o profissional conheça tais ferramentas, para que possa fazer o uso da que melhor encaixe para a sua demanda ou necessidade. (MEIER et al., 2007).

Segundo Tonolli (2007, p.17), existem diversas ferramentas para testar desempenho de sistemas em Java, disponíveis no mercado, dentre elas foram selecionadas algumas que permitem utilização integral dos recursos oferecidos, por um determinado prazo, ou são ferramentas de uso livre, entre estas estão :

  • Apache JMeter

O Apache JMeter  é um aplicação desktop Open Source feita em Java para testes de desempenho. Ele pode ser usado para testar o desempenho tanto de recursos estáticos como dinâmicos (arquivos, servlets, banco de dados, dentre outros). Com ele é possível simular uma carga pesada em um servidor, rede ou objeto.

  • Webload 

No ambiente WebLOAD Console é possível elaborar a carga do cenário de teste, ou seja, é nesse ambiente que será definida a simulação das centenas de usuários virtuais, tipos de cargas, parâmetros dos relatórios gerados, etc. As estatísticas de carga são mostradas em tempo real e podem ser mostradas graficamente ou em forma de texto. Nesse ambiente de execução são criados repositórios completos de estatísticas de cada session.

Além disso, um componente chamado “Performance Measurement Manager (PMM)” ou Gerenciador de Medições de Performance dedicado para coletar informações estatísticas/métricas do lado do servidor, provê um relatório completo sobre o comportamento do sistema que está recebendo a carga em tempo real enquanto o teste é executado. Medidas podem ser coletadas de componentes do sistema operacional como CPU e Memória, Servidores de Aplicação, Banco de Dados, Servidores WEB e outros.

  • DevTest4J

O DevTest4J é um software para análise e testes de aplicações Java, que engloba três funcionalidades principais, a análise de código fonte, teste unitário e finalmente o teste de desempenho.

Entre as vantagens deste software podemos citar a integração com varias IDEs, entre elas, Eclipse, NetBeans, JBuilder e JDeveloper, resultados detalhados para análise de memória , utilização de CPU e comportamento de threads através de gráficos , a facilidade de uso, o suporte a todos os tipos de aplicação Java clientes, aplicações e  applets , e servidores, EJBs, JSP/Servlets, e também oferece suporte a servidores de aplicação como BEA WebLogic, IBM WebSphere, JBoss, Apache Tomcat,  Oracle Server, SunOne (APPPERFECT, 2007).

  • JProfiler

O JProfiler destina-se exclusivamente a realizar testes de desempenho em aplicações Java. Suas principais vantagens são a facilidade de utilização e configuração, exibição dos resultados em tempo real, baixa sobrecarga no sistema, integração com várias IDEs e servidores de aplicação, suporte plataformas 32 e 64 bits, excelente suporte ao Java Enterprise Edition, excelentes analisadores de desempenho de memória, CPU e threads.A ferramenta utilizada para geração de carga e coleta de resultados foi o JMETE, que submete uma carga configurável de requisições e mede a quantidade de atendimentos e de erros gerados durante o tempo de teste. Foi utilizada uma ferramenta de benchmark de web server porque, os serviços de um application server são normalmente acessados através de um web server. Dessa forma, para as máquinas clientes, trata-se de um serviço web, ficando assim justificada a utilização de tal ferramenta.

  • JMETER 

O resultado gerado pelo JMETER é baseado em duas variáveis: a quantidade de requisições atendidas por segundo, e a quantidade de erros gerados durante a submissão de carga. As requisições enviadas ao web server são geradas na maquina cliente a partir da ferramenta JMETER. A máquina responsável por configurar, iniciar, finalizar e monitorar os testes. Quando um teste termina, o cliente envia seus resultados ao JMETER para consolidação. Os resultados consolidados podem ser visualizados na própria ferramenta JMETER ou exportados para outros softwares, como editores de texto ou planilhas eletrônicas.

Os parâmetros que definem as requisições dos testes são configurados na máquina controller, que se encarrega de enviá-los para as máquinas clientes antes do início dos trabalhos. As máquinas cliente utilizam threads para simular usuários reais. Ao iniciar o teste, cada thread envia requisições ao servidor web através das URLs listadas em um script. Esse script pode ser criado ou carregado na máquina controller através das funcionalidades de criação manual, criação por gravação e recuperação de scripts da ferramenta JMETER . Cada requisição e status da resposta do web server são contabilizados nos clientes que, ao final do teste, enviam os dados ao controller para a consolidação.

  • Visual Studio Team System (Team Test Load Agent)

A plataforma do Visual Studio Team System (VSTS), não é um software especifico Microsoft. É uma solução baseada em um conjunto de produtos que trabalham integrados para proporcionar a gestão do ciclo de vida de uma aplicação, oferecendo suporte para todo o ciclo de desenvolvimento incluindo: colaboração, controle de qualidade, integração contínua e informações estratégicas que resultam em previsibilidade do projeto. Com um conjunto de mais de 15 relatórios disponíveis, a partir de qualquer local você poderá tomar as decisões antecipando os problemas. O Team System atende desde os projetos pequenos aos muito grandes e inclusive com fornecedores diferentes e desenvolvimento distribuído.Team Foundation funciona como o coração de toda a comunicação no projeto.

Nesse repositório são armazenadas as informações coletadas no cliente. A comunicação é realizada por meio de itens de trabalho (Work Itens), que são criados pelo MS Project, Excel ou diretamente no Visual Studio. Consiste nas tarefas a serem executadas dentro do projeto; É o provedor de relatórios para acompanhamento do projeto; Controla o código fonte de forma integrada trazendo novos conceitos além do ‘simples’ armazenar, pois ele contém políticas de controle que permitem uma integração do código fonte ao ciclo de desenvolvimento. Tais políticas permitem, por exemplo, garantir que todo o código enviado esteja relacionado a uma tarefa criada no MS Project. Destaca-se também, pelo armazenamento de código dentro do SQLServer, usando transações atômicas evitando qualquer perda de código e permitindo desenvolvimento remoto.

Autor

Atua profissionalmente como Analista de Desenvolvimento e Analista de Teste em Qualidade. - Certificação em ITIL V3 Foundation - CTFL - Certified Tester Foundation Level - SFPC - Scrum Foundation Professional Certificate - DEPC - Devops Essencial Professional Certificate - Linguagens: PHP, SQL, HTML, Java,.NET, Groovy; - Automação de Testes com JUnit, Selenium e Cucumber - Big Data Foundation - Scrum Master (fundamentos),

Vanessa Gomes

Comentários

You must be logged in to post a comment.

Busca

Patrocínio

Publicidade



Siga-nos!

Newsletter: Inscreva-se

Para se inscrever em nossa newsletter preencha o formulário.

Artigos Recentes