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.
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://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. Prenez par exemple le cas de la demande suivante :
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".
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 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.
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 du paramètre 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.