Diretrizes de Ajuste da Correlação de Dados

As correlações de dados automatizadas requerem, às vezes, ajustes manuais, e as correlações manuais complexas requerem, às vezes, um entendimento detalhado de como o aplicativo testado será implementado.

Ao executar um teste, você pode perceber que o servidor não está no carregamento esperado ou que seu banco de dados não está sendo atualizado conforme esperado. A correlação de dados incompleta ou incorreta é a provável causa desses problemas. A seguir, um procedimento recomendado para ajudá-lo a identificar problemas na correlação de dados antecipadamente:

Necessariamente, os algoritmos de correlação de dados do gerador de teste baseiam-se nas boas práticas reconhecidas seguidas pelos designers do aplicativo. Como essas práticas estão em contínuo desenvolvimento, estes tipos de erros de correlação de dados automatizada podem ocorrer:

Correlação Insuficiente: os parâmetros possuem nomes diferentes ou aparecem em locais inesperados

Quando dois parâmetros que devem ser correlacionados possuem nomes diferentes, a correlação de dados automatizada não consegue identificar que os dois estão relacionados. Por exemplo, considere o pedido http://www.madeupsite.com?id=12345. Em vez de id=12345, a resposta do servidor com a qual esse pedido deve ser correlacionado é customer_id=12345. O id de parâmetro precisa ser correlacionado com customer_id.

De forma semelhante, a correlação de dados normalmente relaciona um valor de resposta retornado do servidor a um valor de pedido subseqüente. Os algoritmos de correlação automatizada consultam nos locais usuais -- URL e Dados Post -- as sugestões de correlação. Mas são possíveis outros esquemas para o retorno de parâmetros. Por exemplo, considere o pedido http://www.madeupsite.com?id=12345. Em vez de id=12345, a resposta do servidor com a qual esse pedido deve ser correlacionado é o par nome/entidade href name="id" entity="12345". O id de parâmetro precisa ser correlacionado com name="id" e o valor 12345 com entity="12345".

Alguns outros exemplos mais gerais:
  • O Siebel utiliza o formato de matriz em estrela: os algoritmos de correlação padrão não entendem como recuperar-se e substituir nesse formato.
  • O SOAP designa os parâmetros de correlação em arquivos XML externos: os algoritmos de correlação não entendem a correspondência entre os parâmetros no arquivo externo e no teste
Para correlacionar manualmente nesses casos:
  • Utilizando a procura ou a navegação pelo teste, localize os dois parâmetros que devem ser correlacionados.
  • Vá para o parâmetro que aparecer primeiro no teste. Conforme explicado em Criando uma Referência ou uma Referência de Campo, coloque o parâmetro em uma referência. (Em alguns casos, esse parâmetro já pode estar em uma referência, portanto, esta etapa não será necessária.)
  • Vá para o outro parâmetro. Conforme explicado em Correlacionando um Valor de Pedido com uma Referência, correlacione o segundo parâmetro com a referência mais antiga.

Correlação Insuficiente: um parâmetro não tem nome

É possível que um parâmetro ou um valor precise ser correlacionado com um parâmetro ou um valor anterior que não tem nome no teste, porque foi calculado (por exemplo, por um programa Javascript). Nesse caso, para correlacionar corretamente, será necessário entender como e onde o parâmetro ou o valor foi calculado e, em seguida, utilizar um bloco de código personalizado. O código personalizado é discutido em Ampliando os Testes com Código Java Personalizado.

Por exemplo, considere a URI http://www.madeupsite.com?login_stamp=12345_Dec_12_04, em que login_timestamp é a concatenação do ID de login e a data atual. Nesse caso, será necessário código personalizado que execute a concatenação do ID de login e a data.

Em outro exemplo, suponha que o servidor tenha retornado o ID de login e a data como entidades separadas (href "customer_id=12345" Date="Dec_12_04"). Nesse caso, você pode colocar esses parâmetros em referências separadas e, em pedidos subseqüentes utilizando o ID do cliente e a data, substituí-los separadamente.

Correlação Excessiva

A correlação de dados automatizada baseia-se na correspondência de padrões: um parâmetro ou um valor de parâmetro é correlacionado com um parâmetro ou um valor de parâmetro subseqüente com um nome exato ou semelhante. Mas, às vezes, os parâmetros com nomes exatos ou semelhantes não são na verdade relacionados. No melhor caso, a correlação desnecessária é inofensiva ou inclui uma carga leve que é inapropriada. No pior caso, o aplicativo não espera uma correlação e falha durante a reprodução.

Para remover uma correlação de dados supérflua:
  • No editor de teste, utilizando a procura ou a navegação (os valores correlacionados aparecem em vermelho), localize um valor que não deve ser correlacionado.
  • Clique com o botão direito do mouse no valor e selecione Remove Substitution (Remover Substituição).
Alternativamente, faça o seguinte:
  • No editor de teste, clique em uma página que contenha pedidos correlacionados inapropriadamente.
  • Clique com o botão direito do mouse em qualquer lugar na tabela Dados de Teste e selecione Show References (Mostrar Referências).
  • Clique em uma linha da tabela (letra vermelha) que esteja indicando uma correlação inapropriada e clique no botão Remove Substitution (Remover Substituição) na tabela.

Correlação Incorreta

Um parâmetro que requeira correlação de dados pode aparecer várias vezes durante um teste. Por exemplo, um parâmetro de ID de sessão que aparece inicialmente quando um usuário efetua login poderá aparecer em todos os pedidos subseqüentes. É possível que várias instâncias de um parâmetro em um teste não sejam os mesmas e que os algoritmos de correlação escolham a instância incorreta.

As preferências de Geração de Teste incluem uma preferência denominada Optimize automatic data correlation for (Otimizar correlação de dados automática para):
  • Accuracy (Exatidão): cada ocorrência do parâmetro é correlacionada com a ocorrência anterior mais próxima. Esse é o padrão.
  • Efficiency (Eficiência): cada ocorrência do parâmetro é correlacionada com uma única ocorrência anterior.
As correlações de instâncias incorretas são menos prováveis com a configuração Accuracy (Exatidão), mas ainda assim são possíveis. Para corrigir manualmente esse problema:
  • No editor de teste, utilizando a procura, a navegação ou a tabela Dados de Teste da página, localize os valores correlacionados incorretamente.
  • Clique com o botão direito do mouse no valor ou na linha da tabela e clique em Remove Substitution (Remover Substituição).
  • Clique novamente com o botão direito do mouse no valor, selecione Substitute from (Substituir a partir de) e selecione o parâmetro correto.
Termos de uso | Feedback
(C) Copyright IBM Corporation 2005. Todos os Direitos Reservados.