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 : les valeurs de test qui auraient dû être corrélées ne
l'ont pas été. Trois causes sont possibles :
- Deux paramètres qui auraient dû faire l'objet d'une corrélation 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 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 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é.