Ao executar um teste, você poderá notar que o servidor não está no
carregamento esperado ou que o banco de dados não está sendo atualizado conforme
esperado. A correlação de dados incompleta ou incorreta pode causar esses problemas.
Os algoritmos de correlação de dados que são usados durante a geração de teste são baseados em boas práticas bastante conhecidas. Entretanto, como essas práticas evoluem
continuamente, vários tipos de erro podem ocorrer durante a correlação de dados
automatizada:
- Correlação insuficiente: Valores de teste que deveriam ter sido correlacionados não foram. Estas são algumas causas possíveis:
- Dois parâmetros que precisam ser correlacionados possuem nomes diferentes.
- Um valor deve ser correlacionado com um valor anterior que não ocorra no local
esperado.
- Um parâmetro ou um valor deve ser correlacionado com um parâmetro ou um valor
anterior que não ocorra no teste por ser um valor calculado.
- Correlação desnecessária: valores de teste não relacionados foram
correlacionados.
- Correlação incorreta: Os valores de teste que deveriam ter sido correlacionados foram correlacionados incorretamente.
Correlação Insuficiente: Parâmetros Têm Nomes Diferentes ou Ocorrem
em Locais Inesperados
Quando dois parâmetros que precisam ser correlacionados têm nomes diferentes, a correlação de dados automatizada não reconhece que os dois parâmetros estão relacionados. Por exemplo, considere o pedido http://madeupsite.ibm.com?id=12345. Suponha que esse pedido precise ser correlacionado com a resposta do servidor contendo
customer_id=12345, não id=12345. Nesse caso, o parâmetro id precisa ser correlacionado
com customer_id.
A correlação de dados normalmente relaciona um valor de
resposta que foi retornado do servidor a um valor de pedido subseqüente. Os algoritmos de correlação automatizada procuram a URL e os dados do POST para possíveis correspondências; entretanto, outros esquemas para retorno de parâmetros também são possíveis. Por exemplo, considere o pedido http://madeupsite.ibm.com?id=12345.
Suponha que esse pedido deva ser correlacionado com a resposta do servidor contendo o par de nome e entidade href name="customer_id" entity="12345", não id=12345. Nesse caso, o parâmetro id precisa ser correlacionado com name="customer_id" e o valor 12345 precisa ser correlacionado com entity="12345".
Aqui estão algumas causas
adicionais de correlação insuficiente:
- Siebel utiliza o formato de matriz em estrela. Os algoritmos de correlação padrão não podem recuperar a partir desse formato nem substituir para esse formato.
- SOAP designa parâmetros de correlação em arquivos XML externos.
Os
algoritmos de correlação não correlacionam parâmetros no arquivo externo com parâmetros no teste
Para correlacionar manualmente os dados nestes casos:
- No editor de teste, utilize procurar ou navegar para localizar os dois parâmetros para correlação.
- Navegue até o parâmetro que ocorre por último no teste. Esse é o site de substituição. Selecione o parâmetro.
- Na janela Origens de Dados de Teste, clique na guia Referências.
- Selecione a origem de dados para usar como referência e, em seguida, clique em Substituir a Partir de.
Correlação Insuficiente: Um Parâmetro Não Tem Nome
Às vezes, um parâmetro ou valor precisa ser correlacionado com um parâmetro ou valor anterior que não tenha nome no teste, por ser calculado, por exemplo, por um programa JavaScript™. Nesse caso, para correlacionar corretamente os dados, você precisa entender como e onde o parâmetro ou valor são calculados e, em seguida, usar um bloco de código customizado. Consulte Estendendo a Execução de Teste com Código Customizado para obter mais informações sobre o código customizado.
Por exemplo, considere o endereço da Web http://www.madeupsite.com?login_stamp=12345_Apr_11_07,
em que o valor de login_timestamp é a concatenação do ID de login
e a data atual. Nesse caso, é preciso um código personalizado para
concatenar o 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="Apr_11_07".
Nesse caso, é possível 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 Supérflua
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 dos casos, o aplicativo não esperará uma correlação
e falhará durante a reprodução.
Para remover uma correlação de dados supérflua:
- No editor de teste, procure ou navegue para localizar o site de substituição que não deve ser correlacionado. Por padrão, as letras púrpuras indicam dados correlacionados.
- Clique com o botão direito do mouse no site de substituição.
- Clique em Remover Substituição.
Correlação Incorreta
Um parâmetro requerendo correlação de dados pode ocorrer várias vezes durante um teste. Por exemplo, um parâmetro de ID de
sessão utilizado inicialmente quando um usuário efetua login também poderá
ser utilizado em cada pedido subseqüente. Se diversas instâncias de um
parâmetro em um teste não forem iguais, os algoritmos de correção poderão
pegar a instância errada.
Com as preferências de Geração de Teste HTTP, você pode otimizar a correlação de dados automática para obter exatidão ou eficiência.
- Exatidão: cada ocorrência de um
parâmetro é correlacionada à ocorrência anterior mais próxima. Esse é o padrão.
- Eficiência: cada ocorrência de um
parâmetro é correlacionada a uma única ocorrência anterior.
Nota: Se você não aplicar manualmente uma correlação no campo Referenciador em um cabeçalho de pedido HTTP, o campo Referenciador
será automaticamente correlacionado conforme necessário. Se você aplicar manualmente uma correlação no campo Referenciador em um cabeçalho de pedido HTTP, nenhuma correlação automática será executada.
Correlações incorretas têm mais probabilidade de ocorrer quando
Otimizar correlação de dados automática para execução é configurado como
Eficiência.
Para corrigir uma correlação incorreta:
- No editor de teste, procure ou navegue para localizar o valor que foi correlacionado incorretamente.
- Clique com o botão direito do mouse no site de substituição.
- Clique em Remover Substituição.
- Clique com o botão direito do mouse no site de substituição novamente.
- Clique em Substituir a Partir de e selecione o parâmetro correto.