Comment mener une campagne de tests de performance

Le test de performance consiste à exposer une application à des conditions réelles d’utilisation et d’exploitation afin de prévoir ou évaluer le comportement du système et de diagnostiquer des problèmes de stabilité, montée en charge de l’application et/ou de l’infrastructure. Les tests de montée en charge et les tests de performance sont indispensables pour optimiser la qualité et la disponibilité des applications et des services Web.

Cette activité doit être intégrée au cycle de développement d’un projet. Elle exige de disposer de ressources logicielles, matérielles adaptées à cette activité et des ressources humaines qualifiées. Le choix de l’outillage est important. Il doit, avant tout, correspondre aux besoins. Il doit être ergonomique, faciliter le développement des scénarios, générer des rapports personnalisés et détaillés susceptibles de pouvoir réaliser des corrélations de métriques et faciliter éventuellement le diagnostic. Il doit également supporter les technologies mises en œuvre dans l’application.

La réussite des tests va également dépendre du respect de certaines bonnes pratiques.

  • Mise en place d’un environnement dédié et stable (testez dans un environnement contrôlé);
  • Définition d’objectifs clairs et précis ;
  • Volumétrie de données suffisante ;
  • Méthodologie de tests éprouvée et pragmatique;
  • La définition du cahier des charges, et le travail préparatoire peuvent être anticipés.
  • Le postulat « Un résultat plus ou moins précis maintenant vaut mieux qu’un résultat très précis plus tard » doit être appliqué avec discernement. Les cas d’utilisation testés doivent être stables.
  • Testez de façon large, puis de façon approfondie.

La méthodologie de tests de performance peut être décrite succinctement en 3 étapes.

  • Définition de la stratégie de tests et du plan de tests ;
  • Préparation de l’environnement de tests, des scénarios de tests et des données ;
  • Exécution des tests, établissement d’un diagnostic et communication des résultats ;

Définition de la stratégie de tests et du plan de tests.

Cette étape est primordiale car elle permet de définir le cahier des charges de la campagne de tests. Pêle-mêle on peut lister les actions suivantes :

  • définition des objectifs de la campagne de tests (métiers, techniques et économiques)
  • définition du planning macroscopique de la campagne
  • choix du produit d’injection et de l’architecture à mettre en place
  • définition des caractéristiques de l’environnement sur lequel les tests vont se dérouler
  • définition des cas d’utilisation ou les processus métier concernés
  • description du modèle d’utilisation de l’application et le modèle de charge
  • description du contexte d’utilisation de l’application (par exemple pour une application intranet il peut être intéressant de connaître le type de navigateur, ou pour une application web il peut être intéressant de savoir si le visiteur est régulier ou opportuniste) ;
  • identification des volumétries de données et des informations à variabiliser
  • identification des procédures techniques associées aux tests (par exemple des outils de sauvegarde et restauration des données)
  • identification des outils nécessaires à la supervision de l’infrastructure de tests et à l’application
  • choix des métriques supervisées.
  • description du mode de restitution des résultats et du contenu (adapter le contenu au profil des personnes).

Préparation de l’environnement de tests, des scénarios de tests et des données.

Cette étape concerne l’implémentation du cahier des charges décrit précédemment. Il s’agit de :

  • développer et variabiliser les scénarios de tests ;
  • configurer le plan de charge ;
  • extraire et formater les données de tests utilisées par les scénarios ;
  • établir les corrélations entre les données ;
  • implémenter l’infrastructure de tests et d’installer/configurer les produits de supervision ;
  • charger les données dans l’environnement de tests et préparer les procédures techniques associées à la gestion de l’environnement ;
  • s’assurer que tout le travail de préparation fonctionne parfaitement.

Exécution des tests, diagnostic, et restitution des résultats

Cette étape est souvent itérative. Généralement chaque itération est composée de trois ou quatre types d’actions principales :

  • Exécuter les tests ;
  • Analyser/diagnostiquer les dysfonctionnement, préconiser des actions correctives et établir un plan d’actions ;
  • Restituer les résultats ;
  • [Optionnellement] Optimiser le système/application ;

http://www.jperf.com

Publicités

A propos jlerbsc

founder of JavaPerf Consulting Http://www.jperf.com
Cet article a été publié dans performance. Ajoutez ce permalien à vos favoris.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s