Instructions de correction de la corrélation des données

Les corrélations de données automatisées requièrent parfois des corrections manuelles et les corrélations manuelles complexes requièrent parfois une compréhension détaillée de la manière dont l'application testée est implémentée.

Lorsque vous exécutez un test, il se peut que vous constatiez que la charge du serveur ne corresponde pas à la charge attendue ou que votre base de données ne soit pas mise à jour comme prévu. Une corrélation incomplète ou incorrecte des données peut être à l'origine de ces incidents. Voici une procédure recommandée permettant d'identifier rapidement les incidents liés à la corrélation des données :

Les algorithmes de corrélation des données du générateur de test sont basés sur les pratiques recommandées des concepteurs d'applications. Ces pratiques évoluant sans cesse, les types d'erreur de corrélation automatisée de données suivants peuvent se produire :

Corrélation insuffisante : des paramètres portent des noms différents ou apparaissent dans des emplacements inattendus

Lorsque deux paramètres qui doivent être corrélés portent des noms différents, la corrélation automatisée des données ne parvient pas à reconnaître que ces deux paramètres sont liés. Prenons par exemple le cas de la demande http://www.madeupsite.com?id=12345. La réponse du serveur avec laquelle cette demande doit être corrélée est customer_id=12345 au lieu d'id=12345. Le paramètre id doit être corrélé avec customer_id.

De même, la corrélation des données associe généralement une réponse renvoyée par le serveur à une demande ultérieure. Les algorithmes des corrélations automatisées recherchent aux emplacements habituels (URL et données POST) les candidats à la corrélation. Il existe toutefois d'autres moyens de renvoyer des paramètres. Prenons par exemple le cas de la demande http://www.madeupsite.com?id=12345. La réponse du serveur avec laquelle cette demande doit être corrélée est la paire nom/entité href name="id" entity="12345" au lieu d'id=12345. Le paramètre id doit être corrélé avec name="id" et la valeur 12345, avec entity="12345".

Voici deux autres exemples généraux :
  • Siebel utilise le format de matrice en étoile : les algorithmes de corrélation standard ne savent pas comment extraire les données de ce format et les remplacer.
  • SOAP désigne les paramètres de corrélation dans des fichiers XML externes : les algorithmes de corrélation ne comprennent pas la correspondance entre les paramètres du fichier externe et ceux du test
Pour effectuer une corrélation manuelle dans ces cas, procédez comme suit :
  • A l'aide de la fonction de recherche ou de navigation, recherchez les deux paramètres à corréler.
  • Accédez au paramètre qui apparaît en premier dans le test. Comme expliqué dans la rubrique Création d'une référence ou d'une référence de zone, placez ce paramètre dans une référence. (Dans certains cas, ce paramètre peut déjà se trouver dans une référence, auquel cas, cette étape n'est pas nécessaire.)
  • Accédez à l'autre paramètre. Comme expliqué dans la rubrique Corrélation d'une valeur de demande avec une référence, corrélez le second paramètre avec une référence antérieure.

Corrélation insuffisante : un paramètre n'a pas de nom

Il se peut qu'un paramètre ou une valeur doive être corrélé avec une valeur ou un paramètre précédent qui n'est pas spécifié dans le test, car il est calculé (par exemple, par un programme Javascript). Dans ce cas, pour une corrélation correcte, vous devez comprendre comment et où cette valeur ou ce paramètre a été calculé, puis utilisez un bloc de code personnalisé. Les codes personnalisés sont abordés dans la rubrique Extension de tests avec un code Java personnalisé.

Soit par exemple, l'URI http://www.madeupsite.com?horodatage_connexion=12345_Dec_12_04, horodatage_connexion correspondant à la concaténation de l'ID connexion et de la date du jour. Dans ce cas, vous avez besoin d'un code personnalisé qui effectue la concaténation de l'ID connexion et de la date.

Supposons maintenant que le serveur ait renvoyé l'ID connexion et la date comme des entités distinctes (href "customer_id=12345" Date="Dec_12_04"). Dans ce cas, vous pouvez placer ces paramètres dans des références distinctes, puis, dans les demandes ultérieures utilisant l'ID client et la date, les remplacer séparément.

Corrélation superflue

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 réexécution.

Pour supprimer une corrélation superflue des données, procédez comme suit :
  • Dans l'éditeur de test, à l'aide de la fonction de recherche ou de navigation, (les valeurs corrélées apparaissent en rouge), recherchez une valeur ne devant pas être corrélée.
  • A l'aide du bouton droit de la souris, cliquez sur cette valeur et sélectionnez Supprimer la substitution.
Vous pouvez également procédez comme suit :
  • Dans l'éditeur de test, cliquez sur une page qui contient des demandes corrélées inappropriées.
  • A l'aide du bouton droit de la souris, cliquez sur la table des données de test et sélectionnez Afficher les références.
  • Cliquez sur une ligne (police rouge) indiquant une corrélation inappropriée, puis sur le bouton Supprimer la substitution, sous la table.

Corrélation incorrecte

Un paramètre demandant une corrélation des données peut apparaître à maintes reprises dans un test. Par exemple, un paramètre ID session qui apparaît au départ lorsqu'un utilisateur se connecte peut apparaître dans toutes les demandes ultérieures. Il est possible que plusieurs instances d'un paramètre d'un test ne soient pas identiques et que les algorithmes de corrélation ne choisissent pas la bonne instance.

Les préférences de la fonction de génération de test incluent une préférence intitulée Optimiser la corrélation automatique des données pour:
  • Précision : chaque occurrence du paramètre est corrélée avec l'occurrence précédente la plus proche. Il s'agit de la valeur par défaut.
  • Efficacité : chaque occurrence du paramètre est corrélée avec une unique occurrence précédente.
Les corrélations d'instance incorrectes sont moins probables avec le paramètre Précision, mais elles sont néanmoins possibles. Pour corriger manuellement cet incident, procédez comme suit :
  • Dans l'éditeur de test, à l'aide de la fonction de recherche ou de navigation, ou de la table Données de test de la page, recherchez les valeurs incorrectement corrélées.
  • A l'aide du bouton droit de la souris, cliquez sur la valeur ou la ligne, puis sur Supprimer la substitution.
  • Toujours à l'aide du bouton droit de la souris, cliquez de nouveau sur la valeur, sélectionnez Remplacer à partir de, puis choisissez le paramètre approprié.
Conditions d'utilisation | Commentaires
(C) Copyright IBM Corporation 2005. All Rights Reserved.