原創(chuàng)|使用教程|編輯:張莉|2025-10-20 11:10:29.437|閱讀 11 次
概述:在自動(dòng)化單元測試過程中,針對包含復(fù)雜數(shù)據(jù)類型或依賴外部資源的函數(shù)參數(shù),測試工具往往難以自動(dòng)生成有效的測試輸入。為此,Parasoft C/C++test 提供了工廠函數(shù)機(jī)制,允許用戶通過自定義的初始化邏輯,指導(dǎo)測試引擎構(gòu)造合法且適用的參數(shù)對象。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
在自動(dòng)化單元測試過程中,針對包含復(fù)雜數(shù)據(jù)類型或依賴外部資源的函數(shù)參數(shù),測試工具往往難以自動(dòng)生成有效的測試輸入。為此,Parasoft C/C++test 提供了工廠函數(shù)機(jī)制,允許用戶通過自定義的初始化邏輯,指導(dǎo)測試引擎構(gòu)造合法且適用的參數(shù)對象。
一、定義工廠函數(shù)
工廠函數(shù)在Parasoft C/C++test框架中是指一類特殊命名的用戶自定義函數(shù),其主要作用是在自動(dòng)生成單元測試用例時(shí),為復(fù)雜數(shù)據(jù)類型或依賴外部資源的對象提供定制化的初始化方案。當(dāng)被測函數(shù)包含指針、結(jié)構(gòu)體或抽象類接口等難以自動(dòng)初始化的參數(shù)時(shí),C/C++test的測試用例生成引擎會(huì)調(diào)用對應(yīng)的工廠函數(shù)來構(gòu)建合法可用的測試對象實(shí)例,從而突破自動(dòng)化測試的技術(shù)瓶頸,顯著提升單元測試的覆蓋深度與執(zhí)行穩(wěn)定性。
定義工廠函數(shù)的路徑需要與測試執(zhí)行配置對應(yīng),如下圖所示部分
1、創(chuàng)建工廠函數(shù)文件夾
上圖所示默認(rèn)配置的工廠函數(shù)所在文件夾為factory,因此在IDE中右鍵創(chuàng)建factory文件夾
2、創(chuàng)建工廠函數(shù)頭文件
該步驟與通常開發(fā)一致,需要添加對應(yīng)頭文件以及聲明,特殊點(diǎn)在于所有函數(shù)需要使用CppTest_Factory_作為前綴,如給函數(shù) void num(int n); 的形參生成工廠函數(shù),那么該工廠函數(shù)為 int
CppTest_Factory_generatenum();
如下圖所示:
函數(shù)原型
工廠函數(shù)頭文件
3、創(chuàng)建工廠函數(shù)源文件
該步驟與一般研發(fā)無區(qū)別,需要手動(dòng)定義對應(yīng)聲明
二、使用工廠函數(shù)
1、使用前提
在需要使用工廠函數(shù)的被測源文件中,include工廠函數(shù)頭文件,推薦通過宏開關(guān)來避免源碼污染。
2、自動(dòng)生成測試用例時(shí)使用工廠函數(shù)
如下圖所示勾選
3、測試用例向?qū)Х绞绞褂霉S函數(shù)生成測試用例在測試用例向?qū)е校x擇對應(yīng)的工廠函數(shù)即可
通過集成Parasoft C/C++test的工廠函數(shù)等高級(jí)測試特性,開發(fā)團(tuán)隊(duì)能夠構(gòu)建高度自動(dòng)化的代碼質(zhì)量保障體系。不僅顯著提升了單元測試的覆蓋深度與執(zhí)行效率,更與工具的靜態(tài)分析、覆蓋率追蹤等功能形成完整質(zhì)量閉環(huán),為嵌入式系統(tǒng)、安全關(guān)鍵應(yīng)用等領(lǐng)域的長期質(zhì)量演進(jìn)提供了可靠的技術(shù)基礎(chǔ)。
關(guān)于慧都
慧都是一家行業(yè)數(shù)字化解決方案公司,專注于軟件、石油與工業(yè)領(lǐng)域,以深入的業(yè)務(wù)理解和行業(yè)經(jīng)驗(yàn),幫助企業(yè)實(shí)現(xiàn)智能化轉(zhuǎn)型與持續(xù)競爭優(yōu)勢。在軟件工程領(lǐng)域,我們提供開發(fā)控件、研發(fā)管理、代碼開發(fā)、部署運(yùn)維等軟件開發(fā)全鏈路所需的產(chǎn)品,提供正版授權(quán)采購、技術(shù)選型、個(gè)性化維保等服務(wù),幫助客戶實(shí)現(xiàn)技術(shù)合規(guī)、降本增效與風(fēng)險(xiǎn)可控。
慧都科技作為Parasoft公司在中國區(qū)的官方授權(quán)合作伙伴,為國內(nèi)企業(yè)提供Parasoft C/C++test產(chǎn)品的正版授權(quán)、定制化部署與全生命周期技術(shù)支持與服務(wù)。我們致力于助力客戶精準(zhǔn)貫徹功能安全標(biāo)準(zhǔn)、全面提升軟件開發(fā)效率、有效管控項(xiàng)目風(fēng)險(xiǎn),最終構(gòu)建符合國際標(biāo)準(zhǔn)的高質(zhì)量軟件體系。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@ke049m.cn