Teste de Escalabilidade
O teste de escalabilidade é um método de teste não funcional que mede o desempenho de um sistema ou rede quando o número de solicitações do usuário aumenta ou diminui. O objetivo do teste de escalabilidade é garantir que o sistema possa lidar com o aumento projetado no tráfego de usuários, volume de dados, frequência de contagens de transações, etc. Ele testa a capacidade do sistema de atender às necessidades crescentes.
Também é conhecido como teste de desempenho, pois se concentra no comportamento do aplicativo quando implantado em um sistema maior ou testado sob carga excessiva. Em Engenharia de Software, o Teste de Escalabilidade é medir em que ponto o aplicativo para de escalar e identificar o motivo por trás disso.
Por que fazer testes de escalabilidade
- O teste de escalabilidade permite determinar como seu aplicativo é dimensionado com o aumento da carga de trabalho.
- Determine o limite de usuários para o aplicativo da web.
- Determine a degradação do lado do cliente e a experiência do usuário final sob carga.
- Determine a robustez e degradação do lado do servidor.
O que testar no teste de escalabilidade
Aqui estão alguns atributos de teste de escalabilidade:
- Tempo de resposta
- Transição de tela
- Taxa de transferência
- Tempo (tempo da sessão, tempo de reinicialização, tempo de impressão, tempo de transação, tempo de execução da tarefa)
- Medição de desempenho com vários usuários
- Solicitação por segundos, transação por segundos, acessos por segundo
- Medição de desempenho com vários usuários
- Uso da rede
- Uso de CPU / memória
- Servidor Web (solicitação e resposta por segundos)
- Medição de desempenho sob carga
Estratégia de teste para teste de escalabilidade
Estratégia de teste para teste de escalabilidade difere em termos do tipo de aplicativo que está sendo testado. Se um aplicativo acessar um banco de dados, os parâmetros de teste testarão o tamanho do banco de dados em relação ao número de usuários e assim por diante.
Pré-requisitos para teste de escalabilidade
- Capacidade de distribuição de carga - Verifique se a ferramenta de teste de carga permite que a carga seja gerada a partir de várias máquinas e controlada a partir de um ponto central.
- Sistema operacional - Verifique em quais sistemas operacionais os agentes de geração de carga e o mestre de teste de carga executam
- Processador - Verifique que tipo de CPU é necessária para o agente de usuário virtual e mestre de teste de carga
- Memória - Verifique quanta memória seria suficiente para o agente de usuário virtual e mestre de teste de carga
Como fazer testes de escalabilidade
- Defina um processo que pode ser repetido para a execução de testes de escalabilidade ao longo do ciclo de vida do aplicativo
- Determine os critérios de escalabilidade
- Lista as ferramentas de software necessárias para executar o teste de carga
- Defina o ambiente de teste e configure o hardware necessário para executar os testes de escalabilidade
- Planeje os cenários de teste, bem como os testes de escalabilidade
- Crie e verifique o script visual
- Crie e verifique os cenários de teste de carga
- Execute os testes
- Avalie os resultados
- Gerar relatórios necessários
Plano de Teste de Escalabilidade
Antes de realmente criar os testes, desenvolva um plano de teste detalhado. É uma etapa importante para garantir que o teste esteja em conformidade com os requisitos do aplicativo.
A seguir estão os atributos para a criação de um Plano de Teste bem definido para Teste de Escalabilidade.
- Etapas para scripts : O script de teste deve ter uma etapa detalhada que determina as ações exatas que um usuário executaria.
- Dados de tempo de execução : O plano de teste deve determinar todos os dados de tempo de execução necessários para interagir com o aplicativo
- Testes orientados a dados : se os scripts precisam de dados variáveis em tempo de execução, você precisa ter uma compreensão de todos os campos que requerem esses dados.
Teste de escalabilidade vs. teste de carga
Teste de Escalabilidade | Teste de carga |
---|---|
|
|
Resumo:
- É um tipo de teste de software que testa a capacidade de um sistema, uma rede ou um processo quando o tamanho / volume do sistema é alterado para atender a uma necessidade crescente.
- A ideia por trás do teste de escalabilidade é medir em que ponto o aplicativo para de escalar e identificar o motivo por trás disso
- Estratégia de teste para teste de escalabilidade difere em termos do tipo de aplicativo que está sendo testado.