[發明專利]一種促進測試代碼與產品代碼協同演化的方法及終端設備有效
| 申請號: | 202110245711.5 | 申請日: | 2021-03-05 |
| 公開(公告)號: | CN113010420B | 公開(公告)日: | 2023-05-30 |
| 發明(設計)人: | 王斯南;劉蕾;劉燁龐 | 申請(專利權)人: | 南方科技大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06N20/00 |
| 代理公司: | 深圳市君勝知識產權代理事務所(普通合伙) 44268 | 代理人: | 徐凱凱 |
| 地址: | 518055 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 促進 測試 代碼 產品 協同 演化 方法 終端設備 | ||
本發明公開了一種促進測試代碼與產品代碼協同演化的方法及終端設備,方法包括步驟:從項目代碼倉庫中獲取歷史實例代碼數據,并構建第一訓練數據集;基于第一訓練數據集對分類器進行訓練,得到訓練后分類器;基于訓練后分類器自動識別過時的單元測試用例;對所述代碼數據進行預處理,得到序列數據,根據序列數據構建第二訓練數據集;基于第二訓練數據集對seq2seq模型進行訓練,得到訓練后seq2seq模型;將導致單元測試用例過時的產品代碼更改和原始測試代碼輸入所述訓練后seq2seq模型中,輸出完整的補丁,通過補丁對所述過時的單元測試用例進行修復,促進單元測試代碼與產品代碼協同演化。本發明實現了高效準確地促進單元測試代碼與產品代碼協同演化。
技術領域
本發明涉及軟件測試技術領域,尤其涉及一種促進測試代碼與產品代碼協同演化的方法及終端設備。
背景技術
軟件測試技術被廣泛應用于軟件質量保證中,在工程實踐中,軟件開發人員經常編寫測試代碼,用以驗證產品代碼是否符合預期的軟件需求。由于軟件產品經常需要演化、更新,所以當產品代碼經歷諸如添加功能、刪除功能等重大更改時,測試代碼應該與相應的產品代碼協同演化。這種協同演化使得測試代碼持續具備軟件質量保證的能力。若測試代碼沒有及時更新,可能導致產品代碼中的缺陷難以被發現,也可能導致錯誤的告警,造成測試資源的浪費。然而,對于開發人員來說,保持測試代碼的實時更新并不容易。有研究表明,在實際軟件項目中,測試代碼通常無法與產品代碼協同演化,主要原因有以下幾點:
1、缺乏維護測試用例或保障軟件質量的資源;
2、缺少工具定位特定功能與其對應的測試用例;
3、運行所有測試用例較為耗時。
因此,現有技術還有待于改進和發展。
發明內容
鑒于上述現有技術的不足,本發明的目的在于提供一種促進測試代碼與產品代碼協同演化的方法及終端設備,旨在解決現有測試代碼通常無法與產品代碼協同演化的問題。
本發明的技術方案如下:
一種促進測試代碼與產品代碼協同演化的方法,其中,包括步驟:
從項目代碼倉庫中獲取歷史實例代碼數據,并構建第一訓練數據集;
基于所述第一訓練數據集對分類器進行訓練,得到訓練后分類器;
基于所述訓練后分類器自動識別過時的單元測試用例;
對所述代碼數據進行預處理,得到序列數據,根據所述序列數據構建第二訓練數據集;
基于所述第二訓練數據集對seq2seq模型進行訓練,得到訓練后seq2seq模型;
將導致單元測試用例過時的產品代碼更改和原始測試代碼輸入所述訓練后seq2seq模型中,輸出完整的補丁,通過所述補丁對所述過時的單元測試用例進行修復,促進單元測試代碼與產品代碼協同演化。
所述促進測試代碼與產品代碼協同演化的方法,其中,所述從項目代碼倉庫中獲取歷史實例代碼數據,并構建第一訓練數據集的步驟包括:
將從項目代碼倉庫中獲取的歷史實例代碼數據劃分為正樣本和負樣本,其中,正樣本中測試代碼與產品代碼協同演化,負樣本中測試代碼不與產品代碼協同演化;
根據測試文件級別對所述正樣本進行標記,構建第一訓練數據集。
所述促進測試代碼與產品代碼協同演化的方法,其中,根據測試文件級別對所述正樣本進行標記的步驟包括:
若測試文件級別為二分類預測時,則將正樣本標記為應該更改和不更改兩類;
若測試文件級別為多分類預測時,則將正樣本標記為應該創建、應該編輯和應該刪除三類。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南方科技大學,未經南方科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110245711.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種偏心式磨輥裝置
- 下一篇:一種基于雙目相機與慣導傳感器信息融合的定位方法





