Les algorithmes de corrélation des données utilisés pendant la génération du test se fondent sur les meilleures pratiques connues. Toutefois, comme ces pratiques évoluent constamment, plusieurs types d'erreur peuvent survenir lors de la corrélation automatisée des données :
Lorsque deux paramètres qui doivent être corrélés portent des noms différents, la corrélation automatisée des données ne reconnaît pas que ces deux paramètres sont liés. Par exemple, examinez cette demande : http://www.example.com?id=12345. Imaginez que cette demande doit être corrélée avec la réponse du serveur contenant customer_ID=12345 et non ID=12345. Dans ce cas, le paramètre ID doit être corrélé avec customer_ID.
En général, la corrélation des données établit un lien entre une réponse renvoyée par le serveur et une demande ultérieure. Les algorithmes de corrélation automatisée recherchent des correspondances possibles dans l'URL et les données POST. Il existe toutefois d'autres moyens de renvoyer des paramètres. Par exemple, examinez cette demande : http://www.example.com?id=12345. Imaginez que cette demande doive être corrélée avec la réponse du serveur contenant la paire nom et entité href name="customer_ID" entity="12345" et non ID=12345. Dans ce cas, le paramètre ID doit être corrélé avec name="customer_ID" et la valeur 12345 doit être corrélée avec entity="12345".
Parfois, une valeur ou un paramètre doivent être corrélés avec une valeur ou un paramètre précédents, qui ne portent pas de nom dans le test, car ils sont calculés (par exemple, par un programme JavaScript). Dans ce cas, pour réussir la corrélation des données, vous devez comprendre comment et où cette valeur ou ce paramètre a été calculé, puis utiliser un bloc de code personnalisé. Reportez-vous à la rubrique Extension de l'exécution d'un test avec du code personnalisé pour plus d'informations sur le code personnalisé.
Soit, par exemple, l'adresse Web http://www.example.com?login_stamp=12345_Apr_11_07, où la valeur de login_stamp est la concaténation de l'ID de connexion et de la date du jour. Dans ce cas, vous devez générer un code personnalisé qui effectue la concaténation de l'ID de connexion et de la date.
Supposons maintenant que le serveur ait renvoyé l'ID de connexion et la date comme des entités distinctes : href "customer_id=12345" Date="Apr_11_07". Dans ce cas, vous pouvez placer ces paramètres dans des références distinctes, puis, dans les demandes ultérieures qui utilisent l'ID du client (customer_id) et la date, les remplacer séparément.
La corrélation automatisée des données repose sur la correspondance de modèles : une valeur ou un paramètre est corrélé avec une valeur ou un paramètre ultérieur dont le nom est identique ou similaire. Cependant, il arrive parfois que des paramètres possédant des noms identiques ou similaires n'aient aucun lien entre eux. Dans le meilleur des cas, une corrélation inutile est sans danger ou augmente légèrement la charge pour rien. Dans le pire des cas, l'application n'attend pas de corrélation et échoue lors de la lecture.
Il se peut qu'un paramètre requérant une corrélation de données apparaisse plusieurs fois dans un test. Par exemple, un paramètre d'ID session utilisé à l'origine lorsqu'un utilisateur se connecte peut également être utilisé dans les demandes ultérieures. Si plusieurs instances d'un paramètre dans un test sont différentes, il se peut que les algorithmes de corrélation utilisent la mauvaise instance.
En règle générale, le contenu de la réponse HTML après l'enregistrement ressemble à ce qui suit : <input type="username" name="User" id="aaa" value="John"/>. Certaines applications mettent à jour le nom de l'attribut de manière dynamique. Dès lors, lorsque vous relisez le test, le contenu de la réponse HTML ressemble à ce qui suit : <input type="username" name="idt020" id="aaa" value="John"/>. Etant donné que l'attribut de nom change de manière dynamique, la corrélation de données risque de ne pas avoir lieu et la lecture risque d'échouer.
Ces corrélations sont le résultat de l'outil utilisant l'attribut nom comme base pour corréler d'autres attributs dans le code de réponse au lieu de l'ID. Pour corréler des réponses sur la base de l'ID, sélectionnez Activée dans.