[发明专利]一种基于强化学习的Web应用测试用例自动生成方法及系统在审
申请号: | 202310367115.3 | 申请日: | 2023-04-06 |
公开(公告)号: | CN116225963A | 公开(公告)日: | 2023-06-06 |
发明(设计)人: | 裴求根;梁哲恒;龙震岳;沈桂泉;周纯;崔磊;张金波;曾纪钧;沈伍强;张小陆;李凯;周昉昉;吴国全;常晓宁 | 申请(专利权)人: | 广东电网有限责任公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F16/901;G06N3/092 |
代理公司: | 北京科迪生专利代理有限责任公司 11251 | 代理人: | 安丽 |
地址: | 510080 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 强化 学习 web 应用 测试 自动 生成 方法 系统 | ||
1.一种基于强化学习的Web应用测试用例自动生成方法,其特征在于,包括以下步骤:
步骤1:从网页中提取状态:获取网页的节点树,并用节点树初始化状态;然后遍历状态删除对页面可视化没有影响的冗余节点树的元素及其相关边,化简状态的元素数量;将化简之后的节点树称为渲染树,对渲染树上的元素进行宽度优先遍历,如果两个元素相似,则认为两个元素具有相似的功能,对于一个元素,如果存在另一元素与该一个元素相似,则认为两个元素为具有相似功能的元素,具有似功能的元素被识别为同一状态,从而从网页中提取状态;
步骤2:在提取的状态中识别可访问元素,生成可访问元素的动作:通过节点树的元素识别动作,遍历原始节点树上的元素,如果一个元素符合预先定义的条件,则认为在动作中存在可访问元素,并生成可访问元素的动作;
步骤3:构建以状态为结点,以状态之间转移的动作为边的状态图,反映各状态之间的转移关系,所述状态图包括状态集、动作集、动作可触发状态转移和初始状态;并且将当前状态和当前动作加入状态图中时,需要判断当前状态是否已经存在于状态图中,识别当前状态是否为已知状态,避免状态图中存在冗余状态;对于当前动作,遍历状态图的动作集,判断动作集中是否存在已知动作与该当前动作相同,避免状态图中存在冗余动作;
步骤4:基于状态图中的状态和动作,评估每一步执行的动作对状态执行的贡献,设计奖励模型,通过奖励模型为动作计算奖励;每当动作执行完毕,状态从前一个状态转移至当前状态,根据所述奖励模型为当前动作计算奖励;
步骤5:根据步骤1的状态、步骤2输出的动作和步骤4的奖励,利用强化学习算法训练动作选择策略,并根据动作选择策略选择动作,输出所选择的动作;
步骤6:在Web应用上执行步骤5输出的动作,使得Web应用跳转到另一网页;
步骤7:继续执行步骤1-6,在Web应用上执行的动作序列保存为测试用例。
2.根据权利要求1所述的基于强化学习的Web应用测试用例自动生成方法,其特征在于:所述步骤1具体实现过程如下:
(11)获取网页的DOM树,并用DOM树初始化状态,即分别用DOM树的结点集和边集初始化状态的结点集和边集;
(12)遍历状态删除冗余元素,如果一个元素有且仅有一个儿子元素,则从该状态的结点集中删除该元素,从该状态的边集中删除与该元素相关联的边,并向该状态的边集中添加从该元素的父元素到该元素的儿子元素的边;
(13)在渲染树上进行宽度优先遍历,对于一个元素,如果存在另一个元素与该一个元素相似,则认为该一个元素和另一元素为相同的服务功能,并用该一个元素表征该服务功能;然后进一步遍历两个元素的子元素,在另一个元素的子元素中寻找与该一个元素的子元素的相似元素;反之,如果该一个元素不存在相似元素,则停止寻找该一个元素的子元素的相似元素。
3.根据权利要求2所述的基于强化学习的Web应用测试用例自动生成方法,其特征在于:所述步骤(13)中,另一个元素与该一个元素相似的判断包括:另一个元素与该一个元素具有相似结构,或另一元素与该一个元素具有相似样式,其中:
(131)另一个元素与该一个元素具有相似结构:利用元素的路径语言的模糊性识别元素之间是否具有相似结构,通过忽略它路径语言上祖辈元素的索引来查找相似元素;
(132)另一个元素与该元素具有相似样式:将另一个元素与该元素的样式相似度定义为它们类名、位置、尺寸、超链接、外部文件引用和标识的编辑距离的加权平均值;如果另一个元素与该一个元素的样式相似度大于等于预先设定的阈值,则认为另一个元素与该一个元素具有相似样式。
4.根据权利要求1所述的基于强化学习的Web应用测试用例自动生成方法,其特征在于:所述步骤2中,预先定义的条件为如下三个之一:
(21)如果一个元素的标签名匹配的默认设置,则认为该一个元素被操作,并生成一个访问该一个元素的动作;
(22)如果一个元素的标签名是输入控件或多行纯文本编辑控件,并且该一个元素的类型是单选按钮和复选框之一,则认为该一个元素是可点击元素,并为该一个元素生成一个类型为可点击的动作访问该一个元素;
(23)如果一个元素标签名和类型匹配用户配置,认为该一个元素可被操作,并生成访问该一个元素的动作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东电网有限责任公司,未经广东电网有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310367115.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:草甘膦盐类水剂生产系统和方法
- 下一篇:一种矿井地下离层空间的填充方法