C++Test的使用說明

來源:互聯網
上載者:User

一. 安裝說明
第一步:
開啟安裝來源程式,同普通的windows應用程式一樣,選擇安裝路徑,完成安裝。
第二步:
從案頭或者 菜單開啟C++Test,將彈出類似於下面的一個視窗:這裡的machine ID就是C++Test和主機綁定的資訊。這個machine ID需交給 華唐公司,來申請license。而由於license的種類不同,可以分為local license(單機版)和net license(網路版)。
第三步:
將相應的license和expire date粘貼到相應的位置,如果資訊正確,系統將提示license ok。如果資訊不正確,系統將提示wrong license。輸入正確的license,開啟 C++Test,就可以進入C++Test的使用者介面了。

二. 介面說明
1. 原始碼
在原始碼視窗可以看到我們所測試的代碼,介面非常友好,當選擇代碼時,被選擇的代碼也會以藍色塊的形式出 現。並且,當我們進行了靜態分析和動態分析時,這裡我們也可以非常直觀的觀測到靜態分析和動態分析的結果。代碼左側的紅色精靈帽表示靜態分析時出現問題的所在,藍色驚嘆號則表示動態分析時出現問題的所在。點擊相應的地方,會出現對問題的一個簡單描述。

2. 靜態分析
在靜態分析欄中的Results標籤是對靜態分析結果的一個羅列。每個紅色精靈帽都代表 一種違規行為,而它旁邊的數字則代表測試代碼中出現這種違規的次數。緊接著的字母表明違規行為的嚴重層級。再後面就是對這條規範的大致描述以及規則編號。
而 標籤Rules Manager則是對這些規則的管理,當使用者需要使用某條規則的時候,只需要在相應規則左側的方框內打上勾就表明選擇了該條規則。而當使用者不需要某條規則檢查的時候,只需要去掉相應規則的勾就可以了。

3. 動態分析
在動態測試中的Test Case/Results欄中,主要是對測試案例的一個總體管理。在這裡,所有的測試案例的狀態都一目瞭然,綠色表示成功,紅色表示失敗。使用者可以自己添加或修改測試案例。
而Stub Tables欄則是對樁函數的管 理,Suppressions則是對測試對象的一個管理。例如,上面的Data類有很多個成員函數,當使用者並不想全部都測,而只是測其中的幾個。這個時候 就可以通過Suppressions進行選擇。
除此之外,上面的Tree filter還提供強大的濾波器功能,可以讓使用者更好的關注他們的焦點,例如只看最近一次測試的失敗用例。

4. 過程進度
這欄就是在測試進行中,C++Test告訴使用者進度的一個對話方塊。所有的測試都分成靜態 動態兩部分。紅X表示此次測試不進行的部分,綠勾代表此次測試進行了的部分。後面的數字則是對測試案例的統計。例如(6/7)表示,總共有7個測試案例, 其中6個已經進行了測試。

三. 操作
1. 建立測試環境
(1) 開啟C++Test,選擇file/open file,選擇 C++Test安裝目錄下examples/cpptest_demo.cpp,這個cpp檔案將出現在當前的project下。

(2) 在當前project下,右擊cpptest_demo.cpp,選擇read symbols(讀入符號表),此時C++Test將parse(剖析)這個來源程式,分析出此檔案的檔案結構。

(3) 右擊cpptest_demo.cpp,選擇build test,C++Test將自動的建立測試環 境,包括測試驅動程式,樁模組。

2. 靜態測試
單擊靜態測試的按鈕,C++Test將自動完成對原始碼的靜態測試,也就是我們所說的代 碼走查,走查所用到的規範可以在靜態測試標籤的rule manage下看到。
,右側就是靜態測試(代碼走查)的結果。每條違規資訊包括對違 規的描述,該錯誤共發生的次數以及相對應的具體位置。而下面的rule desription則是對這條規則的一個比較詳細的描述。頂層的檔案夾後面的 “I=4 PV=1 V=33……”描述的是整個的對違規資訊的統計。
I表示information,通知行為
PV表示 possible violation,可能的違規行為
V表示violation,違規行為
PSV表示 possible servere violation,可能的嚴重違規行為
SV表示servere violation,嚴重違規行為。

3. 動態測試(Native)
單擊動態測試的按鈕,C++Test將自動完成代碼的動態測試。可以從 各個層面上(單個測試案例,整個函數的測試案例,整個代碼的測試案例)去看相對應代碼的覆蓋率。操作的時候,只需要右擊相應的層次(例如一個測試案例),選擇show coverage,就可以看到對應的覆蓋率了。
,右側就是對動態測試的一個整體描繪。列舉了所有的測試案例,並且用顏色來區分 成功和失敗的測試案例,綠色代表成功通過了的測試案例,而紅色代表沒有通過也就是失敗了的測試案例,對於每個錯誤的測試案例都有一個大致的描述。
每 個測試案例或者各個節點上都做到了相應的覆蓋率資訊,包括了LC(語句覆蓋),BBC(塊覆蓋),PC(路徑覆蓋),DC(決策覆蓋),MCDC(多條件 決策覆蓋)以及CC(條件覆蓋)。
此外,上面的tree filter過濾器功能可以協助使用者迅速 察看到自己關心的焦點或錯誤。

4. 動態測試(Source)
單擊動態測試的按鈕,
C++Test將自動完成代碼的動態測試 (Source)。

5. 產生報表
選擇file/generate report,根據對報表的需求,選擇適當的報表內容種類(例如 dynamic analysis1,coverage statistic1)。然後就會產生一個HTML格式的報表。
報表有多種類別和格 式。 可以按照自己的需要來挑選。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.