[发明专利]一种基于强化学习的Web应用测试用例自动生成方法及系统在审
申请号: | 202310367115.3 | 申请日: | 2023-04-06 |
公开(公告)号: | CN116225963A | 公开(公告)日: | 2023-06-06 |
发明(设计)人: | 裴求根;梁哲恒;龙震岳;沈桂泉;周纯;崔磊;张金波;曾纪钧;沈伍强;张小陆;李凯;周昉昉;吴国全;常晓宁 | 申请(专利权)人: | 广东电网有限责任公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F16/901;G06N3/092 |
代理公司: | 北京科迪生专利代理有限责任公司 11251 | 代理人: | 安丽 |
地址: | 510080 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 强化 学习 web 应用 测试 自动 生成 方法 系统 | ||
本发明涉及一种基于强化学习的Web应用测试用例自动生成方法及系统,从网页中提取状态,输出所提取到的状态;在网页中识别可交互元素,生成访问可交互元素的动作,输出所生成的动作;识别状态是否为已知状态,构建以状态为结点,以状态之间转移的动作为边的状态图;根据状态和动作,计算奖励;利用强化学习算法训练动作选择策略,并根据动作选择策略选择动作,在Web应用上执行该动作,使得Web应用跳转到另一网页,在Web应用上执行的动作序列保存为测试用例。本发明能够自动化地为目标Web应用提供测试用例,大大提高了已有测试用例的覆盖率,尽早发现潜在缺陷。在测试用例生成过程中,提高了web应用测试的自动化程度,进一步提高了Web应用的可用性。
技术领域
本发明涉及一种基于强化学习的Web应用测试用例自动生成方法及系统,属于软件测试领域。
背景技术
近年来,Web应用急剧增加。最近的调查显示,截止2022年7月,全球Web应用已超过10亿个。每天,用户平均花费7小时使用web应用。人工测试和自动化测试是保证web应用质量的重要手段。
但是,人工测试十分耗时。并且,Web应用中存在大量可行序列。人工测试用例只能覆盖其中一小部分。Selenium、playwright等工具能够根据测试人员编写的测试脚本,生成模拟人工操作的点击、输入等动作来与目标应用交互。但是这些工具仍然需要测试人员具有专业知识来编写测试用例。一种Web应用程序自动化测试工具及方法CN201710023922.8进一步支持T语言编写测试用例,测试人员仅需要了解网页测试场景和简单的基础编程知识,即可编写测试脚本进行测试。尽管T语言对Java和C语言进行了简化,CN201710023922.8仍然需要测试人员具备研发技能与场景知识。
总之,尽管现有技术简化了测试用例便携,但是仍然需要人工介入,难以自动化生成有效动作序列。
发明内容
本发明技术解决问题:克服现有技术的不足,提供一种基于强化学习的Web应用测试用例自动生成方法及工具,能够利用已执行过的动作序列训练有效的动作选择策略生成测试用例,支持自动化提取应用状态,并在状态上选择动作,根据动作执行结果,采用强化学习训练动作选择策略,从而不再人力进行测试用例生成。
本发明技术解决方案:
第一方面,提供一种基于强化学习的Web应用测试用例自动生成方法,包括以下步骤:
步骤1:从网页中提取状态:获取网页的节点树,并用节点树初始化状态;然后遍历状态删除对页面可视化没有影响的冗余节点树的元素及其相关边,化简状态的元素数量;将化简之后的节点树称为渲染树,对渲染树上的元素进行宽度优先遍历,如果两个元素相似,则认为两个元素具有相似的功能,对于一个元素,如果存在另一元素与该一个元素相似,则认为两个元素为具有相似功能的元素,具有似功能的元素被识别为同一状态,从而从网页中提取状态;
步骤2:在提取的状态中识别可访问元素,生成可访问元素的动作:通过节点树的元素识别动作,遍历原始节点树上的元素,如果一个元素符合预先定义的条件,则认为在动作中存在可访问元素,并生成可访问元素的动作;
步骤3:构建以状态为结点,以状态之间转移的动作为边的状态图,反映各状态之间的转移关系,所述状态图包括状态集、动作集、动作可触发状态转移和初始状态;并且将当前状态和当前动作加入状态图中时,需要判断当前状态是否已经存在于状态图中,识别当前状态是否为已知状态,避免状态图中存在冗余状态;对于当前动作,遍历状态图的动作集,判断动作集中是否存在已知动作与该当前动作相同,避免状态图中存在冗余动作;
步骤4:基于状态图中的状态和动作,评估每一步执行的动作对状态执行的贡献,设计奖励模型,通过奖励模型为动作计算奖励;每当当前动作执行完毕,状态从前一个状态转移至当前状态,根据所述奖励模型为当前动作计算奖励;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东电网有限责任公司,未经广东电网有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310367115.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:草甘膦盐类水剂生产系统和方法
- 下一篇:一种矿井地下离层空间的填充方法