欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種功能函數(shù)測(cè)試方法、設(shè)備、存儲(chǔ)介質(zhì)及程序產(chǎn)品與流程

文檔序號(hào):40601696發(fā)布日期:2025-01-07 20:42閱讀:6來源:國(guó)知局
一種功能函數(shù)測(cè)試方法、設(shè)備、存儲(chǔ)介質(zhì)及程序產(chǎn)品與流程

本發(fā)明涉及軟件開發(fā),特別是涉及一種功能函數(shù)測(cè)試方法、設(shè)備、存儲(chǔ)介質(zhì)及程序產(chǎn)品。


背景技術(shù):

1、單元測(cè)試(unit?test)主要是用來對(duì)程序當(dāng)中的功能函數(shù)(function)進(jìn)行簡(jiǎn)單的測(cè)試,可以確保在最基礎(chǔ)的函式當(dāng)中的每一行代碼都被測(cè)試過,進(jìn)而提高程式品質(zhì)。可是相較于程式功能開發(fā)上,開發(fā)測(cè)試程式的時(shí)間資源相對(duì)稀缺。在實(shí)際的開發(fā)情況中,常常發(fā)生程式功能全部開發(fā)完畢,而測(cè)試該程式每個(gè)一個(gè)函數(shù)的單元測(cè)試的程式卻還沒有開發(fā)出來,造成測(cè)試不夠即時(shí),無法快速反饋測(cè)試結(jié)果。

2、目前進(jìn)行單元測(cè)試多采用人工去撰寫每一個(gè)功能函數(shù)的測(cè)試代碼的方法,但是會(huì)消耗大量人力工時(shí),無法快速且即時(shí)的針對(duì)每一個(gè)功能函數(shù)撰寫相對(duì)應(yīng)的測(cè)試代碼,甚至在完成所有功能函數(shù)的開發(fā)之后,程序開發(fā)者還沒有時(shí)間去開發(fā)測(cè)試代碼,也無從得知現(xiàn)有的功能函數(shù)是否有程式問題(bug)。這時(shí)候如果發(fā)現(xiàn)程式問題(bug),就要花費(fèi)更多的時(shí)間重新修改原有的功能函數(shù),以符合正確的函數(shù)行為,無法達(dá)到測(cè)試的即時(shí)性。并且就算已經(jīng)有所有功能函數(shù)的測(cè)試代碼,如果程序開發(fā)者只修改其中一部分功能函數(shù)代碼,也無法快速的找出相關(guān)的測(cè)試代碼,只能測(cè)試所有測(cè)試代碼,包含沒有更動(dòng)過的功能函數(shù)也要一起測(cè)試,這樣會(huì)增加無效測(cè)試時(shí)間。

3、可見,如何提高代碼測(cè)試的效率,是本領(lǐng)域技術(shù)人員需要解決的問題。


技術(shù)實(shí)現(xiàn)思路

1、本發(fā)明實(shí)施例的目的是提供一種功能函數(shù)測(cè)試方法、設(shè)備、存儲(chǔ)介質(zhì)及程序產(chǎn)品,可以通過遍歷函數(shù)調(diào)用關(guān)系圖,自動(dòng)生成功能函數(shù)的測(cè)試代碼,有助于解決無法快速的找出相關(guān)測(cè)試代碼進(jìn)行函數(shù)測(cè)試的問題,提高代碼測(cè)試的效率。

2、為解決上述技術(shù)問題,第一方面,本發(fā)明提供一種功能函數(shù)測(cè)試方法,包括:

3、獲取正在對(duì)待測(cè)試程序進(jìn)行代碼修改時(shí)所對(duì)應(yīng)的代碼修改片段;

4、從預(yù)設(shè)函數(shù)調(diào)用關(guān)系圖中確定受所述代碼修改片段影響的功能函數(shù),以得到相應(yīng)的待測(cè)試函數(shù);所述預(yù)設(shè)函數(shù)調(diào)用關(guān)系圖基于所述待測(cè)試程序中的各預(yù)設(shè)功能函數(shù)之間的關(guān)系進(jìn)行確定;

5、基于目標(biāo)預(yù)訓(xùn)練模型生成所述待測(cè)試函數(shù)對(duì)應(yīng)的測(cè)試代碼,并利用所述測(cè)試代碼對(duì)所述待測(cè)試函數(shù)進(jìn)行測(cè)試。

6、在一些實(shí)施例中,所述從預(yù)設(shè)函數(shù)調(diào)用關(guān)系圖中確定受所述代碼修改片段影響的功能函數(shù)之前,還包括:

7、基于所述待測(cè)試程序中的各所述預(yù)設(shè)功能函數(shù)分別對(duì)應(yīng)的函數(shù)傳入?yún)?shù)和函數(shù)回傳值,確定各所述預(yù)設(shè)功能函數(shù)之間的影響關(guān)系;

8、根據(jù)所述影響關(guān)系和各所述預(yù)設(shè)功能函數(shù)之間的調(diào)用關(guān)系,生成所述待測(cè)試程序?qū)?yīng)的所述預(yù)設(shè)函數(shù)調(diào)用關(guān)系圖。

9、在一些實(shí)施例中,所述從預(yù)設(shè)函數(shù)調(diào)用關(guān)系圖中確定受所述代碼修改片段影響的功能函數(shù),包括:

10、根據(jù)所述代碼修改片段在所述預(yù)設(shè)函數(shù)調(diào)用關(guān)系圖中的位置,確定所述代碼修改片段對(duì)應(yīng)的目標(biāo)功能函數(shù)所在的目標(biāo)節(jié)點(diǎn);

11、基于所述目標(biāo)節(jié)點(diǎn)并根據(jù)所述影響關(guān)系和所述調(diào)用關(guān)系,遍歷所述預(yù)設(shè)函數(shù)調(diào)用關(guān)系圖,以確定所述預(yù)設(shè)函數(shù)調(diào)用關(guān)系圖中受所述代碼修改片段影響的功能函數(shù)。

12、在一些實(shí)施例中,所述功能函數(shù)測(cè)試方法還包括:

13、若所述目標(biāo)功能函數(shù)的子函數(shù)或所述目標(biāo)功能函數(shù)的子函數(shù)的函數(shù)傳入?yún)?shù)受所述代碼修改片段影響,則為所述目標(biāo)節(jié)點(diǎn)配置第一節(jié)點(diǎn)標(biāo)記和第二節(jié)點(diǎn)標(biāo)記;所述第一節(jié)點(diǎn)標(biāo)記表征所述目標(biāo)節(jié)點(diǎn)為觸發(fā)向下遍歷操作的節(jié)點(diǎn),所述第二節(jié)點(diǎn)標(biāo)記表征所述目標(biāo)節(jié)點(diǎn)為待測(cè)試節(jié)點(diǎn);

14、若所述目標(biāo)功能函數(shù)的函數(shù)回傳值受所述代碼修改片段影響,則為所述目標(biāo)節(jié)點(diǎn)配置第三節(jié)點(diǎn)標(biāo)記;所述第三節(jié)點(diǎn)標(biāo)記表征所述目標(biāo)節(jié)點(diǎn)為觸發(fā)向上遍歷操作的節(jié)點(diǎn);

15、相應(yīng)的,所述基于所述目標(biāo)節(jié)點(diǎn)并根據(jù)所述影響關(guān)系和所述調(diào)用關(guān)系,遍歷所述預(yù)設(shè)函數(shù)調(diào)用關(guān)系圖,包括:

16、基于所述目標(biāo)節(jié)點(diǎn)的所述第一節(jié)點(diǎn)標(biāo)記和所述第三節(jié)點(diǎn)標(biāo)記并根據(jù)所述影響關(guān)系和所述調(diào)用關(guān)系,遍歷所述預(yù)設(shè)函數(shù)調(diào)用關(guān)系圖。

17、在一些實(shí)施例中,所述基于所述目標(biāo)節(jié)點(diǎn)并根據(jù)所述影響關(guān)系和所述調(diào)用關(guān)系,遍歷所述預(yù)設(shè)函數(shù)調(diào)用關(guān)系圖的過程中,還包括:

18、將基于所述目標(biāo)節(jié)點(diǎn)遍歷到的節(jié)點(diǎn)作為新的目標(biāo)節(jié)點(diǎn),繼續(xù)基于新的目標(biāo)節(jié)點(diǎn)并根據(jù)所述影響關(guān)系和所述調(diào)用關(guān)系,遍歷所述預(yù)設(shè)函數(shù)調(diào)用關(guān)系圖,直至基于當(dāng)前的目標(biāo)節(jié)點(diǎn)未再遍歷到新的節(jié)點(diǎn);

19、將遍歷到的攜帶有所述第二節(jié)點(diǎn)標(biāo)記的目標(biāo)節(jié)點(diǎn)對(duì)應(yīng)的功能函數(shù)作為所述待測(cè)試函數(shù)。

20、在一些實(shí)施例中,所述基于目標(biāo)預(yù)訓(xùn)練模型生成所述待測(cè)試函數(shù)對(duì)應(yīng)的測(cè)試代碼,包括:

21、判斷所述待測(cè)試函數(shù)的函數(shù)傳入?yún)?shù)是否包括預(yù)設(shè)外部資源函數(shù)的函數(shù)回傳值,以得到相應(yīng)的判斷結(jié)果;

22、基于目標(biāo)預(yù)訓(xùn)練模型并根據(jù)所述判斷結(jié)果生成所述待測(cè)試函數(shù)對(duì)應(yīng)的測(cè)試代碼。

23、在一些實(shí)施例中,所述基于目標(biāo)預(yù)訓(xùn)練模型并根據(jù)所述判斷結(jié)果生成所述待測(cè)試函數(shù)對(duì)應(yīng)的測(cè)試代碼,包括:

24、若所述待測(cè)試函數(shù)的函數(shù)傳入?yún)?shù)不包括所述預(yù)設(shè)外部資源函數(shù)的函數(shù)回傳值,則直接基于目標(biāo)預(yù)訓(xùn)練模型生成所述待測(cè)試函數(shù)對(duì)應(yīng)的測(cè)試代碼;

25、若所述待測(cè)試函數(shù)的函數(shù)傳入?yún)?shù)包括所述預(yù)設(shè)外部資源函數(shù)的函數(shù)回傳值,則生成所述待測(cè)試函數(shù)對(duì)應(yīng)的模擬函數(shù),并基于目標(biāo)預(yù)訓(xùn)練模型根據(jù)所述模擬函數(shù)生成所述待測(cè)試函數(shù)對(duì)應(yīng)的測(cè)試代碼。

26、在一些實(shí)施例中,所述生成所述待測(cè)試函數(shù)對(duì)應(yīng)的模擬函數(shù),包括:

27、獲取預(yù)設(shè)模擬函數(shù)生成提示詞;

28、利用預(yù)設(shè)預(yù)訓(xùn)練模型并根據(jù)所述預(yù)設(shè)模擬函數(shù)生成提示詞,生成所述待測(cè)試函數(shù)對(duì)應(yīng)的所述模擬函數(shù)。

29、在一些實(shí)施例中,所述基于目標(biāo)預(yù)訓(xùn)練模型根據(jù)所述模擬函數(shù)生成所述待測(cè)試函數(shù)對(duì)應(yīng)的測(cè)試代碼,包括:

30、基于所述模擬函數(shù)查詢預(yù)設(shè)向量資料庫(kù),以得到相應(yīng)的查詢結(jié)果;所述查詢結(jié)果包括所述預(yù)設(shè)向量資料庫(kù)中所述模擬函數(shù)對(duì)應(yīng)的目標(biāo)函數(shù)和所述預(yù)設(shè)外部資源函數(shù)的日志檔案;

31、利用所述目標(biāo)預(yù)訓(xùn)練模型并根據(jù)所述模擬函數(shù)和所述查詢結(jié)果,生成所述待測(cè)試函數(shù)對(duì)應(yīng)的測(cè)試代碼。

32、在一些實(shí)施例中,所述利用所述目標(biāo)預(yù)訓(xùn)練模型并根據(jù)所述模擬函數(shù)和所述查詢結(jié)果,生成所述待測(cè)試函數(shù)對(duì)應(yīng)的測(cè)試代碼,包括:

33、獲取預(yù)設(shè)測(cè)試代碼生成提示詞;

34、將所述模擬函數(shù)、所述預(yù)設(shè)測(cè)試代碼生成提示詞和所述查詢結(jié)果輸入至所述目標(biāo)預(yù)訓(xùn)練模型,以利用所述目標(biāo)預(yù)訓(xùn)練模型生成所述待測(cè)試函數(shù)對(duì)應(yīng)的測(cè)試代碼。

35、在一些實(shí)施例中,所述功能函數(shù)測(cè)試方法還包括:

36、生成所述待測(cè)試函數(shù)的測(cè)試日志;

37、將所述測(cè)試日志和所述測(cè)試代碼保存至預(yù)設(shè)向量資料庫(kù),以便基于所述預(yù)設(shè)向量資料庫(kù)生成新的測(cè)試代碼。

38、在一些實(shí)施例中,所述功能函數(shù)測(cè)試方法還包括:

39、基于所述預(yù)設(shè)向量資料庫(kù)繼續(xù)對(duì)所述目標(biāo)預(yù)訓(xùn)練模型進(jìn)行訓(xùn)練,以便基于訓(xùn)練后的目標(biāo)預(yù)訓(xùn)練模型生成新的測(cè)試代碼。

40、第二方面,本發(fā)明公開了一種電子設(shè)備,包括:

41、存儲(chǔ)器,用于存儲(chǔ)計(jì)算機(jī)程序;

42、處理器,用于執(zhí)行所述計(jì)算機(jī)程序以實(shí)現(xiàn)前述功能函數(shù)測(cè)試方法的步驟。

43、第三方面,本發(fā)明公開了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)前述功能函數(shù)測(cè)試方法的步驟。

44、第四方面,本發(fā)明公開了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序/指令,該計(jì)算機(jī)程序/指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)前述功能函數(shù)測(cè)試方法的步驟。

45、由上述技術(shù)方案可以看出,本發(fā)明首先可以獲取正在對(duì)待測(cè)試程序進(jìn)行代碼修改時(shí)所對(duì)應(yīng)的代碼修改片段,然后從基于待測(cè)試程序中的各預(yù)設(shè)功能函數(shù)之間的關(guān)系確定出的預(yù)設(shè)函數(shù)調(diào)用關(guān)系圖中確定受代碼修改片段影響的功能函數(shù),以得到相應(yīng)的待測(cè)試函數(shù),從而基于目標(biāo)預(yù)訓(xùn)練模型生成待測(cè)試函數(shù)對(duì)應(yīng)的測(cè)試代碼,并利用測(cè)試代碼對(duì)待測(cè)試函數(shù)進(jìn)行測(cè)試。

46、本發(fā)明的有益效果在于:在每一個(gè)功能函數(shù)開發(fā)出來后,即可生成相應(yīng)的函數(shù)調(diào)用關(guān)系圖,根據(jù)代碼修改片段遍歷函數(shù)調(diào)用關(guān)系圖后,自動(dòng)確定受代碼修改片段影響的功能函數(shù),以利用預(yù)訓(xùn)練模型生成相應(yīng)的測(cè)試代碼,可以在較短的時(shí)間完成功能函數(shù)的測(cè)試,并反饋測(cè)試結(jié)果給程序開發(fā)者,有助于程序開發(fā)者在程式問題發(fā)生的初期得知每一個(gè)功能函式的測(cè)試結(jié)果,可以提高代碼測(cè)試的效率。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
偃师市| 鞍山市| 灵寿县| 濉溪县| 平顺县| 永吉县| 黄山市| 包头市| 格尔木市| 仪征市| 宁津县| 全椒县| 晴隆县| 泊头市| 麦盖提县| 清河县| 教育| 新沂市| 竹北市| 嘉兴市| 慈利县| 成都市| 华安县| 丹江口市| 尖扎县| 吴堡县| 仙桃市| 富锦市| 乌兰县| 延长县| 罗源县| 新平| 奇台县| 太白县| 云梦县| 扎兰屯市| 凤城市| 北碚区| 上思县| 微山县| 安阳县|