Partager via


Procédure pas à pas : création et exécution d'un test de charge contenant des tests de performances de site Web

Dans cette procédure pas à pas, vous allez créer un test de charge qui contient un test de performances de site Web.

Cette procédure pas à pas décrit la création et l'exécution d'un test de charge à l'aide de Visual Studio 2010 Ultimate. Un test de charge est un conteneur de tests de performances de site Web et de tests unitaires. Vous créez des tests de charge avec l'Assistant Nouveau test de charge. Pour plus d'informations sur les tests de charge, consultez Création et modification de tests de charge. Pour plus d'informations sur les tests des performances de sites Web, consultez Création et modification de tests des performances de site Web. Pour plus d'informations sur les tests unitaires, consultez Vérification du code à l'aide de tests unitaires.

Notes

Bien qu'un test de charge puisse contenir des tests de performances de site Web et des tests unitaires, cette procédure pas à pas s'intéresse à un test de charge contenant un test de performances de site Web. Pour savoir comment ajouter un test unitaire à un test de charge, consultez Procédure pas à pas : création et exécution d'un test de charge contenant des tests unitaires.

Un test de charge expose de nombreuses propriétés à l'exécution qui peuvent être modifiées pour générer la simulation de charge souhaitée. Dans cette procédure pas à pas, vous utilisez l'Assistant Nouveau test de charge pour ajouter un test de performances de site Web à un test de charge.

Cette procédure pas à pas requiert un test de performances de site Web existant que vous pouvez ajouter à un test de charge.

Dans cette procédure pas à pas, vous effectuerez les tâches suivantes :

  • Création d'un test de charge

  • Ajout d'un test de performances de site Web au test de charge

  • Modification de certains paramètres du test de charge

  • Exécution du test de charge

Composants requis

Ouvrir la solution ColorWebApp créée dans les procédures pas à pas précédentes

Ouvrir la solution

Modifier le code dans la page ASP.NET Red.aspx.cs pour mettre en évidence des violations de seuils et des erreurs

Pour modifier le code Red.aspx.cs afin de mettre en évidence des violations de seuils et des erreurs

  1. Dans l'Explorateur de solutions, développez le dossier du projet d'application Web ASP.NET ColorWebApp, puis développez le nœud Red.aspx.

  2. Cliquez avec le bouton droit sur le fichier Red.aspx.cs, puis sélectionnez Afficher le code.

  3. Dans l'éditeur de code, ajoutez le code suivant mis en surbrillance à la méthode Page_Load :

    protected void Page_Load(object sender, EventArgs e)
            {
                Random rnd = new Random();
                int result = rnd.Next(5000);
                    //To emmulate various page times up to 5 seconds.
                    Thread.Sleep(result); 
                if (result < 500)
                    Response.Redirect("NOWHERE");  //10% chance to cause an HTTP 404 error.
            }
    

    Ce code supplémentaire vous permet de consulter des violations de seuils et des erreurs fictives dans l'analyseur de test de charge. Vous afficherez ces violations ultérieurement dans cette procédure pas à pas.

Création du test de charge à l'aide de l'Assistant Nouveau test de charge

Pour démarrer l'Assistant Nouveau test de charge

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nœud du projet de test ColorWebAppTest.

  2. Cliquez sur Ajouter, puis sur Test de charge.

    L'Assistant Nouveau test de charge démarre.

    La page Assistant Créer un nouveau test de charge de l'Assistant Nouveau test de charge est la première page.

  3. Cliquez sur Suivant.

Pour modifier les paramètres du scénario de test de charge

  1. La page Modifier les paramètres d'un scénario de test de charge s'affiche.

  2. Dans la zone de texte, sous Entrer un nom pour le scénario de test de charge, tapez Scénario contrainte de base.

    Un scénario est un mécanisme de regroupement. Il se compose d'un ensemble de tests et des propriétés nécessaires pour exécuter ces tests sous charge.

  3. Affectez à Profil de temps de réflexion la valeur Utiliser une distribution normale centrée sur les temps de réflexion enregistrés.

    Les temps de réflexion représentent la durée pendant laquelle un utilisateur consulterait une page Web avant de passer à la page suivante.

    Pour plus d'informations, consultez Comment : définir des temps de réflexion pour simuler une interruption humaine dans un test de performances de site Web.

  4. Cliquez sur Suivant.

Pour modifier le paramètre de modèle de charge du scénario de test

  1. La page Modifier les paramètres de modèle de charge pour un scénario de test de charge s'affiche.

  2. Sélectionnez Charge constante.

    Les propriétés du modèle de charge spécifient le mode d'ajustement de la charge utilisateur simulée pendant un test de charge.

    Pour plus d'informations, consultez Modification des modèles de charge en modèle d'activités des utilisateurs virtuels.

  3. Cliquez sur Suivant.

Pour sélectionner le modèle de combinaison de tests du scénario

  1. La page Sélectionnez un modèle de combinaison de tests pour le test de charge s'affiche.

  2. Sous Comment la combinaison de tests doit être modélisée ?, sélectionnez Sur la base du nombre total de tests.

    Le modèle de combinaison de tests spécifie la probabilité selon laquelle un utilisateur virtuel exécute un test donné dans un scénario de test de charge.

    Pour plus d'informations, consultez Modification des modèles de combinaison de tests pour spécifier la probabilité d'exécution d'un test par un utilisateur virtuel.

  3. Cliquez sur Suivant.

Pour ajouter le test de performances de site Web ColorWebTest.webtest au scénario

  1. La page Ajouter des tests à un scénario de test de charge et modifier la combinaison de tests s'affiche.

  2. Cliquez sur Ajouter pour sélectionner des tests.

    La boîte de dialogue Ajouter des tests s'affiche.

  3. Dans le volet Tests disponibles , sélectionnez le test de performances de site Web ColorWebTest et cliquez sur la flèche pour l'ajouter au volet Tests sélectionnés.

  4. Cliquez sur OK.

    La combinaison de tests s'affiche à l'écran. Si le test de charge contient plusieurs tests unitaires et plusieurs tests de performances de site Web, vous pouvez utiliser les curseurs pour ajuster la distribution des tests.

    La combinaison de tests d'un scénario est une association de divers facteurs, tels que la sélection des tests qui sont contenus dans le scénario et la distribution de ces tests dans le scénario. La combinaison de tests doit refléter les objectifs de votre test pour un scénario particulier.

    Pour plus d'informations, consultez Comment : créer une combinaison de tests dans l'Assistant Nouveau test de charge.

  5. Cliquez sur Suivant.

Pour sélectionner la combinaison de réseaux du scénario de test

  1. La page Ajouter des types de réseau à un scénario de test de charge et modifier la combinaison de réseaux s'affiche.

  2. Conservez les paramètres par défaut de réseau local à 100 %.

    La combinaison de réseaux vous permet de simuler une charge avec plus de réalisme dans un scénario de test de charge.

    Pour spécifier le type de réseaux que vous souhaitez émuler dans le scénario de test de charge, vous pouvez cliquer sur la flèche de déroulement en regard de chaque ligne sous Types de réseau. Si vous configurez la combinaison de réseaux pour utiliser plusieurs types de réseau, vous pouvez utiliser les curseurs pour spécifier la distribution du type de réseau.

    Pour plus d'informations, consultez Spécification de types de réseaux virtuels dans un scénario de test de charge.

  3. Cliquez sur Suivant.

Pour sélectionner la combinaison de navigateurs du scénario de test

  1. La page Ajouter des types de navigateur à un scénario de test de charge et modifier la combinaison de navigateurs s'affiche.

  2. Conservez le paramètre par défaut d'Internet Explorer 7.0 ou spécifiez le type de navigateur que vous utilisez actuellement.

    Pour spécifier les types de navigateurs avec lesquels vous souhaitez tester l'application Web dans le scénario de test de charge, vous pouvez cliquer sur la flèche de déroulement en regard de chaque ligne sous Type de navigateur. Si vous configurez la combinaison de navigateurs pour utiliser plusieurs types de navigateur, vous pouvez utiliser les curseurs pour spécifier la distribution du type de navigateur.

    Pour plus d'informations, consultez Spécification de types de navigateurs Web dans un scénario de test de charge.

  3. Cliquez sur Suivant.

Pour spécifier les ordinateurs à surveiller avec des ensembles de compteurs durant la série de tests de charge

  1. La page Spécifiez les ordinateurs à surveiller à l'aide des ensembles de compteurs au cours de la série de tests de charge s'affiche.

  2. Conservez les paramètres par défaut.

    Les ensembles de compteurs sont recueillis sur les ordinateurs que vous spécifiez. L'association entre un ensemble de compteurs et un ordinateur qui est utilisé pendant un test de charge porte le nom de mappage d'ensemble de compteurs. Par exemple, le serveur Web que vous testez peut avoir des mappages d'ensembles de compteurs ASP.NET, IIS et .NET.

    Vous pouvez sélectionner les ordinateurs à surveiller pendant les séries de tests en cliquant sur Ajouter un ordinateur et en tapant le nom du serveur qui héberge le site Web de non-production ciblé précédemment. L'ajout du nom d'ordinateur hôte vous permet de recueillir des informations de performances importantes dans votre test de charge.

    Notes

    Sur chaque serveur surveillé, vous devez avoir des autorisations d'utilisateurs suffisantes pour exécuter des analyseurs de performance. Sinon, des erreurs sont générées.

    Vous pouvez ajouter une entrée distincte pour un ordinateur qui héberge la base de données SQL du site. Si vous choisissez de ne pas ajouter d'ordinateurs, seuls les compteurs de charge locaux sont ajoutés à vos tests.

    Vous pouvez ensuite sélectionner les ensembles de compteurs que vous souhaitez surveiller. Un groupe d'ensembles de compteurs prédéfinis qui ajoutent des analyseurs de performance spécifiques à votre test de charge s'affiche. Ce groupe inclut Application, ASP.NET, Application .NET, IIS et SQL.

    Pour plus d'informations, consultez Spécification des ensembles de compteurs pour les ordinateurs dans un test de charge et Procédures pas à pas :utilisation d'un contrôleur de test et agents de test dans un test de charge.

  3. Cliquez sur Suivant.

Pour modifier le paramètre d'exécution du test de charge

  1. La page Réviser et modifier les paramètres d'exécution pour un test de charge s'affiche.

  2. Sélectionnez Durée du test de charge, puis définissez la Durée d'exécution à 2 minutes afin d'effectuer un test de détection de fumée.

    Lorsque vous générez vos tests de performances de site Web et vos tests de charge, il est conseillé de vérifier que tout est configuré correctement et fonctionne comme prévu en exécutant un test de charge court et léger. Ce processus est appelé test de détection de fumée.

    Les paramètres d'exécution sont un jeu de propriétés qui affectent un test de charge entier. Les paramètres d'exécution déterminent la longueur du test, la durée de préchauffage, le nombre maximal de détails relatifs aux erreurs signalés, le taux d'échantillonnage, la description, l'enregistrement ou non du journal lors de l'échec d'un test de charge, ainsi que le niveau de validation. Les paramètres d'exécution doivent refléter les objectifs de votre test de charge.

    Pour plus d'informations, consultez Configuration des paramètres d'exécution des tests de charge.

  3. Cliquez sur Terminer. Votre test de charge s'ouvre dans l'Éditeur de test de charge.

Utilisation de l'éditeur de test de charge pour ajouter une règle de seuil au test de charge

Pour ajouter une règle de seuil à un test de charge

  1. Dans le nœud Ensembles de compteurs, développez le nœud d'ensemble de compteurs LoadTest, puis développez le nœud de dossier Catégories de compteur.

  2. Développez le nœud de la catégorie du compteur LoadTestPage, puis développez le nœud Dossier de compteur.

  3. Cliquez avec le bouton droit sur le nœud de compteur Temps de réponse moyen de la page et sélectionnez Ajouter une règle de seuil.

  4. La boîte de dialogue Ajouter une règle de seuil s'affiche.

  5. Dans Sélectionnez une règle, laissez la règle Comparer une constante activée.

  6. Dans Propriétés de la règle sélectionnée, dans la catégorie Options, affectez la valeur True à Alerte en cas de dépassement .

  7. Dans la catégorie Valeurs de seuil, affectez la valeur 3 à Valeur de seuil d'avertissement et la valeur 4 à Valeur de seuil critique.

  8. Cliquez sur OK.

  9. Le compteur Temps de réponse moyen de la page comporte un dossier Règles du seuil avec la nouvelle règle.

Exécution du test de charge et activation des violations de seuils sur le graphique

Après avoir créé le test de charge, exécutez-le pour afficher la façon dont votre site Web répond à la simulation de charge. Pendant l'exécution du test de charge, vous pouvez lancer une analyse initiale dans la fenêtre Analyseur de test de charge.

Pour exécuter le test de charge

  1. Un test de charge doit être ouvert dans l'Éditeur de test de charge. Cliquez sur le bouton vert Exécuter. Votre test de charge démarre dans la vue Graphiques de l'analyseur de test de charge.

  2. Pendant que le test s'exécute, cliquez sur le bouton Afficher la légende de la liste déroulante, dans la barre d'outils, et sélectionnez Afficher les violations de seuils sur le graphique.

    Si votre simulation de test dépasse des seuils, des icônes apparaissent dans les nœuds de contrôle d'arborescence pour indiquer une violation de seuil. Les erreurs sont marquées d'un cercle rouge et les avertissements sont marqués d'un triangle jaune.

  3. Lorsqu'une icône de violation du seuil apparaît sur le graphique Temps de réponse de la page de la vue Graphiques, cliquez sur Ajouter des notes d'analyse dans la barre d'outils de l'analyseur de test de charge.

    La boîte de dialogue Analyse s'affiche.

  4. Dans la zone de texte Description, tapez Violation de seuil.

  5. Dans la zone de texte Analyse, tapez Erreur de code potentielle dans le fichier Red.aspx.cs.

    Le commentaire sera enregistré de façon définitive avec les résultats du test de charge.

  6. Lorsque le test de charge est terminé, les résultats du test de charge sont présentés dans un onglet séparé, dans lequel s'affiche le LoadTest1[heure] dans le mode Résumé de l'analyseur de test de charge.

Analyse du test de charge

Une fois que le test de charge est terminé, vous pouvez procéder à une analyse plus approfondie des résultats du test de charge. Pour plus d'informations, consultez Vue d'ensemble de l'analyseur de test de charge.

Pour analyser le test de charge à l'aide de l'analyseur de test de charge

  1. En mode Résumé, faites défiler jusqu'au tableau intitulé Erreurs, puis cliquez sur Erreur HTTP ou Erreur de règle de validation.

  2. L'analyseur de test de charge passe alors à la vue Tables. La table Erreurs s'affiche et le type de règle sur lequel vous avez cliqué est sélectionné.

  3. Dans la ligne du type de règle Erreur de règle de validation, vous constatez que ValidateResponseurl est répertorié dans la colonne d'erreur SubType. Cette violation de seuil a été provoquée par le code mis en surbrillance suivant, que vous avez ajouté au fichier Red.aspx.cs. Ce code provoque de manière aléatoire un retard de page fictif de cinq secondes maximum :

    protected void Page_Load(object sender, EventArgs e)
            {
                Random rnd = new Random();
                int result = rnd.Next(5000);
                    //To emmulate various page times up to 5 seconds.
                    Thread.Sleep(result); 
                if (result < 500)
                    Response.Redirect("NOWHERE");  //10% chance to cause an HTTP 404 error.
            }
    

    Ce délai fictif peut, potentiellement, violer la Valeur de seuil d'avertissement et la Valeur de seuil critique, respectivement 3 et 4, que vous avez spécifiées précédemment dans la procédure pas à pas. Les icônes d'avertissement sont des triangles jaunes avec un point d'exclamation et les icônes de violation critique sont des cercles rouges avec un X.

  4. Dans la ligne du type d'erreur Erreur HTTP, vous constatez que 404 - Non trouvé figure dans la colonne d'erreur SubType. Cette erreur a été provoquée par le code mis en surbrillance suivant, que vous avez ajouté au fichier Red.aspx.cs. Ce code produit une probabilité de dix pour cent de redirection vers une page inexistante, ce qui provoque l'erreur :

    protected void Page_Load(object sender, EventArgs e)
            {
                Random rnd = new Random();
                int result = rnd.Next(5000);
                    //To emmulate various page times up to 5 seconds.
                    Thread.Sleep(result); 
                if (result < 500)
                    Response.Redirect("NOWHERE");  //10% chance to cause an HTTP 404 error.
            }
    
  5. Dans la colonne Nombre, cliquez sur le nombre pour le type de règle Erreur de règle de validation.

    La boîte de dialogue Erreurs du test de charge s'affiche.

  6. Faites défiler à droite et, dans la colonne Détails, cliquez sur le lien TestLog.

  7. L'Afficheur de résultats de test de performances Web s'ouvre dans un onglet séparé. Le ColorWebTest associé à l'erreur s'affiche.

  8. Cliquez sur Fermer dans la boîte de dialogue Erreurs du test de charge.

  9. Sélectionnez l'onglet LoadTest[heure] pour revenir à l'analyseur de test de charge qui affiche les résultats du test de charge.

  10. Dans le volet des compteurs, vous constatez que le nœud Scenario1 comporte une icône d'avertissement de seuil. Développez le nœud jusqu'à ce que vous arriviez au compteur Temps de réponse moyen de la page impacté par le code qui a provoqué les violations de seuil.

  11. Dans la vue Graphiques, remarquez que les icônes de violation du seuils sont également affichées pour les violations de seuils qui s'affichent dans le graphique Temps de réponse de la page.

  12. Cliquez sur la ligne de tracé qui comporte l'icône de violation.

  13. La ligne de tracé est en gras et le compteur Temps de réponse moyen de la page est mis en surbrillance dans la légende de la vue Graphiques pour la requête Red (il s'agit du nom du rapport ajouté dans la procédure pas à pas précédente).

  14. Notez que la colonne Max du compteur Temps de réponse moyen de la page dépasse le seuil que vous avez spécifié.

Étapes suivantes

Dans cette procédure pas à pas, vous avez créé un test de charge à l'aide de l'application Web ColorWebApp et le test de performances de site Web ColorWebTest.webtest. Vous avez également appris à initier des pratiques d'analyse fondamentales.

Pour savoir comment procéder à une analyse plus approfondie du test de charge à l'aide du graphique d'activités des utilisateurs virtuels, consultez Procédure pas à pas : utilisation du graphique d'activités des utilisateurs virtuels pour isoler les problèmes de performances.

Pour savoir comment distribuer le test de charge sur plusieurs ordinateurs à l'aide des contrôleurs de test et des agents de test, consultez Procédures pas à pas :utilisation d'un contrôleur de test et agents de test dans un test de charge.

Voir aussi

Tâches

Procédure pas à pas : enregistrement et exécution d'un test des performances de site Web

Procédure pas à pas : création d'un test de performances Web codé

Comment : créer des paramètres d'exécution dans l'Assistant Nouveau test de charge

Comment : créer un scénario utilisé pour modéliser les activités des utilisateurs virtuels, les tests, les navigateurs et les réseaux à l'aide de l'Assistant Nouveau test de charge

Comment : créer un nouveau test de charge à l'aide de l'Assistant Nouveau test de charge

Comment : créer une combinaison de tests dans l'Assistant Nouveau test de charge

Comment : afficher le temps de réponse d'une page Web dans un test de charge à l'aide de l'analyseur de test de charge

Concepts

Spécification des ensembles de compteurs pour les ordinateurs dans un test de charge

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

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

Vue d'ensemble du résumé des résultats des tests de charge

Analyse des violations de règles de seuil dans les tests de charge dans l'Analyseur de test de charge

Analyse des résultats des tests de charge dans la vue Graphiques de l'analyseur de test de charge

Analyse des résultats des tests de charge dans la vue Tables de l'analyseur de test de charge

Autres ressources

Spécification de types de navigateurs Web dans un scénario de test de charge

Spécification de types de réseaux virtuels dans un scénario de test de charge

Modification des modèles de charge en modèle d'activités des utilisateurs virtuels

Modification des modèles de combinaison de tests pour spécifier la probabilité d'exécution d'un test par un utilisateur virtuel

Configuration des paramètres d'exécution des tests de charge

Analyse des résultats des tests de charge à l'aide de l'analyseur de test de charge