Testes de desempenho (prefiro usar o termo em português, ao invés de performance) costumam causar confusão até mesmo entre especialistas da área. Existem diversos tipos de testes de desempenho e abaixo procuro fazer uma classificação, baseada na literatua técnica, que pode ajudar na comunicação dentro de um time de teste:
Testes de Carga: Determinam o tempo de resposta de transações e processos de negócios com o intuito de determinar se a aplicação está de acordo com as expectativas documentadas e determinadas pelo cliente.
Testes de Volume: Determinam a capacidade do software de lidar com um grande volume de dados, como entrada e saída, o que permite determinar os limites em que o sistema falha. Podem também ser utilizados para identificar o máximo volume da dados que um sistema pode gerenciar em um certo período de tempo.
Testes de Stress: Determinam a carga necessária para que o sistema falhe e avalia seu comportamento em condições anormais. Podem incluir, além de cargas de trabalho extremas, insuficiência de memória e recursos de processamento limitados. Avaliam também a capacidade que o software tem de se recuperar de uma falha mantendo a integridade dos dados.
Testes de Longevidade: Identifica problemas de desempenho que podem surgir após o sistema ser submetido a carga extrema durante um longo período de tempo.
Existem ainda outros tipos de testes de desempenho, como os testes de configuração, que visam identificar configurações otimizadas de hardware e software para a correta execução da aplicação, e os testes de contenção que avaliam a forma como o sistema gerencia demandas para um mesmo recurso computacional (memória, dados, processador, etc.).