Lors de l'exécution d'un test, il se peut 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.
Pour identifier les incidents liés à la corrélation de données, procédez comme suit :
- Exécutez un test séparément ou dans un planning en associant le Niveau de
journalisation des erreurs, des incidents et des avertissements à la valeur
Tous.
- Après l'exécution, ouvrez le journal de test conformément aux instructions de
la rubrique Affichage des journaux de test.
- Comme expliqué dans la rubrique Vérification des détails du journal de test dans la vue Données de
protocole, vérifiez que chaque appel envoyé au serveur a renvoyé les données attendues.
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 :
- Corrélation insuffisante : les valeurs de test qui auraient dû être corrélées ne l'ont pas été. Plusieurs causes sont possibles :
- deux paramètres qui doivent être corrélées portent des noms différents,
- une valeur doit être corrélée avec une valeur précédente qui n'apparaît pas dans
l'emplacement attendu,
- un paramètre ou une valeur doit être corrélée avec une valeur ou un paramètre précédent qui
n'apparaît pas dans le test car il s'agit d'une valeur calculée.
- Corrélation superflue : des valeurs de test non liées ont été corrélées.
- Corrélation incorrecte : des valeurs de test qui doivent être corrélées ne le sont pas correctement.
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 reconnaît pas que ces deux paramètres sont liés. Prenez par exemple le cas de la demande http://madeupsite.ibm.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é à 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. Prenez par exemple le cas de la demande http://madeupsite.ibm.com?id=12345.
Imaginez que cette demande doit être corrélée avec la réponse du serveur contenant la paire nom/entité href name="id" entity="12345" au lieu de 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".
Vous trouverez ci-après d'autres causes de corrélation insuffisante.
- Siebel utilise le format de matrice en étoile. Les algorithmes de corrélation standard ne peuvent pas extraire de données de ce format ni les remplacer.
- SOAP désigne les paramètres de corrélation dans des fichiers XML externes.
Les algorithmes de corrélation
ne peuvent pas corréler les paramètres du fichier externe à des paramètres du test.
Pour effectuer une corrélation manuelle dans ces cas, suivez les instructions ci-dessous.
- Dans l'éditeur de test, utilisez la fonction de recherche ou de navigation pour localiser les deux paramètres à corréler.
- Accédez au paramètre qui apparaît ultérieurement dans le test. Il s'agit du site de substitution. Sélectionnez le paramètre.
- Dans la fenêtre Sources de données du test, cliquez sur l'onglet Références.
- Sélectionnez la source de données à utiliser comme référence, puis cliquez sur Remplacer à partir de.
Corrélation insuffisante : un paramètre n'a pas de nom.
Parfois, une valeur ou un paramètre doit ê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 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.madeupsite.com?login_stamp=12345_Apr_11_07,
où la valeur horodatage_connexion correspond à 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="Apr_11_07".
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 lecture.
Pour supprimer une corrélation superflue des
données, effectuez les opérations ci-dessous.
- Dans l'éditeur de test, utilisez la fonction de recherche ou de navigation pour localiser le site de substitution qui ne doit pas être corrélé. Les lettres violettes signalent par défaut les données corrélées.
- Cliquez à l'aide du bouton droit de la souris sur le site de substitution.
- Cliquez sur Supprimer la substitution.
Corrélation incorrecte
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 choisissent la mauvaise instance.
Les préférences de génération de test HTTP vous permettent d'optimiser la précision et l'efficacité de la corrélation de données automatisée.
- 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 occurrence précédente unique.
Remarque : Si vous n'appliquez pas de corrélation manuelle dans la zone
Referer d'un en-tête de requête HTTP, cette zone est automatiquement corrélée en cas de besoin. Si vous appliquez une corrélation manuelle dans la zone Referer d'un en-tête de requête HTTP, aucune corrélation automatique n'est effectuée.
Le risque de corrélations incorrectes est plus élevé lorsque l'option
Optimiser la corrélation automatique des données pour l'exécution est associée à la valeur
Efficacité.
Pour résoudre une corrélation incorrecte, procédez comme suit :
- Dans l'éditeur de test, utilisez la fonction de recherche ou de navigation pour localiser la valeur incorrectement corrélée.
- Cliquez à l'aide du bouton droit de la souris sur le site de substitution.
- Cliquez sur Supprimer la substitution.
- Cliquez à nouveau à l'aide du bouton droit de la souris sur le site de substitution.
- Cliquez sur Remplacer à partir de et sélectionnez le paramètre correct.