Parasoft C/C++ test 自動化用戶指南(二十三):用測試開始和停止信息對結(jié)果進行注釋
Parasoft C/C++test針對C/C++開發(fā)的專業(yè)白盒自動化測試方案,能有效提高軟件開發(fā)效率和代碼質(zhì)量。C++test 可以進行靜態(tài)分析,全面代碼審查,運行時錯誤檢測,并在單元測試和組件測試中集成覆蓋率分析。
在 Parasoft C/C++test 中,可以使用測試開始/停止信息注釋代碼覆蓋率結(jié)果,以了解特定測試場景如何影響代碼執(zhí)行。測試開始通知傳達有關(guān)測試名稱的信息,可在處理測試數(shù)據(jù)和生成報告時使用。
測試開始/停止注釋功能可作為 API 使用,并且可以擴展到許多不同的場景。例如,可以將代碼覆蓋率結(jié)果與單元測試相關(guān)聯(lián),或者將代碼覆蓋率結(jié)果與系統(tǒng)測試期間執(zhí)行的手動測試場景相關(guān)聯(lián)。
使用測試啟動/停止 API
API包括以下功能:
- void CDECL_CALL CppTest_TestStart(const char* testName) - 向結(jié)果流發(fā)送關(guān)于具有指定名稱的測試開始的通知
- void CDECL_CALL CppTest_TestStop(void) - 向結(jié)果流發(fā)送關(guān)于先前開始的測試結(jié)束的通知。
在將調(diào)用 API 函數(shù)的源文件中包含一個專用的頭文件:
#include "cpptest/cpptest.h"
|
編譯源文件時使用-I選項指定cpptest.h頭文件位置:
-I <Installation Directory>/runtime/include
|
指定一個有效的字符串作為CppTest_TestStart function. 空指針或無效字符串將導(dǎo)致未定義的行為。
測試啟動/停止場景的常見應(yīng)用
以下場景說明了測試啟動/停止通知 API 的用法。
使用單元測試用例名稱注釋覆蓋結(jié)果
在這種情況下,單元測試用例名稱用作指定給CppTest_TestStart函數(shù)調(diào)用的參數(shù)。對于一些流行的 C/C++ 單元測試框架,提供了專用連接器來自動執(zhí)行此任務(wù)。
要使用沒有專用連接器的單元測試框架,您可以在測試用例的開頭和結(jié)尾調(diào)用啟動/停止 API 函數(shù):
#include "cpptest/cpptest.h"
TEST(TimerTest, smokeTest) {
const char * tcName = testCaseName();
CppTest_TestStart(tcName);
int res = init_timer();
ASSERT_TRUE(res != 0);
CppTest_TestStop();
}
|
使用系統(tǒng)測試會話的手動測試場景名稱注釋覆蓋結(jié)果
有幾種方法可以實現(xiàn)這個目標(biāo):
- 對測試啟動/停止 API 的調(diào)用可以直接添加到測試源。它們可以在被測試應(yīng)用程序的調(diào)試或測試版本中使用專用宏激活。向 API 函數(shù)調(diào)用提供測試場景名稱的方法取決于應(yīng)用程序的類型。在某些情況下,您可以向測試應(yīng)用程序的菜單添加一個特殊選項,該選項僅在調(diào)試版本或命令行中可見。這將使您能夠指定執(zhí)行的測試場景的名稱,并在輸入名稱后將通知發(fā)送到結(jié)果流。
- 在啟動測試應(yīng)用程序之前,還可以從環(huán)境變量集中讀取測試用例的名稱。
- 使用作為獨立線程實現(xiàn)的特殊模塊,該線程與測試應(yīng)用程序的線程并行啟動。例如,該模塊可以偵聽 TCP/IP 套接字,并在從外部工具發(fā)送測試啟動/停止命令時做出反應(yīng)。
Parasoft——領(lǐng)先的自動化測試工具,滿足絕大多數(shù)行業(yè)標(biāo)準(zhǔn)
Parasoft是一家專門提供軟件測試解決方案的公司,幫助企業(yè)打造無缺陷的軟件。
從開發(fā)到質(zhì)量檢查,Parasoft的技術(shù)通過集成靜態(tài)和運行時分析,單元、功能和API測試,以及服務(wù)虛擬化,在不犧牲質(zhì)量和安全性的情況下加快軟件交付,節(jié)約交付成本。
強大的報告和分析功能可幫助用戶快速查明有風(fēng)險的代碼區(qū)域,并了解新代碼更改如何影響其軟件質(zhì)量,而突破性的技術(shù)將人工智能和機器學(xué)習(xí)添加到軟件測試中,使組織更容易采用和擴展跨開發(fā)和測試團隊的有效的軟件測試實踐。
Parasoft針對C/C++、Java、.NET和嵌入式的開發(fā)測試都有著30多年的深入研究,很多全國500強企業(yè)使用Parasoft的產(chǎn)品實現(xiàn)了軟件快速、高質(zhì)量的交付。
獲取Parasoft資料或申請試用可加QQ:2867205852