Concept: Tests de performance
Les tests de performance sont une classe de tests implémentés et exécutés afin de définir et évaluer les caractéristiques basées sur les performances de la cible du test, comme les profils de temps, les flux d'exécution, les temps de réaction, et la fiabilité et les limites opérationnelles.
Relations
Description principale

Les tests de performance sont une classe de tests implémentés et exécutés afin de définir et évaluer les caractéristiques basées sur les performances de la cible du test, comme les profils de temps, les flux d'exécution, les temps de réaction, et la fiabilité et les limites opérationnelles. Différents types de tests de performance, chacun axé sur un objectif de test différent, sont implémentés tout au long du cycle de vie de développement logiciel (SDLC).

Dès le début des itérations d'architecture, les tests de performance se concentrent sur l'identification et l'élimination des goulots d'étranglement de performance en rapport avec l'architecture. Dans les itérations de construction, des types supplémentaires de tests de performance sont implémentés et exécutés pour préciser le logiciel et l'environnement (optimisant le temps de réaction et les ressources), et pour vérifier que les applications et le système sont capables de gérer de lourdes charges et des situations contraignantes, comme un grand nombre de transactions, de clients et/ou de gros volumes de données.

Les types de tests suivants sont compris dans les tests de performance :

  • Test d'évaluation des performances : compare la performance d'une cible de test nouvelle ou inconnue par rapport à un standard de référence connu, comme un logiciel existant ou des mesures.
  • Test de contention : vérifie que la cible de test peut traiter raisonnablement plusieurs demandes d'acteurs concernant la même ressource (enregistrements de données, mémoire, etc.).
  • Profilage des performances : vérifie le caractère acceptable du comportement de la performance d'une cible de test à l'aide de configurations différentes pendant que les conditions d'opération demeurent constantes.
  • Test de charge : vérifie le caractère acceptable du comportement de la performance d'une cible de test dans des conditions d'opération différentes (telles que le nombre d'utilisateurs, le nombre de transactions etc.) pendant que la configuration reste constante.
  • Test sous contrainte : vérifie le caractère acceptable du comportement de la performance d'une cible de test dans des conditions anormales ou extrêmes telles que des ressources diminuées ou un nombre extrêmement élevé d'utilisateurs.

En général, l'évaluation de la performance s'effectue conjointement avec le représentant des utilisateurs et à partir d'une approche à plusieurs niveaux.

  • Le premier niveau de l'analyse de performance implique l'évaluation des résultats d'un seul acteur ou instance de cas d'utilisation et la comparaison des résultats à travers l'exécution de plusieurs tests ; par exemple, en capturant le comportement en matière de performance d'un seul acteur exécutant un seul cas d'utilisation sans aucune autre activité sur la cible du test et en comparant les résultats avec plusieurs autres exécutions de tests du même acteur ou cas d'utilisation. Cette analyse de premier niveau peut aider à identifier les tendances qui peuvent indiquer des conflits parmi les ressources du système, qui pourraient affecter la validité des conclusions tirées d'autres résultats de tests de performance.
  • Un deuxième niveau d'analyse examine les statistiques résumées et les valeurs des données réelles pour un acteur spécifique ou l'exécution d'un cas d'utilisation, ainsi que le comportement de la cible de test en matière de performance. Les statistiques résumées comprennent des écarts type et les distributions en percentiles pour les temps de réaction, qui fournissent une indication sur la variabilité dans les réponses du système telles que les voient les acteurs individuels.
  • Un troisième niveau d'analyse peut aider à comprendre les causes et l'importance des problèmes de performance. Cette analyse détaillée prend les données détaillées et utilise des méthodes statistiques pour aider les testeurs à tirer les bonnes conclusions des données. L'analyse détaillée fournit des critères objectifs et quantitatifs pour la prise de décisions, mais elle demande beaucoup de temps et nécessite une compréhension de base des statistiques.

L'analyse détaillée utilise le concept d'importance statistique pour aider à comprendre quand des différences dans le comportement de performance sont véritables ou causées par un événement fortuit associé à la collecte des données de test. L'idée est que, sur un niveau fondamental, tout événement est accompagné d'une part de hasard. Les tests statistiques déterminent s'il y a une différence systématique qui ne peut pas s'expliquer par des événements fortuits.

Voir Technique : Mesures clés de test pour plus d'informations sur les différents rapports de test de performance.