Nota do editor: Bem-vindo à série Liderança em Testes, do especialista e consultor de testes de software Paul Gerrard. A série foi concebida para ajudar os profissionais de testes com alguns anos de experiência — especialmente os que trabalham em equipas ágeis — a destacarem-se nas suas funções de liderança e gestão de testes.
No artigo anterior, explorámos os testes de serviços e os seus principais componentes: testes de desempenho, testes de comutação de falha/resistência e capacidade de gestão. Tal como prometido, aqui vamos explorar os testes de desempenho com mais detalhe.
Subscreva a newsletter do The QA Lead para receber uma notificação quando forem publicados novos artigos da série. Estes artigos são excertos do curso Liderança em Testes de Paul, que recomendamos vivamente para aprofundar este e outros temas. Se o fizer, utilize o nosso código de cupão exclusivo QALEADOFFER para obter um desconto de 60 $ no preço total do curso!
Olá e bem-vindo à série Liderança em Testes. No último artigo, analisámos os testes de serviços para aplicações Web.
O objetivo deste capítulo é fornecer alguns conselhos e boas práticas para gerir um componente crítico dos testes de serviços mencionado nesse artigo, que é, rufar dos tambores... os testes de desempenho!
Vamos abordar:
- Objetivos dos testes de desempenho
- Quatro pré-requisitos para um teste de desempenho
- Kit de ferramentas para testes de desempenho
- O processo de teste de desempenho
Vamos começar.
Objetivos dos testes de desempenho
Como breve resumo, podemos definir o objetivo principal dos testes de desempenho da seguinte forma:
“Demonstrar que o sistema funciona de acordo com a especificação, com tempos de resposta aceitáveis, enquanto processa os volumes de transações necessários numa base de dados com a dimensão de produção.”
O seu ambiente de testes de desempenho é uma plataforma de testes que pode ser utilizada para outros testes, com objetivos mais abrangentes, que podemos resumir da seguinte forma:
- Avaliar a capacidade de crescimento do sistema (Se não tiver a certeza sobre qual o software capaz de responder às suas necessidades, a nossa lista das melhores soluções de gestão de bases de dados pode ajudar.)
- Identificar pontos fracos na arquitetura
- Ajustar o sistema
- Detetar erros obscuros no software
- Verificar a resiliência e a fiabilidade.
A sua estratégia de testes deve definir os requisitos de uma infraestrutura de testes que permita cumprir todos estes objetivos.
Quatro pré-requisitos para um teste de desempenho
"Se algum destes pré-requisitos estiver em falta, tenha muito cuidado antes de avançar com a execução dos testes e a publicação dos resultados. A utilização de ferramentas de automação da garantia da qualidade pode ajudar a garantir que estes pré-requisitos são cumpridos. Os testes podem ser difíceis ou impossíveis de realizar, ou a credibilidade dos resultados publicados pode ficar seriamente comprometida e ser facilmente posta em causa."
Have an account? Log In
1. Requisitos quantitativos, relevantes, mensuráveis, realistas e alcançáveis
Como base para todos os testes, os requisitos de desempenho (objetivos) devem ser acordados antes do teste, para que seja possível determinar se o sistema cumpre esses requisitos.
Os requisitos relativos ao débito do sistema ou aos tempos de resposta, para serem úteis como referência de comparação dos resultados de desempenho, devem ter os seguintes atributos. Devem ser:
- Expressos em termos quantificáveis.
- Relevantes para a tarefa que o utilizador pretende realizar.
- Mensuráveis através de uma ferramenta (ou cronómetro) e a um custo razoável.
- Realistas quando comparados com a duração da tarefa do utilizador.
- Alcançáveis a um custo razoável.
Frequentemente, os requisitos de desempenho são vagos ou inexistentes. Procure quaisquer requisitos documentados, se possível. Se existirem lacunas, poderá ter de os documentar retrospetivamente.
Antes de ser possível especificar e conceber um teste de desempenho, é necessário acordar os requisitos relativos a:
- Tempos de resposta das transações.
- Perfis de carga (o número de utilizadores e os volumes de transações a simular).
- Volumes da base de dados (o número de registos nas tabelas da base de dados esperado em produção).
É comum os requisitos de desempenho serem definidos em termos vagos. Estes requisitos baseiam-se frequentemente em volumes de negócio previstos e estimados, pelo que poderá ser necessário levar os utilizadores empresariais a refletir realisticamente sobre os requisitos de desempenho.
Poderá também ter de realizar pessoalmente alguma análise de requisitos e documentar estes requisitos como objetivos de desempenho pretendidos.
2. Um sistema estável
Se o sistema tiver erros e não for fiável, não irá longe com um teste de desempenho. Os testes de desempenho submetem todos os componentes arquiteturais a algum grau de pressão. No entanto, para que os testes de desempenho produzam resultados úteis, o sistema e a infraestrutura técnica têm de ser razoavelmente fiáveis e resilientes à partida.
3. Ambiente de testes realista
O ambiente de testes tem de ser configurado de modo a que o teste seja significativo. Provavelmente não conseguirá replicar o sistema de destino ou de produção, mas o ambiente de testes deve ser comparável, total ou parcialmente, ao ambiente de produção final. Terá de acordar com o arquiteto do sistema quais os compromissos aceitáveis e quais não o são, ou, pelo menos, que interpretação útil poderá ser feita dos resultados dos testes.
A criação de um ambiente de testes realista é essencial para realizar testes de desempenho significativos. Para conhecer ferramentas que o podem ajudar a simular condições do mundo real, consulte a nossa seleção criteriosa de plataformas de testes de software
4. Ambiente de testes controlado
Os responsáveis pelos testes de desempenho necessitam de estabilidade. Não apenas em termos de fiabilidade e resiliência do hardware e do software, mas também da minimização das alterações no ambiente ou no software sob teste. Por exemplo, se a interface for alterada, mesmo que ligeiramente, os scripts de teste concebidos para operar interfaces de utilizador tendem a falhar imediatamente.
Quaisquer alterações no ambiente devem ser rigorosamente controladas. Se a alteração corrigir erros que dificilmente afetarão o desempenho, poderá considerar não aceitar a versão. Apenas devem ser aceites alterações destinadas a melhorar o desempenho ou a fiabilidade.
Kit de ferramentas para testes de desempenho
O seu kit de ferramentas para testes de desempenho é composto por cinco ferramentas principais:
- Criação/Manutenção de Dados de Teste - para criar os grandes volumes de dados na base de dados que serão necessários para o teste. Seria de esperar que se tratasse de um utilitário baseado em SQL ou, talvez, de um produto para PC, como o Microsoft Access, ligado à base de dados de testes.
- Geração de carga – as ferramentas comuns utilizam controladores de teste que simulam clientes virtuais através do envio de mensagens HTTP para servidores Web.
- Ferramenta de execução da aplicação – esta ferramenta conduz uma ou mais instâncias da aplicação através da interface do navegador e regista medições dos tempos de resposta. (Normalmente, é a mesma ferramenta utilizada para a geração de carga, mas não tem de o ser).
- Monitorização de recursos - utilitários que monitorizam e registam os recursos dos sistemas cliente e servidor, o tráfego de rede, a atividade da base de dados, etc.
- Análise e elaboração de relatórios de resultados - as ferramentas de execução de testes e de monitorização de recursos geram grandes volumes de dados de resultados para análise.
Leitura relacionada: OS 10 MELHORES SERVIÇOS DE ANÁLISE SQL PARA EQUIPAS DE QA
O processo de testes de desempenho
Abaixo, é apresentada uma figura que mostra um processo genérico para testes e otimização do desempenho. A otimização não faz realmente parte do processo de testes, mas é uma parte inseparável da tarefa de melhorar o desempenho e a fiabilidade. A otimização pode envolver alterações à infraestrutura arquitetural, mas não deve afetar a funcionalidade do sistema sob teste.

Vamos agora analisar como desenvolver, executar, analisar e elaborar um relatório sobre um teste de desempenho.
Desenvolvimento incremental de testes
O desenvolvimento de testes é normalmente realizado em quatro fases incrementais:
- Cada script de teste é preparado e testado isoladamente para ser depurado.
- Os scripts são integrados na versão de desenvolvimento da carga de trabalho e esta é executada para testar se o novo script é compatível.
- À medida que a carga de trabalho aumenta, a estrutura de testes em desenvolvimento é continuamente aperfeiçoada, depurada e tornada mais fiável. A experiência e a familiaridade com as ferramentas também aumentam.
- Quando o último script é integrado na carga de trabalho, o teste é executado como uma «simulação» para garantir que é totalmente repetível e fiável, e que está pronto para os testes formais.
Os testes intermédios podem fornecer resultados úteis
A execução de partes da carga de trabalho e das transações de teste pode revelar problemas de desempenho. Os testes com cargas de baixo volume também podem fornecer uma indicação antecipada do tráfego de rede e de potenciais estrangulamentos quando o teste é ampliado.
Os tempos de resposta elevados podem ser causados por um desenho inadequado da aplicação e podem ser investigados e corrigidos mais cedo pelos programadores. Também podem ser realizados testes iniciais durante períodos prolongados, como testes de resistência.
More Articles
- 13 dos melhores podcasts de testes de software para 2026
- 10 melhores ferramentas de gestão de testes de código aberto analisadas em 2026
- As 12 melhores certificações em gestão de testes de 2026
- 10 Melhores Serviços de Testes Automatizados Analisados em 2026
- Os 22 melhores blogues de testes de software de 2026
Execução de testes
A execução de testes requer alguma gestão ou coordenação das fases. Deve articular-se com os participantes de apoio que irão monitorizar o sistema enquanto executa os testes. A equipa de «monitorização de testes» pode estar distribuída, pelo que deve mantê-la informada para que o teste decorra sem problemas e os resultados sejam registados corretamente.
Para além da coordenação dos vários membros da equipa, a execução de testes de desempenho segue normalmente uma rotina padrão.
- Preparação da base de dados (restauro a partir de banda, se necessário).
- Preparar o ambiente de teste conforme necessário e verificar o seu estado.
- Iniciar os processos de monitorização (rede, clientes e servidores, base de dados).
- Iniciar a simulação da carga e observar o(s) monitor(es) do sistema.
- Se for utilizada uma ferramenta separada, quando a carga estiver estável, iniciar a ferramenta de execução dos testes da aplicação e a medição dos tempos de resposta.
- Monitorizar atentamente o teste durante toda a sua duração.
- Se as ferramentas de execução dos testes não pararem automaticamente, terminar o teste quando o período de teste chegar ao fim.
- Parar as ferramentas de monitorização e guardar os resultados.
- Arquivar todos os resultados capturados e garantir que todos os dados dos resultados são salvaguardados de forma segura.
- Produzir relatórios intermédios; consultar os outros membros da equipa relativamente a quaisquer anomalias.
- Preparar análises e relatórios.
Coordenar os vários membros da equipa durante a execução dos testes pode ser um desafio. Simplifique este processo integrando ferramentas avançadas de gestão de testes concebidas para o Jira, que oferecem funcionalidades como colaboração e elaboração de relatórios em tempo real
Normalmente, o ajuste é realizado após os testes quando existem problemas ou quando são possíveis otimizações conhecidas. Se um teste for repetido, é essencial registar quaisquer alterações no ambiente. Isto permite associar quaisquer diferenças no comportamento do sistema e, consequentemente, nos resultados de desempenho, às alterações na configuração.
Quando se trata de gerir casos de teste para testes de desempenho, o software de gestão de testes pode transformar o processo. Permite uma melhor organização, acompanhamento e até automatização dos casos de teste.
Como regra, é aconselhável alterar apenas uma coisa de cada vez, para que, quando forem detetadas diferenças de comportamento, estas possam ser atribuídas às alterações efetuadas.
Análise e elaboração de relatórios dos resultados
O relatório mais habitual de uma execução de teste resumirá estas medições e, para cada medição realizada, serão comunicados os seguintes dados:
- A quantidade de medições.
- Tempo de resposta mínimo.
- Tempo de resposta máximo.
- Tempo de resposta médio.
- Tempo de resposta do percentil N.º (normalmente 95.º).
A ferramenta de geração de carga do seu conjunto de ferramentas deve registar a quantidade de cada tipo de transação durante o período do teste. Dividir estas quantidades pela duração do teste fornece a taxa de transações ou o débito efetivamente alcançado.
A quantidade de transações corresponde à carga aplicada ao sistema. Isto pressupõe que as proporções das transações executadas correspondem ao perfil de carga que está a tentar aplicar.
A carga aplicada deve corresponder ao perfil de carga simulado — mas pode não corresponder se o sistema responder lentamente e as transações forem executadas a velocidades variáveis.
Normalmente, executará uma série de testes com cargas variáveis. Utilizando os resultados de uma série de testes, elabore um gráfico do tempo de resposta de uma transação em função da carga aplicada.
As ferramentas de monitorização de recursos dispõem normalmente de funcionalidades de elaboração de relatórios estatísticos ou gráficos que apresentam a utilização dos recursos ao longo do tempo. Os relatórios avançados sobre a utilização dos recursos em função da carga aplicada são muito úteis e podem ajudar a identificar estrangulamentos na arquitetura de um sistema.
Boa sorte!
Subscreva a newsletter da The QA Lead para receber uma notificação quando forem publicados novos artigos desta série. Estes artigos são excertos do curso Leadership In Test de Paul, que recomendamos vivamente para aprofundar este e outros tópicos. Se o fizer, utilize o nosso código de cupão exclusivo QALEADOFFER para obter um desconto de 60 $ no preço total do curso!
Leia também: MÉTRICAS DE MONITORIZAÇÃO DE SERVIDORES A ACOMPANHAR PARA A SAÚDE E O DESEMPENHO DO SISTEMA

