Teste de desempenho versus carga
No contexto da engenharia de software, são realizados testes de desempenho para descobrir os gargalos de um sistema. Testes de desempenho também podem ser usados para verificar atributos como confiabilidade, uso de recursos e escalabilidade, e estabelecer uma linha de base para o desempenho de um sistema. O teste de carga é um dos subgêneros do teste de desempenho. É realizado para medir o comportamento de um sistema em uma carga de trabalho especificada. O teste de carga é mais relevante para sistemas multiusuário com base no modelo cliente-servidor, mas outros sistemas de software, como processadores de texto ou editores gráficos, também podem ser testados.
Teste de performance
Como mencionado acima, o teste de desempenho é feito para determinar e eliminar gargalos de um sistema de software e estabelecer uma linha de base de seu desempenho que seria útil para testes adicionais. Os testes de desempenho incluem testes como testes de carga, testes de resistência (testes de imersão), testes de pico, testes de configuração e testes de isolamento. O teste de desempenho requer a obtenção de um conjunto de medidas cuidadosamente controlado do sistema. Para obter melhores resultados com os testes de desempenho, ele deve ser bem planejado e deve ser feito em um sistema estável, onde o processo de teste possa ocorrer sem problemas. É importante entender claramente o que você realmente deseja medir em termos de desempenho do sistema ao fazer testes de desempenho. Por exemplo, se você estiver testando o desempenho de um aplicativo da web, convém saber o tempo de resposta aceitável e o número de usuários simultâneos que podem ser manipulados pelo sistema. Mantendo esses dois aspectos em mente, você pode iniciar o teste aumentando o número de usuários constantemente e identificando o gargalo.
Teste de carga
Como mencionado anteriormente, o teste de carga faz parte do teste de desempenho e geralmente é realizado aumentando a carga em um sistema de software usando ferramentas automatizadas. O teste de carga às vezes é conhecido como teste de volume. Alguns exemplos de testes de carga seriam testar um servidor de correio com um grande número de caixas de correio do usuário ou testar a edição de um documento muito grande usando um processador de texto. Os testes de carga são executados usando um nível de carga predefinido, geralmente usando a carga máxima que o sistema pode suportar sem travar. Normalmente, o teste de carga visa expor bugs que não são expostos em testes comuns, como problemas de gerenciamento de memória, vazamentos de memória, estouros de buffer, etc. O teste de carga também serve como um meio de garantir que o sistema atenda à linha de base de desempenho estabelecida durante o teste de desempenho..
Diferença entre desempenho e teste de carga
Embora os termos teste de desempenho e teste de carga sejam usados de forma intercambiável, o teste de carga é apenas um aspecto dos testes de desempenho. Os objetivos dos dois testes também são diferentes. O teste de desempenho utiliza técnicas de teste de carga com o objetivo de obter medições e comparações e usa vários níveis de carga. Porém, o teste de carga opera em um único nível de carga predefinido, geralmente a carga mais alta que o sistema pode gerenciar sem travar. Na prática, os testes de desempenho são realizados com a intenção de encontrar os gargalos do sistema e eliminá-los. E quando o sistema não pode mais ser otimizado, o teste de carga é iniciado, para determinar o que você precisa adicionar ao sistema (na maioria das vezes, extensões de hardware, como número de servidores Web ou servidores de banco de dados) para sustentar os requisitos predefinidos pelo cliente..