Artefatos > Conjunto de Artefatos de Teste > {Mais Artefatos de Teste} > Definição de Teste > Modelo de Análise de Carga de Trabalho > Diretrizes


Modelo de Análise de Carga de Trabalho
Modelo que identifica um ou mais perfis de carga de trabalho destinados a definir com precisão um conjunto de estados de interesse de um sistema, no qual a avaliação do software em um determinado ambiente operacional pode ser realizada.

Tópicos

Visão Geral Início da página

A qualidade do software é avaliada em diferentes dimensões, entre elas confiabilidade, função e desempenho (consulte Conceitos: Dimensões de Qualidade). O Modelo de Análise de Carga de Trabalho (consulte Artefato: Modelo de Análise de Carga de Trabalho) é criado para identificar e definir as diferentes variáveis que afetam ou influenciam o desempenho de um aplicativo ou sistema e as medidas necessárias para avaliar o desempenho. Os perfis de carga de trabalho que compõem o modelo representam as possíveis condições a serem simuladas e comparadas aos Itens de Teste-alvo em uma ou mais Configurações de Ambiente de Teste. O modelo de análise de carga de trabalho é utilizado pelos seguintes papéis:

  • o analista de teste (consulte Papel: Analista de Teste) usa o modelo de análise de carga de trabalho para identificar as idéias de teste e definir os casos de teste para testes diferentes
  • o designer de teste (consulte Papel: Designer de Teste) usa o modelo de análise de carga de trabalho para definir uma abordagem de teste apropriada e identificar as necessidades de testabilidade para os diferentes testes
  • o testador (consulte Papel: Testador) usa o modelo de análise de carga de trabalho para entender melhor as metas do teste para implementar, executar e analisar a sua execução adequadamente
  • o representante do usuário (consulte Papel: Envolvido) usa o modelo de análise de carga de trabalho para avaliar a adequação da carga de trabalho, e os testes necessários para avaliar efetivamente o comportamento dos sistemas em relação ao modelo de análise de carga de trabalho

As informações contidas no modelo de análise de carga de trabalho enfocam as características e os atributos destas principais áreas:

  • Cenários de Caso de Uso (ou Instâncias, consulte Artefato: Caso de Uso) a serem executados e avaliados durante os testes
  • Atores (consulte Artefato: Ator) a serem simulados/emulados durante os testes
  • Perfil de carga de trabalho - representando o número e o tipo de instâncias de ator simultâneas, cenários de caso de uso executados por essas instâncias de ator, e respostas on-line ou taxa de transferência associada a cada cenário de caso de uso.
  • Configuração do Ambiente de Teste (real, simulado ou emulado) a ser utilizado para executar e avaliar os testes de desempenho (consulte Artefato: Configuração do Ambiente de Teste. Consulte também Artefato: Documento de Arquitetura de Software , visão de Implantação, que deve formar a base da Configuração do Ambiente de Teste)

Os testes devem ser considerados para medir e avaliar as características e comportamentos do alvo do teste em diferentes cargas de trabalho. Para projetar, implementar e executar testes corretamente é necessário identificar dados realistas e excepcionais para esses perfis de carga de trabalho.

Casos de Uso e Atributos de Casos de Uso Início da página

Dois aspectos de casos de uso são considerados para selecionar cenários para esse tipo de teste:

  • casos de uso críticos contêm os principais cenários de caso de uso que serão medidos e avaliados nos testes
  • casos de uso significativos contêm os cenários de caso de uso que podem impactar o comportamento dos cenários de caso de uso críticos

Casos de Uso Críticos

Nem todos os cenários de caso de uso que estão sendo implementados no alvo do teste podem ser necessários para esses testes. Os casos de uso críticos contêm os cenários de caso de uso que serão o foco do teste, ou seja, aqueles cujos comportamentos serão medidos e avaliados.

Para saber quais são os casos de uso críticos, identifique os cenários de caso de uso que satisfazem a pelo menos um destes critérios:

  • exigem medição e avaliação com base no perfil de carga de trabalho
  • são executados freqüentemente por um ou mais usuários finais (instâncias de ator)
  • representam um alto percentual de uso do sistema
  • consomem recursos significativos do sistema

Liste os scanners de caso de uso crítico a serem incluídos no teste. Conforme eles são identificados, o fluxo de eventos do caso de uso deve ser revisto. Comece identificando a seqüência específica de eventos entre o ator (tipo) e o sistema quando o cenário de caso de uso for executado.

Além disso, identifique (ou verifique) as seguintes informações:

  • Precondições para os casos de uso, como, por exemplo, o estado dos dados (os dados que devem/não devem existir) e do objetivo do teste
  • Dados que podem ser constantes (iguais) ou que devem ser diferentes de uma instância de caso de uso para outra
  • Relacionamento entre o caso de uso e outros casos de uso, como, por exemplo, a seqüência na qual os casos de uso devem ser executados.
  • A freqüência de execução do cenário de caso de uso, incluindo características como, por exemplo, o número de instâncias simultâneas do caso de uso e o percentual da carga total que cada cenário ocupa no sistema.

Casos de Uso Significativos

Ao contrário dos cenários de casos de uso críticos, que são o foco principal dos testes, os cenários de casos de uso significativos são aqueles que podem impactar os comportamentos de desempenho de cenários de casos de uso críticos. Os cenários de casos de uso significativos incluem os casos de uso que satisfazem a pelo menos um destes critérios:

  • eles devem ser executados antes ou depois de executar um caso de uso crítico (uma precondição ou pós-condição)
  • eles são executados freqüentemente por uma ou mais instâncias de ator
  • eles representam um percentual alto de uso do sistema
  • eles exigem recursos significativos do sistema
  • eles serão executados regularmente no sistema implantado, enquanto cenários de caso de uso críticos são executados como, por exemplo, e-mail ou impressão em segundo plano

À medida que os cenários de casos de uso significativos são identificados e listados, revise o fluxo de eventos de casos de uso e as informações adicionais, conforme indicado acima para os cenários de casos de uso críticos.

Atores e Atributos de Atores Início da página

Para que os testes de desempenho sejam realizados corretamente, é necessário não apenas identificar os atores que executam os cenários de casos de uso críticos e significativos, mas também simular/emular o comportamento dos atores. Ou seja, uma instância de um ator pode interagir com o objetivo do teste de forma diferente (demorar mais tempo para responder a perguntas, inserir valores de dados diferentes, etc.) enquanto executa o mesmo cenário de caso de uso de outra instância desse ator. Considere os casos de uso simples abaixo:

Atores e casos de uso em um caixa eletrônico.

A primeira instância do ator "Cliente" que executa um cenário de caso de uso pode ser um usuário de caixa eletrônico experiente, enquanto outra instância do ator "Cliente" pode ser inexperiente no uso de caixa eletrônico. O Cliente experiente navega rapidamente pela interface de usuário do caixa eletrônico, gasta pouco tempo lendo cada pergunta e pressiona os botões quase sem pensar. Já o Cliente sem experiência lê cada uma das perguntas e leva mais tempo para interpretar as informações antes de responder. Perfis de carga de trabalho realistas refletem essa diferença para assegurar uma avaliação precisa dos comportamentos do alvo do teste.

Comece identificando os atores de cada cenário de caso de uso identificado acima. Em seguida, identifique os diferentes perfis de ator que podem executar cada cenário de caso de uso. No exemplo do caixa eletrônico acima, podemos ter os seguintes estereótipos de ator:

  • Usuário com experiência em caixa eletrônico
  • Usuário sem experiência em caixa eletrônico
  • Conta do usuário do caixa eletrônico "na" rede do banco do caixa eletrônico (o usuário tem uma conta no banco proprietário do caixa eletrônico)
  • Conta do usuário do caixa eletrônico fora da rede do banco do caixa eletrônico (banco concorrente)

Para cada perfil de ator, identifique os diferentes atributos e valores, como:

  • Tempo de decisão - o período de tempo necessário para que o ator responda a perguntas individuais de um objetivo do teste
  • Velocidade de digitação - a velocidade com que o ator interage com a interface
  • Freqüência de Solicitações - a freqüência com que o ator faz solicitações do objetivo do teste
  • Fator de repetição - o número de vezes que um caso de uso ou uma solicitação são repetidos em seqüência
  • Método de interação - o método de interação utilizado pelo ator. Por exemplo, usar o teclado para inserir valores, usar a tecla TAB para mudar de um campo para outro, usar teclas de aceleração ou o mouse para" apontar e clicar", "recortar e colar", etc.

Além disso, para cada perfil de ator, identifique o respectivo perfil de carga de trabalho, especifique todos os cenários de casos de uso executados por eles e o percentual de tempo ou proporção de esforço gasto pelo ator na execução dos casos de uso. Essas informações são utilizadas para identificar e criar uma carga realista (consulte abaixo Carga e Atributos de Carga).

Variáveis e Atributos do Sistema Início da página

As variáveis e atributos específicos da Configuração do Ambiente de Teste que identificam o ambiente de modo exclusivo devem ser igualmente identificados, já que esses atributos também impactam a medição e a avaliação do comportamento. Esses atributos incluem:

  • O hardware físico (velocidade da CPU, memória, armazenamento no cache do disco, etc.)
  • A arquitetura de implantação (número de servidores, distribuição do processamento, etc.)
  • Os atributos da rede
  • Outros softwares (e casos de uso) que podem ser instalados e executados ao mesmo tempo que o alvo do teste

Identifique e liste as variáveis e os atributos do sistema que devem ser considerados para inclusão nos testes. É possível obter essas informações em diversas fontes, entre elas:

Perfis de Carga de Trabalho Início da página

Conforme explicado anteriormente, a carga de trabalho é um dos fatores importantes que impactam o comportamento de um alvo de teste. É importante identificar precisamente o perfil de carga de trabalho que será usado para avaliar os comportamentos-alvo. Normalmente, o teste que inclui carga de trabalho é executado várias vezes usando perfis de carga de trabalho diferentes, cada um representando uma variação dos atributos descritos abaixo:

  • O número de instâncias de ator simultâneas que interage com o alvo do teste
  • O perfil dos atores que interagem com o alvo do teste
  • Os cenários de caso de uso executados por cada instância de ator
  • A freqüência de cada cenário de caso de uso crítico executado e a freqüência com que é repetido

Para cada carga de trabalho utilizada na avaliação do desempenho do objetivo do teste, identifique os valores para cada uma das variáveis acima. Os valores usados para cada variável nas diferentes cargas normalmente podem ser derivados do Modelo de Casos de Uso de Negócios (consulte Artefato: Modelo de Casos de Uso de Negócios) ou por meio de observação ou entrevista com os atores. É comum definir um ou mais dos seguintes perfis de carga de trabalho:

  • Ideal - carga de trabalho que reflete as melhores condições possíveis de implantação como, por exemplo, um número mínimo de instâncias de atores interagindo com o sistema e executando somente os cenários de casos de uso críticos, com execução mínima de software adicional e carga de trabalho durante o teste.
  • Médio (ou Normal) - um perfil de carga de trabalho que reflete as condições de uso médias previstas ou reais.
  • Picos Instantâneos- um perfil de carga de trabalho que reflete as condições de uso pesadas instantâneas previstas ou reais, que ocorrem por curtos períodos durante a operação normal.
  • Pico - um perfil de carga de trabalho que reflete as condições de uso pesadas previstas ou reais, tais como um número máximo de instâncias de ator, executando altos volumes de cenários de casos de uso, com muito software e carga de trabalho adicional durante o teste.

Quando o teste de carga de trabalho inclui o Teste de Stress (consulte Conceitos: Teste de Desempenho e Conceitos: Tipos de Teste), diversas cargas adicionais devem ser identificadas, cada uma delas tendo como alvo aspectos específicos do sistema em estados anormais ou inesperados além da capacidade normal esperada do sistema implantado.

Critérios e Medições de Desempenho Início da página

Os testes de carga de trabalho só serão realizados corretamente se os testes forem medidos e os comportamentos da carga de trabalho forem avaliados. Na identificação de critérios e medições de carga de trabalho, devem ser considerados os seguintes fatores:

  • Que medições devem ser feitas?
  • Quais são e onde estão os pontos críticos de medição no objetivo do teste/execução de casos de uso?
  • Que critérios devem ser utilizados para determinar um comportamento de desempenho aceitável?

Medições de Desempenho

Várias medições podem ser feitas durante a execução dos testes. Identifique as medições significativas a serem feitas e justifique o motivo pelo qual elas são consideradas as mais significativas.

Estes são os comportamentos de desempenho mais comumente monitorados ou detectados:

  • Status ou estado do script de teste - uma representação gráfica do atual estado, status ou andamento da execução do teste
  • Tempo de resposta / Taxa de transferência de dados - métrica (ou cálculo) dos tempos de resposta ou da taxa de transferência de dados (geralmente indicada como transações por segundo).
  • Desempenho estatístico - uma representação medida (ou calculada) do tempo de resposta/taxa de transferência de dados através de métodos estatísticos, como desvio médio, desvio padrão e percentis.
  • Rastreamentos - captura de mensagens/conversações entre o ator (script de teste) e o objetivo do teste ou o fluxo de dados e/ou fluxo de processo durante a execução.

Consulte Conceitos: Principais Medidas de Teste para obter mais informações

Pontos Críticos na Medição de Desempenho

Na seção Casos de Uso e Atributos de Casos de Uso acima, foi observado que nem todos os casos de uso e respectivos cenários são executados para fins de teste de desempenho. De modo semelhante, nem todas as medidas de desempenho são feitas para cada cenário de caso de uso executado. Normalmente, apenas cenários de caso de uso específicos são destinados para medição, ou pode haver uma seqüência específica de eventos em um cenário de caso de uso específico que será medido para avaliar o comportamento do desempenho. Deve-se tomar cuidado para selecionar apenas os "pontos" inicial e final mais significativos para a métrica dos comportamentos de desempenho. Os pontos mais importantes costumam ser as seqüências mais visíveis de eventos ou aquelas que podem ser afetadas diretamente por mudanças no software ou no hardware.

Por exemplo, no caso de uso Caixa Eletrônico - Retirada em Dinheiro identificado acima, podemos determinar as características de desempenho da instância de caso de uso inteira, desde o ponto em que o Ator inicia a retirada até o encerramento do caso de uso - ou seja, o Ator recebe o cartão do banco e agora o caixa eletrônico está pronto para aceitar um outro cartão, conforme mostrado pela linha preta "Total de Tempo Decorrido" no diagrama abaixo:

md_wlmd1.gif (6225 bytes)

Observe, porém, que há muitas seqüências de eventos que contribuem para o total de tempo decorrido, algumas sobre as quais podemos ter controle (como ler as informações do cartão, verificar o tipo de cartão, iniciar a comunicação com o sistema do banco, etc., itens B, D e E acima), mas outras seqüências sobre as quais não temos controle (por exemplo, quando o ator informa o PIN ou lê as perguntas antes de digitar o valor do saque, itens A, C e F). No exemplo acima, além de calcular o total de tempo decorrido, calculamos os tempos de resposta das seqüências B, D e E, já que esses eventos representam os tempos de resposta mais visíveis para o ator (e que podem ser afetados através de software/hardware para implantação).

Critérios da Medição de Desempenho

Uma vez identificados os principais pontos de medidas e as medições de desempenho, revise os critérios de desempenho. Os critérios de desempenho são indicados nas Especificações Suplementares (consulte Artefato: Especificações Suplementares). Se necessário, revise os critérios.

Há aqui alguns critérios usados normalmente para medição de desempenho:

  • tempo de resposta (ou resposta on-line)
  • taxa de transferência de dados
  • percentis de resposta

O tempo de resposta on-line, medido em segundos, ou a taxa de transferência de dados, medida pelo número de transações (ou mensagens) processadas é o critério principal.

Por exemplo, usando o caso de uso Retirada em Dinheiro, os critérios são indicados como "eventos B, D e E (consulte o diagrama acima) e cada um deve ocorrer em três segundos (para um total combinado de 9 segundos)". Se, durante o teste, observarmos que um dos eventos identificados como B, D ou E demora mais do que os 3 segundos definidos nos critérios, podemos dizer que ocorreu uma falha.

As medições de percentil são combinadas com os tempos de resposta e/ou taxas de transferência de dados e são utilizadas para "ignorar estatisticamente" as medições que não se enquadram nos critérios definidos. Por exemplo, os critérios de desempenho para o caso de uso agora determinam que, "para o 90º percentil, os eventos B, D e E devem ocorrer em 3 segundos ...". Durante a execução do teste, se calcularmos 90% de todas as medições de desempenho ocorridas dentro dos critérios especificados, nenhuma falha será observada.



Copyright  © 1987 - 2001 Rational Software Corporation


Exibir o Rational Unified Process usando quadros

Rational Unified Process