Test de performance - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Outillage nécessaire

Comme il s'agit en général de simuler un nombre d'utilisateurs important, il s'avère nécessaire d'automatiser ces tests. L'automatisation des tests, que ce soit pour des tests de performance ou non, nécessite de répondre à deux problèmes :

  • être capable d'enchaîner des actions sur le système selon des scénarios qui ont du sens pour les objectifs de test
  • valoriser ces actions sur des données qui sont pertinentes à la fois vis-à-vis des scénarios et de l'état du système au moment où l'on exécute ces tests

Prenons par exemple le cas du test de performance d'un portail eCommerce dans lequel on va adresser plus particulièrement la fonction de constitution d'un panier d'achat. Il faut disposer d'un mécanisme d'automatisation des actions de sélection d'article, de validation de commande, etc. Mais il faut également valoriser ces actions en donnant les articles qui seront effectivement commandés par les utilisateurs virtuels (simulés) dans le cadre du test de performance. Or, la nature et le nombre de ces articles peuvent varier en fonction du contenu de la base de données d'articles de l'application, du profil de consommateur de l'utilisateur simulé, ou encore de la période de l'année que l'on simule dans le test.

Une plate-forme de test de performances va généralement comporter :

  • Un injecteur de charge (appelé aussi générateur ou moteur de charge) : logiciel qui va être capable de simuler les actions des utilisateurs et de ce fait générer la charge sur l'application. Ces actions sont définies dans des scripts automatisant des scénarios et valorisés sur un lot de données particulier. On peut donc distinguer deux catégories d'outils :
    • Les simulateurs d'utilisateurs qui, grosso modo, instancient les scripts de test sur un grand nombre d'utilisateurs (virtuels)
    • Les générateurs de données qui vont permettre de valoriser les scripts utilisés et ainsi assurer que chaque utilisateur virtuel n'effectue pas exactement la même opération ce qui n'aurait pas beaucoup de sens du point de vu des performances mesurées ensuite.
  • Des sondes : placées au niveau du système cible, elles permettent de remonter des mesures dont l'objet est de savoir comment réagissent individuellement des composantes du système. Les éléments sur lesquels on va en général placer des sondes sont l'utilisation de la mémoire, processeur, disque et réseau. Il est évidemment préférable d'utiliser des sondes qui ne perturbent pas le système, en privilégiant au maximum les API disponibles en natif au sein des composants techniques, et en évitant l'utilisation d'agents.

Les solutions de tests de performances Web vont permettre de simplifier et d'automatiser les tests : création plus ou moins automatisée des scénarios de tests, configuration des scénarios avec ou sans script, simulation d'utilisateurs virtuels avec collecte des mesures (et génération automatique de rapports), etc.

Organismes du secteur

  • Le TPC (Transaction Processing Performance Council) est un organisme indépendant des constructeurs qui définit des protocoles de test et publie des classements, suivant plusieurs critères. Le plus connu est le TPC-C pour le transactionnel, mais il existe des classements pour les systèmes décisionnels (TPC-H). Les classements ne sont pas fait seulement suivant la puissance , mais aussi suivant le rapport coût/performance.
  • Le SPEC (Standard Performance Evaluation Corporation) est un organisme indépendant sans but lucratif qui établit et publie des tests de performance de systèmes, en particulier un test de mesure de puissance CPU.
Page générée en 0.087 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise