一种虚幻引擎软件的测试方法,及测试设备的制造方法

文档序号:9452981阅读:379来源:国知局
一种虚幻引擎软件的测试方法,及测试设备的制造方法
【技术领域】
[0001]本发明涉及信息技术领域,特别涉及一种虚幻引擎软件的测试方法,及测试设备。
【背景技术】
[0002]虚幻引擎(Unreal Engine, UE)是开发平台的一种,提供大量的核心技术阵列,内容编辑工具,支持高端开发团队的基础项目建设。虚幻引擎的所有编写观念都是为了更加容易的内容制作和编程的开发,为了让美术开发人员能够在涉及最少程序开发内容的情况下使用抽象程序助手来自由创建虚拟环境,以及提供程序编写者高效率的模块和可扩展的开发构架用来创建、测试,和完成各种类型的软件测试工作。
[0003]虚幻引擎具有如下特点:
[0004]虚幻的引擎为了软件开发的程序员能够更好地进行编写软件,提供了 3个编写实例和百分之百开放的源代码、编辑器、输出插件,以及一些公司内部开发软件所使用到的软件代码。虚幻的软件播放脚本语言还提供了许多自动化的原数据供软件开发人员参考和使用。引擎中将材质编辑的这部分界面拆成了许多独立的模块,方便那些在进行制作的美术人员以后可以直接在界面中根据需要加入新的可视化工具或是新的明暗生成器。拥有操作便捷高效的软件结构,可以快速地升级到大型的团队开发项目或是多平台开发项目。
[0005]虚幻引擎还提供了统一化的编码标准,适用于PC (Personal Computer,个人电脑)的汇编及可以支持的下一代控制平台里。所有软件开发时所需要的内容和数据文件都能在这些可以支持的控制平台中兼容,可以极快地增强开发的内容和数据在转化和测试工作中的效率。
[0006]在引擎中使用了经过优化后的光驱载入系统,这种系统可以将光驱的实际传输效率充分发挥到百分比八十以上。
[0007]因此虚幻引擎平台具有比较高的易用性,特别是在软件的开发中应用十分广泛。
[0008]软件测试(software testing),是在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。因此,对于软件进行测试是必要也是重要的。
[0009]目前针对虚幻引擎软件的测试方案中,对软件内存、代码,以及网络协议的修改测试是一种非常重要的手段,能够发现软件中存在的许多重大安全漏洞,但是这种测试方法中涉及到较高的技术门槛,同时测试效率一直是测试人员非常头疼的问题。
[0010]目前的测试方案有两种:
[0011]1、通过Cheat Engine (作弊引擎)等工具,通过软件中可见数值来搜索定位内存,再进行修改测试。
[0012]2、通过破解软件脚本,静态阅读脚本代码发现问题。
[0013]但是以上两个方案中,通过Cheate Engine等工具进行测试的方案,呈现的数据量大,需要多次重复操作才能模糊定位到目标数据,且只局限于数值的搜索,因此测试效率较低。通过破解软件脚本进行测试的方案,则取决于加密的复杂程度,对测试人员存在较高门槛;另外,需要在软件的海量代码中阅读来定位关键函数,耗费人工时间过多;修改完后,需要重新加密和打包脚本代码,在软件运行过程中做测试执行,观察测试效果,因此效率很低。
[0014]基于以上分析可知,无论是采用作弊引擎对可见数值进行搜素定位内存的方案,还是破解软件脚本的方案,测试效率均很低。

【发明内容】

[0015]本发明实施例提供了一种虚幻引擎软件的测试方法,及测试设备;用于提升软件测试效率。
[0016]一种虚幻引擎软件的测试方法,包括:
[0017]在被测试的虚幻引擎软件运行过程中,进行内存对象搜索,获得包含数据类型的类;
[0018]遍历所述包含数据类型的类下的实例,获得变量对象;
[0019]修改获得的变量对象。
[0020]一种测试设备,包括:
[0021]内存搜索单元,用于在被测试的虚幻引擎软件运行过程中,进行内存对象搜索,获得包含数据类型的类;
[0022]实例遍历单元,用于遍历所述内存搜索单元获得的所述包含数据类型的类下的实例,获得变量对象;
[0023]对象修改单元,用于修改所述实例遍历单元获得的变量对象。
[0024]从以上技术方案可以看出,本发明实施例具有以下优点:通过在被测试的虚幻引擎软件运行过程中,对内存对象的搜索,获得包含数据类型的类;然后遍历所述包含数据类型的类下的实例,获得变量对象,从而可以快速全面地搜索到虚幻引擎软件的变量信息,通过精确定位到变量对象,不再局限于数值搜索;另外,不需要对虚幻引擎软件进行破解,也不需要人工阅读代码,也不需要修改重新机密打包脚本代码。因此,相比于采用作弊引擎对可见数值进行搜素定位内存的方案,以及破解软件脚本的方案,本发明实施例测试效率均较高,并且有更好的测试深度。
【附图说明】
[0025]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0026]图1为本发明实施例方法流程示意图;
[0027]图2为本发明实施例基类的结构示意图;
[0028]图3为本发明实施例函数实时反编译界面示意图;
[0029]图4为本发明实施例方法流程示意图;
[0030]图5为本发明实施例测试设备结构示意图;
[0031]图6为本发明实施例测试设备结构示意图;
[0032]图7为本发明实施例测试设备结构示意图;
[0033]图8为本发明实施例测试设备结构示意图。
【具体实施方式】
[0034]为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0035]本发明实施例提供了一种虚幻引擎软件的测试方法,如图1所示,包括:
[0036]101:在被测试的虚幻引擎软件运行过程中,进行内存对象搜索,获得包含数据类型的类;
[0037]在本发明实施例中对内存对象的搜索通常来说,可以是全局内存对象搜索。本发明实施例所称的虚幻引擎软件,是指基于虚幻引擎平台开发的软件。
[0038]由于在UE中,所有的变量、参数、函数类以及包都被当做对象,所有的对象都继承同一个基类:U0bject,所有的对象都通过预定的几种方式进行关联,因此本发明实施例进行内存搜索,并获得包含数据类型的类的方案可以如下:可选地,上述进行内存对象搜索包括:
[0039]获取上述虚幻引擎软件的基类,通过上述基类获得上述虚幻引擎软件的对象之间的关联关系,通过上述虚幻引擎软件的对象之间的关联关系,确定包含数据类型的类。
[0040]更具体地,上述对象之间的关联关系包括:三种关联关系:包、类以及类的成员之间的关联关系;类与类的实例之间的关联关系;以及,类之间的继承关系。
[0041]102:遍历上述包
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1