一. 安裝說明
步:
打開安裝源程序,同普通的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格式的報表。
報表有多種類別和格式。 可以按照自己的需要來挑選。
文章來源于領測軟件測試網 http://www.kjueaiud.com/