Codeabdeckung

Softwarequalität mit Code-Coverage in CppDepend verbessern

CppDepend integriert Codeabdeckungsdaten, um Ihnen zu helfen, ungetesteten Code zu identifizieren, die Testeffektivität zu messen und die allgemeine Softwarequalität zu verbessern. Dieser Abschnitt erklärt, wie Sie Abdeckungsdaten aus verschiedenen Quellen konfigurieren und importieren.

Unterstützte Abdeckungstechnologien

CppDepend kann Abdeckungsdaten importieren aus:

  • Bullseye Abdeckungsdateien
  • Cobertura
  • Visual Studio Team System
  • CTC++

XML-Abdeckungsdateien aus Visual Studio

Visual Studio hat 2 Abdeckungsdateiformate.

  • Ein Binärformat wobei die Dateiendung .coverage. Dies ist das Format, das Sie beim Testen aus Visual Studio erhalten. Alternativ können Sie auch das Tool VSPerfMon.exe verwenden, um eine .coverage-Datei zu erhalten. Dazu müssen Sie jedes zu erfassende Projekt mit dem Tool VSInstr.exe und der Option /Coverage instrumentieren.
  • Ein XML-Format (mit der Dateiendung .coveragexml seit VS 2010, und .xml für frühere Versionen)

CppDepend verarbeitet nur das XML-Format. Sie können XML-Abdeckungsdateien manuell aus binären Abdeckungsdateien von Visual Studio exportieren — mit dieser Option:

Visual-Studio-Codeabdeckungsexport

Sehen Sie sich das folgende Code-Snippet an: Es braucht 3 Codezeilen, um eine binäre Abdeckungsdatei programmgesteuert in eine XML-Abdeckungsdatei umzuwandeln.

  • Dazu müssen Sie in Ihrem Projekt die Assembly referenzieren: Microsoft.VisualStudio.Coverage.Analysis.dll:
    • Eine x86-Version dieser DLL finden Sie unter C:\Program Files (x86)\Microsoft Visual Studio XX.0\Common7\IDE\PrivateAssemblies
    • Eine x64-Version dieser DLL finden Sie auf einem x64-Server mit installiertem TFS unter C:\Program Files\Microsoft Team Foundation Server XX.0\Application Tier\TFSJobAgent\Plugins
  • Beide System.Data und System.Data.DataSetExtensions muss ebenfalls referenziert werden.
  • Und wenn Ihr Code unabhängig von einer VS- oder TFS-Installation sein soll, müssen Sie ebenfalls bereitstellen: Microsoft.VisualStudio.Coverage.Interop.dll die verwendet wird von 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);

XML-Abdeckungsdateien von CTC++

Sie können das Ctc2cob Tool, das Testwell-CTC++-Berichte in Cobertura-ähnliche XML-Berichte konvertiert.

Konfiguration der Abdeckungsdateien

Im VisualCppDepend-Menü: Projekteigenschaften > Analyse > Codeabdeckung > Einstellungen

Codeabdeckungseinstellungen

Abdeckungsdaten importieren

Im VisualCppDepend-Menü: Coverage > Codeabdeckungsdaten importieren

oder

Im Visual-Studio-Menü: CppDepend > Coverage > Codeabdeckungsdaten importieren

Codeabdeckungsdaten importieren

Testen Sie CppDepend noch heute

Starten Sie Ihre 14-tägige kostenlose Testversion mit vollem Zugriff auf alle Dokumentationsfunktionen. Keine Kreditkarte erforderlich.