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 erros podem ocorrer durante a correlação de dados automatizada:
Quando dois parâmetros que precisam estar correlacionados têm nomes diferentes, a correlação de dados automatizada não reconhece que esses dois parâmetros estão relacionados. Por exemplo, considere esta solicitação: http://madeupsite.ibm.com?id=12345. Suponha que ela precise estar correlacionada à resposta do servidor que contém customer_id=12345, não id=12345. Nesse caso, o parâmetro id deve estar 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 subsequente. 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 esta solicitação: http://madeupsite.ibm.com?id=12345. Suponha que ela precise estar correlacionada à resposta do servidor que contém o par nome e entidade href name="customer_id" entity="12345", não id=12345. Nesse caso, o parâmetro id deve estar correlacionado a name="customer_id" e o valor 12345 deve estar correlacionado a entity="12345".
Às vezes, um parâmetro ou valor precisa estar correlacionado a um parâmetro ou valor anterior que não tenha nome no teste, pois ele é calculado, por exemplo, por um programa JavaScript. Nesse caso, para correlacionar corretamente os dados, você deve entender como e onde o parâmetro ou valor é calculado 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 solicitações subsequentes que usam o ID do cliente e a data, substituí-los separadamente.
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 subsequente 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.
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 subsequente. Se diversas instâncias de um parâmetro em um teste não forem iguais, os algoritmos de correlação poderão usar a instância errada.