Teste de Performance
Teste de Software
http://www.testar.me/#!teste-de-performance-teste-de-desempenho/bqvay
1- Conceito e introdução
Teste de Software - Teste de Performance
Em
Teste de Software, o Teste de Performance ou Teste Desempenho consiste
em avaliar a capacidade de resposta, robustez, disponibilidade,
confiabilidade e escalabilidade de uma aplicação, conforme a quantidade
de conexões simultâneas, avaliando seu desempenho em alta carga de
trabalho e considerando seu comportamento em circunstâncias normais.
Em
particular, o objetivo de tais experiências pode ser o de garantir que o
software não apresente problemas ou indisponibilidade em condições de
insuficiência dos recursos computacionais (como memória, processamento
ou espaço em disco), quando trabalhando em alta concorrência ou sofrendo
algum ataque de negação de serviço.
O Teste de Performance, é um dos testes previstos na qualidade de software e teste de software
2- O Serviço de Teste de Performance - Teste de Software
Para todo serviço de teste de performance realizado pela Testar.me, é disponibilizado ao cliente dois documentos de acordo com cada projeto de teste de software. O Plano de Teste e o Plano de Coleta de Performance.
O Plano de Teste, consite em apresentar ao cliente toda a descrição e etapas do teste de performance. Como seu proposito, o escopo do teste de performance, cronograma, a grade de teste, bem como os cenários (passo a passo) a serem testados (Cenários de Teste).
Outro ponto importante do Plano de Teste, é descrever como será a distribuição dos acessos no teste de performance e no teste de software. Ou Seja, para cada quantidade de acessos simultâneos, quantos vão simular a funcionalidade A, a funcionalidade B e assim por diante.
Para todo serviço de teste de performance realizado pela Testar.me, é disponibilizado ao cliente dois documentos de acordo com cada projeto de teste de software. O Plano de Teste e o Plano de Coleta de Performance.
O Plano de Teste, consite em apresentar ao cliente toda a descrição e etapas do teste de performance. Como seu proposito, o escopo do teste de performance, cronograma, a grade de teste, bem como os cenários (passo a passo) a serem testados (Cenários de Teste).
Outro ponto importante do Plano de Teste, é descrever como será a distribuição dos acessos no teste de performance e no teste de software. Ou Seja, para cada quantidade de acessos simultâneos, quantos vão simular a funcionalidade A, a funcionalidade B e assim por diante.
Já o Plano de Coleta de Performance,
consiste em documentar os procedimentos para gerar coletas de
performance durante a execução do teste de performace ou teste de
software.
Ou
seja, quais monitores de performance serão ativados, em quais momentos
serão gerados dumps da aplicação em teste, como será realizado um
profiler de aplicação ou ou então realizar coletas em banco de dados.
Toda
a coleta de performance é descrita passo a passo e documentada para que
na execução do teste de performance, seja possivel extrair as
informações necessária de performance do ambiente e software testado.
3- TIpos de Teste de Performance - Teste de Software
O Teste de Carga:
Um dos tipos de Teste de Software - Teste de Performance, é o teste de carga. É geralmente realizado para identificar o comportamento do sistema sob um carga especifica esperada. O que pode ser uma quantidade esperada de usuários simultâneos, uma quantidade de operaçoes por hora ou um determinado numero de transações no sistema em teste.
Este tipo de teste é ideal para verificar se a aplicação, servidor web ou banco de dados em teste, mantém um bom comportamento durante sua carga habitual de trabalho.
O Teste de estresse (Stress Testing):
Este tipo de Teste de Software, é realizado para verificar o comportamento do ambiente e software durante uma carga extrema. Também para deternminar se o sistema em teste irá realizar suficientes operações acima do maximo esperado.
Teste de longa duração ou Teste de Resistência:
Dentro do teste de software e teste de performance temos o teste de longa duração (Soak testing) ou teste de resistência, consiste em determinar se o sistema em teste pode suportar uma carga contínua durante longos periodos de tempo. Determina se o software em teste irá se comportar adequadamente na utilização de memória durante um longo período de utilização, por exemplo. Outro ponto importante deste tipo de teste de software, é verificar se não ocorre degradação na performance após 4 ou 8 horas de utilização continua. Visando garantir que atenda os periodos normais de produção em que o sistema será utilizado.
Teste de Subida Rápida:
Este tipo de teste de software e teste de performance é realizado simulado uma subida rapida e grande de usuários simultâneos em curto periodo de tempo. O objetivo é determinar se o sistema em teste irá falhar ou ser bem sucedido ao lidar com uma mudança brusca na carga de usuários.
Teste de Configuração:
Em vez de testar a performance numa visão de carga, os testes de configuração são criados para determinar o comportamento nas alteraçoes de configuração de um componente do ambiente. Por exemplo, como será o desempenho ao modificar um balanceamento de carga, removendo ou adicionado novos servidores, utilizando um link de contingência ou qualquer outra modificação que ocorra no ambiente em teste.
O Teste de Carga:
Um dos tipos de Teste de Software - Teste de Performance, é o teste de carga. É geralmente realizado para identificar o comportamento do sistema sob um carga especifica esperada. O que pode ser uma quantidade esperada de usuários simultâneos, uma quantidade de operaçoes por hora ou um determinado numero de transações no sistema em teste.
Este tipo de teste é ideal para verificar se a aplicação, servidor web ou banco de dados em teste, mantém um bom comportamento durante sua carga habitual de trabalho.
O Teste de estresse (Stress Testing):
Este tipo de Teste de Software, é realizado para verificar o comportamento do ambiente e software durante uma carga extrema. Também para deternminar se o sistema em teste irá realizar suficientes operações acima do maximo esperado.
Teste de longa duração ou Teste de Resistência:
Dentro do teste de software e teste de performance temos o teste de longa duração (Soak testing) ou teste de resistência, consiste em determinar se o sistema em teste pode suportar uma carga contínua durante longos periodos de tempo. Determina se o software em teste irá se comportar adequadamente na utilização de memória durante um longo período de utilização, por exemplo. Outro ponto importante deste tipo de teste de software, é verificar se não ocorre degradação na performance após 4 ou 8 horas de utilização continua. Visando garantir que atenda os periodos normais de produção em que o sistema será utilizado.
Teste de Subida Rápida:
Este tipo de teste de software e teste de performance é realizado simulado uma subida rapida e grande de usuários simultâneos em curto periodo de tempo. O objetivo é determinar se o sistema em teste irá falhar ou ser bem sucedido ao lidar com uma mudança brusca na carga de usuários.
Teste de Configuração:
Em vez de testar a performance numa visão de carga, os testes de configuração são criados para determinar o comportamento nas alteraçoes de configuração de um componente do ambiente. Por exemplo, como será o desempenho ao modificar um balanceamento de carga, removendo ou adicionado novos servidores, utilizando um link de contingência ou qualquer outra modificação que ocorra no ambiente em teste.
4- Configuraçoes utilizadas nos teste de performance
Outras configurações importantes também são definidas durante o teste de software e teste de performance da Testar.me.
O mix de navegadores Web
A Testar.me define no plano de teste os navegadores a serem simulados no ambiente em teste. Seja ele o Internet Explorer, Firefox, Chrome ou Safari. Desta forma é possivel medir o comportamento da aplicação em teste nos diferentes tipos de navegadores existentes.
Simulação de banda de internet:
Importante também identificar o tipo de rede utilizado pelos clientes. No teste de software - teste de performance também podemos definir a largura de banda a ser testada. Por exemplo, se sua aplicação é predominantemente acessada por internet movel, é importante definir nos testes uma porcentagem de usuários simultâneos utilizando esta tecnologia.
Outras configurações importantes também são definidas durante o teste de software e teste de performance da Testar.me.
O mix de navegadores Web
A Testar.me define no plano de teste os navegadores a serem simulados no ambiente em teste. Seja ele o Internet Explorer, Firefox, Chrome ou Safari. Desta forma é possivel medir o comportamento da aplicação em teste nos diferentes tipos de navegadores existentes.
Simulação de banda de internet:
Importante também identificar o tipo de rede utilizado pelos clientes. No teste de software - teste de performance também podemos definir a largura de banda a ser testada. Por exemplo, se sua aplicação é predominantemente acessada por internet movel, é importante definir nos testes uma porcentagem de usuários simultâneos utilizando esta tecnologia.
Tão importante quanto os outros itens anteriores do teste de Software e Teste de Performance, é definir a quantidade necessária de agentes de teste ou quantidade de enderecos IPs distintos para realizar o teste de performance. Aplicações em load balance ou com limitações de conexão originadas de um mesmo endereço IP, devem ser acessadas atraves de diferentes hosts de internet.
Todos os testes de software - teste de performance realizados pela Testar.me replicam de forma mais fiel possivel esta situação.
Os testes de performance são originados de diferentes endereços IPs e servidores que possuimos.
Todos os testes de software - teste de performance realizados pela Testar.me replicam de forma mais fiel possivel esta situação.
Os testes de performance são originados de diferentes endereços IPs e servidores que possuimos.
5- Durante a execução do teste de performance e teste de software
Além das coletas mencionadas nos itens anteriores, durante a execução de um teste de software - teste de performance, devem ser coletados e analisados itens, como:
- O Tempo médio de resposta.
- Tempo máximo e minimo de resposta.
- Quantidade de operações vs unidade de tempo.
- Testes por segundo.
- Testes que resultaram em falha.
- Tempo médio do teste.
- Transações por segundo.
- Requisiçoes por segundo.
- Tamanho das requisições HTTP, componentes, imagens etc.
- Componentes cacheados pelo navegador web.
6- Entrega e relatório do teste de performance e teste de softwareAlém das coletas mencionadas nos itens anteriores, durante a execução de um teste de software - teste de performance, devem ser coletados e analisados itens, como:
- O Tempo médio de resposta.
- Tempo máximo e minimo de resposta.
- Quantidade de operações vs unidade de tempo.
- Testes por segundo.
- Testes que resultaram em falha.
- Tempo médio do teste.
- Transações por segundo.
- Requisiçoes por segundo.
- Tamanho das requisições HTTP, componentes, imagens etc.
- Componentes cacheados pelo navegador web.
A entrega e relatorio de teste de performance e teste de software realizado pela Testarme é personalizado de acordo com o tipo de sistema e teste.
Deve informar:
- Tempo de resposta
- Numero máximo de conexões ou usuários simultâneos suportadas
- Qual foi o ponto de exaustão encontrato no teste de performance
- é o Além das coletas mencionadas nos itens anteriores, durante a execução de um teste de software - teste de performance, devem ser coletados e analisados itens, como: