Partager via


Test des opérations initiées par l’utilisateur impliquant Project Professionnel (Project Server 2010)

 

S’applique à : Project Professional 2010, Project Server 2010

Dernière rubrique modifiée : 2016-11-30

Cet article traite des opérations impliquant Microsoft Project Professional en tant qu’interface utilisateur principale. Les opérations les plus fréquentes appartenant à cette catégorie sont les suivantes :

  • Ouvrir un projet

  • Enregistrer un projet

  • Publier un projet

Ceci est un tout nouvel article. Nous serions heureux de recevoir vos commentaires afin d’être en mesure de vous fournir la meilleure documentation technique possible. N’hésitez pas à envoyer vos commentaires, questions ou suggestions concernant la documentation à l’adresse epmdocfeedback@microsoft.com.

Microsoft Project Server 2010 ne prend pas en charge plusieurs instances s’exécutant dans la même session utilisateur. Par conséquent, pour tester une situation impliquant de nombreux utilisateurs simultanés, il est nécessaire de recourir aux services Terminal Server à moins que vous ne disposiez de dizaines de serveurs. D’un autre côté, l’agent de test Visual Studio 2008 ne peut pas être instancié dans plusieurs sessions au sein d’une même session utilisateur. Cela complique l’intégration des tests de Project Professionnel dans Visual Studio Team System 2008 Test Edition. Toutefois, il existe un outil développé par la communauté, qui est capable d’automatiser les tests de Project Professionnel dans plusieurs sessions des services Terminal Server ; il est disponible sur la page de Microsoft Project 2010 : test de contrainte de Project Server (éventuellement en anglais) (https://go.microsoft.com/fwlink/?linkid=190625\&clcid=0x40C), dans la Galerie de code MSDN. L’outil Thick Client Test Framework implémente une architecture contrôleur-agent semblable, d’un point de vue contextuel, à l’architecture de Visual Studio 2008 Test Edition. En bref, le contrôleur transmet les informations à une base de données SQL Server, alors que les agents extraient les informations relatives aux travaux et à l’état de mise à jour des travaux à partir de la même base de données. Chaque travail est composé d’une ou de plusieurs opérations implémentées à l’aide de composants .NET personnalisés, qui tirent parti du modèle objet client de Project Professionnel.

Les trois tests de Project Professionnel décrits dans les paragraphes suivants sont implémentés à l’aide de l’outil Test Framework. La collecte de données est toujours effectuée à l’aide de Visual Studio Team System 2008 Test Edition, qui s’exécute en même temps.

Accéder à la page d’accueil de Project Web App

Vous pouvez utiliser l’outil Enregistreur de test Web inclus dans Visual Studio 2008 pour enregistrer toutes les requêtes HTTP qui se produisent lorsqu’un utilisateur accède à la page d’accueil PWA. Une fois que vous avez enregistré le test Web, configurez les informations d’identification afin de simuler différents utilisateurs dans le scénario de charge. Laissez ensuite Visual Studio sélectionner aléatoirement un utilisateur dans une liste pour chaque série de tests. Vous pouvez lier les informations d’identification de l’utilisateur à une source de données, qui peut lire les données provenant d’une base de données, d’un fichier XML ou CSV, ou de toute autre source de données adaptée à vos besoins. Par exemple, vous pouvez utiliser le fichier Resources.xml décrit ci-dessus en tant que source de données pour les informations d’identification de l’utilisateur. La même approche peut également être utilisée pour tous les autres tests.

Ouvrir des projets

L’exemple de code inclus dans l’outil « Thick Client Test Framework » de la solution « Project Server 2010 Stress Testing » montre comment automatiser l’ouverture d’un projet à partir de Microsoft Project Professional. Le code est chargé et exécuté dynamiquement par l’agent d’infrastructure de test. La fonction Open obtient deux paramètres en entrée. Le premier paramètre est le nom de fichier du projet à ouvrir. (Si vous utilisez « * » comme nom de fichier, la fonction sélectionne automatiquement un fichier Projet dans la liste côté serveur, par ordre séquentiel.) Le second paramètre est une valeur booléenne qui indique si le projet doit être ouvert en mode lecture seule ou en mode lecture-écriture. La fonction renvoie le nombre de millisecondes écoulées au cours de l’opération, ou la valeur zéro en cas d’erreur. Les deux paramètres peuvent être définis via l’interface utilisateur du contrôleur.

Enregistrer des projets

Le test du Centre de ressources est très similaire au test du Centre de projets, car il contient également le contrôle Grid JavaScript.

Accéder à la page Mes tâches

Microsoft Project Professional envoie uniquement les modifications réelles au serveur lors de l’enregistrement. Par conséquent, pour pouvoir effectuer un test d’enregistrement significatif, vous devez appliquer certaines modifications à un projet ouvert avant d’enregistrer ce dernier. En ce qui concerne la génération de modifications importantes avant un enregistrement, vos seules limites sont celles de votre imagination. Prenons un exemple simple : modifiez la date de début du projet. Cela affecte généralement toutes les tâches du projet et génère, par conséquent, un ensemble important de modifications à enregistrer.

L’exemple de code inclus dans la solution Test Framework CodePlex montre plusieurs exemples de fonctions. Vous pouvez les faire s’exécuter de manière séquentielle en définissant un flux de travail dans l’application contrôleur. Voici deux exemples :

  1. Fonction ChangeStartDate, qui sélectionne une date aléatoire dans la plage [jour actuel ± 30 jours] et modifie la date de début du projet en fonction de la date sélectionnée aléatoirement.

  2. Fonction Save, qui enregistre le projet actif. La fonction obtient un paramètre booléen en entrée qui permet d’ignorer l’opération d’enregistrement si le projet actif est ouvert en mode lecture seule.

Les deux fonctions renvoient le nombre de millisecondes écoulées au cours de l’opération, ou la valeur zéro en cas d’erreur.

Publier des projets

L’exemple de code inclus dans l’outil « Thick Client Test Framework » de la solution « Project Server 2010 Stress Testing » montre comment automatiser la publication d’un projet. La fonction Publish obtient trois paramètres en entrée. Le premier paramètre est une valeur booléenne qui indique s’il faut publier l’intégralité du projet (true) ou seulement les modifications (false). Le deuxième paramètre indique l’URL facultative de l’espace de travail de projet à mettre en service. Le troisième paramètre est une valeur booléenne qui indique si l’opération de publication doit être ignorée lorsque le projet ouvert est en mode lecture seule. La fonction renvoie le nombre de millisecondes écoulées au cours de l’opération, ou la valeur zéro en cas d’erreur.