程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> 單元測試工具C++ Test簡介

單元測試工具C++ Test簡介

編輯:關於C++

C++ Test是Parasoft公司出品的一個針對C/C++源代碼進行自動化單元測試的工具。它可以對源代碼進行三種測試:白盒測試、黑盒測試以及回歸功測試。

白盒測試

C++ Test對C/C++源代碼進行分析,針對所有的類的成員函數(包括:公共的、保護的以及私有類型的)進行測試。測試的方法是判斷當輸入一個非法的參數時,有關函數能否正確處理。(Record命令)在此狀態下軟件針對指定的文件、類或者是函數自動生成測試用例。

黑盒測試

不對源代碼進行分析,並且只針對類的公共接口函數進行測試。(Play命令)

在此狀態下軟件不自動生成測試用例,而是直接運行在"測試用例編輯器"中當前已有的測試用例(手工添加的)。

回歸功測試

在修改源代碼後用原有的測試用例進行重新測試。(Play命令)

建議在實際使用中首先用Record命令執行一遍白盒測試,讓軟件根據函數自動生成相應的測試用例,然後再根據需要手工添加一些測試用例,最後再通過Play命令執行一遍黑盒測試。

示例一

假設我們要測試如下一個類的成員函數:int mode2(int nParam),則在進行白盒測試時軟件會自動為我們生成如下6個測試用例:

nParam = 1, 0, -1, 2147483647, -2147483647, 230

可以看出,軟件測試用例的生成主要還是測試一些邊界值,例如最大值、最小值、0等。

示例二

假設我們要測試如下一個類的成員函數:void strcpy(char* dest, char const * src),則軟件會自動生成如下9個測試用例:

(1) dest = NULL, src = NULL

(2) dest = "yPqKIJ!u_", src = NULL

(3) dest = "", src = NULL

(4) dest = NULL, src = "h)zn9b"

(5) dest = "BsmC,/i=zI6CT}pX", src = "HcI{BeP(J"

(6) dest = "", src = "% i?~TnON"

(7) dest = NULL, src = ""

(8) dest = "($MN<n;^", src = ""

(9) dest = "", src = ""

可見,如果我們的代碼在實現時沒有對各種可能情況(尤其是邊界條件)進行特殊處理的話,則通過C++Test可以方便地發現這些潛在的問題。此外,對於一些特殊的測試情況,我們還可以手工創建測試用例。此外,采用C++ Test也可以幫助我們檢查程序的編碼情況,判斷是否嚴格按編碼規范進行開發。

使用

C++ Test的使用比較簡單,即可以針對一個VC工程進行全面的測試,也可以一次只對一個C/C++源文件進行測試。

在試用中發現,如果項目比較大時,最好不要直接對一個工程進行自動測試,而應按文件一個一個地測試,否則可會會導致程序死掉。由於其是采用JAVA技術開發的,所以在使用時最好使用運算速度較快的機器。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved