[發明專利]一種基于強化學習的測試腳本生成方法和裝置有效
| 申請號: | 201910054193.1 | 申請日: | 2019-01-21 |
| 公開(公告)號: | CN109901994B | 公開(公告)日: | 2020-05-15 |
| 發明(設計)人: | 李佳楠;張新琛;陳忻;黃偉東;孫震 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京博思佳知識產權代理有限公司 11415 | 代理人: | 林祥 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 強化 學習 測試 腳本 生成 方法 裝置 | ||
本說明書實施例提供一種基于強化學習的測試腳本生成方法和裝置,其中,所述方法包括:獲取用于測試的狀態和行為,所述狀態包括由測試初始狀態至測試目標狀態的多個測試狀態,且所述多個測試狀態之間的切換由所述行為觸發,一個所述狀態對應多個可能的行為;運行強化學習模型,確定每個所述狀態和每個行為之間對應的Q值;根據所述Q值,得到測試腳本,所述測試腳本對應一條由測試初始狀態至測試目標狀態的執行路徑,所述執行路徑包括能夠達到所述目標狀態的行為序列,以通過所述測試腳本對目標被測軟件進行測試。
技術領域
本公開涉及測試技術領域,特別涉及一種基于強化學習的測試腳本生成方法和裝置。
背景技術
測試是在規定的條件下對程序進行操作,以發現程序錯誤,衡量軟件質量,并對其是否能滿足設計要求進行評估的過程。而自動化測試是把以人為驅動的測試行為轉化為機器執行的一種過程。
在傳統的自動化測試過程中,需要由測試人員手動編寫自動化測試的測試腳本,測試腳本的編寫往往會花費測試人員的大部分時間。
發明內容
有鑒于此,本說明書一個或多個實施例提供一種基于強化學習的測試腳本生成方法和裝置,以節省自動化測試的人力成本,更便捷的進行測試。
具體地,本說明書一個或多個實施例是通過如下技術方案實現的:
第一方面,提供一種基于強化學習的測試腳本生成方法,所述測試腳本用于測試目標被測軟件;所述方法包括:
獲取用于測試的狀態和行為,所述狀態包括由測試初始狀態至測試目標狀態的多個測試狀態,且所述多個測試狀態之間的切換由所述行為觸發,一個所述狀態對應多個可能的行為;
運行強化學習模型,確定每個所述狀態和每個行為之間對應的Q值;
根據所述Q值,得到測試腳本,所述測試腳本對應一條由測試初始狀態至測試目標狀態的執行路徑,所述執行路徑包括能夠達到所述目標狀態的行為序列,以通過所述測試腳本對目標被測軟件進行測試。
第二方面,提供一種基于強化學習的測試腳本生成裝置,所述裝置用于生成測試腳本;所述裝置包括:
信息獲取模塊,用于獲取用于測試的狀態和行為,所述狀態包括由測試初始狀態至測試目標狀態的多個測試狀態,且所述多個測試狀態之間的切換由所述行為觸發,一個所述狀態對應多個可能的行為;
模型運行模塊,用于運行強化學習模型,確定每個所述狀態和每個行為之間對應的Q值;
腳本生成模塊,用于根據所述Q值,得到測試腳本,所述測試腳本對應一條由測試初始狀態至測試目標狀態的執行路徑,所述執行路徑包括能夠達到所述目標狀態的行為序列,以通過所述測試腳本進行測試。
第三方面,提供一種基于強化學習的測試腳本生成設備,所述設備包括存儲器、處理器,所述存儲器用于存儲可在處理器上運行的計算機指令;所述處理器用于在執行所述計算機指令時實現以下步驟:
獲取用于測試的狀態和行為,所述狀態包括由測試初始狀態至測試目標狀態的多個測試狀態,且所述多個測試狀態之間的切換由所述行為觸發,一個所述狀態對應多個可能的行為;
運行強化學習模型,確定每個所述狀態和每個行為之間對應的Q值;
根據所述Q值,得到測試腳本,所述測試腳本對應一條由測試初始狀態至測試目標狀態的執行路徑,所述執行路徑包括能夠達到所述目標狀態的行為序列,以通過所述測試腳本對目標被測軟件進行測試。
本說明書一個或多個實施例的基于強化學習的測試腳本生成方法和裝置,通過利用強化學習模型的方式,使得通過強化學習模型就可以自動生成測試腳本,從而節省人力成本。
附圖說明
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910054193.1/2.html,轉載請聲明來源鉆瓜專利網。





