应用测试方法、装置、终端以及计算机可读存储介质与流程

文档序号:18884522发布日期:2019-10-15 20:40阅读:148来源:国知局
应用测试方法、装置、终端以及计算机可读存储介质与流程
本发明涉及应用测试
技术领域
,特别涉及一种应用测试方法、装置、终端以及计算机可读存储介质。
背景技术
:随着网络技术的发展,终端上可以安装各类应用,例如moba(multiplayeronlinebattlearena,多人在线战术竞技游戏)的游戏应用,终端可以运行游戏应用,以便用户可以通过终端控制游戏中的虚拟对象在网络中与其他用户控制的虚拟对象进行互动,使用户在游戏内可以体验到虚拟对象之间互动的乐趣,那么,为了保证游戏运行时,虚拟对象的互动效果能到达到预设互动效果一致,在进行游戏开发时,需要对游戏中各个虚拟对象在进行互动时的各个竞技技能进行测试。一般可以使用静态工具进行如下应用测试:一般虚拟对象的竞技技能是由逻辑配置来决定的,竞技技能效果是由逻辑配置中的效果表来决定的,例如,效果表存储子弹造成的物理伤害的参数值,测试端可以使用静态工具关联待测试应用配置层面的各个数据表,并输出和展示各个竞技技能对应的效果表中的参数值,技术人员可以将效果表中的参数值与预设的竞技技能的参数值进行对比,若效果表中的参数值与预设的参数值一致,则待测试应用通过测试,否则待测试用应未通过测试。但是由逻辑配置决定的竞技技能的效果实际上是由代码实现的,若实现竞技技能的代码在逻辑上存在错误,竞技技能的效果将达不到理想效果,例如,逻辑配置的竞技技能的眩晕效果为10s,若实现这眩晕效果的代码存在错误,则该竞技技能的眩晕效果可能仅有1s,也即是,待测试应用实际运行的结果和测试结果不一致,因此,上述应用测试的测试效率和测试质量都较低。技术实现要素:本发明实施例提供了一种应用测试方法、装置、终端以及计算机可读存储介质,能够解决上述应用测试时测试效率和测试质量都较低的问题。所述技术方案如下:一方面,提供了一种应用测试方法,所述方法包括:运行待测试应用,所述待测试应用加载有目标功能,所述目标功能用于获取所述待检测应用的至少一个检测点所输出的数据;在所述目标功能启动后,基于所述至少一个检测点,获取所述待测试应用在运行时虚拟对象的任一个竞技技能在不同阶段的互动数据;基于所述互动数据,对所述待测试应用进行测试。另一方面,提供了一种应用测试装置,所述装置包括:运行单元,用于运行待测试应用,所述待测试应用加载有目标功能,所述目标功能用于获取所述待检测应用的至少一个检测点所输出的数据;获取单元,用于在所述目标功能启动后,基于所述至少一个检测点,获取所述待测试应用在运行时虚拟对象的任一个竞技技能在不同阶段的互动数据;测试单元,用于基于所述互动数据,对所述待测试应用进行测试。另一方面,提供一种终端,该终端包括处理器和存储器,该存储器中存储有至少一条指令,该指令由该处理器加载并执行以实现如上述应用测试方法所执行的操作。另一方面,提供一种计算机可读存储介质,该存储介质中存储有至少一条指令,该指令由处理器加载并执行以实现如上述应用测试方法所执行的操作。本发明实施例提供的技术方案带来的有益效果是:通过目标功能,获取该待测试应用在运行时虚拟对象的任一个竞技技能在不同阶段的互动数据,并基于该互动数据,对该待测试应用进行测试。由于获取的任一个竞技技能在不同阶段的互动数据为任一个竞技技能释放过程中的实时互动数据,可以真实反映出待测试应用运行时各个虚拟对象之间的真实互动情况,从而根据实时互动数据,对待测试应用进行测试,可以提高测试质量,同时直接根据实时互动数据,就可以进行一次测试即可,无需进行多次测试,从而可以提高测试效率。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例提供的一种应用测试系统的示意图图2是本发明实施例提供的一种应用测试方法的流程图;图3是本发明实施例提供的一种目标应用的显示界面的示意图;图4是本发明实施例提供的一种实时增益显示界面的示意图;图5是本发明实施例提供的一种互动数据获取方法的示意图;图6是本发明实施例提供的一种技能树状图的示意图;图7是本发明实施例提供的一种应用测试过程的示意;图8是本发明实施例提供的一种技能树状图的示意图;图9是本发明实施例提供的一种枝节点查看方法的示意图;图10是本发明实施例提供的一种应用测试方法的流程图;图11是本发明实施例提供的一种应用测试装置的结构示意图;图12是本发明实施例提供的一种终端的结构示意图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。本发明实施例主要涉及的待测试应用可以是电子竞技游戏,以moba类游戏场景为例,用户可以提前在电子设备上进行操作,该电子设备检测到用户的操作后,可以下载电子竞技游戏的游戏配置文件,该游戏配置文件可以包括该电子竞技游戏的应用程序、界面显示数据或虚拟环境数据等,以使得该用户在该电子设备上登录电子竞技游戏时可以调用该游戏配置文件,对电子游戏界面进行渲染显示。用户可以在电子设备上进行触控操作,该电子设备检测到触控操作后,可以确定该触控操作所对应的游戏数据,并对该游戏数据进行渲染显示,该游戏数据可以包括虚拟环境数据、该虚拟环境中虚拟对象的行为数据等。在一局游戏内,用户可以控制虚拟对象释放的至少一个竞技技能,使得虚拟对象可以与敌对虚拟对象进行战斗,不同的虚拟对象可以拥有不同的竞技技能,每个竞技技能都有攻击范围和技能攻击效果,技能攻击效果例如物理伤害、法术伤害、击飞以及眩晕等,虚拟对象可以拥有不同种类的增益buff状态,buff状态用于表示给一个虚拟对象附加的一种能力,例如,可以抵挡380点的物理伤害的buff状态,抵挡380点的物理伤害也即是为虚拟对象附加的一个物理防御能力,当然有的buff状态还可以增加竞技技能的攻击力,那么当虚拟对象攻击敌对虚拟对象时,敌对虚拟对象除了需要承受到虚拟对象的技能攻击效果外,还需要承受虚拟对象的buff状态对技能攻击带来的伤害加成。例如,虚拟对象的第一个竞技技能为发射子弹,子弹的技能攻击效果为200点的物理伤害、150点的魔法伤害、眩晕1秒,虚拟对象的武器附带有buff状态,这个buff状态可以增加10%的物理伤害,子弹的攻击范围为虚拟环境中的5个单位距离,当任一敌对虚拟对象在该用户控制的虚拟对象的5个单位距离内,用户可以控制虚拟对象对敌对虚拟对象使用第一个竞技技能,例如,用户控制的虚拟对象向敌对虚拟对象发射子弹,当子弹命中敌对虚拟对象时,敌对虚拟对象所承受的伤害为200点的物理伤害+150点的魔法伤害+200*10%点的物理伤害,并且被眩晕1s,若敌对虚拟对象用于抵挡50点的物理伤害的buff状态,那么该敌对虚拟对象最终承受的伤害为(200-50)点的物理伤害+150点的魔法伤害+200*10%点的物理伤害,并且被眩晕1s。对于任一虚拟对象而言,任一虚拟对象还具有生命值,当任一虚拟对象的生命值为0是可以认为该任一虚拟对象处于非攻击状态,该任一虚拟对象将不能对敌对虚拟对象发起攻击,经过预设时间段后,该任一虚拟对象由非攻击状态切转换至攻击状态,且任一虚拟对象的生命值恢复到预设数值,例如生命值为100,当该任一虚拟对象处于攻击状态时,该任一虚拟对象可以向敌对虚拟对象发起攻击,当该任一虚拟对象向敌对虚拟对象使用竞技技能进行攻击时,若竞技技能命中敌对虚拟对象,敌对虚拟对象承受竞技技能的技能攻击效果以及任一虚拟对象的buff状态附加的伤害加成,敌对虚拟对象承受的所有伤害可以转化为负生命值,当竞技仅能命中敌对虚拟对象后,敌对虚拟对象的生命值变成原来的生命值与负生命值的和。图1是本发明实施例提供的一种应用测试系统的示意图。参见图1,该应用测试系统100包括终端101和服务器102,其中,终端101内安装有待测试应用,当终端内还安装有目标应用时,终端101还可以对待测试应用进行测试,具体地,基于待测试应用运行时的虚拟对象的竞技技能在不同阶段的互动数据,对待测试应用进行测试,可以通过目标应用实现对待测试应用的测试。当然,在一些实施例中,服务器102内也可以安装目标应用,该终端101还可以将待测试应用运行时的虚拟对象的竞技技能在不同阶段的互动数据发送给服务器102,由服务器102通过目标应用,基于待测试应用运行时的虚拟对象的竞技技能在不同阶段的互动数据,对待测试应用进行测试。具体地,终端在向服务器在发送数据之前,服务器102可以通过tcp(transmissioncontrolprotocol,传输控制协议)控制指令,建立与终端的tcp连接,从而终端可以将获取的互动数据,通过tcp协议发送给服务器102。该终端101可以是手机、平板电脑等可以安装和运行待测试应用的任一电子设备。该服务器102可以是操作系统windows主机。图1对应用测试系统中各个设备在进行应用测试时的功能进行了描述,为了进一步体现应用测试的过程,参见图2所示的本发明实施例提供的一种应用测试方法的流程图。该实施例包括:201、终端将目标功能加载至待测试应用,该目标功能用于获取该待检测应用的至少一个检测点所输出的数据。目标功能为专门用于对待测试应用进行测试的功能,待测试应用为任一待进行测试的应用,当技术人员需要对待测试应用进行测试之前,需要先将目标功能加载至待测试应用,以便终端可以通过目标功能获取该待检测应用的至少一个检测点所输出的数据。该目标功能可以通过一段目标代码来实现,将该目标代码与待测试应用的源代码进行编译打包一个安装包,使得目标代码与源代码混合在一起,从而使得待测试应用加载有目标功能。需要说明的是,目标代码与待测试应用的源代码编译打包一次即可,当再次对该待测试应用进行测试时无需再次编译打包。检测点为目标功能在待测试应用的源代码内插入的用于检测是否有新数据生成的检测工具,当该检查点检测到有新数据生成,则该检测点向终端输出检测到的新数据。待测试应用的源代码可以包括技能释放模块,技能释放模块用于实现虚拟对象释放竞技技能的过程,技能释放模块可以包括至少一段子代码,每段子代码用于生成虚拟对象的任一个竞技技能的互动数据,子代码运行时是以逻辑帧为单位运行的,也即是,子代码每运行一次逻辑帧,就会生成新的互动数据,或者说,子代码以逻辑帧为频率运行,在第1个逻辑帧时,子代码进行第一次运算,得到第一数据,在第2个逻辑帧时,子代码进行第二次运算,并将第一数据刷新为新生成的第二数据,以此类推。当该终端将目标代码加载至待测试应用的源代码的技能释放模块内时,则目标代码在技能释放模块内至少一个子代码的输出数据接口处安插检测点,该输出数据接口处为子代码生成互动数据的接口,子代码每运行一个逻辑帧后,输出数据接口处的数据刷新一次,检测点每检测到新的数据生成时,将新生成的数据以及当前逻辑帧的逻辑帧号发送给服务器,当子代码第一次生成的数据对应的逻辑帧号为1,子代码第二次生成的数据对应的逻辑帧号为2。202、当对待测试应用进行测试时,服务器启动目标应用,该目标应用用于测试该待测试应用运行时虚拟对象的任一个竞技技能的释放过程。目标应用可以基于实时互动数据,对待测试应用进行测试,因此在待测试应用运行之前,服务器可以提前启动目标应用,一旦待测试应用开始运行时,目标应用就可以根据实时互动数据,对待测试应用进行测试。在待测试应用在运行的过程中时,服务器可以启动目标应用,以便目标应用可以根据待测试应用在运行的过程中的实时互动数据,对待测试应用进行测试。需要说明的是,本发明实施例是以在待测试运行之前启动目标应用为例进行说明的,本发明实施例对目标应用的启动时机不做具体限定。由于终端内安装有待测试应用,终端可以提供待测试应用运行时所生成的数据,而目标应用安装在服务器内,服务器可以通过目标应用以及待测试应用运行时所生成的数据,对待测试应用进行测试,因此,在对待测试应用进行测试之前,需要建立服务器与终端的连接(步骤203)。需要说明的是,可以先执行步骤202,在执行步骤201,本发明实施例对步骤201-202的执行顺序不做具体限定。203、当服务器与终端之间的连接完成后,终端运行待测试应用,该待测试应用加载有目标功能。当接收到待测试应用的运行指令后,终端运行该待测试应用,该运行指令可以由用户的动作来触发,具体地,当终端的显示界面显示有待测试应用的图标时,若检测到用户点击待测试应用的图标,则触发启动待测试应用的指令,该终端接收到启动待测试应用的指令并启动待测试应用,当待测试应用启动完成后,终端显示登录界面,从而用户可以通过密码和账号,登录该待测试应用,当密码和账号验证通过时,则触发该运行指令,从而终端可以接收到该运行指令并运行待测试应用。当然,该运行指令还可以由目标应用来触发,当终端与目标应用连接完成后,若在目标应用的显示界面上检测到用户点击启动待测试应用的按钮,则触发该运行指令,服务器可以接收到该运行指令并将该运行指令发送至终端,从而终端可以接收到该运行指令并运行待测试应用。204、服务器建立与终端之间的连接。当目标应用启动后,服务器通过连接请求建立与终端之间的连接,该连接请求可以由用户的动作来触发,具体地,当在目标应用的显示界面上,检测到用户点击连接按钮时,触发该连接请求,服务器接收该连接请求并将该连接请求发送给终端,当终端接收到该连接请求后,若终端允许与服务器建立该连接请求所指示的连接,则服务器可以建立与终端之间的连接,否则服务器不能建立与终端之间的连接,该连接请求可以是建立tcp连接的请求。当目标应用的显示界面中表示连接的图标指示连接完成时,则说明目标应用与终端已经连接。目标应用的显示界面中表示连接的图标指示连接完成,可以是当表示连接的图标发生变化时,则指示连接完成,例如图3所示的本发明实施例提供的一种目标应用的显示界面的示意图,图3内的圆圈图标变成三角形图标,则说明连接完成。在服务器与终端建立tcp连接之前,技术人员可以将终端设置成调试模式,以便服务器可通过usb数据线向终端发送连接请求,接收终端发送的允许服务器建立连接的消息,进而服务器可以建立与终端的tcp连接。当终端与服务器连接成功后,终端可以通过tcp协议,将目标功能获取的数据发送至服务器内的目标应用,进而目标应用可以基于接收的数据,对待测试应用进行测试。在一些实施例中,服务器与终端的连接不是由服务器建立的,而是由终端建立的,在一种可能的实现方式中,当终端内的目标功能启动时,触发连接指令,终端接收连接指令并建立与服务器之间的连接。启动目标功能的过程参见下述步骤205。需要说明的是,本发明实施例是以服务器建立与终端之间的连接为例进行说明的,本发明实施例不具体限定建立服务器与终端之间的连接的执行主体。205、终端启动待测试应用加载的目标功能。当终端接收到目标功能的启动指令后,终端启动该目标功能,启动指令可以是gm(gamemaster,游戏管理员)指令,该启动指令可以由用户的动作来触发,具体地,当终端上的待测试应用启动后,在待测试应用的显示界面上会显示有目标功能的图标,当检测到用户点击目标功能的图标时,则触发该启动指令,从而终端可以接收到该启动指令并启动目标功能。当目标功能启动后,待测试应用的目标代码内的检测点开始检测目标位置处是否有新数据生成,当检测到有新数据生成时,检测点就会将新生成的数据发送给终端。需要说明的是,当需要对待测试应用进行测试时,可以启动目标功能,若仅是运行待测试应用,而无需对待测试应用进行测试,则无需启动目标功能,当待测试应用无需测试时,从而可以避免终端持续运行目标功能,降低了终端运行待测试应用时的内存消耗。需要说明的是,目标功能可以是待测试应用内的本身具有的功能,还可以是待测试应用为了进行测试新添加的功能。206、终端在该目标功能启动后,基于该至少一个检测点,获取该待测试应用在运行时虚拟对象的任一个竞技技能在不同阶段的互动数据。任一个竞技技能的整个释放过程可以包括多个阶段:发起阶段、释放阶段以及结束阶段等,其中,释放阶段又可以包括多个释放子阶段。在一种可能的实现方式,该终端将该至少一个检测点每次输出的数据作为该任一个竞技技能在一个阶段的互动数据。当终端接收到任一个竞技技能在每个阶段的互动数据后,终端可以获取到任一个竞技技能在不同阶段的互动数据。由于虚拟对象可以同时释放至少一个竞技技能,任一个竞技技能在不同阶段的互动数据还可以包括该任一竞技技能的技能标识,不同竞技技能的技能标识不同,例如,虚拟人物的第1个竞技技能的技能标识为a,第2个竞技技能的技能标识b。该技能标识可以是竞技技能的名称,本发明实施例对该技能标识不做具体限定。每个竞技技能又可以包括至少一个技能效果,且每个技能效果又可以触发附加效果因此,该任一个竞技技能的任一阶段的互动数据包括该虚拟对象的技能效果数据以及附加效果数据,该技能效果数据为该虚拟对象对目标虚拟对象释放该任一个竞技技能的任一个技能效果的技能数据,该技能效果数据可以包括技能效果标识,该技能效果标识用于表示一个技能效果,对于同一个竞技技能的不同技能效果所对应的技能效果标识不同,以区分同一个竞技技能的不同技能效果,例如,技能效果1对应技能效果标识c,技能效果2对应技能效果标识d。该技能效果标识可以是技能效果的名称,本发明实施例对该技能效果标识不做具体限定。对于任一竞技技能在任一阶段的技能效果数据均是基于该任一阶段的上一个阶段的技能效果数据产生的,因此,任一阶段的技能效果数据可以包括该技能效果数据所产生的目标技能效果数据对应的目标标识以及产生所述目标技能效果数据的原因,所述目标技能效果数据为所述任一阶段的下一阶段的互动数据中的技能效果数据,该目标标识用于指示目标技能效果数据。该附加效果数据用于指示该任一个技能效果触发的附加效果。任一个竞技技能可以包括至少一个技能效果,例如,任一个竞技技能为发射子弹,子弹发射过程中可以发射2颗子弹以及触发被动,2颗子弹和触发的被动都分别对应一个技能效果。任一个竞技技能的释放过程,也即是,任一个竞技技能所包括的至少一个技能效果的释放过程,其中该至少一个技能效果中的任一个技能效果的释放过程可以在至少一个节阶段内完成,当在任一阶段内释放任一个技能效果时,在该任一阶段内,终端可以获取到任一个技能效果对应的技能效果数据。由于任一个技能效果触发的附加效果可能是增益效果,例如增加攻击力的效果,任一技能触发的附加效果还可能是减益效果,例如降低防御的效果,因此,该附加效果数据可以包括增益数据以及减益数据,增益数据用于指示任一个技能效果为目标虚拟对象带来的增益效果,减益数据为任一个技能效果为目标虚拟对象带来的减益效果。任一个技能效果在释放过程中,可能在不同的阶段可能触发不同的附加效果,例如,任一个技能效果的释放过程包括3个阶段,在阶段2中任一个竞技技能触发眩晕的附加效果,在阶段3中触发护盾的附加效果,而在阶段1中没有触发任何附加效果,所以,当任一个技能效果在任一阶段没有触发任何附加效果时,获取附加效果数据的检测点将检测不到新的数据生成,因此,终端获取不到在该任一阶段的附加效果数据,也即是,对于任一阶段的附加效果数据可能为0。由于附加效果种类较多,且每种附加效果带来效果是不同的,为了体现每种附加效果,每个阶段的附加效果数据还对应一个附加效果的详细信息,该详细信息可以包括附加效果的名称、目标、类型以及效果值等,其中,目标为具有附加效果的虚拟人物,效果值可以是附加效果所带来的具体效果的数值,例如,法术加成值,基础值、护盾值等。需要说明的是,对于触发附加效果的阶段,该阶段的互动数据还包括附加效果的详细信息。本发明实施例对该附加效果的详细信息以及效果值不做具体限定。该目标虚拟对象为被虚拟对象的任一个技能效果命中的对象,该目标虚拟对象可以是该虚拟对象的队友,也可以是虚拟对象的敌人。例如,当目标虚拟对象是该虚拟对象的队友时,若该任一个技能效果的增益为生命值回复10%,那么,当虚拟对象的任一个技能效果命中目标虚拟对象时,该增益数据为生命值回复10%;当目标虚拟对象是该虚拟对象的敌人时,若该任一个技能效果的增益为生命值降低10%,那么,当虚拟对象的任一个技能效果命中目标虚拟对象,则该减益数据为生命值降低10%。由于每个阶段的互动数据为在一个逻辑帧内释放竞技技能时生成的数据,因此,该互动数据还可以包括逻辑帧号,以表明互动数据生成的时间。为了进一步说明本步骤206所示的过程,参见如图4所示的本发明实施例提供的一种互动数据获取方法的示意图。从图4中的左图可知,事件流采集模块加载至待测试应用进程的技能释放模块内,从而事件流采集模块可以采集技能释放模块生成的事件流,其中,事件流采集模块也即是目标功能,事件流也即是互动数据。图4的右图用于说明事件流采集模块采集事件流的过程,具体地,事件流采集模块可以先从技能释放模块内,获取当前运行的逻辑帧的逻辑帧号;然后,事件流采集模块从检测增益数据的检测点处,获取各个虚拟对象的附加效果数据;其后,事件流采集模块从检测技能效果数据的检测点处,获取各个虚拟对象的技能效果数据(子弹、印记、伤害、护盾等);最后,事件流采集模块从检测增益事件流的详细数据的检测点处,获取各个虚拟对象的增益事件流的详细数据(附加效果数据的详细信息),增益事件流的详细数据可以包括虚拟对象的附加效果数据的详细信息,例如基础值、成长值、法术加成、物理加成等,当事件流采集模块获取到各个虚拟对象的附加效果数据、技能效果数据以及增益事件流的详细数据后,接着事件流采集模块获取各个检测点在下一个逻辑帧检测到的互动数据。需要说明的是,由于待测试应用运行时的虚拟对象不可能一直向目标虚拟对象发起竞技技能,则当虚拟对象未发起竞技技能时,检测点就不会检测到新的数据生成,则终端基于该至少一个检测点,获取不到该待测试应用在运行时虚拟对象的任一个竞技技能在不同阶段的互动数据。且即使虚拟对象发起竞技技能时,当虚拟对象没有增益数据时,终端基于检测则增益数据的检测点,获取不到该虚拟对象的增益数据,则此时,终端默认虚拟对象的增益数据为0。207、终端将该互动数据发送至服务器,由该服务器基于该互动数据,进行对该待测试应用进行测试。终端可以通过tcp协议,将该互动数据发送至服务器。当终端每获取到一个阶段的互动数据后,就可以将获取到的数据发送给服务器,以便服务器可以基于实时的互动数据,对该待测试应用进行测试。208、服务器通过目标应用,基于该互动数据对该待测试应用进行测试。该目标应用具有buff监控功能,具体地,由于目标功能会获取与每个逻辑帧对应的互动数据,从而该目标应用的实时buff显示界面内可以显示有每个虚拟对象对目标虚拟对象的攻击效果,例如,图5所示的本发明实施例提供的一种实时增益显示界面的示意图,从图5中可知,在逻辑帧号为1326的逻辑帧中,英雄a(虚拟对象)攻击英雄b(目标虚拟对象)造成了-453点的魔法伤害、-44点的魔法伤害,并眩晕英雄b990ms,从而通过buff监控功能,使得用户可以实时查看到虚拟对象在每个逻辑帧上对其他英雄产生的实时攻击效果。该目标应用可以基于任一个竞技技能在不同阶段的互动数据之间的关系,对该待测试应用进行测试。在一种可能的实现方式中,服务器可以通过下述步骤1-3所示的过程来实现本步骤208。步骤1、对于该互动数据中任一阶段的互动数据中的技能效果数据,服务器获取技能效果数据所产生的目标技能效果数据以及产生目标技能效果数据的原因。本步骤1可以通过目标应用来实现,服务器每接收到任一阶段的互动数据后,可以从该任一阶段的互动数据的技能效果数据内,获取任一阶段的技能效果数据所产生的目标技能效果数据对应的目标标识以及产生目标技能效果数据的原因,该服务器可以将任一阶段的下一个阶段的技能效果数据获取为任一阶段的技能效果数据所产生的目标技能效果数据,因此,当接收完与任一技能效果对应的互动数据后,服务器可以获取到与该任一技能效果对应的各个目标技能效果数据对应的目标标识以及每个目标技能效果数据产生的原因,当接收完与任一竞技技能对应的互动数据后,服务器可以获取到每个技能效果对应的各个目标技能效果数据对应的目标标识以及每个目标技能效果数据产生的原因。在一些实施例中,服务器每获取任一阶段的技能效果数据所产生的目标技能效果数据对应的目标标识以及产生目标技能效果数据的原因后,将获取的数据存储在数据表中,该数据表用于存储每个目标技能效果数据产生的原因,也即是用于存储不同阶段的技能效果数据之间的依赖关系,以便服务器后续可以根据数据表中的数据,对待测试应用进行测试。例如,表1所示的数据表,技能效果数据a1,通过原因0产生目标技能效果数据b1,需要说明的是,目标技能效果数据b5也即是技能效果数据b5。表1技能效果数据标识原因目标标识技能效果数据a1原因0目标技能效果数据b1技能效果数据a1原因1目标技能效果数据b2技能效果数据a1原因2目标技能效果数据b3技能效果数据a2原因3目标技能效果数据b4技能效果数据a3原因4目标技能效果数据b5技能效果数据b5原因5目标技能效果数据b6步骤2、服务器获取任一个竞技技能在每个目标阶段的互动数据附加效果数据的详细信息,目标阶段为该任一个技能效果触发附加效果的阶段。在任一技能效果释放过程中,可能会出现多个触发附加效果的目标阶段,为了体现任一技能效果释放时所触发的所有附加效果,该服务器获取每个目标阶段的附加效果数据的详细信息。步骤3、服务器基于每个阶段的互动数据中的技能效果数据所产生的目标技能效果数据、产生目标技能效果数据的原因以及每个目标阶段的附加效果数据的详细信息,测试该任一个竞技技能的释放过程。本步骤3可以通过目标应用来实现,目标应用可以根据每个阶段的互动数据中的技能效果数据所产生的目标技能效果数据、产生目标技能效果数据的原因,绘制虚拟对象的技能树状图,使用技能树状图来展示在虚拟对象的各个竞技技能的释放过程,待测试应用在运行时,在待测试应用的显示界面上可以显示至少两个虚拟对象,终端可以根据每个虚拟对象的竞技技能在不同阶段的互动数据,绘制每个虚拟对象的技能树状图。在一种可能的实现方式中,终端可以通过下述步骤41-42所示的过程实现本步骤3。步骤41、对于该任一竞技技能的任一技能效果,服务器基于与该任一技能效果对应的技能效果数据、与该任一技能效果对应的技能效果数据所产生的目标技能效果数据以及产生目标技能效果数据的原因,绘制该虚拟对象的技能树状图中的任一竞技技能所对应的任一分支。本步骤41可以通过目标应用来实现,一个技能树状图用于表示一个虚拟对象的各个竞技技能的至少一次释放过程,技能树状图包括一个根节点、至少一个技能节点以及多个分支,每个技能节点对应一个竞技技能,每个分支对应一个技能效果,其中,根节点与至少一个技能节点向连接,每个技能节点与多个分支相连接。每个分支由至少一个枝节点组成,该任一分支上的每个枝节点用于存储该任一个竞技技能在对应阶段的互动数据中的技能效果数据以及附加效果数据,根据与该任一技能效果对应的技能效果数据产生目标技能效果数据的原因,所述任一分支上的枝节点依次连接,该任一分支用于表示所述任一技能效果的释放过程。服务器先将每个阶段的互动数据中的技能效果数据以及附加效果数据存储在每个枝节点中,再根据技能效果数据与目标技能效果数据之间的依赖关系(表1中的对应关系),确定枝节点与枝节点之间的连接关系。以表1中存储的数据为基础,以图6所示的本发明实施例所提供的一种技能树状图的示意图为例进行说明,表1所示的数据表,例如,技能效果数据a2通过原因3产生目标技能效果数据b4,服务器将技能效果数据a2存储在枝节点1中,将目标技能效果数据b4存储在枝节点2中,由于目标技能效果数据b4是基于技能效果数据a2产生的,因此,枝节点1连接枝节点2,且枝节点1位于枝节点2的前面,技能效果数据与任一竞技技能的一个技能效果对应,因此,枝节点1连接任一竞技技能对应的技能节点,那么,技能效果数据所对应的技能效果的释放过程可以表示为可以表示为技能节点-枝节点1-枝节点2-枝节点3,其中,“-”表示枝节点之间的连接关系,“技能节点-枝节点1-枝节点2-枝节点3”也即是与任一竞技技能对应的一个分支。对于该任一竞技技能的每个技能效果所对应的技能效果数据都执行本步骤41,该目标应用就可以绘制出与该任一技能对应的至少一个分支。步骤42、服务器基于该每个目标阶段的附加效果数据的详细信息,在该任一竞技技能所对应的各个分支上的目标枝节点上存储对应的目标阶段的附加效果数据的详细信息。本步骤42可以通过目标应用来实现。一个分支对应一个技能效果,每个技能效果触发的附加效果可能出现在至少一个目标阶段上,因此,每个技能效果对应至少一个目标阶段,也即是,每个分支对应至少一个目标阶段。该目标枝节点可以是每个分支的最后一个枝节点,服务器可以将每个分支所对应的至少一个目标阶段的附加效果数据的详细信息存储在每个分支的最后一个枝节点上,从而用户可以查看到任一个技能效果所触发的各个附加效果是如何产生的以及所带来的什么样的效果,使得任一个技能效果在释放过程中所触发的附加效果可以被直观展示。需要说明是,本发明实施例以目标枝节点为最后一个枝节点为例进行说明。目标枝节点可以是每个分支上存储附加效果数据的枝节点,对于任一阶段,任一技能效果在该任一阶段可能触发附加效果,也可能未触发附加效果,当在该任一阶段可能触发附加效果时,存储该任一阶段的技能效果数据的枝节点还可以存储有附加效果数据以及附加效果数据的详细,当在该任一阶段未触发附加效果时,存储该任一阶段的技能效果数据的枝节点不会存储有附加效果数据以及附加效果数据的详细。需要说明是,每个分支的最后一个枝节点也可以视为一个叶子节点。对于该任一竞技技能的每个技能效果所对应的技能效果数据和附加效果数据都执行本步骤41和42,该目标应用可以绘制出与该任一竞技技能对应的至少一个分支。任一个分支的每个枝节点可以存储有一个技能效果在对应阶段的技能效果以及附加效果数据,且最后一个枝节点存储有该技能效果所触发的附加效果,因此,任一分支可以表示任一个竞技技能的一个技能效果的释放过程,由于与任一竞技技能对应的每个分支的第一个枝节点均与任一技能节点连接,则任一技能节点以及与该任一技能节点连接的所有分支可以表示该任一个竞技技能的释放过程。虚拟对象可以使用多个竞技技能进行攻击,也可以多次使用同一个竞技技能进行攻击,因此,虚拟对象的技能树状图可以包括多组分支,每组分支用于表示该虚拟对象的一个竞技技能的释放过程。需要说明的是,在绘制技能树状图时,绘制页面上的底部具有以逻辑帧为单位的横轴,该横轴上均匀分布有逻辑帧号,每个枝节点的在横轴上的坐标为对应的互动数据内的逻辑帧号,例如,枝节点1所对应的互动数据1内的逻辑帧号为225,则在该绘制页面上,枝节点1在横轴上坐标为225。由于每个枝节点与横轴上的一个坐标对应,则用户可以直接查看到各个枝节点内的存储的数据为在哪个逻辑帧上产生的。需要说明的是,目标应用也可以每获取到一个阶段的互动数据后,直接绘制该互动数据对应的枝节点。从而目标应用可以实时绘制任一个竞技技能的释放过程,也即是,目标应用具有实时绘制事件流的功能,其中,任一个竞技技能在任一阶段的互动数据为一个事件流。当接收到用户的绘制指令时,目标应用可以实时绘制事件流,绘制指令可以由用户的动作来触发,具体地,当在目标应用的显示界面上,检测到用户点击绘制事件流按钮时,触发绘制指令,从而目标应用可以接收到绘制指令并开始实时绘制事件流。为了进一步说明步骤41-42所示的过程,以图7所示本发明实施例提供的一种应用测试过程的示意图为例进行如下说明,目标应用的网络模块用于接收各个检测点输出的互动数据,每接收到一个逻辑帧对应的互动数据后,线程1会分析本次接收的互动数据和上一次接收的互动数据是否为虚拟对象同一次释放一个竞技技能的互动数据,当本次接收的互动数据和上一次接收的互动数据为虚拟对象同一次释放一个竞技技能的互动数据时,则本次接收的互动数据内的技能效果数据和上一次接收的互动数据内的技能效果数据之间的依赖关系,当本次接收的互动数据对应目标阶段时,则使用线程2获取本次接收的互动数据中附加效果数据的详细信息,目标应用根据依赖关系以及附加效果数据的详细信息,绘制实时事件流,以便终端可以实现增益监控功能,另外,该终端可以根据前后关系、第一关系以及附加效果数据的详细信息,绘制技能释放导图(即是技能树状图)。为了进一步说明技能树状图中的每一竞技技能的释放过程,参见图8所示的本发明实施例提供的一种技能树状图的示意图。在第1316逻辑帧,英雄a对英雄b使用了二技能(即是一个竞技技能),在第1317逻辑帧时,二技能开始执行。在第1323逻辑帧产生子弹(技能效果),在第1332逻辑帧,子弹触发了英雄a的被动(技能效果:英雄a获得抵挡380点伤害的buff,持续2.97s)。在1326逻辑帧,子弹对英雄b产生了453点的魔法伤害和990ms的眩晕效果(附加效果)。在1326、1334、1342、1349、1357、1364、1372、1380逻辑帧,子弹分别对分别英雄b产生了44点或者45点的魔法伤害(附加效果),在图8中每个逻辑帧对应的数据存储在一个枝节点中。需要说明的是,当接收到对任一枝节点的查看指令时,该目标功能可以展示该任一枝节点对应的互动数据,从而目标功能可以显示在每个逻辑帧上的各个虚拟对象与敌对虚拟对象的互动情况。用户可以先选中逻辑树状图中任一枝节点,并选中菜单中的查看详情的选项,当用户选中菜单中的查看详情的选项后,可以触发目标功能接收到对任一枝节点的查看指令,则目标功能可以展示该任一枝节点对应的互动数据。例如,图9所示的本发明实施例提供的一种枝节点查看方法的示意图,用户选中第1326逻辑帧对应的枝节点,在该枝节点上右击鼠标键,该目标功能则可以弹出菜单,在菜单中选中查看详情,并点击鼠标左键,则可以弹出buff详情界面,在buff详情界面会显示有第1326逻辑帧对应的互动数据,例如,英雄b受到-453点魔法伤害。同理,目标功能还可以展示任一叶子点对应的互动数据以及互动效果数据,当用户点击任一叶子节点后,目标功能可以弹出任一叶子点对应的互动数据以及互动效果数据,在此,本发明实施例对展示任一叶子点对应的互动数据以及互动效果数据不做赘述。需要说明的是,该目标应用还具有收缩功能、扩展功能和查找功能。对于任一个技能树状图中可能包括很多分支,该目标应用可以仅突出展示部分分支,隐藏其余分支,从而使得目标应用具有收缩功能。当需要展示全图时,目标应用可以展示隐藏的内容以及未隐藏的内容,从而使得目标应用具有扩展功能。该目标应用可以查询任一枝节点上存储的数据,或任一个分支上存储的数据,因此该目标应用具有查询功能。另外,本步骤208所示的过程也即是服务器基于该互动数据,对该待测试应用进行测试的过程。在一些实施例,当终端内安装有目标应用时,本步骤208也可以由终端执行。由于服务器执行步骤208的过程与终端执行步骤208的过程同理,在此,本发明实施例不对终端执行步骤208的过程进行赘述。为了进一步说明步骤201-208所示的过程,参见图10所示的本发明实施例提供的一种应用测试方法的流程图。该方法流程包括以下过程:首先,终端在待测试应用的apk(androidpackage,安装包)中添加事件流采集模块;然后,服务器启动目标应用,并通过目标应用,向终端发起建立tcp连接的请求;终端在接收到请求后,建立终端与服务器之间的tcp连接;终端启动待测试应用的进程(运行待测试应用),追踪事件流模块采集事件流数据,终端将追踪事件流模块采集事件流数据(互动数据)传输给服务器;目标应用对事件流数据进行分析,得到事件流数据之间的前后关系以及第一关系,最后,目标应用根据前后关系以及第一关系绘制竞技技能释放的整个数据流。本发明实施例所提供的方法,通过目标功能,获取该待测试应用在运行时虚拟对象的任一个竞技技能在不同阶段的互动数据,并基于该互动数据,对该待测试应用进行测试。由于获取的任一个竞技技能在不同阶段的互动数据为任一个竞技技能释放过程中的实时互动数据,可以真实反映出待测试应用运行时各个虚拟对象之间的真实互动情况,从而根据实时互动数据,对待测试应用进行测试,可以提高测试质量,同时直接根据实时互动数据,就可以进行一次测试即可,无需进行多次测试,从而可以提高测试效率。图11是本发明实施例提供的一种应用测试装置的结构示意图,该装置包括:运行单元1101,用于运行待测试应用,所述待测试应用加载有目标功能,所述目标功能用于获取所述待检测应用的至少一个检测点所输出的数据;获取单元1102,用于在所述目标功能启动后,基于所述至少一个检测点,获取所述待测试应用在运行时虚拟对象的任一个竞技技能在不同阶段的互动数据;测试单元1103,用于基于所述互动数据,对所述待测试应用进行测试。可选地,获取单元1101,用于将所述至少一个检测点每次输出的数据作为所述任一个竞技技能在一个阶段的互动数据。可选地,所述任一个竞技技能的任一阶段的互动数据包括所述虚拟对象的技能效果数据以及附加效果数据,所述技能效果数据为所述虚拟对象对目标虚拟对象释放所述任一个竞技技能的任一个技能效果的数据,所述附加效果数据用于指示所述任一个技能效果触发的附加效果。可选地,测试单元1103,用于通过目标应用,基于所述互动数据对所述待测试应用进行测试,所述目标应用用于测试所述虚拟对象的任一个竞技技能的释放过程。可选地,测试单元1103包括:获取子单元,用于对于所述互动数据中任一阶段的互动数据中的技能效果数据,获取所述技能效果数据所产生的目标技能效果数据以及产生目标技能效果数据的原因,所述目标技能效果数据为所述任一阶段的下一阶段的互动数据中的技能效果数据,所述技能效果数据为所述虚拟对象对目标虚拟对象释放所述任一个竞技技能的任一个技能效果的数据;该获取子单元,还用于获取任一个竞技技能在每个目标阶段的互动数据中附加效果数据的详细信息,所述目标阶段为所述任一个技能效果触发附加效果的阶段,所述附加效果数据用于指示所述任一个技能效果触发的附加效果;测试子单元,用于基于每个阶段的互动数据中的技能效果数据所产生的目标技能效果数据、产生目标技能效果数据的原因以及每个目标阶段的附加效果数据的详细信息,测试所述任一个竞技技能的释放过程。可选地,测试子单元用于:对于所述任一竞技技能的任一技能效果,基于与所述任一技能效果对应的技能效果数据、与所述任一技能效果对应的技能效果数据所产生的目标技能效果数据以及产生目标技能效果数据的原因,绘制所述虚拟对象的技能树状图中的任一竞技技能所对应的任一分支;所述任一分支上的每个枝节点用于存储所述任一个竞技技能在对应阶段的互动数据中的技能效果数据以及附加效果数据,根据与所述任一技能效果对应的技能效果数据产生目标技能效果数据的原因,所述任一分支上的枝节点依次连接,所述任一分支用于表示所述任一技能效果的释放过程;基于所述每个目标阶段的附加效果数据的详细信息,在所述任一竞技技能所对应的各个分支上的目标枝节点上存储对应的目标阶段的附加效果数据的详细信息。可选地,该装置还包括:发送单元,用于当目标应用被安装在服务器上时,将所述互动数据发送至服务器,由所述服务器基于所述互动数据以及所述目标应用,进行对所述待测试应用进行测试,所述目标应用用于测试所述虚拟对象的任一个竞技技能的释放过程。图12是本发明实施例提供的一种终端的结构示意图,该终端1200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上cpu(centralprocessingunits,处理器)1201和一个或一个以上的存储器1202,其中,所述存储器1202中存储有至少一条指令,所述至少一条指令由所述处理器1201加载并执行以实现上述各个方法实施例提供的方法。当然,该终端1200还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该终端1200还可以包括其他用于实现设备功能的部件,在此不做赘述。在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成下述实施例中应用测试方法。例如,所述计算机可读存储介质可以是rom(read-onlymemory,只读存储器)、ram(randomaccessmemory,随机存取存储器)、cd-rom(compactdiscread-onlymemory,只读光盘)、磁带、软盘和光数据存储设备等。上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。需要说明的是:上述实施例提供的应用测试装置在进行应用测试时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的应用测试装置与应用测试方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1