CN113868115B - 基于多目标优化与深度强化学习的游戏软件自动测试方法 - Google Patents

基于多目标优化与深度强化学习的游戏软件自动测试方法 Download PDF

Info

Publication number
CN113868115B
CN113868115B CN202111002763.6A CN202111002763A CN113868115B CN 113868115 B CN113868115 B CN 113868115B CN 202111002763 A CN202111002763 A CN 202111002763A CN 113868115 B CN113868115 B CN 113868115B
Authority
CN
China
Prior art keywords
game
strategy
test
optimization
software
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111002763.6A
Other languages
English (en)
Other versions
CN113868115A (zh
Inventor
郑岩
郝建业
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin University
Original Assignee
Tianjin University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tianjin University filed Critical Tianjin University
Priority to CN202111002763.6A priority Critical patent/CN113868115B/zh
Publication of CN113868115A publication Critical patent/CN113868115A/zh
Application granted granted Critical
Publication of CN113868115B publication Critical patent/CN113868115B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于多目标优化与深度强化学习的游戏软件自动测试方法,步骤1、构建面向游戏场景的异常检测机制与游戏测试策略的评估指标;步骤2、进行游戏软件自动测试设计;步骤3、基于多目标优化算法,依据策略π的适应度值FitnessValue(π)衡量策略性能,选择优质后代,进一步提升游戏测试的效率与效果;策略群中的每个策略都拥有胜率以及探索能力两种性能指标;基于衡量结果,寻找处于帕累托最优平面上的测试策略作为优秀的测试策略进行保留,同时淘汰在两个优化目标上表现都不行的策略,以此实现更有效的测试策略优化。与现有技术相比,本发明有效地提高了游戏测试的效率以及效用,具有较大的实践应用意义。

Description

基于多目标优化与深度强化学习的游戏软件自动测试方法
技术领域
本发明涉及强化学习和软件测试技术领域,特别是涉及多目标进化算法与强化学习方法结合的软件自动测试方法。
背景技术
长久以来,游戏测试一直被认为是一项极具挑战性的任务。在工业界,游戏测试一般使用脚本测试以及手动测试相结合的形式。时至今日,自动化游戏测试的研究仍然处于初级阶段,一个主要原因是玩游戏本身是一个持续决策的过程,而游戏缺陷(Bug)往往隐藏的较深,只有当某些困难的中间任务完成后,才有可能被触发,这就要求游戏测试算法拥有类人的智能。近年来,深度强化学习算法(Deep Reinforcement Learning,DRL)取得的非凡的成功,特别在游戏控制领域,甚至表现出了超越人类的智能,这为推进自动化游戏测试提供了启示。然而,既有的DRL算法主要关注如何赢得游戏,而不是游戏测试,导致其可能无法广泛地覆盖需要测试的分支场景。
另一方面,既有的游戏软件测试主要依靠手工撰写测试脚本的方式,这不仅需要较大的人力时间成本,同时由于撰写脚本的工程师对游戏软件本身的理解存在一定的局限性,导致测试脚本并不能够全面的测试游戏软件,因此软件上线运行时仍存在一定的隐患。此外,由人工撰写的脚本含有丰富的人类先验知识,这导致了目前的游戏测试离不开大量的人工成本,虽然类似于模糊测试(Fuzzing)的方法被提出用于测试游戏软件,但是缺乏了有效的先验知识引导,其效果距离人工撰写的脚本还有较大的差距。
综上,既有的游戏测试技术要么大量依赖人工撰写,无法实现全面自动化,且测试效率较低;要么使用启发式测试算法,拥有较大的随机性,算法效果无法保证,针对现代化游戏软件,很难保证测试的有效性。
发明内容
针对现有技术存在的缺陷,本发明提出了一种基于多目标优化与深度强化学习的游戏软件自动测试方法,融合进化算法与深度强化学习算法以及多目标优化算法,保证测试质量与效率的同时,实现自动化有效地游戏软件测试技术。
本发明的一种基于多目标优化与深度强化学习的游戏软件自动测试方法,该方法包括以下流程
步骤1、构建面向游戏场景的异常检测机制与游戏测试策略的评估指标,四类异常检测机制包括软件崩溃检测机制、软件逻辑异常检测机制、软件卡机异常检测机制和游戏平衡性异常检测机制;两个游戏测试策略的评估指标包括:任一游戏测试策略π在具体的一款游戏G中的胜率和游戏状态空间覆盖率/>
步骤2、进行游戏软件自动测试模型设计,具体包括以下处理:
(2-1)初始化多个游戏测试策略,形成策略群体,实现群体式协同优化;
(2-2)融合使用启发式进化算法与深度强化学习算法进行策略优化;
(2-3)对种群内所有游戏测试策略进行性能评估,淘汰劣质的测试策略,保留优质的后代,实现策略群体的整体优化;
上述(2-1)~(2-3)三个步骤循环执行,不断优化直至迭代后终止,现群体式的测试策略优化,上述过程中的强化学习策略优化环节以及策略评估环节都涉及到与环境的交互的时候,使用步骤1中提出的异常检测机制实现对环境的实时检测,并记录下发生的软件异常;
步骤3、基于多目标优化算法,依据策略π的适应度值FitnessValue(π)衡量策略性能,选择优质后代,进一步提升游戏测试的效率与效果;
策略群中的每个策略都拥有胜率以及探索能力两种性能指标;具体衡量依据策略π的适应度值FitnessValue(π),计算公式如下:
基于衡量结果,寻找处于帕累托最优平面上的测试策略作为优秀的测试策略进行保留,同时淘汰在两个优化目标上表现都不行的策略,以此实现更有效的测试策略优化。
与现有技术相比,本发明针对游戏测试过程中对先验知识依赖强,人力成本大等薄弱环节提出有效地自动化游戏测试技术。通过有效融合进化强化学习与多目标优化算法,有效地提高了游戏测试的效率以及效用,具有较大的实践应用意义。
附图说明
图1为本发明的基于多目标优化与深度强化学习的游戏软件自动测试方法整体流程示意图;
图2为游戏测试策略的多目标评估示意图。
具体实施方式
下面结合附图和实施例对本发明的技术方案进一步说明。
如图1所示,为本发明的基于多目标优化与深度强化学习的游戏软件自动测试方法整体流程示意图。
步骤1:首先为一款给定游戏G定义异常(Bug)检测机制,用于检测游戏当前状态是否异常状态。本发明针对四种典型的游戏软件异常提出了四类检测机制,具体如下:
①软件崩溃检测机制:通过判断程序是否崩溃退出,以甄别当前游戏软件是否存在漏洞,主要通过监听程序是否崩溃退出。
②软件逻辑异常检测机制:通过判断程序代码中存在的逻辑断言等是否满足,以判定是否存在逻辑异常,主要通过检测游戏后台逻辑是否抛出逻辑异常。
③软件卡机异常检测机制:通过分析游戏画面在一定时间内的变化情况,判断软件是否出现了卡机异常,主要对比游戏当前状态st与过去一段时间平均状态的差异,以实现检测,形式化表述如下:
其中,表示过去n个时刻的状态的平均。如果二者差异不大,说明游戏出现了卡机异常。
④游戏平衡性异常检测机制:制通过分析游戏中不同角色之间的信息,判定游戏设计是否存在平衡性异常。具体来说,如果游戏中的一个角色能够以较高的胜率打败其余所有角色,则认为该角色存在不正常的优势,意味着大概率存在设计上的缺陷。
衡量游戏测试策略的效能的具体指标如下:从胜率以及游戏状态覆盖率两个指标来,
评估指标一:胜率使用游戏测试策略π进行多轮游戏G,并求得平均胜率;
评估指标二:游戏状态空间覆盖率指游戏测试策略π在测试游戏G过程中所探索到的(非重复)状态空间的总数量。
上述的异常检测机制能够甄别游戏当下是否发生了异常。而两种策略的评估指标,能够实现游戏策略的测试效果质量评估,为后续的步骤提供了游戏测试的基础功能保证。
步骤2:进行自动化的游戏软件测试设计,包括:
(2-1)初始化多个游戏测试策略,形成策略群,实现群体式协同优化;
(2-2)使用启发式进化算法与深度强化学习算法进行策略优化;
(2-3)对种群内所有游戏测试策略进行性能评估,淘汰劣质的测试策略,保留优质的后代,实现策略群体的整体优化。
上述(2-1)~(2-3)三个步骤循环执行,不断优化迭代一定的轮数后终止,以此实现群体式的测试策略优化,值得注意的是上述过程中的强化学习策略优化环节以及策略评估环节都设计到与环境的交互。在交互的时候,使用步骤1中提出的异常检测机制实现对游戏的实时检测,并记录下出发的软件异常,以此实现游戏软件的实时测试。
从强化学习算法的角度看,不同的策略π都能够探测到游戏中不同的状态空间。从进化算法的角度看,通过维护一个策略种群,可以实现游戏空间的高效探索。直观上,可以将二者结合,实现有效的游戏测试。
总体来说,本发明融合了启发式进化算法与深度强化学习算法进行策略优化,通过维护一个策略群体(Population)(群体中的每个个体代表一个具体的游戏测试策略π),通过有效地利用其他个体的信息进行策略优化。例如,一个个体可以从另一个性能更好的个体中拷贝模型参数,并在这个过程中通过随机参数化等方式增加策略集的多样性,实现模型性能的提升。具体来说,利用种群优势,使用交叉(Crossover)以及变异(Mutation)算子对种群中的策略π进行处理,生成新后代(Offspring),并基于包含了新后代的候选(Candidate Policies)策略集合,筛选出优秀的个体,淘汰性能不佳的个体,实现启发式的策略优化。
步骤3:使用胜率作为策略的单一衡量指标,会使得种群内的策略都趋同于取胜,无法探测到更广泛的游戏空间,降低游戏测试效果。为此,基于多目标优化算法,对每个策略分别从胜率以及游戏状态空间覆盖率/>两个维度的评估指标来衡量策略性能,并以此进行优质后代的选择。
具体来说,每个策略π的适应度值FitnessValue(π)计算公式如下:
至此,策略群中的每个策略都拥有胜率以及游戏状态空间覆盖率/>(游戏空间探索能力)两个评估指标。由于每个策略的实用度值是一个向量,因此,后代选择的方式也转变成了向量之间的比较。对此,本发明使用非支配排序(non-dominate sorting,NDS)来选择非支配集(non-dominate set),进而选择更优质的后代。如图2所示,为游戏测试策略的多目标评估示意图。图中每一个点代表一个策略,两个维度衡量了策略在获胜能力与探索能力两个维度的表现。其中,整个种群中存在一个集合F1,该集合中的策略相互不支配(例如策略一π1的胜率比策略二π2高,但是探索能力却比较低;因此无法说明两个策略之中哪一个更优秀),该策略集又被称为帕累托前沿(Pareto Frontier)。
基于此,进行后代选择的时候,优先选择策略集中的帕累托前沿(如F1);接着从种群中剔除F1后再进行非支配集的筛选,找到F2在加入到后代中,循环往复直至种群数量达到上限。值得注意的是,当将F3加入到后代种群时,如果遇到种群规模超出上限阈值的情况,需要针对F3内的策略进行筛选。
为此,本发明提出使用聚集距离(crowding distance)对策略的密集程度进行度量,并基于聚集距离实现策略的聚集距离排序算法(crowding distance sorting,CDS)实现策略的末位淘汰。如上图右所示,针对策略π1的聚集距离定义如下公式:
CD(π1)=d1+d2+d3+d4
其中,d1与d4表示在游戏状态空间覆盖率维度上,策略π1与距离其最近的邻居节点间的距离;同理,d2与d3表示在胜率/>维度上的距离。根据聚集距离对策略进行CDS,保留聚集距离较大的策略,淘汰聚集距离较小的策略,以此实现策略的多样性。CDS尽可能选择两端的策略,以及均匀分布在两个极端之间的策略,以实现后代策略的多样性。
以及,基于衡量结果寻找处于帕累托最优平面上的测试策略作为优秀的测试策略进行保留,同时淘汰在两个优化目标上表现都不行的策略,以此实现更有效的测试策略优化,提升游戏测试效率与效果。
综上所述,本发明借助进化强化学习算法框架,结合多目标优化机制,使得种群内的策略朝着胜率以及探索能力两个方向不断优化,同时还保证部分策略均匀的分布在两个优化目标之间。二者的融合能够探索更多的游戏状态,提升发现游戏缺陷的几率。与现有技术相比,本发明针对游戏测试过程中对先验知识依赖强,人力成本大等薄弱环节提出有效地自动化游戏测试技术。
通过上述的实施步骤,能够通过进化强化学习算法以及多目标优化算法,实现了面向游戏软件的自动化测试技术,提高游戏测试的自动化程度,降低了游戏测试的人力成本,有效地提高了游戏测试的效率以及效用,具有较大的实践应用意义。

Claims (1)

1.一种基于多目标优化与深度强化学习的游戏软件自动测试方法,其特征在于,该方法包括以下流程:
步骤1、构建面向游戏场景的异常检测机制与游戏测试策略的评估指标,四类异常检测机制包括软件崩溃检测机制、软件逻辑异常检测机制、软件卡机异常检测机制和游戏平衡性异常检测机制;两个游戏测试策略的评估指标包括:任一游戏测试策略π在具体的一款游戏G中的胜率和游戏状态空间覆盖率/>
步骤2、进行游戏软件自动测试模型设计,具体包括以下处理:
(2-1)初始化多个游戏测试策略,形成策略群体,实现群体式协同优化;
(2-2)融合使用启发式进化算法与深度强化学习算法进行策略优化;
(2-3)对种群内所有游戏测试策略进行性能评估,淘汰劣质的测试策略,保留优质的后代,实现策略群体的整体优化;
上述(2-1)~(2-3)三个步骤循环执行,不断优化直至迭代后终止,实现群体式的测试策略优化,上述过程中的强化学习策略优化环节以及策略评估环节都涉及到与环境的交互的时候,使用步骤1中提出的异常检测机制实现对环境的实时检测,并记录下发生的软件异常;
步骤3、基于多目标优化算法,依据策略π的适应度值FitnessValue(π)衡量策略性能,选择优质后代,进一步提升游戏测试的效率与效果;
策略群中的每个策略都拥有胜率以及探索能力两种性能指标;具体衡量依据策略π的适应度值FitnessValue(π),计算公式如下:
基于衡量结果,寻找处于帕累托最优平面上的测试策略作为优秀的测试策略进行保留,同时淘汰在两个优化目标上表现都不行的策略,以此实现更有效的测试策略优化。
CN202111002763.6A 2021-08-30 2021-08-30 基于多目标优化与深度强化学习的游戏软件自动测试方法 Active CN113868115B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111002763.6A CN113868115B (zh) 2021-08-30 2021-08-30 基于多目标优化与深度强化学习的游戏软件自动测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111002763.6A CN113868115B (zh) 2021-08-30 2021-08-30 基于多目标优化与深度强化学习的游戏软件自动测试方法

Publications (2)

Publication Number Publication Date
CN113868115A CN113868115A (zh) 2021-12-31
CN113868115B true CN113868115B (zh) 2024-04-16

Family

ID=78988851

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111002763.6A Active CN113868115B (zh) 2021-08-30 2021-08-30 基于多目标优化与深度强化学习的游戏软件自动测试方法

Country Status (1)

Country Link
CN (1) CN113868115B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108733872A (zh) * 2018-04-03 2018-11-02 上海海事大学 一种基于多目标差分进化算法的沉管浮运控制优化方法
CN111461325A (zh) * 2020-03-30 2020-07-28 华南理工大学 一种用于稀疏奖励环境问题的多目标分层强化学习算法
CN111494959A (zh) * 2020-04-22 2020-08-07 腾讯科技(深圳)有限公司 游戏操控方法、装置、电子设备及计算机可读存储介质
CN111582428A (zh) * 2020-04-01 2020-08-25 长江大学 一种基于灰色预测演化算法的多模态多目标优化方法
CN112685165A (zh) * 2021-01-08 2021-04-20 北京理工大学 一种基于联合强化学习策略的多目标云工作流调度方法
WO2021103392A1 (zh) * 2019-11-29 2021-06-03 中国科学院自动化研究所 基于对抗结构化控制的仿生机器鱼运动控制方法、系统
CN113095463A (zh) * 2021-03-31 2021-07-09 南开大学 一种基于进化强化学习的机器人对抗方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109126140A (zh) * 2018-08-30 2019-01-04 北京深极智能科技有限公司 游戏难度评估方法、装置和系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108733872A (zh) * 2018-04-03 2018-11-02 上海海事大学 一种基于多目标差分进化算法的沉管浮运控制优化方法
WO2021103392A1 (zh) * 2019-11-29 2021-06-03 中国科学院自动化研究所 基于对抗结构化控制的仿生机器鱼运动控制方法、系统
CN111461325A (zh) * 2020-03-30 2020-07-28 华南理工大学 一种用于稀疏奖励环境问题的多目标分层强化学习算法
CN111582428A (zh) * 2020-04-01 2020-08-25 长江大学 一种基于灰色预测演化算法的多模态多目标优化方法
CN111494959A (zh) * 2020-04-22 2020-08-07 腾讯科技(深圳)有限公司 游戏操控方法、装置、电子设备及计算机可读存储介质
CN112685165A (zh) * 2021-01-08 2021-04-20 北京理工大学 一种基于联合强化学习策略的多目标云工作流调度方法
CN113095463A (zh) * 2021-03-31 2021-07-09 南开大学 一种基于进化强化学习的机器人对抗方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于随机黑洞和逐步淘汰策略的多目标粒子群优化算法;陈民铀;程杉;控制与决策;20131231;28(11);全文 *
邹亚.基于反馈策略的动态多目标进化算法研究与应用.2020,全文. *

Also Published As

Publication number Publication date
CN113868115A (zh) 2021-12-31

Similar Documents

Publication Publication Date Title
Hu et al. Deepmutation++: A mutation testing framework for deep learning systems
He et al. Many-objective evolutionary algorithms based on coordinated selection strategy
CN113806546B (zh) 一种基于协同训练的图神经网络对抗防御方法及系统
KR102185190B1 (ko) 머신러닝을 이용한 이상징후 탐지 방법 및 시스템
CN107590073A (zh) 基于路径覆盖软件测试的测试用例自动生成方法
CN111897729B (zh) 基于TensorFuzz的深度神经网络模糊测试框架和测试方法
Oliveira et al. Hybrid evolutionary algorithms and clustering search
CN109813542A (zh) 基于生成式对抗网络的空气处理机组的故障诊断方法
Garza-Fabre et al. Constraint-handling through multi-objective optimization: the hydrophobic-polar model for protein structure prediction
Pappa et al. A multiobjective genetic algorithm for attribute selection
CN113868115B (zh) 基于多目标优化与深度强化学习的游戏软件自动测试方法
Zhang et al. On test case prioritization using ant colony optimization algorithm
Kelly et al. Knowledge transfer from keepaway soccer to half-field offense through program symbiosis: Building simple programs for a complex task
Ruderman et al. Uncovering surprising behaviors in reinforcement learning via worst-case analysis
Langford et al. “know what you know”: Predicting behavior for learning-enabled systems when facing uncertainty
Zhu et al. Adaptive deep reinforcement learning for non-stationary environments
Moriguchi et al. Sustaining behavioral diversity in neat
CN112817842A (zh) 不完美排错srgm决策方法、系统、介质、设备及应用
Alfarisi et al. Automated Artificial Intelligence Algorithm Adoption AAIAA
Miyashita et al. Improving system performance in case-based iterative optimization through knowledge filtering
CN115795483A (zh) 一种基于人工鱼群算法的软件漏洞检测方法
CN112749082B (zh) 一种基于de-th算法的测试用例生成方法及系统
CN114661577A (zh) 一种基于确定性策略与覆盖引导的模糊测试方法及工具
Jia et al. Towards Diverse Behaviors: A Benchmark for Imitation Learning with Human Demonstrations
Gros et al. Tracking the Race Between Deep Reinforcement Learning and Imitation Learning--Extended Version

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant