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.
|