Utilisation des tests codés de l'interface utilisateur dans les tests de charge
Cette rubrique s'applique à :
Visual Studio Ultimate |
Visual Studio Premium |
Visual Studio Professional |
Visual Studio Express |
---|---|---|---|
Pour évaluer la réponse de votre logiciel à différents niveaux d'utilisation, vous devez effectuer des tests de charge. Un test de charge modèle l'utilisation attendue d'un logiciel en simulant plusieurs utilisateurs accédant en même temps au programme. Pour plus d'informations, consultez Création et modification de tests de charge.
Les tests de charge se composent principalement d'une série de tests de performances de site Web ou de tests unitaires qui fonctionnent pendant un certain temps sous des utilisateurs simulés multiples. Les tests de charge peuvent également inclure des tests codés d'IU automatisés. L'inclusion de tests codés d'IU doit être effectuée uniquement dans des circonstances spécifiques. Tous les scénarios qui utilisent des tests codés d'IU dans les tests de charge impliquent l'utilisation de tests codés d'IU comme tests de performances. Cela peut être utile parce que les tests codés d'IU permettent de capturer les performances au niveau de la couche IU. Par exemple, si vous possédez une application qui met 1 seconde pour retourner des données au client, mais 8 secondes pour restituer les données dans le navigateur, vous ne pouvez pas capturer ce type de problème de performances à l'aide d'un test de performances de site Web.
Un autre scénario d'utilisation des tests codés d'IU dans un test de charge est le cas d'une application qui est difficile générer au niveau de la couche du protocole. Dans ce cas, vous pouvez envisager de maîtriser temporairement la charge à l'aide de l'interface utilisateur codée jusqu'à ce que vous puissiez écrire correctement le script de la couche du protocole.
Implémentation du code pour des mesures de minutage dans les tests codés d'IU
Par défaut, vous ne pouvez pas obtenir des mesures de minutage précises à partir d'un test codé d'IU utilisé dans les tests de charge parce que les appels sont asynchrones. Vous devez implémenter correctement vos tests codés d'IU pour obtenir des mesures de minutage précises. Pour ce faire, vous pouvez utiliser la méthode WaitForControlReady. Les extraits de l'exemple de code suivants l'illustrent pour une page de connexion.
Notes
Il s'agit d'un exemple simplifié. Un test réel doit pouvoir gérer également le minutage si l'ouverture de session a échoué.
Pour implémenter correctement un test codé d'IU utilisé dans un test de charge
Calculez la durée de chargement de la page de connexion.
TestContext.BeginTimer("UI Login Page Load");
Cet appel charge la page de connexion.
UIMap.LoginPage();
Toute durée enregistrée dans un test Web doit utiliser WaitForReady. Cela permet d'attendre jusqu'à ce que le formulaire s'affiche.
UIMap.UIHttpteamtestweb1STORWindow1.UIHttpteamtestweb1STORDocument.UIEmailEdit.WaitForControlReady(); TestContext.EndTimer("UI Login Page Load");
Avertissement
Assurez-vous que la durée passée à remplir le formulaire n'est pas inclus dans la minuterie. En enregistrant, générez le code de l'enregistreur après avoir rempli un formulaire, mais avant de le soumettre.
Cette fonction remplit le formulaire de connexion.
UIMap.FilledInLoginForm();
Calculez la durée de l'opération d'ouverture de session
TestContext.BeginTimer("UI Login"); UIMap.LoggedIn();
Toute durée enregistrée dans un test Web doit utiliser WaitForReady. Cela permet d'attendre jusqu'à ce que la page de confirmation d'ouverture de session s'affiche.
UIMap.UIHttpteamtestweb1STORWindow.UIHttpteamtestweb1STORDocument.UIWelcomeJamesBondwellPane.WaitForControlReady(); TestContext.EndTimer("UI Login");
Limitations des tests codés d'IU dans les tests de charge
Les tests codés d'IU contrôlent la souris et le clavier. Par conséquent, un seul utilisateur virtuel peut exécuter des tests codés d'IU par agent. La meilleure méthode pour le contrôler consiste à configurer un scénario distinct dans le test de charge et à affecter à la charge utilisateur 1 utilisateur. Si vous avez plusieurs tests d'IU, configurez la combinaison de tests avec le paramètre Séquentiel. Pour plus d'informations, consultez Création de scénarios supplémentaires pour un test de charge existant et Modification des modèles de combinaison de tests pour spécifier la probabilité d'exécution d'un test par un utilisateur virtuel.
Vous devez également configurer les agents de charge pour qu'ils soient exécutés comme un processus interactif, te non comme un service. Pour plus d'informations, consultez Installation et configuration des agents Visual Studio, des contrôleurs de test et de build.
Voir aussi
Référence
Concepts
Test de l'interface utilisateur avec des tests d'interface utilisateur automatisés
Autres ressources
Création et modification de tests de charge et de tests de performances de site Web