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

詳細介紹測試C++ Test工具說明

編輯:C++入門知識

首次進行測試C++ Test之前,一定要了解C++ Test的執行原理,C++ Test可以對C++源代碼進行三種不同的測試,其分為:白盒測試、黑盒測試以及回歸功測試,這些都是一些常用方法希望本文能給您帶來一些幫助。

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

在此狀態下軟件不自動生成測試用例,而是直接運行在"測試用例編輯器"中當前已有的測試用例手工添加的)。回歸功測試在修改源代碼後用原有的測試用例進行重新測試。Play命令)

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

示例一

假設我們要測試如下一個類的成員函數:int mode2(int nParam),則在進行白盒測試時軟件會自動為我們生成如下6個測試用例:可以看出,軟件測試用例的生成主要還是測試一些邊界值,例如最大值、最小值、0等。

示例二

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

  1. dest = NULLsrc = NULL 
  2. dest = "yPqKIJ!u_"src = NULL   
  3. dest = ""src = NULL   
  4. dest = NULLsrc = "h)zn9b"   
  5. dest = "BsmC,/i=zI6CT}pX"src = "HcI{BeP(J"   
  6. dest = ""src = "% i?~TnON"    
  7. dest = NULLsrc = ""   
  8. dest = "($MN, src = ""   
  9. dest = ""src = ""  

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

測試C++ Test的使用比較簡單,即可以針對一個VC工程進行全面的測試,也可以一次只對一個C/C++源文件進行測試。在試用中發現,假如項目比較大時,最好不要直接對一個工程進行自動測試,而應按文件一個一個地測試,否則可會會導致程序死掉。由於其是采用Java技術開發的,所以在使用時最好使用運算速度較快的機器。

測試C++ Test是Parasoft公司出品的一個針對C/C++源代碼進行自動化單元測試的工具。它可以對源代碼進行三種測試:白盒測試、黑盒測試以及回歸功測試。 白盒測試測試C++ Test對C/C++源代碼進行分析,針對所有的類的成員函數包括:公共的、保護的以及私有類型的)進行測試。測試的方法是判斷當輸入一個非法的參數時,有關函數能否正確處理。Record命令)在此狀態下軟件針對指定的文件、類或者是函數自動生成測試用例。

  • 剖析C++的復雜性的兩種分類方法
  • 詳述C++庫的使用與維護工作
  • 詳述Visual C++語言編寫數據庫
  • 研究ADO調整Visual C++語言進行學習
  • 高級程序員對C++程序說明操作

不對源代碼進行分析,並且只針對類的公共接口函數進行測試。Play命令)在此狀態下軟件不自動生成測試用例,而是直接運行在"測試用例編輯器"中當前已有的測試用例手工添加的)。

回歸功測試在修改源代碼後用原有的測試用例進行重新測試。Play命令)建議在實際使用中首先用Record命令執行一遍白盒測試,讓軟件根據函數自動生成相應的測試用例,然後再根據需要手工添加一些測試用例,最後再通過Play命令執行一遍黑盒測試。


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