[发明专利]一种基于强化学习的类集成测试序列生成方法在审
申请号: | 202110647435.5 | 申请日: | 2021-06-10 |
公开(公告)号: | CN113377651A | 公开(公告)日: | 2021-09-10 |
发明(设计)人: | 张艳梅;丁艳茹;姜淑娟;袁冠;张颖辉 | 申请(专利权)人: | 中国矿业大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F17/16;G06K9/62;G06N3/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 221116*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 强化 学习 集成 测试 序列 生成 方法 | ||
本发明公开了一种基于强化学习的类集成测试序列生成方法,属于软件测试技术领域。包括下列步骤:1)定义强化学习任务;2)程序静态分析;3)度量测试桩复杂度;4)设计奖励函数;5)设计值函数;6)生成类集成测试序列。本发明解决了目前已有的基于强化学习的类集成测试序列生成方法评估确定类集成测试序列花费的总体代价的指标不够精确的问题,为实际生产生活中测试人员开展测试工作提供了更为准确的度量方法,提升了集成测试的效率,可以更好地控制产品的质量。
技术领域
本发明属于软件测试技术领域,且特别是有关于一种基于强化学习的类集成测试序列生成方法。
背景技术
软件测试阶段主要包括单元测试、集成测试、系统测试、验证和确认以及回归测试等。其中,集成测试是在单元测试的基础上,将所有的软件单元组装成模块、子系统或系统,检测各部分工作是否达到或实现相应技术指标及要求,以保证各单元组合之后能够按既定意图协作运行,确保增量的行为正确。但是,面向对象的程序没有明显的层次划分,其间的调用关系表现为错综复杂的网状结构,传统的集成测试策略并不能很好地应用其中。所以,需要提出符合面向对象程序特点的新的集成测试策略,这种新的策略以类为对象,以生成最优的类集成测试序列为目的,进而确定测试方式。
根据面向对象程序的类间依赖性,软件工程领域的研究者们提出了基于类集成测试序列的集成策略。在测试过程中,这些策略往往需要为面向对象程序中的某些类构造所需的测试桩,以代替其完成某些功能。这项任务的代价很大,并且一般来说没有办法避免,因而如何降低代价成为了集成测试中的一项关键性的问题。研究过程中,学者们通过计算测试桩复杂度衡量测试桩的代价,不同的类集成测试序列,它们的测试桩复杂度不尽相同,测试代价也不相同。合理地对测试程序中的类进行排序,得到可行的类集成测试序列,可以大大降低需要构建的测试桩的总体复杂度,进而尽可能使测试代价减小。
已有的基于强化学习的类集成测试序列生成方法忽略了测试桩复杂度这一评价指标,这些方法假设每个类间依赖关系依赖程度相同,即,每个测试桩具有相同的复杂度。然而,不同的测试桩具有不同的复杂度,测试桩越少不能表示确定一个类集成测试序列花费的测试桩代价越低。因此,已有的基于强化学习的类集成测试序列生成方法以类测试桩数量作为衡量标准,来确定类集成测试序列需要花费的总体代价,这种指标不够精确。所以,提出合理的类集成测试序列生成技术以及将评价指标精确化对于集成测试来说具有相当重要的意义。
发明内容
本发明的目的在于提供一种基于强化学习的类集成测试序列生成方法,解决已有的基于强化学习的类集成测试序列生成方法评估确定类集成测试序列花费的总体代价的指标不够精确的问题。这可以为实际生产生活中测试人员开展测试工作提供更为准确的度量方法,进而提升集成测试的效率。
本发明按以下技术方案实现:
一种基于强化学习的类集成测试序列生成方法,具体过程为:
步骤1、定义强化学习任务:强化学习的任务就是使智能体在环境中不断地进行尝试,根据获得的奖励值不断调整策略,最终生成一个较好策略,智能体根据这个策略便能够知道在什么状态下应该执行什么动作;
步骤2、程序静态分析:对源程序进行静态分析,将获取的信息用于计算类间的属性和方法复杂度,通过属性复杂度计算类间的属性耦合,通过方法复杂度计算类间的方法耦合;
步骤3、度量测试桩复杂度:依据前面得到的属性和方法复杂度计算测试桩复杂度,为后面奖励函数的设计提供信息;
步骤4、设计奖励函数:将测试桩复杂度的计算融入奖励函数的设计中,指导智能体向测试桩复杂度更低的方向学习;
步骤5、设计值函数:通过奖励函数反馈值函数,通过值函数的设定保证累计奖励最大化;
步骤6、生成类集成测试序列:当智能体完成设定的训练次数,选出整体奖励值最大的动作路径,即为本次学习得到的类集成测试序列。
具体的方案,步骤1的具体步骤如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国矿业大学,未经中国矿业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110647435.5/2.html,转载请声明来源钻瓜专利网。