代碼覆蓋率測試工具Testwell CTC++在版本10中引入了新的工具ctcreport來直接從符號和數據文件生成HTML報告。詳細的特性描述可以在測試井CTC++幫助中找到。在本文檔中,描述了與前一代報告相比的改進和變化。
Adaptable Layout可調整布局
您可以選擇一個適合于項目結構的布局。布局決定了報告的詳細信息級別(目錄、文件、函數)和生成的HTML頁面類型(概述頁面、詳細信息頁面、源代碼視圖)。布局在ctcreport-layout.ini文件夾中配置。
Reducing Generation Steps減少生成步驟
生成HTML報告時不再需要中間文本報告(profile.txt)。與ctcpost + ctc2html調用相比,報告生成通常也更快。
組合顯示覆蓋率
您可以選擇要在報告中顯示的覆蓋率的任意組合和順序。
使用選項度量-measures mcdc,d,s 生成了上面屏幕截圖中的報告。
工程名
您可以使用您可以使用“-D "ProjectName=My Super Tool""。項目名稱顯示在報告的標題中。
頭文件函數體報告
當一個包含的文件在多個函數體中進行預處理時,ctcpost只“提取”找到的第一個函數體,并報告所有其他變體作為其包含文件的一部分。
相比之下,ctcreport將頭文件的每個函數體報告為一個獨立的實體。所包含的文件從未作為其所包含的文件的一部分進行報告。
有條件編譯代碼的標識
條件預處理器指令之間的代碼現在在所有情況下都被標識為活動的或非活動的,而不僅僅是如果內部有一個來自ctc的檢測探測器。因此,ctcreport可靠地導出線路覆蓋和代碼部分已失活的視覺指示:
顯示所有 Probe 信息
在源代碼行上有一個檢測探測的常見情況下,源代碼視圖會顯示行旁邊的真和假計數器,并抑制探測類型和描述。例如,當使用宏時,這可能導致起源不明確的計數器。
在新的HTML報告中,您可以通過選擇 Source & Details > Show Coverage Details > Single Probe Descriptions。
當一行上有多個探針時,現在將始終顯示第一個探針描述(與同一行上的所有其他探針一樣)。
協助報告內部函數
在所有表格視圖中,您可以按覆蓋率或每個覆蓋率度量的缺失命中數對表格數據進行排序。
在源代碼視圖中,您可以選擇要顯示的詳細信息,并可以突出顯示特定度量的計數器,以理解計算。
模板化的HTML
生成的HTML代碼完全是從位于ctcreport文件夾中的一個名為html_template.zip的HTML模板集中繪制出來的。這個包包含用于概述頁面、詳細信息頁面、源代碼視圖以及CSS和JavaScript資源的模板化HTML文件。
可以調整模板。在這種情況下,復制原始的,更改后將其歸檔到像my_template.zip這樣的ZIP包中,然后用選項調用ctcreport -template my_template.
處理不同的構建/報告目錄
當源代碼在檢測期間位于不同的目錄中時,SOURCE_IDENTIFICATION設置為不同于“絕對”的值,并且過去使用ctc2html的-s選項在不同文件夾中查找源文件。
此功能完全被一個新功能所取代:將記錄在符號文件中的源標識映射到可用于報告的源路徑。選項映射源標識用于此目的。為了方便地顯示長路徑,可以選擇縮短路徑。為此,不再需要使用SOURCE_IDENTIFICATION=_。
交付包中的更改
因此,ctc2html不再是Testwell CTC++的一部分。ctcpost仍然用于生成文本或XML報告,以及分析和組合符號和數據文件。
”合并”注意事項
以下工作流:
1.生成XML報告,
2.將它們合并到一個文本報告中,
3.使用ctc2html從該文本報告生成HTML報告,
已經不再被完全支持了。在大多數情況下,您可以將符號和數據文件合并到HTML報告中。
對于在不同函數體中預處理的源文件(例如,由于#if),ctcreport在一個報告中獨立顯示該源或頭文件的每個函數體,但不合并來自不同函數體的覆蓋數據。
Linux的構建啟動器ctclaunch
ctclaunch 可以用于直接與像CMake這樣的構建工具交互,將構建命令作為輸入,并注意使用所有編譯器和鏈接器調用來調用ctc。
ctclaunch 從9.1版本開始用于Windows,現在引入于Linux。
我們建議盡可能使用ctc啟動代替ctcwrap(標準或“-hard”模式)。如果您遇到任何問題,請與您的支持團隊聯系。我們希望在未來的版本中撤回ctcwrap。
在Windows改變ctclaunch的配置
為了簡化在Windows和Linux上啟動的使用,使用了一個名為ctclaunch.ini的配置文件。構建過程中使用的所有編譯器和鏈接器必須都列在此文件的新配置參數PREPEND_CTC中,位于CTCHOME。
計算機啟動時不再使用文件wrapcmds.txt。在升級時,您必須檢查ctclaunch.ini中的編譯器設置一次。
停用缺省值的檢測工具
自9.1版本以來,缺省值,必須進行測試。對于C++代碼,在最后一種情況下可能會導致初始化的編譯問題。此代碼
可以在編譯為C代碼時插入,但不能在編譯為C++代碼時插入。在版本10中,引入了一個新的配置參數MISSING_DEFAULT_INSTR,并在ctc.ini文件中設置為ON。
設置
符號和數據文件
由于這是一個主要版本,所以必須從頭開始生成符號和數據文件。它們不能從以前的版本中使用。
Windows:可執行文件簽名
在Windows上,安裝程序和所有可執行文件現在都使用代碼簽名證書進行簽名。此外,一個MD5散列也可用于所有的ZIP軟件包。
許可證
從版本10開始,許可證控制包括所使用的測試井CTC++版本的發布日期。如果您有一個較舊的許可證文件,請聯系您的銷售經理為一個新的。新的許可文件允許使用在維護期結束之前發布的版本。
問題修復
在if-語句等中對編譯常數決策的擴展識別。在9.0.0版本中引入的版本可能會導致崩潰和錯誤的分類。這種認可現在被一種新的實現所取代。
現在,如果一個決策只包含字符串、數字、字符、方括號、運算符、大小運算符、標準C類型、常量修飾量常量,那么它就被識別為編譯時常數。
想要了解更多有關Testwell CTC++的技術信息及商務服務,請訪問http://www.softtest.cn/留下您的詳細需求或按以下方式聯系旋極信息: