Les tests de performance doivent être implémentés et réalisés tout au long du cycle de développement, et ce le plus tôt possible. Un résultat plus ou moins précis maintenant vaut mieux qu’un résultat très précis plus tard.
Étape 1 : Analyse de Référence (l’analyse préliminaire consiste en l’enregistrement d’un ou de plusieurs scénarios (ou cas d'utilisation) pour mieux comprendre l’application et l’étendue du test).
Étape 2 : Tests Préliminaires
Étape 3 : Test de Charge à Grande Échelle
Le plan de tests est l'expression du besoin de la campagne de tests. On y trouve la présentation du projet (résumé, architecture technique et logicielle), les objectifs, le modèle de charge, le type de tests à réaliser, les scénarios fonctionnels (ou cas d'utilisation) à tester accompagnés des jeux de données nécessaires, et un planning d'exécution de ces tests.
Les jeux de données permettent de simuler au plus juste la réalité. Un jeu de données peut, par exemple, consister en n logins et n mots de passe, permettant ainsi de simuler des utilisateurs différents se connectant à l'application.
Le modèle de charge consiste, à partir d'un modèle d'usage de l'application (nombre d'utilisateurs simultanés, nombre de processus métier réalisés, périodes d'utilisation, heures de pointe...) à modéliser la charge qui devra être simulée et qui se devra d'être représentative de l'activité réelle ou attendue de l'application en pic, en général lors d'un test de stress. Cette modélisation contient donc un nombre d'utilisateurs à simuler, leur répartition sur les différents scripts (scénarios fonctionnels), leurs rythmes d'exécution respectifs, ainsi que les profils de montée ou descente de charge des groupes d'utilisateurs.
Plusieurs outils permettent de réaliser des tests de performances ; ce qui les différencie, ce sont notamment :
Selon plusieurs cabinets d'analyse tels IDC ou Gartner Group, des leaders se démarquent sur le marché, mais il existe aussi quantité de produits Open Source ou à prix réduits, surtout pour les applications Web. Les outils les plus représentatifs du marché sont :
On distingue dans la gestion des données de test deux principaux types d'acteurs. Il y a ceux qui s'appuient sur les données de production et proposent des outils d'extraction et de transformation des données de production et ceux qui s'appuient sur des mécanismes de génération pour produire à partir de rien (ou presque) les jeux de données de test.
Les outils basés sur l'extraction sont particulièrement pertinents pour construire des bases de test de référence comme par exemple des catalogues de produits. D'ailleurs, n'importe quel outil d'extraction de base de données doit pouvoir faire l'affaire. Toutefois, IBM avec Optim et MicroFocus (ex-Compuware) avec FileAid se sont positionnés sur ce marché avec des outils qui, à l'origine, servent à faire de la duplication de base de données (pour adresser des problématiques d'archivage des données anciennes, par exemple).
Une solution basée sur la génération automatique est quasiment incontournable pour produire les différentes transactions (constitution d'un panier d'achat par exemple) qui vont servir à valoriser les scripts de test. Si la variabilité du comportement des utilisateurs virtuels est un critère de pertinence pour la campagne de test alors chacune des transactions injectées dans une campagne de test doivent être originales et globalement l'ensemble des transactions doivent avoir une cohérence vis à vis des objectifs de tests. Sur le marché des outils de génération de données on trouve moins d'acteurs, mais on peut noter Grid-Tools, une société anglaise qui édite DataMaker et GenieLog qui édite l'atelier de production de jeux de données GEDIS Studio.