System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實現(xiàn)步驟摘要】
本公開涉及計算機(jī),尤其涉及自然語言處理、大語言模型、深度學(xué)習(xí)等人工智能,具體涉及一種基于大模型生成測試用例的方法、裝置及電子設(shè)備。
技術(shù)介紹
1、相關(guān)技術(shù)中,單元測試生成工具通常可以生成測試用例。但是在面對斷言報錯時,往往只能提示錯誤位置和錯誤信息,導(dǎo)致開發(fā)者需要手動分析和修復(fù),增加了時間成本和復(fù)雜性。
技術(shù)實現(xiàn)思路
1、本公開提供了一種基于大模型生成測試用例的方法。
2、根據(jù)本公開的第一方面,提供了一種基于大模型生成測試用例的方法,包括:
3、在執(zhí)行測試用例對被測代碼進(jìn)行測試時,獲取斷言報錯信息;
4、基于所述測試用例、所述被測代碼、所述斷言報錯信息中的至少一者,生成第一提示詞;
5、將所述第一提示詞輸入大模型,得到所述大模型的第一輸出結(jié)果;所述第一輸出結(jié)果包括修復(fù)方案信息,所述大模型用于基于第一提示詞輸出與所述第一提示詞匹配的修復(fù)方案信息;
6、基于所述第一輸出結(jié)果與所述大模型進(jìn)行多輪的交互式對話,生成所述被測代碼的測試用例。
7、根據(jù)本公開的第二方面,提供了一種基于大模型生成測試用例的裝置,包括:
8、第一獲取模塊,用于在執(zhí)行測試用例對被測代碼進(jìn)行測試時,獲取斷言報錯信息;
9、第一生成模塊,用于基于所述測試用例、所述被測代碼、所述斷言報錯信息中的至少一者,生成第一提示詞;
10、第二獲取模塊,用于將所述第一提示詞輸入大模型,得到所述大模型的第一輸出結(jié)果;所述第一輸出結(jié)
11、第二生成模塊,用于基于所述第一輸出結(jié)果與所述大模型進(jìn)行多輪的交互式對話,生成所述被測代碼的測試用例。
12、根據(jù)本公開的第三方面,提供了一種智能體,包括:
13、輸入模塊,用于接收輸入信息;
14、處理模塊,用于基于所述輸入模塊接收的所述輸入信息確定目標(biāo)任務(wù),基于所述目標(biāo)任務(wù)確定大模型,通過調(diào)用所述大模型執(zhí)行前述第一方面所述的方法,得到輸出信息;
15、輸出模塊,用于輸出所述處理模塊得到的所述輸出信息。
16、根據(jù)本公開的第四方面,提供了一種電子設(shè)備,包括:
17、至少一個處理器;以及
18、與所述至少一個處理器通信連接的存儲器;其中,
19、所述存儲器存儲有可被所述至少一個處理器執(zhí)行的指令,所述指令被所述至少一個處理器執(zhí)行,以使所述至少一個處理器能夠執(zhí)行前述第一方面所述的基于大模型生成測試用例的方法。
20、根據(jù)本公開的第五方面,提出了一種存儲有計算機(jī)指令的非瞬時計算機(jī)可讀存儲介質(zhì),其中,所述計算機(jī)指令用于使所述計算機(jī)執(zhí)行前述第一方面所述的基于大模型生成測試用例的方法。
21、根據(jù)本公開的第六方面,提供了一種計算機(jī)程序產(chǎn)品,包括計算機(jī)程序,其中,所述計算機(jī)程序在被處理器執(zhí)行時實現(xiàn)根據(jù)前述第一方面所述基于大模型生成測試用例的方法的步驟。
22、根據(jù)本公開的技術(shù),不僅可以自動生成測試用例,還能夠在斷言出錯時自動識別錯誤來源并進(jìn)行修復(fù),無需開發(fā)者手動分析和修改,極大地提高了測試效率,降低了測試成本和復(fù)雜性,提高了測試用例的準(zhǔn)確性和代碼覆蓋率。
23、應(yīng)當(dāng)理解,本部分所描述的內(nèi)容并非旨在標(biāo)識本公開的實施例的關(guān)鍵或重要特征,也不用于限制本公開的范圍。本公開的其它特征將通過以下的說明書而變得容易理解。
本文檔來自技高網(wǎng)...【技術(shù)保護(hù)點】
1.一種基于大模型生成測試用例的方法,包括:
2.如權(quán)利要求1所述的方法,其中,所述基于所述測試用例、所述被測代碼、所述斷言報錯信息中的至少一者,生成第一提示詞,包括:
3.如權(quán)利要求2所述的方法,其中,所述基于提示詞模板,對所述測試用例、所述被測代碼和所述斷言報錯信息進(jìn)行模板渲染,得到所述第一提示詞,包括:
4.如權(quán)利要求1所述的方法,其中,所述將所述第一提示詞輸入大模型,得到所述大模型的第一輸出結(jié)果,包括:
5.如權(quán)利要求4所述的方法,其中,所述基于所述第一提示詞,通過所述大模生成與所述斷言報錯的來源對應(yīng)的修復(fù)方案信息,包括:
6.如權(quán)利要求4或5所述的方法,其中,所述基于所述第一提示詞,通過所述大模生成與所述斷言報錯的來源對應(yīng)的修復(fù)方案信息,還包括:
7.如權(quán)利要求4所述的方法,其中,所述基于所述第一提示詞,通過所述大模生成與所述斷言報錯的來源對應(yīng)的修復(fù)方案信息,包括:
8.如權(quán)利要求7所述的方法,其中,所述基于所述第一輸出結(jié)果與所述大模型進(jìn)行多輪的交互式對話,生成所述被測代碼的測試用例,包
9.如權(quán)利要求8所述的方法,所述方法還包括:
10.如權(quán)利要求1所述的方法,所述方法還包括:
11.一種基于大模型生成測試用例的裝置,包括:
12.如權(quán)利要求11所述的裝置,其中,所述第一生成模塊用于:
13.如權(quán)利要求12所述的裝置,其中,所述第一生成模塊用于:
14.如權(quán)利要求11所述的裝置,其中,所述獲取模塊用于:
15.如權(quán)利要求14所述的裝置,其中,所述第二獲取模塊用于:
16.如權(quán)利要求14或15所述的裝置,所述裝置還包括:
17.如權(quán)利要求14所述的裝置,其中,所述第二獲取模塊用于:
18.如權(quán)利要求17所述的裝置,其中,所述第二生成模塊用于:
19.如權(quán)利要求18所述的裝置,所述裝置還包括:
20.如權(quán)利要求11所述的裝置,所述裝置還包括:
21.一種智能體,包括:
22.一種電子設(shè)備,包括:
23.一種存儲有計算機(jī)指令的非瞬時計算機(jī)可讀存儲介質(zhì),其中,所述計算機(jī)指令用于使所述計算機(jī)執(zhí)行權(quán)利要求1-10中任一項所述的基于大模型生成測試用例的方法。
24.一種計算機(jī)程序產(chǎn)品,包括計算機(jī)程序,其中,所述計算機(jī)程序在被處理器執(zhí)行時實現(xiàn)根據(jù)權(quán)利要求1-10中任一項所述基于大模型生成測試用例的方法的步驟。
...【技術(shù)特征摘要】
1.一種基于大模型生成測試用例的方法,包括:
2.如權(quán)利要求1所述的方法,其中,所述基于所述測試用例、所述被測代碼、所述斷言報錯信息中的至少一者,生成第一提示詞,包括:
3.如權(quán)利要求2所述的方法,其中,所述基于提示詞模板,對所述測試用例、所述被測代碼和所述斷言報錯信息進(jìn)行模板渲染,得到所述第一提示詞,包括:
4.如權(quán)利要求1所述的方法,其中,所述將所述第一提示詞輸入大模型,得到所述大模型的第一輸出結(jié)果,包括:
5.如權(quán)利要求4所述的方法,其中,所述基于所述第一提示詞,通過所述大模生成與所述斷言報錯的來源對應(yīng)的修復(fù)方案信息,包括:
6.如權(quán)利要求4或5所述的方法,其中,所述基于所述第一提示詞,通過所述大模生成與所述斷言報錯的來源對應(yīng)的修復(fù)方案信息,還包括:
7.如權(quán)利要求4所述的方法,其中,所述基于所述第一提示詞,通過所述大模生成與所述斷言報錯的來源對應(yīng)的修復(fù)方案信息,包括:
8.如權(quán)利要求7所述的方法,其中,所述基于所述第一輸出結(jié)果與所述大模型進(jìn)行多輪的交互式對話,生成所述被測代碼的測試用例,包括:
9.如權(quán)利要求8所述的方法,所述方法還包括:
10.如權(quán)利要求1所述的方法,所述方法還...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:劉曉娟,李輝,王初晴,彭云鵬,師笑艷,
申請(專利權(quán))人:北京百度網(wǎng)訊科技有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。