Question

Nous développons des tests de régression automatisés utilisant VMWare et NUnit. Nous avons divisé les tests en étapes et j'aimerais maintenant que chaque étape soit examinée pour déterminer la régression des performances. Le simple chronométrage des tests, comme le fait NUnit, ne semble pas fiable. J'ai calculé un facteur d'acceptation d'environ 15%, mais nos étapes peuvent parfois différer de plus de 35%. Dans un tel environnement de test dépendant des ressources, existe-t-il un moyen cohérent de tester les performances? Est-ce un "intelligent"? système de chronométrage ma seule option?

Était-ce utile?

La solution

Pour ce type de test de performance, il n’existe pas de système qui vous donnera un simple résultat de réussite / d’échec. Dans la vraie vie, la modification de votre système accélérera probablement certaines choses et d'autres encore plus lentement. Il n'est donc généralement pas nécessaire de choisir entre "meilleur" et "meilleur". et "pas mieux", c'est un choix entre différents types de produits meilleurs. (Bien sûr, vous voulez éviter les cas dans lesquels c'est strictement pire.)

Ce que j'ai fait pour cela dans le passé, c'est simplement de garder des statistiques dans le temps. Chaque fois que vous exécutez vos tests, déposez les résultats dans une base de données SQL avec le numéro de révision et le minutage des tests. Ensuite, vous pouvez les représenter à tout moment et à votre guise (idéalement dans un petit applet Web, afin que tous les membres de l'équipe puissent les consulter) et voir si votre performance est à la hausse ou à la baisse, ou si les performances ont été médiocres depuis une révision particulière.

Cependant, l'élément clé ici est qu'il doit s'agir d'un graphe . De cette façon, les yeux de l'homme peuvent regarder et trouver les tendances Vous pourriez passer toute la semaine à essayer de concevoir un algorithme d’intelligence artificielle permettant d’analyser les données numériquement, mais cela ne battrait jamais la capacité de reconnaissance des formes d’un humain.

Autres conseils

Vous pouvez examiner les fonctionnalités disponibles avec un outil tel que Ants Profiler, car il donne les temps d'exécution / d'exécution des méthodes, mais je ne suis pas sûr de ce qu'il offre en termes de tests répétés.

En ce qui concerne les tests de performance, je suis très sceptique quant à l'utilisation de VMware ou d'autres processus de virtualisation. La façon dont nous avons géré cela par le passé est de faire en sorte qu'une partie de la construction installe la dernière version sur une machine statique et exécute les tests. Vous devriez voir des résultats plus cohérents en dehors de la virtualisation.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top