BullseyeCoverage C++代碼覆蓋分析工具
BullseyeCoverage C ++代碼覆蓋分析工具
Bullseye Coverage是Bullseye公司開發的一款C / C ++代碼覆蓋測試分析工具,支持多種的C ++編譯器,除了Unix下的編譯器之外,Windows的Borland C ++,Gnu C ++也都有支援。
BullseyeCoverage是一個用於C ++和C的代碼覆蓋率分析器,它可以告訴您測試了多少源代碼。您可以使用此信息快速集中測試工作並確定需要檢查的區域。代碼覆蓋率分析在單元測試,集成測試和最終發布期間非常有用。BullseyeCoverage使您能夠創建更可靠的代碼並節省時間。
- 功能覆蓋為您提供快速概覽,條件/決策覆蓋率為您提供高精度
- 適用於您可以用C ++和C編寫的所有內容,包括系統級和內核模式
- 學習曲線短
- 包含或排除項目代碼的任何部分
- 包含運行時源代碼,適用於自定義環境
- 簡單的許可。
- 合併分佈式測試的結果
- 與Microsoft Visual Studio集成
BullseyeCoverage測量技術
有些產品報告了幾個類似的代碼覆蓋率測量,讓您找出應該查看的代碼。BullseyeCoverage通過僅報告最佳的兩個度量來解決此問題:快速評估整體覆蓋範圍的功能覆蓋率以及詳細測試的條件/決策覆蓋率。
功能覆蓋範圍
函數覆蓋率告知是否調用了每個函數。通過查看功能覆蓋範圍,您可以快速了解軟件的哪些主要區域未經測試。要快速發現缺陷,請在深入研究任何一個區域的詳細測試之前,通過在軟件的所有區域實現功能覆蓋來開始測試。
條件/決策覆蓋範圍
條件/決策覆蓋率衡量您是否運用每個可能的決策結果以及每個可能的條件結果的每個控制結構。甲決定是影響控制在一個控制結構的流整個表達式。決策可能包含條件,這些條件是由logical-and(&&)和logical-or(||)運算符分隔的子表達式。條件/決策覆蓋率基本上衡量您是否測試了控制結構的所有邏輯。
條件/決策覆蓋率是詳細的白盒代碼測試的總體最佳覆蓋度量。條件/決策覆蓋範圍平衡可用性和徹底性。更簡單的覆蓋措施對於源代碼中的許多明顯路徑是盲目的。例如,與語句覆蓋率,分支覆蓋率和條件覆蓋率相比,條件/決策覆蓋範圍更強,同樣易於使用。條件/決策覆蓋範圍比這些度量更多的測試用例,因此可以更好地了解您未測試的內容。更全面的覆蓋措施需要顯著增加複雜性,同時減少暴露錯誤的可能性。例如,與路徑覆蓋相比及其變體,如LCSAJ覆蓋範圍和數據流覆蓋範圍,條件/決策覆蓋範圍更加容易使用。
源代碼檢測
BullseyeCoverage使用源代碼檢測,這是最佳覆蓋率分析所必需的。它還使我們的技術可以輕鬆適應各種處理器和平台。但我們沒有犧牲表現; 我們的構建時間和運行時速度是最好的。
功能覆蓋範圍
函數覆蓋率告知是否調用了每個函數。通過查看功能覆蓋範圍,您可以快速了解軟件的哪些主要區域未經測試。要快速發現缺陷,請在深入研究任何一個區域的詳細測試之前,通過在軟件的所有區域實現功能覆蓋來開始測試。
借助Microsoft C ++,我們的智能預處理器可以最大限度地降低性能影響,同時模仿Microsoft的特性。BullseyeCoverage識別宏調用並調整測量值以反映真正需要測試的內容。
自動保存
BullseyeCoverage每秒自動保存一次覆蓋率。緩沖和性能之間沒有權衡。
性能
執行時間增加1.2倍。代碼大小增加1.4倍。大多數Microsoft C ++項目的構建時間增加1.7倍,其他編譯器增加3-8倍。