System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及軟件測試,具體為一種基于大模型的軟件測試方法及系統。
技術介紹
1、軟件測試是軟件開發中的一個關鍵過程,涉及評估軟件產品的質量。軟件測試的主要目標是識別軟件系統中可能導致不正確或意外行為的缺陷或錯誤。軟件規模大、復雜性高與高質量、高效率要求之間的矛盾日益突顯,給軟件測試帶來了不可承受的壓力。同時,由于軟件的網絡化、多核并行化、智能化的發展,軟件系統的復雜程度及其驗證周期也逐漸增長,已有的傳統軟件測試方法和系統難以滿足日益增長的復雜嵌入式軟件評測需求。
2、近年來,人工智能技術,特別是大語言模型的發展,為智能化軟件測試提供了新的可能性。大模型具有強大的自然語言處理能力和深度學習能力,能夠理解和生成復雜的代碼結構,從而在軟件測試中發揮重要作用。通過結合大模型的智能化分析能力,可以實現自動化、高效且準確的代碼審查,顯著提升軟件測試的效率和質量。
3、在智能化軟件測試領域,大語言模型被廣泛用于軟件測試生命周期的中后期。如在測試用例準備階段,大語言模型已用于生成單元測試用例、測試預言生成和系統測試輸入生成等任務。這些任務在軟件測試的中期階段至關重要,有助于提前發現問題并解決。
4、其次,在缺陷檢查階段,大模型還被用于檢測代碼的不良設計,潛在錯誤和違反編碼標準以及代碼的自動化審查任務。此外,在測試報告/錯誤報告和錯誤修復階段等后期階段,大語言模型被用于執行錯誤分析、調試和修復等任務。當需要解決軟件錯誤以準備產品發布時,這些任務在測試階段結束時至關重要。這些方法都是針對特定的代碼片段或者特定的
5、目前,也存在一些軟件智能化評測系統支持代碼測試過程中的代碼解釋、生成單元測試和智能調試(debug),主要面向單個代碼片段進行測試,然而安全攸關軟件具有獨特的系統性特征,導致被測軟件不能被系統性、全面性地完成評測。
6、于是,有鑒于此,針對現有的結構不足予以研究改良,提出一種基于大模型的軟件測試方法及系統。
技術實現思路
1、本專利技術的目的在于提供一種基于大模型的軟件測試方法及系統,以解決上述
技術介紹
中提出的問題。
2、為實現上述目的,本專利技術提供如下技術方案:一種基于大模型的軟件測試方法,包括以下步驟:
3、步驟1:代碼審查規則描述,對所需檢查的規范進行展開:
4、首先,將代碼所需滿足的檢查規范進行列表,按照思維鏈,zero-/few-shot示例,上下文學習一種或者多種技術的結合,將上述列表中的檢查規則根據檢查要點和檢查步驟描述為模型的推理指令;
5、步驟2:代碼切片,對被測軟件項目進行結構解析和依賴分析:
6、首先利用代碼解析工具將代碼按照函數進行切片,該函數片段信息包含所需的變量聲明,宏定義,函數的上下文調用關系內容,在此基礎上,通過函數調用關系分析得到函數調用圖,通過控制流分析得到控制流圖,根據以上信息構建函數的依賴圖,并將程序代碼按照結構信息和依賴圖分割成代碼塊;
7、步驟3:提示詞構建,對代碼審查規則和代碼塊進行組合:
8、首先,根據代碼審查規則,確定該項規則在當前輪次配置的提示詞模板,其中包括模型的角色指定,任務描述,審查規則描述占位符,被測代碼及所涉及變量聲明占位符,上下文信息占位符,輸出內容和格式模板,其次,將步驟1中描述的代碼規則和檢查步驟填充到審查規則描述占位符中,最后將步驟2中獲取的包含被測代碼,變量聲明以及上下文信息的代碼塊,按照對應內容填充到模板的占位符中;
9、步驟4:缺陷檢查,對被測代碼開展缺陷檢測:
10、首先,將構建好的提示詞依次輸入目標大模型,以指示大模型基于所述的代碼審查規則和代碼的片段信息,發現其中存在的違反規范、錯誤編碼、語法錯誤、類型錯誤、名稱錯誤、引用錯誤、除零錯誤、數組越界、無符號數溢出代碼質量問題;
11、若模型檢查結果為不存在缺陷,則轉至步驟5進行結果審查;若模型的檢查結果為需要更多的上下文信息,則轉至步驟2根據程序依賴圖檢索更多的上下文函數,并重復步驟3-4;若模型根據要求的格式返回缺陷及相關內容,轉至步驟5進行結果審查;
12、步驟5:結果審查,對缺陷報告進行檢查和確認:
13、首先,根據配置的提示詞模版,將被測代碼塊和步驟4的缺陷檢查報告按照對應位置進行填充,完成結果審查提示詞構建,其次,將結果審查提示詞依次輸入到目標大模型中,以指示模型按照提示詞指令完成對缺陷檢查報告的審查,在此基礎上,根據是否存在缺陷,將代碼檢查報告按照指定的格式進行輸出,最后,將所有代碼塊的缺陷報告進行聚合,形成項目級綜合性軟件測試報告。
14、進一步的,步驟1中代碼所需滿足的檢查規范進行列表包括:編碼規則檢查,運行時缺陷檢測,國軍標c語言編程安全子集,航天c語言編程規范。
15、進一步的,用于所述的一種基于大模型的軟件測試方法的系統,包括項目管理模塊、測試流水線配置模塊、環境容器化配置及創建模塊、測試自動化執行模塊以及評測報告生成模塊。
16、進一步的,項目管理模塊中,用戶新建一個評測項目,并指定該項目的id、版本號、描述信息,之后上傳該項目中的規則集,源代碼文件。
17、進一步的,測試規則配置模塊中,用戶選定所需審查的代碼規則列表,并對規則所需參數進行完成配置。
18、進一步的,環境容器化配置及創建模塊中,用戶完成本次評測算法運行的基礎環境、計算資源、模型版本,生成相應配置的獨立容器。
19、進一步的,測試自動化執行模塊中,系統根據用戶在評測流水線配置模塊中所選定的審查規則以及各環節的詳細參數,將預設的流水線轉換為按順序執行的命令,并在容器中執行流水線中的各階段與步驟,將所有測試結果保存在容器存儲空間中。
20、進一步的,評測報告生成模塊根據用戶所做的測試配置以及測試執行過程中保存的評測結果生成最終的評測報告,其中,評測報告包含總體報告和違反各項規則的詳細缺陷報告。
21、本專利技術提供了一種基于大模型的軟件測試方法及系統,具備以下有益效果:本專利技術面向軟件的代碼級和系統級測試需求,評測內容包括代碼規范、潛在的邏輯錯誤和性能問題、算法正確性等內容,提升軟件測試的深度和廣度,最后形成綜合性的評價報告,為安全攸關軟件的應用提供保障。本專利技術還提出了一種包含項目管理模塊、測試流水線配置模塊、環境容器化配置及創建模塊、測試自動化執行模塊以及評測報告生成模塊共5個模塊的軟件智能化評測系統,可對軟件評測任務實施便捷的項目管理、自定義配置以及高自動化程度的測試執行,有效提升評測效率。
本文檔來自技高網...【技術保護點】
1.一種基于大模型的軟件測試方法,其特征在于:包括以下步驟:
2.根據權利要求1所述的一種基于大模型的軟件測試方法,其特征在于,步驟1中代碼所需滿足的檢查規范進行列表包括:編碼規則檢查,運行時缺陷檢測,國軍標C語言編程安全子集,航天C語言編程規范。
3.用于權利要求2所述的一種基于大模型的軟件測試方法的系統,其特征在于,包括項目管理模塊、測試流水線配置模塊、環境容器化配置及創建模塊、測試自動化執行模塊以及評測報告生成模塊。
4.根據權利要求3所述的一種基于大模型的軟件測試方法的系統,其特征在于,項目管理模塊中,用戶新建一個評測項目,并指定該項目的ID、版本號、描述信息,之后上傳該項目中的規則集,源代碼文件。
5.根據權利要求4所述的一種基于大模型的軟件測試方法的系統,其特征在于,測試規則配置模塊中,用戶選定所需審查的代碼規則列表,并對規則所需參數進行完成配置。
6.根據權利要求5所述的一種基于大模型的軟件測試方法的系統,其特征在于,環境容器化配置及創建模塊中,用戶完成本次評測算法運行的基礎環境、計算資源、模型版本,生成相
7.根據權利要求6所述的一種基于大模型的軟件測試方法的系統,其特征在于,測試自動化執行模塊中,系統根據用戶在評測流水線配置模塊中所選定的審查規則以及各環節的詳細參數,將預設的流水線轉換為按順序執行的命令,并在容器中執行流水線中的各階段與步驟,將所有測試結果保存在容器存儲空間中。
8.根據權利要求7所述的一種基于大模型的軟件測試方法的系統,其特征在于,評測報告生成模塊根據用戶所做的測試配置以及測試執行過程中保存的評測結果生成最終的評測報告,其中,評測報告包含總體報告和違反各項規則的詳細缺陷報告。
...【技術特征摘要】
1.一種基于大模型的軟件測試方法,其特征在于:包括以下步驟:
2.根據權利要求1所述的一種基于大模型的軟件測試方法,其特征在于,步驟1中代碼所需滿足的檢查規范進行列表包括:編碼規則檢查,運行時缺陷檢測,國軍標c語言編程安全子集,航天c語言編程規范。
3.用于權利要求2所述的一種基于大模型的軟件測試方法的系統,其特征在于,包括項目管理模塊、測試流水線配置模塊、環境容器化配置及創建模塊、測試自動化執行模塊以及評測報告生成模塊。
4.根據權利要求3所述的一種基于大模型的軟件測試方法的系統,其特征在于,項目管理模塊中,用戶新建一個評測項目,并指定該項目的id、版本號、描述信息,之后上傳該項目中的規則集,源代碼文件。
5.根據權利要求4所述的一種基于大模型的軟件測試方法的系統,其特征在于,測試規則配置模塊中,用戶選定所需...
【專利技術屬性】
技術研發人員:董彥松,
申請(專利權)人:北京軒宇信息技術有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。