Parasoft C++ Test簡介

發表于:2008-01-22來源:作者:點擊數: 標簽:Testtest
C++ Test是 Parasoft 公司出品的一個針對C/C++源代碼進行自動化 單元測試 的工具。它可以對源代碼進行三種測試:白盒測試、黑盒測試以及回歸功測試。 白盒測試 C++ Test對C/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

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

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

  使用

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

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

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97