Les tests de performance permettent aux entreprises d’économiser des millions de dollars. Selon un rapport de Dun & Bradstreet, 59 % des entreprises du Fortune 500 subissent au minimum 1,6 heure d’interruption chaque semaine. Faisons un calcul rapide. En moyenne, une entreprise du Fortune 500 emploie 52 810 personnes. Si chaque employé ne gagnait que 10 $ de l’heure, cela coûterait 528 100 $ par semaine à l’entreprise en perte de productivité – soit 27 461 200 $ par an.
Cela fait beaucoup d’argent qui… s’évapore.

Il est dans l’intérêt de tous que les tests de performance logicielle soient menés de manière approfondie. Explorons l’importance des tests de performance, leurs différents types, les problèmes courants et les outils utiles.
Qu’est-ce que le test de performance ?
Les tests de performance vérifient que le logiciel peut fonctionner à un niveau élevé sous la charge de travail attendue. Les développeurs veulent éviter de créer des logiciels réactifs et rapides quand un seul utilisateur est connecté, mais qui deviennent lents lorsqu’ils en gèrent plusieurs.
Les tests QA ne se concentrent pas uniquement sur les bugs. La vitesse, la réactivité et l’utilisation des ressources du logiciel sont aussi des enjeux importants. Les tests de performance permettent d’identifier et de traiter les points de congestion. Ceux-ci sont repérés en simulant le trafic utilisateur. Idéalement, les testeurs QA souhaitent effectuer les essais dans des conditions proches du réel. Il s’agit de l’un des premiers voyages du logiciel hors du cocon des conditions idéales vers le monde incertain de l’expérience utilisateur finale.
Pourquoi tester la performance ?
Les tests fournissent aux parties prenantes des informations concrètes sur la rapidité, la stabilité et l’évolutivité du logiciel. Sans tests de performance, le logiciel risque de souffrir de problèmes de rapidité et de fiabilité lors de sa mise en production.
Nous avons déjà évoqué le coût de productivité lié aux interruptions système. Dans bien des cas, cette seule raison suffit amplement. Même si tous les logiciels ne sont pas utilisés en interne, certains sont destinés à des clients. Dans ce contexte, les tests de performance deviennent encore plus cruciaux car la dernière chose que vous souhaitez, c’est une vague de clients mécontents de la qualité de votre produit.
En phase de développement, les tests de performance offrent une image plus claire de ce qui doit être amélioré en termes de rapidité, de stabilité et d’utilisation des ressources. Sans cela, le logiciel pourrait être livré avec de graves défauts, tels qu’un temps d’exécution lent avec de nombreux utilisateurs, des plantages dus à une surcharge, ou une expérience utilisateur incohérente selon les systèmes d’exploitation et navigateurs.
Rechercher uniquement les bugs ne permet pas d’anticiper le comportement du logiciel sous forte charge. Il est essentiel que les tests de performance soient menés de façon indépendante et ciblée. Les bons testeurs savent que la vitesse n’est pas le seul marqueur : par exemple, une application qui se charge vite mais utilise 100 % du processeur de l’utilisateur n’est pas performante. Un tel cas provoquerait des désagréments pour l’utilisateur final, comme une surchauffe, une durée de vie du processeur raccourcie, un ralentissement général, ou des plantages occasionnels.
Comment réaliser des tests de performance
La manière dont on effectue les tests de performance dépend du logiciel à examiner. Plusieurs approches s’offrent au testeur QA. Il s’agit d’un type de test non fonctionnel, c’est-à-dire qu’il ne concerne pas l’interface utilisateur.
Les testeurs de performance cherchent à s’assurer que les composants internes sont les plus affinés possible. Ils sont l’équipe technique lors d’une course de F1.

Le type de test à réaliser dépendra de la méthodologie suivie par l’organisation. Si elle utilise la méthode traditionnelle en cascade, les testeurs de performance n’auront probablement accès au produit qu’une fois le développement achevé. En revanche, si l’organisation travaille en agile, les tests de performance seront intégrés tout au long du développement.
Types de tests de performance
Certaines méthodes nécessitent des tests manuels, d’autres des tests automatisés. Cependant, avec l’essor rapide de l’automatisation et l’apparition d’outils plus efficaces et fiables chaque jour, il existe une nette préférence pour les tests automatisés dans ces situations, car ils demandent de nombreux utilisateurs virtuels capables de simuler le comportement de vrais utilisateurs. Il est difficile d’obtenir ce résultat manuellement, cela exigerait bien plus de testeurs que n’en compte la plupart des équipes.
Ce n’est pas parce qu’une grande partie des tests de performance sont pris en charge par des machines qu’il n’existe pas d’importantes distinctions entre les différents types. Un testeur QA doit comprendre ces distinctions pour choisir l’outil adapté à chaque cas.
Voyons en détail les divers types de tests de performance et leurs objectifs respectifs.
Test de capacité
Testez combien d’utilisateurs le système peut gérer avant que la performance ne tombe sous un seuil acceptable. Les tests de capacité permettent aux développeurs d’anticiper les problèmes liés à la montée en charge et à la croissance prévue de leur base d’utilisateurs.
Test de charge
Confirme que le système peut gérer le nombre requis d’utilisateurs tout en maintenant un niveau de performance élevé. Les outils de test de charge permettent de s’assurer qu’aucun problème de performance n’apparaît au quotidien.
Test de volume
Vérifie que le logiciel peut traiter une grande quantité de données simultanément sans se bloquer, ralentir ou perdre des informations.
Test de résistance
Tente volontairement de mettre le logiciel en échec en simulant un nombre d’utilisateurs bien supérieur aux attentes. Le lancement d’un nouvel iPhone et le pic soudain de trafic sur le site Apple sont d’excellents exemples de tests de résistance dans le monde réel.
Test d’endurance
Simule un trafic important pendant une longue période. Vérifie la capacité du logiciel à tolérer des niveaux élevés de trafic sur la durée.
4 problèmes de performance courants
Les testeurs de performance rencontrent généralement au moins un de ces quatre problèmes lors des tests.
- Temps de chargement long – Personne n’apprécie attendre 30 à 60 secondes devant son écran que l’application se lance. C’est ennuyeux, surtout lorsqu’il s’agit d’une application que l’on ouvre plusieurs fois par jour. À l’exception de certains logiciels très gourmands, la plupart des applications, pages web ou logiciels devraient pouvoir s’ouvrir en quelques secondes. Les tests de charge mettent en évidence les logiciels qui peinent à s’ouvrir dans un délai acceptable.
- Mauvais temps de réponse – Problème similaire à celui des temps de chargement longs. Il est tout aussi frustrant que, après avoir enfin ouvert l’application, la navigation entre les menus ou la saisie de données prenne également 30 à 60 secondes. Réfléchissez aux applications que vous utilisez chaque jour : combien d’entre elles vous laissent attendre qu’une page se charge ? Probablement très peu. Les temps de chargement longs font perdre l’intérêt de l’utilisateur.
- Mauvaise évolutivité – On parle souvent de « slashdot effect » ou de « câlin mortel d’internet ». Avez-vous déjà cliqué sur un site intéressant partagé sur Facebook et constaté que la page ne se chargeait pas ? C’est parce que vous, et un million d’autres personnes, avez voulu découvrir ce site sympa, qui n’avait pas l’infrastructure pour faire face à un tel afflux d’utilisateurs. Le graphique du trafic de leur site ressemblerait alors à ceci :

4. Goulot d’étranglement – Les goulots d’étranglement surviennent lorsqu’un système alloue mal sa puissance de traitement. Si votre logiciel exige que l’unité centrale de l’utilisateur fonctionne à 100 %, il ne reste plus de mémoire pour exécuter d’autres tâches. C’est une mauvaise situation et cela entraîne souvent une surchauffe ainsi qu’une chute importante des performances. Plusieurs types de goulots d’étranglement existent, notamment :
- CPU
- Mémoire
- GPU
- Utilisation du disque
Meilleurs outils de tests de performance
L’outil de test de performance qui vous conviendra dépend de votre projet et de vos objectifs. Certains, comme Jmeter, sont très efficaces pour exécuter des tests de charge et de résistance. Le choix dépend également de votre budget. Les petites entreprises peuvent se tourner vers une des nombreuses solutions gratuites et open source de tests de performance afin de réduire les coûts.
Outils open source de tests de performance
Un des outils open source les mieux notés est Jmeter. C’est un choix privilégié pour les petites entreprises souhaitant réaliser des tests efficaces. Les tests de performance Jmeter analysent en profondeur les performances du serveur sous charge. Il permet d’effectuer des tests de charge et de résistance pour vérifier que votre logiciel supporte le nombre normal et maximal d’utilisateurs attendus.
Une fois les tests de performance terminés, Jmeter vous permet de visualiser les résultats de différentes manières simples à comprendre. Par exemple, il est possible d’imprimer vos résultats sous forme de graphique. Voici à quoi ressemblent les graphiques Jmeter :

Lors de la lecture du graphique, le paramètre le plus important est le débit (ligne verte), qui indique le nombre de requêtes envoyées durant le test. Plus ce nombre est élevé, mieux c’est. Cela montre combien de requêtes votre logiciel peut traiter par minute. Dans cet exemple, cela représente 8 003 requêtes par minute.
Autres outils principaux :
Il existe quelques inconvénients aux tests de performance open source. L’un d’eux est que tous les utilisateurs simulés s’exécutent sur les serveurs de l’entreprise. Cela signifie que les tests sont réalisés dans des conditions idéales et non dans des conditions réelles. Pour les petites entreprises qui ne prévoient pas une charge importante, cela peut convenir à leurs besoins. Au fur et à mesure que l’entreprise se développe, toutefois, elle peut envisager l’achat d’un outil de test de performance premium.
Voici une brève liste de quelques outils de test de performance premium :
Les tests de performance sont généralement similaires quel que soit le système d'exploitation. Bon nombre des outils de test de performance sur Mac fonctionneront également sur Windows.
Réflexions finales
Les tests de performance sont un élément indispensable pour garantir la fiabilité et l’efficacité des logiciels, en particulier pour les entreprises SaaS en forte croissance. En utilisant les meilleurs outils, les responsables QA obtiennent des informations précieuses sur l’évolutivité, l’endurance et la capacité de leurs systèmes à gérer un trafic important. Abonnez-vous à notre newsletter pour plus d’analyses de la part de professionnels de l’assurance qualité !
