Published On: 22 novembre 20184,9 min read

Comment mettre en place une campagne de tests de charge pertinente ?

Les campagnes de tests de montée en charge sont indispensables pour pouvoir proposer une expérience utilisateur optimale. Les tests vous permettent de déterminer à quel moment la charge sur l’infrastructure ne permet plus de délivrer une qualité de service nécessaire aux conversions attendus (achats, téléchargements, leads …). Mais pour obtenir des résultats fiables et exploitables il faut que votre campagne soit correctement pensée et configurée. Pour ce faire il faut définir un véritable projet avec tous les intervenants, jalons, réunions, objectifs, …

Pourquoi parlons-nous de campagne ?

Un test de montée en charge c’est l’action de reproduire  un nombre déterminé d’utilisateurs qui se connectent simultanément sur  votre site, logiciel, ou  application. L’objectif est de mesurer le temps de réponse de l’infrastructure (First-Byte time) , de l’application (OnLoad) , et le ressenti  côté utilisateur  mesuré au « cœur » même du navigateur qu’il utilise. 

C’est le seul moyen qui vous permettra de vérifier en condition « réelle » si votre service sera disponible dans les conditions de qualité optimales pour vos clients ou prospects.

Mais un seul test (tir) ne peut suffire. Il est impossible d’obtenir des données exploitables si elles n’ont pas de points de comparaisons.

Nous parlons de campagnes car elles sont composées de plusieurs tirs.

Il est judicieux de composer une campagne avec plusieurs scénarii et impérativement avec plusieurs tirs, pour avoir des métriques de comparaison. Plus les paliers seront ajustés,  plus vous obtiendrez des résultats utilisables  qui vous permettront d’identifier avec précision le ou les points d’optimisation de votre parcours utilisateur.

Il ne faut surtout pas vouloir se précipiter en tentant rapidement une cible trop importante au regard de son contexte. Les points de contentions sont justement « levés » au fur et à mesure des paliers de tirs.

Nous parlons de campagnes car elles sont composées de plusieurs tirs.

Exemple de mise en place d’une campagne de TMC pertinente

Admettons une campagne de tests de montée en charge pour un fournisseur de matériels professionnels. Son objectif : vérifier un parcours client.

Étape n°1 : Imaginer le(s) scénario(ii) .

Le premier scénario : « Mise au Panier » de 38 actions utilisateur :

Un visiteur arrive sur la page d’accueil du site, se connecte puis utilise la barre de recherche (requête de type catégorie). Il ajoute l’un des produits à son panier, retourne sur la page d’accueil et se rend sur son panier. De là il sélectionne dans le menu “Catégories > Catégorie A > Sous Catégorie A. Sur cette page de produits il compare deux produits.

Le second scénario : « Consultation de compte » de 22 actions utilisateurs :

Par la suite il se rend sur son compte, consulte ses devis, ses commandes et ses factures avant de se déconnecter.

 

Avec un seul internaute, l’exécution du premier scénario prend 5 mn et 3 mn pour le second. Ces temps vont nous servir de référence pour vérifier la résistance avec l’augmentation du nombre d’internautes « virtuels ».

Étape n°2 : Déterminer le nombre de tirs.

Pour déterminer le nombre de tirs il faut regarder les statistiques de visite. Cela va permettre d’être sûr de couvrir un périmètre pertinent. Dans notre cas admettons que le site enregistre jusqu’à 500 visiteurs simultanés mais une moyenne de 250 utilisateurs. On peut alors imaginer une répartition des tirs comme ci-dessous :

  1. Tir #01 : 250 utilisateurs pour valider l’expérience utilisateur actuelle sur le site.
  2. Tir #02 : 500 utilisateurs pour valider l’expérience occasionnelle des utilisateurs.
  3. Tir #03 : 750 utilisateurs pour anticiper l’augmentation du nombre d’utilisateur et préparer les futurs pics de charge.

Étape n°3 : Programmer un scénario pour chaque tir.

Une fois les tirs identifiés il faut programmer un scénario pour chacun d’entre eux. Dans le cas du Tir #01 :

  • Est-ce que nous reproduisons les utilisateurs en même temps dès le début du TIRS ?
  • Ou avec une pente, par exemple 5 mn puis un plateau ou tous les utilisateurs seront simultanément actifs
  • Comment doit-on répartir la charge en fonction des scénarios : mise au panier , consultation du compte.

Dans notre cas nous allons programmer pour tous les Tirs une montée en charge progressive sur 5 minutes avec une répartition de 70 % pour le scénario de Mise au panier et 30 % pour la consultation du compte.

Étape n°4 : Identifier les outils de mesure.

La dernière des étapes consiste à identifier éléments à mesurer et sous quelles conditions. Ci-dessous une liste non exhaustive des données mesurables :

  • Nombre de cycle par minute
  • Temps de chargement d’une page
  • Temps d’une requête serveur
  • Nombre d’utilisateur
  • Nombre de page en erreur
  • Nombre de requête en erreur
  • Nombre de cycle terminé
  • Nombre de cycle en échec
  • Temps de réponse des domaines tiers (google maps, algolia …)

Ces éléments sont à valider avec vos équipes ou le prestataire en charge de l’automatisation de vos tests.

Pour conclure.

La mise en place de campagne de tests de montée en charge nécessite un vrai travail de réflexion et de configuration. Et c’est ce travail qui déterminera la qualité et la fiabilité des résultats obtenus. Assurez-vous également de la qualité de la restitution des données. Si, in fine, vous obtenez un rapport inexploitable tout ce travail n’aura pas servi à grand-chose, mais cela fera l’objet d’un prochain article. À vous de jouer !

Testez plus vite et mieux avec les outils CloudNetCare

Une plateforme SaaS puissante au service de vos développements et de l’expérience de vos utilisateurs. Testez plus vite, plus souvent et mieux avec la plateforme d’automatisation des tests de CloudNetCare.

Testez plus vite
et mieux avec les outils
CloudNetCare

UX Functional testing

Plateforme SaaS de tests de montée en charge

UX Functional testing
UX Functional testing

Testez plus vite et mieux avec
les outils
CloudNetCare

UX Functional testing

Plateforme SaaS de tests de montée en charge

UX Functional testing
UX Functional testing