代码覆盖测试工具Kcov简介及使用
Kcov是一個代碼覆蓋測試工具,最初基于Bcov,它可在FreeBSD、Linux、OSX系統(tǒng)中使用,支持的語言包括編譯語言(compiled languages)、Python和Bash。與Bcov一樣,Kcov對編譯的程序使用DWARF調(diào)試信息,以便無需特殊編譯器開關(guān)即可收集覆蓋信息。注:測試程序需要使用Debug模式編譯。
在Ubuntu14.04上安裝Kcov操作步驟:
1. 從?https://github.com/SimonKagstrom/kcov/releases 下載最新穩(wěn)定版v36源碼:kcov-36.tar.gz
2. 將kcov-36.tar.gz拷貝到/data/Soft/kcov目錄下,并解壓縮,執(zhí)行以下命令會產(chǎn)生kcov-36目錄:
sudo tar -xvzf kcov-36.tar.gz
3. 通過sudo apt-get install命令安裝以下依賴項,否則不會生成kcov執(zhí)行文件:
sudo apt-get install binutils-dev libcurl4-openssl-dev zlib1g-dev libdw-dev libiberty-dev
4. 進入kcov-36目錄,依次執(zhí)行如下命令:
sudo mkdir build
cd build
sudo cmake ..
sudo make
sudo make install
5. 驗證Kcov是否安裝正確,查看Kcov安裝版本,執(zhí)行命令$ kcov --version,結(jié)果如下圖所示:
6. Kcov的使用:以GitHub上的Messy_Test( https://github.com/fengbingchun/Messy_Test?)為例:將終端定位到Messy_Test/prj/linux_cmake_CppBaseTest目錄下,執(zhí)行:
./build.sh
kcov --include-path=../../demo/CppBaseTest kcov_report ./build/CppBaseTest
生成的相關(guān)信息均在kcov_report目錄下,如下圖所示:
其中CppBaseTest.197f3eb3277c3ef0目錄是我們主要關(guān)注的,demo/CppBaseTest中的每個.cpp文件都會生成對應(yīng)的*.html和*.js文件,用瀏覽器打開*.html文件即可查看到當前指定文件的覆蓋率,如下圖所示:multi_threaded_memory_pool.cpp文件的覆蓋率為88.3%,其中綠色代表執(zhí)行程序調(diào)用到,紅色代表執(zhí)行程序沒有調(diào)用過:
7. Kcov選項的更多說明可以通過執(zhí)行kcov --help來查看,如下圖所示:
?
總結(jié)
以上是生活随笔為你收集整理的代码覆盖测试工具Kcov简介及使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 提高C++性能的编程技术笔记:多线程内存
- 下一篇: 非对称加密算法RSA公钥私钥的模数和指数