Por que eu devo ler este artigo:Este artigo possui orientações e fundamentos destinados a profissionais de teste de software, contendo os principais conceitos de testes de performance através de uma abordagem simples e direta, baseada em lições aprendidas na prática da execução deste tipo. O artigo também apresenta seus princípios e práticas, servindo como um guia para adaptar os critérios apresentados a outros cenários e projetos específicos. Os usuários avançados podem utilizar o mesmo para melhorar sua abordagem, tornando seus esforços de testes mais bem-sucedidos.

Testes de performance são testes nos quais uma aplicação é submetida a uma carga de trabalho dentro de condições específicas por um tempo determinado com o objetivo de verificar os comportamentos diferentes que essas condições e cargas podem proporcionar. Com estes procedimentos, podemos observar o comportamento de todo o ambiente da aplicação, desde os defeitos de desempenho (como timeouts e tempo de resposta inaceitáveis), funcionais (como inconsistência de dados), estruturais (como memory leak, dados corrompidos e rede com problemas) e até mesmo de segurança (exposição dos dados, etc.).

Basicamente, o teste de performance é a criação de simulações de uso da aplicação ou sistema o mais próximo possível de uma situação real, utilizando ferramentas que automatizam diferentes tarefas. Isso inclui também a infraestrutura onde a aplicação será alocada (servidores de dados, servidores web, balanceamento de carga, rede, etc.).

A melhor garantia para evitar que uma aplicação web fique indisponível devido à grande quantidade de acessos simultâneos ou que os usuários procurarem alternativas devido à lentidão no site é a realização de testes de performance. Podem parecer caros, complexos e demorados, mas se realizados, permitem encontrar e corrigir problemas de desempenho antes que a solução torne-se disponível para o público, reduzindo o risco de perder receita e valor da marca, pois sites ou aplicações instáveis afetam a confiança do visitante ou consumidor.

A realização de testes de performance permite avaliar a prontidão da aplicação e verificar se seu desempenho é ou não uma preocupação futura. Uma aplicação hoje pode ter um desempenho aceitável nos testes, mas com base em previsões de crescimento e dados de performance, esta mesma aplicação pode se tornar lenta ou instável demais caso ocorra aumento significativo dos acessos. A infraestrutura de hospedagem poderá ser readequada para melhorar o desempenho ou a própria aplicação deverá passar por uma manutenção para atingir os níveis de performance desejados.

É muito comum empresas e equipes que desenvolvem aplicações web, mas não realizam testes de performance, se depararem com problemas de lentidão, quedas e sobrecarga dos recursos dos servidores quando uma nova aplicação é implantada. O primeiro culpado normalmente é a infraestrutura (rede, memória, processadores). A solução podia ter sido testada incansavelmente pelos desenvolvedores e testadores antes da implantação, mas apenas testes funcionais não conseguem identificar um simples problema de performance que pode gerar inúmeros transtornos quando o sistema é colocado em produção (ler BOX 1). Via de regra, os testes funcionais simulam apenas um indivíduo que utiliza o sistema, não 10.000 usuários realizando a mesma tarefa simultaneamente.

BOX 1. Testes funcionais

Os testes funcionais são aqueles cujo o objetivo é avaliar o comportamento da aplicação e medir a qualidade funcional de algum componente de um sistema. O teste funcional confronta o resultado com comportamento esperado do sistema – incluindo a entrada de d ...

Quer ler esse conteúdo completo? Tenha acesso completo