[发明专利]一种基于强化学习的测试脚本生成方法和装置有效
申请号: | 201910054193.1 | 申请日: | 2019-01-21 |
公开(公告)号: | CN109901994B | 公开(公告)日: | 2020-05-15 |
发明(设计)人: | 李佳楠;张新琛;陈忻;黄伟东;孙震 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 强化 学习 测试 脚本 生成 方法 装置 | ||
1.一种基于强化学习的测试脚本生成方法,所述测试脚本用于测试目标被测软件;所述方法包括:
获取用于测试的状态和行为,所述状态包括由测试初始状态至测试目标状态的多个测试状态,且所述多个测试状态之间的切换由所述行为触发,一个所述状态对应多个可能的行为;
运行强化学习模型,确定每个所述状态和每个行为之间对应的Q值;
根据所述Q值中对应状态切换成功的行为,得到测试脚本,所述测试脚本对应一条由测试初始状态至测试目标状态的执行路径,所述执行路径包括能够达到所述目标状态的行为序列,以通过所述测试脚本对目标被测软件进行测试。
2.根据权利要求1所述的方法,所述行为包括:多种类型的行为,所述行为的类型与目标被测软件的界面设计相关。
3.根据权利要求1所述的方法,
当所述测试目标状态是第一测试目标状态时使用的多个测试状态,与所述测试目标状态是第二测试目标状态时使用的多个测试状态,至少部分测试状态相同;
当所述测试目标状态是第一测试目标状态时使用的多个行为,与所述测试目标状态是第二测试目标状态时使用的多个行为,至少部分行为相同;
所述第一测试目标状态和第二测试目标状态不同。
4.根据权利要求1所述的方法,
当所述行为的类型是点击时,所述行为包括分别对应不同界面坐标的点击行为,所述界面是目标被测软件的运行界面。
5.根据权利要求4所述的方法,
所述界面坐标根据目标被测软件的运行界面的屏幕分辨率分割得到。
6.根据权利要求1所述的方法,所述运行强化学习模型,确定每个所述状态和每个行为之间对应的Q值,包括:
初始化Q表,所述Q表中包括所述状态和行为;
通过Q Learning的方式,对所述Q表进行更新,得到更新后的Q表。
7.根据权利要求1所述的方法,所述运行强化学习模型,确定每个所述状态和每个行为之间对应的Q值,包括:
训练深度Q网络,所述深度Q网络的输入是状态,输出是对应状态和行为的Q值;得到训练完成的所述深度Q网络。
8.根据权利要求1所述的方法,所述行为是用户在目标被测软件的运行界面的操作行为。
9.根据权利要求1所述的方法,
所述目标被测软件的每一个所述测试状态,包括多个状态特征;
每个所述状态特征,对应在所述测试状态下的目标被测软件运行界面的一种界面描述维度。
10.一种基于强化学习的测试脚本生成装置,所述装置用于生成测试脚本;所述装置包括:
信息获取模块,用于获取用于测试的状态和行为,所述状态包括由测试初始状态至测试目标状态的多个测试状态,且所述多个测试状态之间的切换由所述行为触发,一个所述状态对应多个可能的行为;
模型运行模块,用于运行强化学习模型,确定每个所述状态和每个行为之间对应的Q值;
脚本生成模块,用于根据所述Q值中对应状态切换成功的行为,得到测试脚本,所述测试脚本对应一条由测试初始状态至测试目标状态的执行路径,所述执行路径包括能够达到所述目标状态的行为序列,以通过所述测试脚本进行测试。
11.根据权利要求10所述的装置,
当所述行为的类型是点击时,所述行为包括分别对应不同界面坐标的点击行为,所述界面是目标被测软件的运行界面。
12.根据权利要求10所述的装置,
所述模型运行模块,具体用于:初始化Q表,所述Q表中包括所述状态和行为;通过QLearning的方式,对所述Q表进行更新,得到更新后的Q表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910054193.1/1.html,转载请声明来源钻瓜专利网。