Brevet FR2809199A1 — publié le 20011123

PROCEDE POUR LA REALISATION DE TESTS DE PERFORMANCES D'EQUIPEMENTS INFORMATIQUES ACCESSIBLES VIA UN RESEAU DE TELECOMMUNICATION La présente invention concerne le domaine du test de performances d'équipements informatiques plus particulièrement de sites Internet (ci-après appelés sites Web ). Les responsables de site Web veulent disposer de moyens efficaces pour vérifier la performance site. Le test de performance d'un site Web encore appelé test de montée en charge permet de s'assurer que ce site offre à ses utilisateurs une disponibilité satisfaisante même lorsque ceux-ci sont très nombreux à se connecter simultanément. Un tel besoin s'inscrit dans la catégorie des services Internet. Les solutions de l'état de la technique reposent sur mise en oeuvre de logiciels de simulation. Les connexions au site Web sont générées par un automate logiciel, à partir de la capture d'informations prélevées soit au niveau du réseau, soit au niveau du navigateur utilisé par 'internaute pour se connecter au serveur à tester. connaît en particulier le brevet américain US5600789 décrivant un procédé pour effectuer des essais automatiques de programmes informatiques qui utilisent une interface utilisateur graphique (IUG). Des actions utilisateur simulées, telles que celles portant sur le clavier ou la souris, sont automatiquement introduites dans 1 `IUG, laquelle est alors surveillée en vue de la capture des changements qui s'y produisent. Ce procédé de l'art antérieur comprend un texte d'essai rédigé en un langage de programmation de haut niveau, un exécutant d'essai qui exécute le texte essai et un conducteur d'essai qui constitue l'interface avec l'IUG. Le texte d'essai est orienté pour un fonctionnement avec des objets logiques, plutôt qu'avec références spécifiques de l'IUG. La fonction première de l'exécutant d'essai consiste à convertir des références virtuelles en références spécifiques de l'IUG. Le conducteur d'essai reçoit de l'exécutant d'essai références spécifiques et réalise l'interface réelle avec les objets propres à l'IUG. Un système d'appellation hiérarchique uniforme permet d'identifier chaque 'lément logique d'écran essayé, ces éléments constituant les objets utilisés dans un environnement IUG pour offrir une interface avec l'utilisateur. Le brevet PCT W09827490 décrit un système et un procédé de commande de processus de test d'un logiciel comprenant un dispositif de commande de test qui reçoit des tests élémentaires enregistrés dans un système de contrôle de version. Les tests élémentaires sont étiquetés avec une étiquette unique indique une version spécifique et la version d'un produit logiciel. Une charge construite à partir de modules sources du produit logiciel et les tests élémentaires étiquetés sont ensuite transférés à un dispositif de test Les résultats des tests sont reçus et enregistrés dans système de contrôle de version puis mis en mémoire dans un répertoire prédéterminé. Les procédés de simulation connus présentent des limites importantes, en particulier, la difficulté à reproduire un grand nombre de connexions et l'inaptitude intrinsèque à tester comportement réel d'un site Web. Le but de la présente invention est de remédier à ces inconvénients. Pour cela, l'invention concerne selon son acception la plus générale un procédé pour la réalisation de tests d'équipements informatiques accessibles via réseau de télécommunication par une pluralité d'équipements hôtes caractérisé en ce qu'il comporte une étape d'élaboration d'un scénario de test, de diffusion via ledit réseau, à une population d'équipements hôtes, d'un obj informatique contenant ledit scénario de test, une étape synchronisation du début du test sur ladite population d'équipements hôtes, une étape d'exécution par chacun équipements hôtes de la population de la séquence des actions constituant le scénario de test et une étape de recueil résultats des tests provenant de chacun des équipements hôtes de la population. Le test de montée en charge selon l'invention s'affranchit totalement des limitations liées à l'utili ion d'automates. Le procédé repose sur l'utilisation d'un logiciel appelé serveur de tests assure supervision de l'organisation et du déroulement des tests et la répartition et l'analyse des actions effectuées à partir des équipements hôtes. L'Internaute- Testeur est équipé et utilise un Ordinateur-Hote pour mise en oeuvre du système objet du brevet. Avantageusement, le procédé selon l'invention comporte une étape préalable à l'exécution des tes consistant à charger sur les équipements hôtes un logiciel pour 1 exécution des tests doté d'une fonction navigation forcée par le serveur de tests. Selon une variante, les équipements hôtes sont équipés d'un programme d'ordinateur masquant dans tous les cas l'adresse des sites testés. Selon une autre variante, les équipements hôtes sont équipés d'un programme d'ordinateur masquant dans tous les cas le code source des pages visualisées des sites testés. Avantageusement, le serveur de tests comporte module de saisie des informations client, un module de planification des tests, et un module d'analyse de la fiche instruction des tests et de génération automatique des informations nécessaires à la constitution des ordres de mission utilisés par les internautes pour effectuer les tests. L'ordre de mission désigne la suite d'opérations que doit réaliser l'internaute, par exemple l'heure et le nom du ou des scénarios à exécuter. L'adresse du site est préférentiellement masquée. L'ordre de mission est associé à un ou plusieurs scénarios cadençant la suite des actions que l'internaute doit exécuter. Ce cadencement permet de synchroniser tout ou partie des actions internautes. Selon une autre variante, le serveur de tests comporte en outre un module de mise en #uvre des tests pour l'envoi automatique de convocations et le recensement internautes testeurs, des moyens de planification en temps réel des tests dans une série et l'enregistrement inscriptions et la délivrance des jetons, ainsi qu module pour le déclenchement et le cadencement des tests. La présente invention sera mieux comprise à lecture de la description d'un exemple non limitatif réalisation faisant référence au dessin annexé où . - La figure 1 représente une vue schématique invention, - La figure 2 représente une vue d'un exemple ordre de mission. On entendra, au sens du présent brevet, par Test : Action coordonnée et synchronisée d'un ensemble d'internautes, durant un temps donné, en vue ter la montée en charge d'un site Web. Le nombre d'internautes participant au test varie en fonction de demande client et de la disponibilite immédiate des internautes ; Campagne de test : C'est l'unité fonctionnelle de test point de vue du client. Souvent un test révèle une ou plusieurs anomalies qui conduisent à des modifications techniques. I1 faut alors tester à nouveau une ou plusieurs fois pour parvenir un résultat satisfaisant. L'ensemble de ces tests constitue la campagne ; Série de tests : Les tests sont effectués dans le cadre une série consécutive -par exemple 12 tests consécutifs , réalisés selon une fréquence donnée. Chaque test d' série concerne un site-cible différent, un internaute peut participer à plusieurs tests de la même série. Plusieurs séries peuvent s'effectuer simultanément. La séri de test est une inforrnat' purement organisationnelle de l'invention ; Mission : La mission est le test point de vue de l'internaute. Chaque internaute a pour mission de participer à un test ou à une série de tests ; Ordre de mission : C'est le descriptif complet de ce que doit faire l'internaute lors du test. Un ordre de mission peut comporter la description de plusieurs scénarios de test ; Scénario de test . Description séquentielle élémentaire, en langage naturel (Français, Anglais, ou toute autre langue compréhensible par l'internaute), d'une série indivisible d'opérations que l'internaute doit effectuer lors de sa mission ; Equipement hôte : Ensemble des matériels et logiciels utilisés par un internaute pour effectuer une mission via le réseau. Client : La société, la personne ou l'organisme fait appel à l'invention pour le test de montée charge de son site Web; Assiduité : Qualité d'un internaute définie par nombre de tests que celui-ci a déjà effectué sur une periode donnée ; Internaute ou testeur : Personne qui participe â la mise en #uvre d'un ou plusieurs tests. L'internaute fectue une mission. Les internautes testeurs sont identifiés en fonction de leur assiduité. Ce paramètre permet au serveur de tests de faire une estimation des possibilités de mise en #uvre des tests et de réguler la prise en compte des arrivées spontanées ; Session : Une session correspond au temps qui 'écoule entre le moment où l'internaute se connecte (connexion) et le moment ou il se déconnecte (déconnexion) site-cible ; Connexion : la connexion est l'entrée en action effective du testeur. Elle s'effectue au moyen d e l'exécuteur de scénarios (définition ci-après). Lorsque la connexion est établie entre un testeur et le site-cible, le nombre de internautes testeurs actifs est incrémenté de 1 ; Cadencement : Procédé utilisé par l'invention pour étaler la montée en charge selon des paramètres de type temps, répartition géographique et aussi caractéristique des équipements hôtes. Il permet de contrôler de façon extrêmement précise les conditions mise en #uvre d'un test ; Jeton : Procédé qui permet d'enregistrer l'internaute en vue de sa participation à un test d'activer l'exécuteur de scénarios de l'internaute pour le test donné ; Site Web de test : Site Web qui héberge composants logiciels nécessaires à la mise en #uvre de l'invention, en particulier le serveur de tests ; Serveur de tests : Module logiciel, installé le site Web de test, qui enregistre les demandes clients, planifie les tests, génère les informations nécessaires, organise et coordonne la mise en #uvre des tests ; Exécuteur de scénarios : Module logiciel specifique utilisé par l'internaute pour effectuer sa mission ; Databank : Liste de données (profession, code tal, etc.) qui permet de définir des sessions personnalisées ; Login : Identifiant unique pour chaque internaute ou pour chaque Client ; Password : Mot de passe propre à chaque internaute ou à chaque Client ; Site-cible : I1 s'agit littéralement du site à tester ; Fichier Log : Un fichier du site-cible contenant des paramètres permettant, à l'issue d'une session, de reconstituer les grandes étapes du test et compléter l'analyse des performances du site-cible. Le procédé selon l'invention consiste à mettre #uvre des tests de montée en charge de sites Web faisant appel à des internautes qui exécutent une suite d'opérations appelée scénario dans un temps donné, selon un ordre et une synchronisation définis et contrôlés par un ensemble de logiciels. Le schéma constituant la figure 1 présente les principales étapes de mise en #uvre de l'invention. Etape 1: Demande de test ou de campagne de test Les clients s'inscrivent pour une demande de test travers du serveur de tests décrit ci-après. Ils effectuent à partir de leur navigateur habituel les opérations suivantes - Commande d'une campagne de test ou d'un test unitaire. - Description des instructions de test dans un formulaire en ligne. Note : cette phase n'est pas obligatoire pour la mise en oeuvre l'invention. Les clients peuvent s'inscrire off-line ou de façon assistée (via par exemple un call center). Etape 2 : EIaboration des éléments constituti d'un test Le scénario de test est un enchaînement logique d'opérations correspondant à une fonctionnalité du s' cible. Chaque scénario est constitué d'étapes. Par exemple sur un site-cible proposant la vente de livres on peut avoir les scénarios suivants . Scénario 1 : Accès â l'information Etapel : Accédez aux thèmes par l'option sui Etape2 . Choisissez l'option "Sport/loisir Nature", Etape3 : Accédez au sous thème "randonnée", Etape4 : Accédez à la deuxième page. Scénario 2 : Commande classique d'un livre Etapel : Choix d'un article, Etape2 : Sélectionnez un livre, Etape3 : Commander le livre en 1 exemplaire. Scénario 3 : Commande en utilisant la recherche rapide Etapel : Faites une recherche rapide sur le clé "CORSE", Etape2 : Sélectionnez un livre, Etape3 : Commander le livre en 3 exemplaires. Scénario 4 : Paiement sécurisé Etapel Sélectionnez le mode de paiement securisé, Etape2 : Remplissez les informations avec des informations fictives prédéfinies, Etape3: Valider le paiement fictif. Scénario 5 : Annulation d'un paiement Etapel: Annuler la commande en utilisant le bouton 'back' Un scénario est constitué - D'un texte formaté décrivant des actions à effectuer lors du test, - De données ou data , (par exemple liste login et de password qui seront répartis entre les internautes testeurs), - De listes de données ou databanks par exemple, une liste d'article à commander. Définition des profils des internautes Cette étape a pour but d'organiser les scénarios en se rapprochant le plus possible des différentes requêtes simultanément effectuées une multiplicité d'internautes lors d'une montée en charge du site-cible. Exemple . - 10% des internautes vont jouer successivement les scénarios : S1, S2, - 60% des internautes vont jouer successivement les scénarios : S1, S2, S4, - 30% des internautes vont jouer successivement les scénarios : S1, S3, S5. Définition des paramètres du test Voici une liste non exhaustive de parametres - Nombre de internautes testeurs, - Répartition géographique, - Répartition par type de connexion équipements hôtes (modem, câble, etc.), - Paliers de la montée en charge (par exemple 10 internautes testeurs supplémentaires toutes les 10 minutes). Note : La liste précédente présente quelques uns des paramètres identifiés à ce jour, il sera bien sûr possible d'en créer autres. Génération des éléments techniques du test Le serveur de tests effectue alors opérations suivantes . - Analyse de la demande et proposition de dates mise en ceuvre en fonction du planning général tests ; - Analyse des éléments constitutifs du test et genération automatique des ordres de missi (interprétation des profils, des data et des databanks). Etape 3 . Téléchargement de l'exécuteur scénarios par l'internaute Afin de pouvoir participer aux tests, l'internaute doit télécharger sur son ordinateur 1 exécuteur de scénarios. Cette opération est effectuée lors de son inscription. Etape 4 : Annonce des tests Selon une fréquence donnée, le serveur de tests communique le calendrier des prochains tests par voie de courrier électronique ( E-mail ) ou par d'autres moyens (téléphones portables, messages SMS ou Wap, etc.) pour les internautes déjà inscrits et sur le site Web de test pour autres. Etape 5 : Déroulement d'une série de tests Arrivée des internautes Les internautes se connectent au site Web de test accèdent au serveur de tests pour visualiser les tests disponibles ; Les internautes s'inscrivent aux tests de leur choix réception d'un jeton par test). Remarque : Ces deux opérations peuvent etre effectuées à tout ( par exemple, une semaine à l'avance) A chaque fois que l'internaute lance l'exécuteur de scénarios, il est automatiquement positionné sur une page du site Web de test qui lui indique, le cas échéant, le jour et l'heure de son prochain test. Cette page pourra montrer un test en train de se dérouler ; Quelques minutes avant le test, l'internaute reçoit les informations sur le type du test qu'il doit effectuer ; L'internaute écoute et/ou visualise le compte à rebours qui précède le test à exécuter. Déroulement d'un test Début du test Lorsque le compte à rebours se termine et le cas échéant en fonction du cadencement déterminé par le serveur de tests, l'internaute est invité démarrer le test. Il est automatiquement redirigé sur le site-cible sans qu'il en connaisse la page d'accueil reçoit son ordre de mission sur l'écran et/ou via les haut-parleurs connectés ou incorporés à son ordinateur. L'entrée en action des internautes est entièrement contrôlée par le serveur de tests. Celui-ci peut selon les demandes du Client et les conditions de mise en ceuvre du test répartir la montée en charge une durée et une répartition géographique données et contrôler le cadencement des connexions. La figure 1 représente un exemple d'ordre de mission. Exécution du test L'internaute effectue une à une actions indiquées dans son ordre de mission. Tous les paramètres liés à l'exécution du test sont mémorisés par l'exécuteur de l'ordre mission. L'internaute a en outre la possibilité de faire des commentaires d'ordre qualitatif sur sa mission. Fin du test L'internaute est ramené sur le site web de test, une page qui lui indique entre autres ce qu'il a gagné. Ensuite il peut visualiser et/ou écouter, s'il y a lieu, compte à rebours du prochain test. Transmission des informations A la fin du test, l'exécuteur de scénario transmet toutes les informations concernant test au serveur de tests. Les informations enregistrées dans le fichier log du site-cible sont elles-aussi transmises. Le serveur de tests publie les statistiques du test les met à la disposition du Client. Note importante : Les informations mémorisées par l'exécuteur de scénarios ne sont pas accessibles par l'internaute. Cela une totale confidentialité et une totale fiabilité. Présentation des composants logiciels L'architecture logicielle utilisée pour mettre en #uvre les tests est essentiellement constituée de deux modules. Le serveur de tests et l'exécuteur de scénarios. Quatre phases de communications sont identifiables au cours de la mise en #uvre d'un test Phase de transmission d'informations du serveur de tests vers l'exécuteur de scénarios en vue de réaliser le test. Cette phase définit les conditions du test ; Phase d'échange limité et optimisé durant le test afin de surveiller l'avancement de la montée charge provoquée par les connexions des internautes. Cette phase permet aussi au serveur de tests de controler le cadencement des connexions ; Phase de transmission des informations générées par l'exécuteur de scénarios vers le serveur de tests en vue de produire les résultats du test ; Phase de transmission d'informations site- cible vers le serveur de tests pour consolider les informations collectées lors de la phase précédente (récupération du fichier Log du client). principe de guidage des internautes pour la mise en oeuvre d'un test est le suivant Connexion au site Web de test pour phase pré-test (enregistrement, distribution des jetons, compte à rebours), Connexion directe au site-cible avec envoi limité d'informations au serveur de tests, Retour au site Web de test. Description de l'exécuteur de scénarios L'exécuteur de scénarios est le module logiciel utilisé par l'internaute pour réaliser un test. Sur plan de l'utilisation, ce module présente certaines caractéristiques d'un navigateur avec une ference essentielle qui réside dans le fait que la navigation est forcée par le serveur de tests. Ces principales fonctions sont les suivantes Fonction d'activation (prise en compte du jeton) ; Fonction de visualisation de skins (personnalisation visuelle de l'outil) ; Fonction d'avertissement de début de test ; Fonction de visualisation synchronisée de l'ordre de mission ; Fonction d'enregistrement des actions de l'internaute ; Fonction de communication avec le serveur de tests ; Fonctions de confidentialité pour client Masquage de l'adresse du site-cible Masquage du code source de la page visualisée. Description du serveur de tests Le serveur de tests est le système logiciel principal utilisé dans le cadre de la mise en oeuvre de 'invention. C'est le système de commande automatisé qui contrôle le déroulement des tests. Les principaux modules le constituent sont les suivants Module de saisie des informations clients ; Module de planification des tests Module d'analyse de la fiche descriptive des instructions de test et de génération automatique des informations nécessaires à la constitution ordres de missions ; Module de mise en aeuvre des tests Envoi automatique de convocation et recensement des internautes , Planification temps réel des tests dans une série (génération de la séquence de tests optimale), Enregistrement des inscriptions et délivrance des jetons , Compte à rebours et déclenchement du test avec procédé de cadencement paramétrable. Module de consolidation et de génération des statistiques liées au test ; Module de tableau de bord du test : Pendant la période du test, le Client pourra visualiser en temps réel des informations sur son test (nombre d'internautes, répartition géographique, etc.). REVENDICATIONS 1 - Procédé pour la réalisation de tests d'équipements informatiques accessibles via un réseau de télécommunication par une pluralité d'équipements hôtes caractérisé en ce qu'il comporte une étape d'élaboration d'un scénario de test, de diffusion via ledit réseau, à une population d'équipements hôtes, d'un objet informatique contenant ledit scénario de test, une étape de synchronisation du début du test sur ladite population d'équipements hôtes, une étape d'exécution par chacun des équipements hôtes de la population de la séquence des actions constituant le scénario de test et une étape de recueil des résultats des tests provenant chacun des équipements hôtes de la population. 2 - Procédé pour la réalisation test d'un équipement informatique selon la revendication 1 caractérisé en ce qu'il comporte une étape préalable à 'exécution du test, consistant à charger sur les équipements hôtes un logiciel pour la communication avec le serveur de test, et comportant une fonction navigation forcée par le serveur de test. 3 - Procédé pour la réalisation d test d'un équipement informatique selon l'une au moins des revendications précédentes caractérisé en ce que les équipements hôtes sont équipés d'un programme d'ordinateur masquant dans tous les cas l'adresse des sites testés. 4 - Procédé pour la réalisation d'un test d'un équipement informatique selon l'une au moins des revendications précédentes caractérisé en ce que les équipements hôtes sont équipés d'un programme de pilotage spécifique masquant dans tous les cas le code source des pages visualisées des sites testés. 5 - Procédé pour la réalisation d'un test d'un équipement informatique selon l'une au moins des revendications précédentes caractérisé en ce que serveur de test est commandé par un programme d'ordinateur comportant un module de saisie des informations ients, un module de planification statistique des test, et un module d'analyse la fiche d'instruction des test de génération automatique des informations nécessaire à la constitution des ordres mission. - Procédé pour la réalisation d'un test d'un équipement informatique selon la revendication 5 caractérisé en ce que le serveur de test est commandé par un programme d'ordinateur comportant en outre un module de mise en oeuvre des test pour l'envoi automatique de convocations et le recensement des internautes testeurs, des moyens de planification en temps réel des tests dans une série et l'enregistrement des inscriptions et la délivrance des jetons, ainsi qu'un module pour le déclenchement et le cadencement des tests.