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 doivent être corrélées
ne le sont pas. 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 sont 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 suivante : http://madeupsite.ibm.com?id=12345. Imaginez que cette demande doive
ê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 suivante : http://madeupsite.ibm.com?id=12345.
Imaginez que cette demande doive ê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, puis sélectionnez-le. Il s'agit du site de substitution.
- 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 qui utilisent 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 utilisent 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 et sélectionnez le paramètre
correct.