Artefatos >
Conjunto de Artefatos de Teste >
{Mais Artefatos de Teste} >
Definição de Teste >
Modelo de Análise de Carga de Trabalho >
Diretrizes
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. |
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:
As informações contidas no modelo de análise de carga de trabalho enfocam as características e os atributos destas principais áreas:
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.
Dois aspectos de casos de uso são considerados para selecionar cenários para esse tipo de teste:
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:
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:
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:
À 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.
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:
Para cada perfil de ator, identifique os diferentes atributos e valores, como:
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).
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:
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:
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:
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:
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.
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:
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:
Consulte Conceitos: Principais Medidas de Teste para obter mais informações
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:

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).
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:
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.
|
Rational Unified Process |