Introdução ao Teste de Performance
As organizações estão se tornando mais preocupadas acerca da performance de suas soluções corporativas. Focar esforços apenas no projeto/implementação e nos requisitos funcionais são coisas do passado. Enquanto a indústria de TI amadurece e a tecnologia evolui, os aspectos não-funcionais do sistema, como desempenho, estão se tornando foco na área. Dentro desse cenário, a necessidade de efetuar testes que validem a estabilidade e a robustez da arquitetura projetada, bem como a infra-estrutura que suportará a aplicação e seus requisitos não-funcionais, deve tornar-se um hábito no processo de software a fim de evitar problemas futuros.
Testar um software é um processo de execução que tem como finalidade determinar se o produto atingiu suas especificações e funcionou corretamente no ambiente para o qual foi projetado (DIAS, 2007). O teste é uma das atividades realizadas para medir o nível de qualidade de um sistema. O objetivo, segundo Dias, é revelar falhas em um produto, para que a causas dessas falhas sejam identificadas e possam ser corrigidas pela equipe de desenvolvimento antes da entrega final.
Nesse contexto, o teste de performance é importante pois responde perguntas como: Quantos usuários simultâneos sua aplicação suporta? Quantas requisições por segundo sua aplicação suporta tratar? Em quanto tempo sua aplicação responde quando há cem usuários utilziando-a? E quando há mil? Tais respostas oferecem segurança a respeito do comportamento da aplicação em um determinado cenário.
O teste de performance deve ser parte de todo o processo de desenvolvimento, pois os benefícios são significantes. Esses testes podem ser executados com o objetivo de analisar e otimizar o desempenho de um dado sistema. A finalidade é encontrar possíveis gargalos nos diversos níveis do software (aplicação, banco de dados, sistema operacional, rede, etc). Para realizá-los, devem ser utilizadas ferramentas adequadas para as medições dos resultados obtidos. Dessa forma, através da monitoração desses resultados, é possível otimizar a infra-estrutura que suportará o sistema, tanto do lado do servidor como do lado do cliente.
Referência Bibliográfica
DIAS, Árilo. Introdução a Teste de Software. Engenharia de Software, Brasil, n. 1, p. 54-59, 2007.
Fontes de Informação sobre Teste de Performance
- Contêm ótimos artigos, apresentações,etc.: http://www.perftestplus.com/resources.htm
- Guia FREE sobre Teste de Performance para Aplicações Web: http://www.codeplex.com/PerfTestingGuide
- Artigo: http://www.scribd.com/doc/4639437/performance-testing
- Comunidades: http://www.testexpert.com.br/, https://performance.dev.java.net/nonav/home/
- Wikipédia: http://en.wikipedia.org/wiki/Software_performance_testing
- Palestra de Molinari: http://diariodaqualidade.blogspot.com/2007/10/hot-palestras-de-leonardo-molinari-03.html