« Retour

Performance, charge, stress... quelle différence ?

Explication du jargon ISTQB

Quelle est la différence entre un test de charge et un test de performance ? S'agit-il de la même chose que d'un test de stress ? De robustesse ?...

En termes de vocabulaire, chaque site web a son propre son de cloche. Et pour cause : d'une part, les tests se ressemblent et mettent parfois en jeu les mêmes outils. D'autre part, les termes évoquent des choses similaires ; dans la vie de tous les jours, on peut dire qu'une équipe performante est capable de tenir une grosse charge de travail en gérant bien son stress. Mais qu'en dit le glossaire officiel de l'ISTQB ? Nous nous sommes replongés dans les définitions des termes.

Performance

Test de performance : le processus de test pour déterminer les performances d‘un produit logiciel.

Performance : degré en fonction duquel le système ou composant accomplit les fonctions qui lui sont affectées dans le respect de contraintes données en ce qui concerne son temps d‘exécution et taux de débit. [d‘après IEEE 610]

Le but du test de performance est de fournir des métriques sur la rapidité de l'application. On veut déterminer si elle est capable d'exécuter ses fonctionnalités en un temps acceptable. La priorité n'est pas de connaître les performances de l'application dans un contexte particulier. Pour cela, un autre type de test peut être distingué : le test de rendement.

Le test de performance répond à la question : l'application est-elle suffisamment rapide ?

Des APIs permettent de diagnostiquer rapidement les problèmes de performances d'une page web. La plus utilisée est certainement PageSpeed, développée par Google. Elle founit un score sur 100, ainsi que des pistes pour améliorer la vitesse de chargement de la page. Nous l'utilisons au sein de notre interface publique et gratuite de test de performance, Highperf. N'hésitez pas à vous en servir !

Rendement

Test de rendement : le processus de test pour déterminer le rendement d‘un produit logiciel.

Rendement : la capacité du produit logiciel à fournir des performances appropriées, relatives au niveau de ressources utilisées dans des conditions spécifiées. [ISO 9126]

Le test de rendement introduit la notion de "conditions". Le test de rendement permet d'établir un rapport entre performances et ressources utilisées dans un contexte réaliste (ex : plusieurs utilisateurs connectés en même temps, réalisant des requêtes consommant plus ou moins de ressources).

Le test de rendement répond à la question : l'application est-elle suffisamment rapide dans un contexte donné ?

Charge

Test de charge : un type de test concerné par la mesure du comportement d‘un composant ou système avec une charge croissante, p.ex. nombre d‘utilisateurs et/ou nombre de transactions en parallèle pour déterminer quelle charge peut être gérée par le composant ou système

Le test de charge recherche la limite des capacités de l'application. En augmentant graduellement la charge à laquelle est soumise l'application, il est possible d'identifier des paliers. On peut considérer le test de charge comme un pré-requis au test de stress.

Le test de charge répond à la question : quelle est la charge maximale supportée par l'application ?

Stress

Test de stress : Un type de test de performance mené pour évaluer un système ou composant à ou au-delà des limites de sa charge de travail anticipées ou spécifiées, ou avec une disponibilité réduites de ressources telles que l‘accès mémoire ou serveurs [d‘après IEEE 610].

Le test de stress permet d'anticiper les performances d'une application en contexte exceptionnel (afflux non anticipé d'utilisateurs, panne). Un cas d'école : l'explosion des visites sur un site de e-commerce le premier jour des soldes. On peut considérer le test de stress comme une catégorie de test de robustesse.

Le test de stress répond à la question : comment réagit l'application lorsqu'elle est soumise à sa charge maximale ?

Robustesse

Test de robustesse : test concernant le degré pour lequel un composant ou système peut fonctionner correctement en présence de données d‘entrée invalides ou de conditions environnementales stressantes.

Le test de robustesse permet de vérifier qu'une application reste opérationnelle en contexte exceptionnel. Les menaces testées viennent aussi bien d'une charge importante (comme le test de stress) que de comportements non souhaités (flux d'informations incorrectes, de fichiers corrompus...)

Le test de robustesse répond à la question : comment réagit l'application lorsqu'elle est soumise à des inputs ou un contexte exceptionnels ?

Conclusion

Malgré leur synonymie apparente, les différents termes que nous venons de présenter donnent donc lieu à des tests spécifiques, que nous ne devrions pas confondre afin de maintenir une communication claire.

Envie d'être certifié.e ISTQB ?

Si vous souhaitez approfondir vos connaissances en test, nous organisons à la demande des formations ISTQB à Nouméa. Pour plus d'informations, veuillez prendre contact avec nous.

Et pour vos révisions, jetez un oeil à notre article Les 7 principes généraux du test en illustrations !

Un avis ? Un commentaire ?

Cet espace est pour vous.