Test de performances et de la contrainte d'une application

Cette rubrique s'applique à :

Visual Studio Ultimate

Visual Studio Premium

Visual Studio Professional 

Visual Studio Express

La rubrique s'applique La rubrique ne s'applique pas La rubrique ne s'applique pas La rubrique ne s'applique pas

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.

Visual Studio Ultimate vous permet d'utiliser jusqu'à 250 utilisateurs virtuels sur une série de tests de charge locale. Si votre test de charge requiert davantage de serveurs virtuels ou si vous voulez utiliser des ordinateurs distants, vous devez acheter Visual Studio Load Test Virtual User Pack 2010. Vous pouvez acheter Visual Studio Load Test Virtual User Pack 2010 là où vous avez acheté Visual Studio Ultimate. Pour plus d'informations, consultez Gestion de vos licences utilisateur virtuel pour le test de charge avec un contrôleur de test et Configuration des contrôleurs de test et des agents de test pour le test de charge.

S'il s'agit d'un modèle à utilisation intensive (plusieurs milliers de visiteurs d'un site Web en même temps), vous aurez besoin de plusieurs ordinateurs pour générer suffisamment de charge. Pour ce faire, il est possible de configurer un groupe d'ordinateurs pour la génération d'importantes charges de test simulées. Ce groupe d'ordinateurs se compose d'un ou plusieurs contrôleurs de test et d'un ou plusieurs agents de test. Un agent de test exécute des tests et peut générer la charge simulée. Le contrôleur de test coordonne les agents de tests et collecte les résultats des tests, et doit être configuré à l'aide d'un ou plusieurs produits Visual Studio Load Test Virtual User Pack 2010. Pour plus d'informations sur la configuration des agents et des contrôleurs de test, consultez Distribution des tests de charge entre plusieurs machines de test à l'aide des contrôleurs de test et des agents de testConfiguration d'ordinateurs de test pour exécuter des tests ou collecter des données et Installation et configuration des agents Visual Studio, des contrôleurs de test et de build.

Notes

Vous devrez également acheter des licences Visual Studio Load Test Virtual User Pack 2010 pour le nombre d'utilisateurs virtuels requis pour chaque contrôleur de test.

Les tests de charge se composent 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 sont créés avec l'Assistant Nouveau test de charge.

Notes

Les tests de charge peuvent également inclure des tests codés d'IU automatisés. Les tests codés de l'interface utilisateur doivent être inclus uniquement dans certaines circonstances. Pour plus d'informations, consultez Utilisation des tests codés de l'interface utilisateur dans les tests de charge.

Lorsque vous ajoutez des tests de performances de site Web à un test de charge, vous simulez plusieurs utilisateurs ouvrant des connexions simultanées à un serveur et effectuant plusieurs requêtes HTTP. Vous pouvez définir des propriétés sur les tests de charge qui s'appliquent de manière générale à chaque test de performances de site Web.

Utilisez les tests unitaires dans un test de charge à appliquer à un serveur via une API. En général, cela concerne les serveurs accessibles via des clients lourds ou d'autres services de serveur, plutôt qu'un navigateur. C'est le cas par exemple d'une application avec un Winforms ou WPF frontal, à l'aide de WCF pour communiquer au serveur. Dans ce cas, vous développez des tests unitaires qui appellent WCF. Autre exemple : un autre différent qui appelle le serveur via des services Web. En outre, il est possible qu'un client à deux couches effectue directement des appels à SQL. Dans ce cas, vous pouvez développer des tests unitaires pour appeler SQL directement. Pour plus d'informations sur les tests unitaires, consultez Vérification du code à l'aide de tests unitaires.

Les tests de charge peuvent être utilisés dans plusieurs types de tests :

Type de test

Description

Détection de fumée (smoke test)

Performances de votre application sous des charges légères pendant de courtes durées.

Test de contrainte

Pour déterminer si l'application s'exécutera avec succès pendant une durée soutenue sous une charge lourde.

Performances

Pour déterminer la réactivité de votre application.

Planification de capacité

Performances de votre application à différentes capacités.

Pour modifier les propriétés de test de charge, utilisez l'Éditeur de test de charge. Les propriétés vous permettent d'exécuter des tests de performances de site Web avec des profils utilisateur, des cibles de navigateur et des modèles de charge différents. Les résultats des tests sont stockés dans le référentiel des résultats des tests de charge basé sur SQL. Pour plus d'informations, consultez Gestion des résultats des tests de charge dans le référentiel des résultats des tests de charge.

Vous affichez les tests de charge en cous d'exécution et les tests de charge terminés dans l'analyseur de test de charge. Pour plus d'informations, consultez Analyse des séries de tests de charge.

Affichage d'un test en cours d'exécution dans l'analyseur de test de charge

Exécution de la vue des graphiques du test de charge

Tâches

Utilisez les rubriques suivantes pour savoir comment configurer et utiliser les contrôleurs de test et les agents de test :

Tâches clés

Rubriques associées

Mise en route avec les tests de charge et les tests de performances de site Web : vous pouvez exécuter les actions décrites dans les procédures pas à pas des tests de charge et des tests de performances de site Web pour vous familiariser avec la création, la modification, l'exécution et l'affichage des résultats des tests de charge et des tests de performances de site Web.

Création de tests de performance et de contrainte : vous pouvez créer des tests de charge pour mesurer vos performances et vos contraintes à l'aide de Microsoft Visual Studio Ultimate.

Configuration de l'exécution de vos tests de charge : vous pouvez configurer le mode d'exécution de vos tests de charge pour vérifier qu'ils fonctionnent correctement. Vous pouvez utiliser un groupe d'ordinateurs pour générer la charge simulée à tester et exécuter simultanément les tests à distance sur plusieurs ordinateurs. Vous pouvez également configurer les paramètres d'exécution de votre test de charge. Les paramètres d'exécution sont un jeu de propriétés qui influencent la manière dont un test de charge est exécuté. Les paramètres d'exécution sont classés par catégories dans la fenêtre Propriétés.

Exécution des tests de charge : vous pouvez exécuter votre test de charge et afficher les résultats pendant l'exécution.

Analyse des séries de tests de charge : vous pouvez analyser les résultats des tests de charge et localiser les goulots d'étranglement, identifier les erreurs et évaluer les améliorations de votre application.

Affichage des résultats des tests de performances de site Web : Vous pouvez afficher les résultats des tests de performances de site Web dans l'Afficheur des résultats des tests de performances de site Web.

Gérer vos résultats de test de charge : vous pouvez gérer les résultats de test de charge à partir de l'éditeur de test de charge, via la boîte de dialogue Ouvrir et gérer des résultats des tests de charge. Vous pouvez ouvrir, importer, exporter et supprimer les résultats de test de charge.

Lorsque vous exécutez vos tests de charge, toutes les informations recueillies pendant une série de tests de charge peuvent être stockées dans le Référentiel des résultats des tests de charge, qui est une base de données SQL. Le Référentiel des résultats des tests de charge contient des données de compteurs de performance et des informations relatives aux erreurs enregistrées.

Création de rapports sur les tendances d'analyse de test de charge : vous pouvez utiliser les résultats de votre test de charge pour créer des rapports Microsoft Excel qui vous permettront de déterminer les tendances et les niveaux de performance.

Développement de plug-ins personnalisés pour les tests de charge et les tests de performances de site Web : vous pouvez écrire des plug-ins personnalisés pour les tests de charge et les tests de performances de site Web à l'aide des API correspondantes.

Résolution des problèmes de test de charge : si vous rencontrez des problèmes avec vos tests de charge, vous aurez sans doute à les résoudre.

Sécurité

Les fichiers de tests de charge et les résultats des tests de charge peuvent contenir des informations sensibles qui pourraient être utilisées pour générer une attaque contre votre ordinateur ou votre réseau. Les tests de charge et les résultats de tests de charge contiennent des noms d'ordinateurs et des chaînes de connexion. Vous devez en être conscient lors du partage de tests ou de résultats de tests avec d'autres personnes.

Ressources externes

Videos

lien vers la vidéo

lien vers la vidéo

lien vers la vidéo

Forums

Visual Studio Web Performance and Load Testing

Blogs

Ed Glas’s Blog

Sean Lumley’s Blog

Bill Barnett’s Blog

Howie Hilliker’s Blog

Aide-mémoire

Aide-mémoire des tests de performance Visual Studio (en anglais)

Voir aussi

Concepts

Test de l'application

Vérification du code à l'aide de tests unitaires

Vue d'ensemble de l'analyseur de test de charge

Autres ressources

Création de tests automatisés