[发明专利]一种基于强化学习的测试脚本生成方法和装置有效
申请号: | 201910054193.1 | 申请日: | 2019-01-21 |
公开(公告)号: | CN109901994B | 公开(公告)日: | 2020-05-15 |
发明(设计)人: | 李佳楠;张新琛;陈忻;黄伟东;孙震 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 强化 学习 测试 脚本 生成 方法 装置 | ||
本说明书实施例提供一种基于强化学习的测试脚本生成方法和装置,其中,所述方法包括:获取用于测试的状态和行为,所述状态包括由测试初始状态至测试目标状态的多个测试状态,且所述多个测试状态之间的切换由所述行为触发,一个所述状态对应多个可能的行为;运行强化学习模型,确定每个所述状态和每个行为之间对应的Q值;根据所述Q值,得到测试脚本,所述测试脚本对应一条由测试初始状态至测试目标状态的执行路径,所述执行路径包括能够达到所述目标状态的行为序列,以通过所述测试脚本对目标被测软件进行测试。
技术领域
本公开涉及测试技术领域,特别涉及一种基于强化学习的测试脚本生成方法和装置。
背景技术
测试是在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。而自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。
在传统的自动化测试过程中,需要由测试人员手动编写自动化测试的测试脚本,测试脚本的编写往往会花费测试人员的大部分时间。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种基于强化学习的测试脚本生成方法和装置,以节省自动化测试的人力成本,更便捷的进行测试。
具体地,本说明书一个或多个实施例是通过如下技术方案实现的:
第一方面,提供一种基于强化学习的测试脚本生成方法,所述测试脚本用于测试目标被测软件;所述方法包括:
获取用于测试的状态和行为,所述状态包括由测试初始状态至测试目标状态的多个测试状态,且所述多个测试状态之间的切换由所述行为触发,一个所述状态对应多个可能的行为;
运行强化学习模型,确定每个所述状态和每个行为之间对应的Q值;
根据所述Q值,得到测试脚本,所述测试脚本对应一条由测试初始状态至测试目标状态的执行路径,所述执行路径包括能够达到所述目标状态的行为序列,以通过所述测试脚本对目标被测软件进行测试。
第二方面,提供一种基于强化学习的测试脚本生成装置,所述装置用于生成测试脚本;所述装置包括:
信息获取模块,用于获取用于测试的状态和行为,所述状态包括由测试初始状态至测试目标状态的多个测试状态,且所述多个测试状态之间的切换由所述行为触发,一个所述状态对应多个可能的行为;
模型运行模块,用于运行强化学习模型,确定每个所述状态和每个行为之间对应的Q值;
脚本生成模块,用于根据所述Q值,得到测试脚本,所述测试脚本对应一条由测试初始状态至测试目标状态的执行路径,所述执行路径包括能够达到所述目标状态的行为序列,以通过所述测试脚本进行测试。
第三方面,提供一种基于强化学习的测试脚本生成设备,所述设备包括存储器、处理器,所述存储器用于存储可在处理器上运行的计算机指令;所述处理器用于在执行所述计算机指令时实现以下步骤:
获取用于测试的状态和行为,所述状态包括由测试初始状态至测试目标状态的多个测试状态,且所述多个测试状态之间的切换由所述行为触发,一个所述状态对应多个可能的行为;
运行强化学习模型,确定每个所述状态和每个行为之间对应的Q值;
根据所述Q值,得到测试脚本,所述测试脚本对应一条由测试初始状态至测试目标状态的执行路径,所述执行路径包括能够达到所述目标状态的行为序列,以通过所述测试脚本对目标被测软件进行测试。
本说明书一个或多个实施例的基于强化学习的测试脚本生成方法和装置,通过利用强化学习模型的方式,使得通过强化学习模型就可以自动生成测试脚本,从而节省人力成本。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910054193.1/2.html,转载请声明来源钻瓜专利网。