0

Je voudrais utiliser l'outil Visual Studio vsinstr.exe pour instrumentation d'un exécutable C++ non géré (application héritée). C'est un très gros projet et ce serait un moyen de faire correspondre notre énorme contenu d'automatisation de test au code réel, afin d'identifier les cas de test qui sont affectés lorsqu'une modification est apportée à la base de code. Je suis cependant préoccupé par les performances d'un tel exécutable instrumenté, car nous devons essentiellement exécuter un contenu d'automatisation de test complet pour obtenir des données de couverture (ou le mettre à jour lorsque le code est modifié) et ce, chaque nuit. Pour obtenir l'image, l'exécution de l'automatisation de test prend peut-être 10 heures (tests d'interface graphique, pas de tests unitaires à cause de l'architecture héritée)vsinstr.exe instrumentée grande performance exécutable

Quelqu'un a-t-il une expérience réelle concernant les performances des exécutables instrumentés?

Répondre

0

Je réalise que cette question devient longue dans la dent (vieillir) alors ma réponse est destinée aux autres utilisateurs qui trébuchent à travers cette question. D'après mon expérience du monde réel, les binaires instrumentés fonctionnent beaucoup plus lentement, souvent par ordre de grandeur. Cependant, je n'ai instrumenté que les binaires MANAGED et l'OP a spécifiquement spécifié le C++ non géré de sorte que "votre kilométrage puisse varier". Ma suggestion serait d'exécuter un sous-ensemble des tests qui prennent entre 2-3 minutes. Exécutez ce sous-jeu 3 fois et faites la moyenne des résultats du temps d'exécution réel. Puis instrumentez les binaires et exécutez les mêmes tests 3 fois et calculez la moyenne. Moins de tests et les données peuvent être faussées en raison de l'initialisation de l'application. Plus de tests et vous PEUT finir par attendre une heure pour chaque test instrumenté.

Questions connexes