Couverture de code

Améliorer la qualité logicielle avec la couverture de code dans CppDepend

CppDepend intègre les données de couverture de code pour vous aider à identifier le code non testé, mesurer l'efficacité des tests et améliorer la qualité globale du logiciel. Cette section explique comment configurer et importer des données de couverture depuis diverses sources.

Technologies de couverture prises en charge

CppDepend peut importer les données de couverture depuis :

  • Bullseye fichiers de couverture
  • Cobertura
  • Visual Studio Team System
  • CTC++

Fichiers de couverture XML de Visual Studio

Visual Studio a 2 formats de fichiers de couverture.

  • Un format binaire où l'extension de fichier est .coverage. C’est le format obtenu en testant depuis Visual Studio. Vous pouvez aussi utiliser l’outil VSPerfMon.exe pour obtenir un fichier .coverage. Pour cela, vous devrez instrumenter chaque projet à couvrir avec l’outil VSInstr.exe utilisé avec l’option /Coverage.
  • Un format XML (avec l’extension de fichier .coveragexml depuis VS 2010, et .xml pour les versions précédentes)

CppDepend ne consomme que le format XML. Vous pouvez exporter manuellement des fichiers de couverture XML depuis les fichiers binaires de Visual Studio avec cette option :

Export de couverture de code Visual Studio

Voir l’extrait de code ci-dessous : 3 lignes suffisent pour transformer par programmation un fichier de couverture binaire en fichier XML.

  • Pour cela, vous devrez référencer depuis votre projet l’assembly Microsoft.VisualStudio.Coverage.Analysis.dll:
    • Une version x86 de cette DLL se trouve sous C:\Program Files (x86)\Microsoft Visual Studio XX.0\Common7\IDE\PrivateAssemblies
    • Une version x64 de cette DLL se trouve sur le serveur x64 où TFS est installé, sous C:\Program Files\Microsoft Team Foundation Server XX.0\Application Tier\TFSJobAgent\Plugins
  • Les deux System.Data et System.Data.DataSetExtensions devront également être référencés.
  • Et si vous voulez que votre code soit indépendant de toute installation VS ou TFS, vous devrez également déployer Microsoft.VisualStudio.Coverage.Interop.dll utilisé par Microsoft.VisualStudio.Coverage.Analysis.dll.
using Microsoft.VisualStudio.Coverage.Analysis;
...
   var pathInBinary = @"C:\Dir\File.coverage";
   var pathOutXml = @"C:\Dir\File.coveragexml";
   var coverageInfo = CoverageInfo.CreateFromFile(pathInBinary);
   var data = coverageInfo.BuildDataSet();
   data.WriteXml(pathOutXml);

Fichiers de couverture XML de CTC++

Vous pouvez utiliser le Ctc2cob outil qui convertit les rapports Testwell CTC++ en rapports XML de type Cobertura.

Configuration des fichiers de couverture

Dans le menu VisualCppDepend : Propriétés du projet > Analyse > Couverture de code > Paramètres

paramètres de couverture de code

Importer les données de couverture

Dans le menu VisualCppDepend : Couverture > Importer les données de couverture de code

ou

Dans le menu VisualStudio : CppDepend > Couverture > Importer les données de couverture de code

Importer les données de couverture

Essayez CppDepend aujourd'hui

Commencez votre essai gratuit de 14 jours avec accès complet à toutes les fonctionnalités de documentation. Sans carte bancaire.