C++程式碼涵蓋範圍工具Coverage Validator

來源:互聯網
上載者:User

市面上的C++程式碼涵蓋範圍工具大都收費,Coverage Validator也不例外。Coverage Validator應該少有人聽過,我也是在stackoverflow裡聽別人介紹的。所以下載了試用一下。有興趣的朋友可以去https://www.softwareverify.com/cpp/coverage/index.html瞭解一下更多東西,上面提供有30天試用版本。

之前試過CoverageMeter,使用起來也是蠻方便的,主要原理是替換了原有的編譯器,在代碼中進行插樁。因此,CoverageMeter的特點是需要重編被測試代碼。這也是大部分覆蓋率工具常用的方法。而Coverage Validator,不需要重編被測代碼,只需要提供被測二進位程式的pdb檔案,就能統計其程式碼涵蓋範圍。它能同時統計行覆蓋,分支覆蓋,函數覆蓋等。

Coverage Validator使用起來也非常簡單,你只需要:

1. 使用Coverage Validator運行你的被測程式。

通過菜單"File"-"Start Application" ,制定需要啟動並執行程式,然後又很多選項,如制定程式路徑,命令列參數,環境變數等,後來還提供了幾種啟動程式的方式,比如:CreateProcess,這也是最常用的方式。

2. 在Coverage Validator中查看覆蓋率結果。 

結果查看也挺方便,代碼視窗中用顏色標記了哪些行被覆蓋,哪些行未覆蓋。

你還可以:

設定過濾條件,只統計載入的某個模組的覆蓋率資料。比如,你要測試的是一個DLL,你就可以設定過濾條件,只統計該DLL的程式碼涵蓋範圍。你還可以設定過濾只統計某個類,某個函數的覆蓋率資料。設定過濾的方法非常簡單,我也不貼自己的圖了。菜單:"Configure" - "Settings" - "Filters"

下面是引用的官方網站的介面(說實話,介面挺簡陋的)

總結果頁面:

 

詳細結果頁面:

 

 由於該軟體是商業軟體,同時使用起來也非常簡單,並配有詳細的文檔,因此,本文並不打算詳細示範Coverage Validator如何工作的,本文的目的是讓大家瞭解到有這麼一個工具,或許可以給你帶來新的思路,或許這個工具對你確實有用。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.