本发明涉及数据处理技术领域,具体涉及一种跨平台数据互通一致性测试方法及应用测试服务器。
背景技术:
目前主流的系统平台(简称平台)如支持PC(个人计算机)终端的Windows平台,支持移动终端的IOS、安卓(Android)等平台,一个应用(如游戏应用、聊天软件等)为支持能够在多个平台上运行,往往会针对不同的平台开发适配的应用版本;以游戏为例,一个游戏为支持在Windows平台和安卓平台上运行,则需要为游戏开发Windows平台版本和安卓平台版本。
为便于用户使用,一个应用在不同平台上,往往可以使用相同的用户账号进行登录,且一个应用的同一账号能够跨平台数据互通;跨平台数据互通指的是,在一个应用的不同平台上,同一账号的应用数据应是一致的;如用户采用一账号登录Windows平台的游戏并进行操作后,再采用同一账号登录安卓平台的该游戏,则安卓平台的该游戏中该账号的游戏数据,应与用户在Windows平台的该游戏中操作后的游戏数据相一致。
为了测试应用在不同平台上,同一账号能否保持应用数据的一致性,就需要进行跨平台数据互通一致性测试;目前的跨平台数据互通一致性测试方式可以如图1所示,测试人员采用Windows平台的应用客户端登录应用服务器,并在Windows平台的应用客户端上进行操作,记录操作后的应用数据;测试人员再通过安卓平台的应用客户端登录应用服务器,核对验证安卓平台上的应用数据是否与在Windows平台上操作后的应用数据相一致,从而得出跨平台数据互通一致性的测试结果。
可以看出,目前的跨平台数据互通一致性的测试方式,需要测试人员在不同平台的应用客户端上切换登录,同时,需要测试人员手动操作应用客户端,实现测试所需的操作,测试过程较为麻烦且测试效率较低。
技术实现要素:
有鉴于此,本发明实施例提供一种跨平台数据互通一致性测试方法及应用测试服务器,以简化测试过程,提高测试效率。
为实现上述目的,本发明实施例提供如下技术方案:
一种跨平台数据互通一致性测试方法,应用于应用测试服务器,所述方法包括:
确定测试账号及测试所用的第一系统平台;
根据所述测试账号,模拟所述第一系统平台相应的第一登录协议数据,将所述第一登录协议数据发送给应用服务器;
在应用服务器验证所述第一登录协议数据合法后,确定测试操作信息;
根据所述测试操作信息,模拟所述第一系统平台相应的第一操作协议数据,将所述第一操作协议数据发送给应用服务器;
接收所述应用服务器反馈的所述测试操作信息相应的操作响应数据,根据所述操作响应数据,记录所述测试操作信息相应的操作结果数据;
切换测试平台为第二系统平台,所述第二系统平台与所述第一系统平台不同;
根据所述测试账号,模拟所述第二系统平台相应的第二登录协议数据,将所述第二登录协议数据发送给应用服务器;
在应用服务器验证所述第二登录协议数据合法后,模拟与所述第二系统平台相应的第二操作协议数据,将所述第二操作协议数据发送给应用服务器;所述第二操作协议数据用于指示查询所述测试操作信息相应的操作后应用数据;
接收所述应用服务器反馈的所述测试操作信息相应的操作后应用数据,将所述操作后应用数据与记录的操作结果数据相比对,根据比对结果确定测试结果。
本发明实施例还提供一种应用测试服务器,包括:
测试信息确定模块,用于确定测试账号及测试所用的第一系统平台;
第一登录模拟模块,用于根据所述测试账号,模拟所述第一系统平台相应的第一登录协议数据,将所述第一登录协议数据发送给应用服务器;
测试操作信息确定模块,用于在应用服务器验证所述第一登录协议数据合法后,确定测试操作信息;
第一操作模拟模块,用于根据所述测试操作信息,模拟所述第一系统平台相应的第一操作协议数据,将所述第一操作协议数据发送给应用服务器;
记录模块,用于接收所述应用服务器反馈的所述测试操作信息相应的操作响应数据,根据所述操作响应数据,记录所述测试操作信息相应的操作结果数据;
测试平台切换模块,用于切换测试平台为第二系统平台,所述第二系统平台与所述第一系统平台不同;
第二登录模拟模块,用于根据所述测试账号,模拟所述第二系统平台相应的第二登录协议数据,将所述第二登录协议数据发送给应用服务器;
第二操作模拟模块,用于在应用服务器验证所述第二登录协议数据合法后,模拟与所述第二系统平台相应的第二操作协议数据,将所述第二操作协议数据发送给应用服务器;所述第二操作协议数据用于指示查询所述测试操作信息相应的操作后应用数据;
比对及测试结果确定模块,用于接收所述应用服务器反馈的所述测试操作信息相应的操作后应用数据,将所述操作后应用数据与记录的操作结果数据相比对,根据比对结果确定测试结果。
基于上述技术方案,应用测试服务器可与测试终端配合在不同测试平台下实现测试账号的登录模拟,操作模拟,通过将第一系统平台下的测试操作信息相应的操作结果数据,与在第二系统平台查询得到的所述测试操作信息的操作后应用数据进行比对,可实现跨平台数据互通一致性的测试。本发明实施例可在脱离应用客户端的情况下,实现跨平台数据互通一致性的测试,免去了测试人员手动在应用客户端进行不同平台的切换登录及进行应用操作的流程,简化了跨平台数据互通一致性的测试过程,提高了测试效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为现有跨平台数据互通一致性测试方式的示意图;
图2为本发明实施例提供的跨平台数据互通一致性测试系统的结构框图;
图3为测试界面的示意图;
图4为本发明实施例提供的跨平台数据互通一致性测试方法的信令流程;
图5为测试界面的另一示意图;
图6为本发明实施例提供的跨平台数据互通一致性测试方法的另一信令流程;
图7为确定第一操作协议数据的方法流程图;
图8为本发明实施例提供的应用测试服务器的结构框图;
图9为第一登录模拟模块的结构框图;
图10为第二登录模拟模块的结构框图;
图11为第一操作模拟模块的结构框图;
图12为第二操作模拟模块的结构框图;
图13为应用测试服务器的硬件结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2为本发明实施例提供的跨平台数据互通一致性测试系统的结构框图,本发明实施例提供的跨平台数据互通一致性测试方法可基于图2所示系统进行,参照图2,该系统可以包括:测试终端10,应用测试服务器20,应用服务器30;
测试终端10是测试人员所使用的用户设备,如手机、平板电脑、PC等;在本发明实施例中,测试终端10可不需要装载应用客户端,而是可通过展示供测试人员输入测试账号、测试平台、测试操作等信息的测试界面,来实现跨平台数据互通一致性的测试;应用客户端可以认为是需测试跨平台数据互通一致性的应用,装载在用户设备侧的为用户提供本地服务的程式;
图3示出了测试界面的可选示意图,测试人员可通过测试终端所展示的测试界面,实现测试账号、测试所用系统平台、测试操作等信息的输入,显然,图3所示测试界面仅是一种可选形式;
测试终端所展示的测试界面可以是网页形式的,也可以是通过装载与应用测试服务器配合的测试应用,通过测试应用的应用界面展示测试界面,此处的测试应用并不是应用客户端;
应用测试服务器20是网络侧设置的,接收测试终端发送的测试人员输入的信息,并与应用服务器交互,实现应用的登录模拟,操作模拟的服务器;应用测试服务器20可以是单台服务器实现,也可以是由多台服务器组成的服务器群组;
应用服务器30是为需测试跨平台数据互通一致性的应用,提供网络服务的服务设备,如对游戏进行跨平台数据互通一致性的测试,则应用服务器可以是游戏服务器;
在本发明实施例中,测试人员可通过测试终端展示的测试界面输入测试账号和测试所用系统平台,测试终端将测试人员输入的包含测试账号和测试所用系统平台的信息发送给应用测试服务器;应用测试服务器可基于测试人员所输入的测试账号和测试所用系统平台,与应用服务器交互,实现登录的模拟,并可通过切换另一测试平台,实现测试账号在不同平台上的登录切换,免去测试人员在不同平台的应用客户端上切换登录的操作,简化了在不同平台上切换登录的流程;
同时,测试人员可通过测试终端输入测试操作信息,测试操作信息指示的是针对应用的至少一个操作;测试终端可将测试操作信息发送给应用测试服务器;应用测试服务器可基于测试操作信息,在前面确定的测试平台上实现相应的操作模拟,从而与应用服务器交互,实现测试操作的模拟,免去测试人员在应用客户端上手动进行测试所需操作的过程,简化测试过程;
上文所指的用户输入测试账号、测试平台、测试操作等信息,可以是用户通过键盘、触摸屏等输入装置输入相应的字符,也可以是在测试界面所进行的选取操作(如测试界面可展示有多个测试平台相应的选项,以便用户选取,又如测试界面可展示有多个测试操作信息相应的选项,以便用户选取等),显然,也可以是两者的结合。
基于图2所示系统,图4示出了本发明实施例提供的跨平台数据互通一致性测试方法的信令流程,参照图4,该流程可以包括:
步骤S10、测试终端展示测试界面,通过测试界面获取测试人员输入的测试账号及第一系统平台标识;第一系统平台标识用于标识第一系统平台
可选的,测试终端可通过网页形式,或应用界面(与应用测试服务器配合的测试应用的界面)的形式展示测试界面,测试人员可通过在测试界面上输入测试账号,测试所用系统平台(如选取测试所用系统平台的标识);
可选的,用户可以通过输入字符的方式,在测试界面输入测试账号,测试所用系统平台标识;测试界面中也可展示有多个测试账号相应的选项,及多个测试所用系统平台标识相应的选项,测试人员可通过选取的方式从这些选项中选取测试账号及第一系统平台标识;
可选的,第一系统平台为需测试跨平台数据互通一致性的应用所支持的一系统平台,可以基于测试人员的选取等输入操作确定,如第一系统平台可以是Windows平台、安卓平台、IOS平台中的一个;
测试账号为用于进行跨平台数据互通一致性测试所使用的应用账号,该测试账号可在应用所支持的平台上通用登录。
步骤S11、测试终端将包含所述测试账号及第一系统平台标识的信息发送给应用测试服务器;
相应的,应用测试服务器可获取测试终端发送的包含测试账号及第一系统平台标识的信息,确定出测试账号及测试所用的第一系统平台。
步骤S12、应用测试服务器根据所述测试账号,模拟所述第一系统平台相应的第一登录协议数据,将所述第一登录协议数据发送给应用服务器;
本发明实施例可在脱离应用客户端的情况下,通过应用测试服务器模拟第一系统平台下用于测试账号登录的登录协议数据(即第一登录协议数据),在第一系统平台下实现测试账号的登录模拟;
此处的第一登录协议数据可以认为是,在第一系统平台下进行测试账号的登录所涉及的登录协议数据。
步骤S13、应用服务器验证所述第一登录协议数据是否合法,在验证合法时,向应用测试服务器发送第一成功登录响应;
步骤S14、应用测试服务器确定测试操作信息;
可选的,测试操作信息可以携带在测试终端所发送的包含所述测试账号及第一系统平台的信息中,即测试终端在发送测试账号和第一系统平台的同时,可一同的发送测试操作信息;相应的,测试人员可同时在测试界面输入测试账号、第一系统平台和测试操作信息,相应的测试界面示意可如图3所示;
可选的,应用测试服务器也可在接收到第一成功登录响应后,控制测试终端展示的测试界面跳转到输入测试操作信息的界面,从而在测试人员输入测试操作信息后,实现对测试操作信息的确定;即测试终端可先向应用测试服务器发送测试账号和第一系统平台,然后再在确认成功登录后,发送测试操作信息;相应的,测试界面示意可如图5所示,包含了输入测试账号、第一系统平台的界面,和输入测试操作信息的界面;
测试操作信息指示的是针对需测试跨平台数据互通一致性的应用,所进行的应用操作的信息。
步骤S15、应用测试服务器根据所述测试操作信息,模拟所述第一系统平台相应的第一操作协议数据,将所述第一操作协议数据发送给应用服务器;
此处的第一操作协议数据可以认为是,第一系统平台下与所述测试操作信息相应的操作协议数据;
在本发明实施例中,操作协议数据并不是由测试人员在应用客户端上通过手动操作实现,而是在脱离应用客户端的情况下,由应用测试服务器基于测试操作信息模拟第一系统平台相应的操作协议数据实现;本发明实施例可在脱离应用客户端的情况下,通过应用测试服务器模拟第一系统平台下用于执行测试操作信息的操作协议数据(即第一操作协议数据),在第一系统平台下实现测试所需操作的模拟。
步骤S16、应用服务器向应用测试服务器反馈所述测试操作信息相应的操作响应数据;
应用服务器在接收到应用测试服务器发送的第一操作协议数据后,可对第一操作协议数据进行响应,并将相应的操作响应数据发送给应用测试服务器;
如应用为游戏的情况下,应用测试服务器可在第一系统平台下发送至少一个技能发动相应的操作协议数据,游戏服务器接收操作协议数据后,可响应各操作协议数据,进行相应技能的发动,并反馈技能发动响应数据。
步骤S17、应用测试服务器根据所述操作响应数据,记录所述测试操作信息相应的操作结果数据;
可选的,操作结果数据指示的是执行与所述测试操作信息相应的操作后,测试账号相应的应用数据,表示的是执行所述测试操作信息后,应用的结果数据;
可选的,如果操作响应数据中具有执行与所述测试操作信息相应的操作后的结果数据,则可将操作响应数据中的结果数据作为操作结果数据;如以游戏应用为例,测试操作信息表示的是升级游戏角色,如果操作响应数据中具有升级后的游戏角色的等级,则操作响应数据中升级后的游戏角色的等级可以作为操作结果数据;
如果操作响应数据中包含的是执行与所述测试操作信息相应的操作后的操作调整数据,则应用测试服务器可基于执行与所述测试操作信息相应的操作前的应用数据与所述操作调整数据,来进行数据处理,得出操作结果数据;如以游戏应用为例,测试操作信息表示的是升级游戏角色,如果操作响应数据中包含的是游戏角色的等级提升数,则应用测试服务器可基于游戏角色的原等级,和该等级提升数确定升级后的游戏角色的等级,实现操作结果数据的确定。
步骤S18、应用测试服务器切换测试平台为第二系统平台,所述第二系统平台与所述第一系统平台不同;
测试平台为测试跨平台数据互通一致性所使用的系统平台;为测试应用在不同平台上,同一账号能否保持应用数据的一致性,应用测试服务器记录了在第一系统平台下进行操作模拟后的操作结果数据后,可在第二系统平台下核对应用数据是否与第一系统平台一致。
步骤S19、应用测试服务器根据所述测试账号,模拟所述第二系统平台相应的第二登录协议数据,将所述第二登录协议数据发送给应用服务器;
本发明实施例可通过应用测试服务器模拟第二系统平台下用于测试账号登录的登录协议数据(即第二登录协议数据),在第二系统平台下实现测试账号的登录模拟。
步骤S20、应用服务器验证所述第二登录协议数据是否合法,在验证合法时,向应用测试服务器发送第二成功登录响应;
步骤S21、应用测试服务器模拟所述第二系统平台相应的第二操作协议数据,将所述第二操作协议数据发送给应用服务器;所述第二操作协议数据用于指示查询所述测试操作信息相应的操作后应用数据;
在应用测试服务器已记录第一系统平台下所述测试操作信息相应的操作结果数据后,应用测试服务器需在与第一系统平台不同的第二系统平台下,查询所述测试操作信息相应的操作后应用数据,是否与已记录的所述测试操作信息相应的操作结果数据相一致,因此应用测试服务器需要在第二系统平台下,模拟出能够查询所述测试操作信息相应的操作后应用数据的操作协议数据(即第二操作协议数据)。
步骤S22、应用服务器向应用测试服务器反馈所述测试操作信息相应的操作后应用数据;
应用服务器可连接或设置有数据库,数据库中可存储有各应用账号相应的应用数据,应用服务器在接收到第二操作协议数据后,可从数据库中存储的测试账号相应的应用数据中,调取出所述测试操作信息相应的操作后应用数据,从而反馈给应用测试服务器。
步骤S23、应用测试服务器将所述测试操作信息相应的操作后应用数据与记录的所述测试操作信息相应的操作结果数据相比对,根据比对结果确定测试结果。
可选的,如果所述测试操作信息相应的操作后应用数据,与记录的所述测试操作信息相应的操作结果数据相一致,则表示在第一系统平台和第二系统平台上,相同的测试账号的应用数据是一致的,可确定第一系统平台和第二系统平台的跨平台数据互通一致性测试成功;如果所述测试操作信息相应的操作后应用数据,与记录的所述测试操作信息相应的操作结果数据不对应(不一致),则表示在第一系统平台和第二系统平台上,相同的测试账号的应用数据是不一致的,可确定第一系统平台和第二系统平台的跨平台数据互通一致性测试失败。
本发明实施例中,测试终端可通过展示供测试人员输入测试账号及测试所有系统平台的测试界面,实现测试账号及测试所用的第一系统平台的确定;进而应用测试服务器可接收测试终端发送的包含测试账号及第一系统平台标识的信息,确定出测试账号及测试所用的第一系统平台,从而根据所述测试账号,模拟所述第一系统平台相应的第一登录协议数据,实现测试账号在第一系统平台下的登录模拟,达到脱离应用客户端实现账号登录的目的;当测试账号在第一系统平台下登录成功后,应用测试服务器可根据测试操作信息,模拟所述第一系统平台相应的第一操作协议数据,实现测试账号在第一系统平台下的操作模拟,达到脱离应用客户端实现应用操作的目的;并且应用测试服务器可记录所述测试操作信息相应的操作结果数据;
在第一系统平台的操作模拟完成后,应用测试服务器可切换测试平台为第二系统平台,根据所述测试账号,模拟所述第二系统平台相应的第二登录协议数据,实现测试账号在第二系统平台下的登录模拟,并且当测试账号在第二系统平台下登录成功后,应用测试服务器可进一步模拟与所述第二系统平台相应的第二操作协议数据,通过第二操作协议数据查询所述测试操作信息相应的操作后应用数据,进而在应用测试服务器得到应用服务器反馈的所述测试操作信息相应的操作后应用数据后,可将所述操作后应用数据与记录的操作结果数据相比对,根据比对结果确定测试结果,实现跨平台数据互通一致性的测试。
可见,本发明实施例中,应用测试服务器可与测试终端配合在不同测试平台下实现测试账号的登录模拟,操作模拟,通过将第一系统平台下的测试操作信息相应的操作结果数据,与在第二系统平台查询得到的所述测试操作信息的操作后应用数据进行比对,可实现跨平台数据互通一致性的测试。本发明实施例可在脱离应用客户端的情况下,实现跨平台数据互通一致性的测试,免去了测试人员手动在应用客户端进行不同平台的切换登录及进行应用操作的流程,简化了跨平台数据互通一致性的测试过程,提高了测试效率。
可选的,在常规的应用登录过程中:应用客户端需确定用户登录所用的用户账号和密码,应用客户端将用户账号和密码发送给登录服务器;登录服务器在验证用户账号和密码正确后,可调用预定的登录凭证生成逻辑生成该用户账号相应的登录凭证,将该登录凭证和用户账号发送给应用服务器;应用服务器也同时基于预定的登录凭证生成逻辑,生成该用户账号的登录凭证,应用服务器在比对所生成的登录凭证,与登录服务器发送的登录凭证对应后,则应用服务器确定该用户账号可登录应用。
而本发明实施例并不通过应用客户端实现应用登录和应用操作,也不采用登录服务器进行登录验证,而是通过设置应用测试服务器来模拟应用登录和测试操作;在进行应用登录的模拟时,应用测试服务器可预先定义登录服务器进行登录验证时所采用的登录凭证生成逻辑,从而在确定测试账号及测试平台后,应用测试服务器可基于预定的登录凭证生成逻辑来生成与测试账号相应的登录凭证,实现登录的模拟;相应的,应用测试服务器可通过预定义不同的应用操作对应的操作协议数据,在确定测试所用的测试操作信息后,应用测试服务器可根据预定义的不同的应用操作对应的操作协议数据,确定与测试操作信息相应的操作协议数据;
相应的,图6示出了本发明实施例提供的跨平台数据互通一致性测试方法的另一信令流程,参照图6,该流程可以包括:
步骤S30、测试终端展示测试界面,通过测试界面获取测试人员输入的测试账号及第一系统平台标识;
步骤S31、测试终端将包含所述测试账号及第一系统平台标识的信息发送给应用测试服务器;
相应的,应用测试服务器可确定测试账号及测试所用的第一系统平台。
步骤S32、应用测试服务器调用预定的与所述第一系统平台相应的第一登录凭证生成逻辑,根据所述第一登录凭证生成逻辑生成与所述测试账号相应的第一登录凭证,调取预定的与所述第一系统平台相应的登录协议数据,在所调取的登录协议数据中填充所述第一登录凭证和所述测试账号,得到携带所述第一登录凭证和所述测试账号的第一登录协议数据,将所述第一登录协议数据发送给应用服务器;
可选的,不同的测试平台(测试所用的系统平台)在进行登录验证时,所使用的登录协议可能是不同的,因此生成登录凭证所使用的登录凭证生成逻辑也可能是不同的,如测试平台为Windows的情况下,登录凭证生成逻辑一般采用Windows对应的库函数生成,测试平台为安卓等移动操作系统系统的情况下,登录凭证生成逻辑一般采用移动操作系统系统对应的API(Application Programming Interface,应用程序编程接口)函数生成;
本发明实施例中,应用测试服务器可预定至少两个测试平台相应的登录凭证生成逻辑,从而在接收到测试终端发送的测试账号及第一系统平台后,应用测试服务器可确定当前测试所用的系统平台为第一系统平台,进而应用测试服务器可调用预定的与所述第一系统平台相应的第一登录凭证生成逻辑,从而根据第一登录凭证生成逻辑,生成与所述测试账号相应的第一登录凭证;
应用测试服务器在生成与所述测试账号相应的第一登录凭证后,可调取预定的与所述第一系统平台相应的登录协议数据,在所调取的登录协议数据中填充所述第一登录凭证和所述测试账号,并依序向应用服务器发送登录协议数据,从而将携带所述第一登录凭证和所述测试账号的第一登录协议数据发送给应用服务器。
步骤S33、应用服务器接收所述第一登录协议数据,调用预定的第一登录凭证生成逻辑,生成与所述测试账号相应的第一登录凭证;判断应用服务器所生成的第一登录凭证与应用测试服务器所发送的第一登录凭证是否对应;
应用服务器在接收到应用测试服务器发送的第一登录协议数据后,可解析出其中携带的测试账号和登录凭证;应用服务器可调用与应用测试服务器生成第一登录凭证相应的第一登录凭证生成逻辑,根据所接收的测试账号重新生成相应的第一登录凭证;应用服务器可将自身生成的第一登录凭证与应用测试服务器所发送的第一登录凭证进行比对,判断应用服务器所生成的第一登录凭证与应用测试服务器所发送的第一登录凭证是否对应(如是否相一致)。
步骤S34、应用服务器若判断所生成的第一登录凭证与应用测试服务器所发送的第一登录凭证相对应,向应用测试服务器发送第一成功登录响应;
应用服务器所生成的第一登录凭证与应用测试服务器所发送的第一登录凭证相对应,说明应用测试服务器发送的测试账号和第一登录凭证未经篡改,可确定测试账号在第一系统平台下登录应用成功;相应的,应用服务器可向应用测试服务器发送第一成功登录响应。
步骤S35、应用测试服务器确定测试操作信息;
步骤S36、应用测试服务器根据预定的与所述第一系统平台相应的多个操作协议数据,确定所述测试操作信息相应的第一操作协议数据;
不同测试平台的应用客户端基于用户的应用操作,生成操作协议数据所使用的协议可能是不同的,即不同测试平台的应用客户端基于用户的同一应用操作,所生成的操作协议数据可能是不同的,而在一个测试平台中,不同的应用操作又将对应不同的操作协议数据;
本发明实施例中,应用测试服务器可预先整理出各测试平台下,各应用操作对应的操作协议数据,从而在应用测试服务器确定第一系统平台下的测试操作信息时,可根据第一系统平台相应的多个操作协议数据,确定所述测试操作信息相应的第一操作协议数据,在脱离应用客户端的情况下,实现应用操作的模拟;
应用测试服务器所确定的测试操作信息的数量可以是多个,也可以是一个,无论测试操作信息的数量,各测试操作信息相应的操作协议数据的确定原理是类似的。
步骤S37、应用测试服务器向应用服务器发送所述测试操作信息相应的第一操作协议数据;
步骤S38、应用服务器向应用测试服务器反馈所述测试操作信息相应的操作响应数据;
步骤S39、应用测试服务器根据所述操作响应数据,记录所述测试操作信息相应的操作结果数据;
步骤S40、应用测试服务器切换测试平台为第二系统平台,所述第二系统平台与所述第一系统平台不同;
步骤S41、应用测试服务器调用预定的与所述第二系统平台相应的第二登录凭证生成逻辑,根据所述第二登录凭证生成逻辑生成与所述测试账号相应的第二登录凭证,调取预定的与所述第二系统平台相应的登录协议数据,在所调取的登录协议数据中填充所述第二登录凭证和所述测试账号,得到携带所述第二登录凭证和所述测试账号的第二登录协议数据,将所述第二登录协议数据发送给应用服务器;
步骤S42、应用服务器接收所述第二登录协议数据,调用预定的第二登录凭证生成逻辑,生成与所述测试账号相应的第二登录凭证;判断应用服务器所生成的第二登录凭证与应用测试服务器所发送的第二登录凭证是否对应;
应用测试服务器在第二系统平台下模拟测试账号登录的原理,与步骤S32在第一系统平台下模拟测试账号登录的原理类似,可相互参照。
步骤S43、应用服务器若判断所生成的第二登录凭证与应用测试服务器所发送的第二登录凭证相对应,向应用测试服务器发送第二成功登录响应;
步骤S44、应用测试服务器根据预定的与所述第二系统平台相应的多个操作协议数据,确定第二操作协议数据,所述第二操作协议数据用于指示查询所述测试操作信息相应的操作后应用数据;
本发明实施例中,应用测试服务器可预先整理出各测试平台下,各应用操作对应的操作协议数据,从而在应用测试服务器确定测试账号在第二系统平台登录成功时,可根据第二系统平台相应的多个操作协议数据,确定能够查询所述测试操作信息相应的操作后应用数据的第二操作协议数据,所述测试操作信息表示的是步骤S35所示的测试操作信息。
步骤S45、应用测试服务器向应用服务器发送第二操作协议数据;
步骤S46、应用服务器向应用测试服务器反馈所述测试操作信息相应的操作后应用数据;
步骤S47、应用测试服务器将所述测试操作信息相应的操作后应用数据与记录的所述测试操作信息相应的操作结果数据相比对,根据比对结果确定测试结果。
可选的,测试操作信息可以包括操作类型和操作对象;如一个测试操作信息表示的是升级角色A的等级,则操作类型为升级角色等级,操作对象为角色A;应用测试服务器可预先整理出各测试平台下,不同操作类型相应的操作协议数据,而一操作类型相应的操作协议数据中可存在操作对象变量,操作对象变量可以根据实际操作针对的操作对象而变更;具体的,本发明实施例可在应用测试服务器实际确定测试操作信息后,通过测试操作信息表示的操作对象进行操作对象变量的确定;
相应的,站在应用测试服务器的角度,应用测试服务器确定第一操作协议数据的过程可以如图7所示,图7示出了确定第一操作协议数据的方法流程图,该流程可应用于应用测试服务器,参照图7,该流程可以包括:
步骤S100、确定测试操作信息,所述测试操作信息包括操作类型和操作对象;
步骤S110、根据预定的与所述第一系统平台相应的多个操作协议数据,确定与所述操作类型相应的操作协议数据;
步骤S120、将所确定的操作协议数据的操作对象变量确定为所述操作对象,确定出第一操作协议数据。
应用测试服务器确定第二操作协议数据的原理类似;具体的,应用测试服务器可确定测试操作信息表示的操作对象,根据预定的与所述第二系统平台相应的多个操作协议数据,确定与查看操作对象相应的操作协议数据;将所确定的查看操作对象相应的操作协议数据的操作对象变量确定为所述操作对象,从而确定出第二操作协议数据。
可选的,本发明实施例可预先整理出多个测试操作信息,以便测试人员在测试界面进行选取;测试人员在进行一次跨平台数据互通一致性测试时,所选取的测试操作信息可以是多个,这些测试操作信息可以是任意选择的,并且可要求这些测试操作信息随机执行,或者顺序执行;也可以是将这些测试操作信息组合成一个测试操作信息集合,以一次执行一个测试操作信息集合内的测试操作信息的方式,来实现跨平台数据互通一致性的测试,或者也可以是重复执行至少一个测试操作信息,来实现跨平台数据互通一致性的测试;
相应的,应用测试服务器所确定的测试操作信息可能是多个,应用测试服务器可一次从该多个测试操作信息中选取一个测试操作信息,来生成一个相应的第一操作协议数据并发送给应用服务器,按照顺序、随机、或者重复的选取方式,一次从多个测试操作信息中选取一个测试操作信息,将所选取的测试操作信息模拟成相应的第一操作协议数据,来依次的向应用服务器发送第一操作协议数据。
可选的,测试终端可通过与应用测试服务器交互的形式展示测试界面,相应的,测试终端可向应用测试服务器发送展示测试界面的请求,应用测试服务器可基于该请求将测试界面相应的展示数据发送给测试终端,以便测试终端基于展示数据展示测试界面,从而便于测试人员通过测试界面输入测试账号及第一系统平台等信息。
下面以需测试跨平台数据互通一致性的应用为游戏,第一系统平台为Windows,第二系统平台为安卓为例,对本发明实施例提供的跨平台数据互通一致性测试方法的应用过程进行介绍。
测试人员可在测试终端上打开浏览器,输入预定网址,与应用测试服务器建立交互,在浏览器中展示出测试界面;
测试人员可在测试界面上输入测试账号,选取第一次测试平台为Windows,并选取测试所用的测试操作信息;
测试终端将包含测试账号,测试平台为Windows,及测试操作信息的信息发送给应用测试服务器;
应用测试服务器调用Windows相应的库函数生成与测试账号相应的账号签名(库函数可以认为是Windows平台下,登录凭证生成逻辑的一种实现形式,账号签名可以认为是Windows平台下登录凭证的一种形式);应用测试服务器将Windows平台的游戏登录过程相应的至少一个登录协议数据按顺序发送给游戏服务器(游戏服务器为应用服务器在游戏场景下的表现形式),所发送的至少一个登录协议数据中包含有携带所述账号签名和所述测试账号的登录协议数据;
游戏服务器调用相应的库函数生成与测试账号相应的账号签名,将所生成的账号签名与应用测试服务器发送的账号签名进行比对,如果比对一致,则向应用测试服务器发送登录成功响应;
应用测试服务器确定测试操作信息表示的操作类型及操作对象,从预定的Windows平台相应的操作协议数据中确定出所述操作类型相应的操作协议数据,将该操作协议数据的操作对象变量确定为测试操作信息表示的操作对象,将所得到的操作协议数据发送给游戏服务器;
如测试操作信息指示的是升级角色A的等级,则测试操作信息表示的操作类型是升级角色等级,操作对象是角色A,应用测试服务器可从预定的Windows平台相应的操作协议数据中确定出升级角色等级相应的操作协议数据,并将该升级角色等级相应的操作协议数据中的操作对象变量确定为角色A,得到升级角色A的等级相应的操作协议数据,并发送给游戏服务器;
游戏服务器根据应用测试服务器发送的操作协议数据进行游戏响应,在数据库中记录所述操作对象相应的游戏数据,并向应用测试服务器发送针对所述操作对象的操作响应数据;如操作协议数据表示的是升级角色A的等级,则游戏服务器可对角色A进行等级提升,将应用测试服务器反馈角色A的升级后等级或者升级级数;
应用测试服务器根据所述操作响应数据,记录所述操作对象相应的操作结果数据;如记录的操作结果数据可以是角色A升级后的等级;
应用测试服务器切换测试平台为安卓;
应用测试服务器调用安卓相应的API函数生成与测试账号相应的登录关键信息,登录关键信息如openid和/或openkey等(API函数可以认为是安卓平台下,登录凭证生成逻辑的一种实现形式,登录关键信息可以认为是安卓平台下登录凭证的一种形式);应用测试服务器将安卓平台的游戏登录过程相应的至少一个登录协议数据按顺序发送给游戏服务器,所发送的至少一个登录协议数据中包含有携带所述登录关键信息和所述测试账号的登录协议数据;
Openkey可以认为是应用提供给用户在第三方应用上的身份凭证,只有登录授权时才能拿到,并且是有有效期的;openid是应用的一种开放帐号,允许用户使用应用账号登录第三方应用的业务,但不会公开应用账号给第三方应用;
游戏服务器调用相应的API函数生成与测试账号相应的登录关键信息,将所生成的登录关键信息与应用测试服务器发送的登录关键信息进行比对,如果比对一致,则向应用测试服务器发送登录成功响应;
应用测试服务器确定测试操作信息表示的操作类型及操作对象,从预定的安卓平台相应的操作协议数据中确定出查询操作对象相应的操作协议数据,将该操作协议数据的操作对象变量确定为测试操作信息表示的操作对象,将所得到的操作协议数据发送给游戏服务器;
如上文所示,应用测试服务器在Windows平台下发送的操作协议数据指示的是升级角色A的等级,相应的,应用测试服务器在安卓平台下可确定查询角色A的操作协议数据,从而对角色A的等级进行查看;
游戏服务器根据应用测试服务器发送的查询操作对象相应的操作协议数据,进行游戏响应,从数据库中调取所述操作对象相应的游戏数据并反馈给应用测试服务器;如游戏服务器可响应查询角色A的操作协议数据,从数据库中调取角色A的游戏数据并反馈给应用测试服务器;
应用测试服务器将游戏服务器反馈的所述操作对象相应的游戏数据,与已记录的所述操作对象相应的操作结果数据进行比对,根据比对结果确定测试结果。
可以看出,本发明实施例可在脱离应用客户端的情况下,实现跨平台数据互通一致性的测试,免去了测试人员手动在应用客户端进行不同平台的切换登录及进行应用操作的流程,简化了跨平台数据互通一致性的测试过程,提高了测试效率。
下面对本发明实施例提供的应用测试服务器进行介绍,下文描述的应用测试服务器可与上文流程内容相互对应参照。下文描述的应用测试服务器的模块可以认为是应用测试服务器为实现跨平台数据互通一致性的测试,所需设置的功能模块架构。
图8为本发明实施例提供的应用测试服务器的结构框图,参照图8,该应用测试服务器可以包括:
测试信息确定模块100,用于确定测试账号及测试所用的第一系统平台;
第一登录模拟模块200,用于根据所述测试账号,模拟所述第一系统平台相应的第一登录协议数据,将所述第一登录协议数据发送给应用服务器;
测试操作信息确定模块300,用于在应用服务器验证所述第一登录协议数据合法后,确定测试操作信息;
第一操作模拟模块400,用于根据所述测试操作信息,模拟所述第一系统平台相应的第一操作协议数据,将所述第一操作协议数据发送给应用服务器;
记录模块500,用于接收所述应用服务器反馈的所述测试操作信息相应的操作响应数据,根据所述操作响应数据,记录所述测试操作信息相应的操作结果数据;
测试平台切换模块600,用于切换测试平台为第二系统平台,所述第二系统平台与所述第一系统平台不同;
第二登录模拟模块700,用于根据所述测试账号,模拟所述第二系统平台相应的第二登录协议数据,将所述第二登录协议数据发送给应用服务器;
第二操作模拟模块800,用于在应用服务器验证所述第二登录协议数据合法后,模拟与所述第二系统平台相应的第二操作协议数据,将所述第二操作协议数据发送给应用服务器;所述第二操作协议数据用于指示查询所述测试操作信息相应的操作后应用数据;
比对及测试结果确定模块900,用于接收所述应用服务器反馈的所述测试操作信息相应的操作后应用数据,将所述操作后应用数据与记录的操作结果数据相比对,根据比对结果确定测试结果。
可选的,图9示出了第一登录模拟模块200的可选结构,参照图9,第一登录模拟模块200可以包括:
第一生成逻辑调用单元210,用于调用预定的与所述第一系统平台相应的第一登录凭证生成逻辑,根据所述第一登录凭证生成逻辑生成与所述测试账号相应的第一登录凭证;
第一登录协议数据生成单元220,用于调取预定的与所述第一系统平台相应的登录协议数据,在所调取的登录协议数据中填充所述第一登录凭证和所述测试账号,得到携带所述第一登录凭证和所述测试账号的第一登录协议数据。
可选的,应用测试服务器还可在应用服务器验证所述第一登录协议数据合法后,接收应用服务器发送的第一成功响应;具体的,在应用服务器接收第一登录协议数据,并调用预定的第一登录凭证生成逻辑,生成与所述测试账号相应的第一登录凭证,且应用服务器判断所生成的第一登录凭证与应用测试服务器所发送的第一登录凭证对应,确定所述第一登录协议数据合法后,应用测试服务器可接收应用服务器发送的第一成功登录响应。
可选的,第二登录模拟模块700的实现原理与第一登录模拟模块200的实现原理类似,图10示出了第二登录模拟模块700的可选结构,参照图10,第二登录模拟模块700可以包括:
第二生成逻辑调用单元710,用于调用预定的与所述第二系统平台相应的第二登录凭证生成逻辑,根据所述第二登录凭证生成逻辑生成与所述测试账号相应的第二登录凭证;
第二登录协议数据生成单元720,用于调取预定的与所述第二系统平台相应的登录协议数据,在所调取的登录协议数据中填充所述第二登录凭证和所述测试账号,得到携带所述第二登录凭证和所述测试账号的第二登录协议数据。
可选的,应用测试服务器还可在应用服务器验证所述第二登录协议数据合法后,接收应用服务器发送的第二成功响应;具体的,在应用服务器接收第二登录协议数据,并调用预定的第二登录凭证生成逻辑,生成与所述测试账号相应的第二登录凭证,且应用服务器判断所生成的第二登录凭证与应用测试服务器所发送的第二登录凭证对应,确定所述第二登录协议数据合法后,应用测试服务器可接收应用服务器发送的第二成功登录响应。
可选的,第一操作模拟模块400具体可用于,根据预定的与所述第一系统平台相应的多个操作协议数据,确定所述测试操作信息相应的第一操作协议数据;具体的,测试操作信息可以包括:操作类型和操作对象;相应的,图11示出了第一操作模拟模块400的可选结构,参照图11,第一操作模拟模块400可以包括:
类型相应协议数据确定单元410,用于根据预定的与所述第一系统平台相应的多个操作协议数据,确定与所述操作类型相应的操作协议数据;
第一变量确定单元420,用于将所确定的操作协议数据的操作对象变量确定为所述操作对象,确定出第一操作协议数据。
相应的,第二操作模拟模块800具体可用于,根据预定的与所述第二系统平台相应的多个操作协议数据,确定第二操作协议数据;具体的,图12示出了第二操作模拟模块800的可选结构,参照图12,第二操作模拟模块800可以包括:
查看相应协议数据确定单元810,用于根据预定的与所述第二系统平台相应的多个操作协议数据,确定与查看操作对象相应的操作协议数据;
第二变量确定单元820,用于将所确定的查看操作对象相应的操作协议数据的操作对象变量确定为所述操作对象,确定出第二操作协议数据。
可选的,测试操作信息可携带在包含测试账号及第一系统平台的信息中,相应的,测试操作信息确定模块300可确定包含测试账号及第一系统平台的信息中携带的测试操作信息。
可选的,测试操作信息的数量可以为多个;第一操作模拟模块400可按照顺序、随机、或者重复的选取方式,一次从多个测试操作信息中选取一个测试操作信息,将所选取的测试操作信息模拟成相应的第一操作协议数据。
可选的,测试信息确定模块100确定测试账号及测试所用的第一系统平台的方式可以是:接收测试终端发送的包含测试账号及第一系统平台标识的信息,所述第一系统平台标识用于标识第一系统平台;根据所接收的信息,确定测试账号及测试所用的第一系统平台;
相应的,应用测试服务器在接收测试终端发送的包含测试账号及第一系统平台标识的信息之前,还可用于:接收测试终端发送的展示测试界面的请求,所述测试界面用于供测试人员输入测试账号、测试所用系统平台的标识和测试操作信息;将测试界面相应的展示数据发送给测试终端,以便所述测试终端根据所述展示数据展示所述测试界面,从而使得测试终端可通过页面的形式展示出测试界面,以供测试人员输入测试账号、第一系统平台标识和测试操作信息。
本发明实施例提供的应用测试服务器可在脱离应用客户端的情况下,实现跨平台数据互通一致性的测试,免去了测试人员手动在应用客户端进行不同平台的切换登录及进行应用操作的流程,简化了跨平台数据互通一致性的测试过程,提高了测试效率。
图13示出了应用测试服务器的硬件结构框图,参照图13,应用测试服务器可以包括:处理器1,通信接口2,存储器3和通信总线4;
其中处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;
可选的,通信接口2可以为通信模块的接口,如GSM模块的接口;
处理器1,用于执行程序;
存储器3,用于存放程序;
程序可以包括程序代码,所述程序代码包括计算机操作指令。
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
其中,程序可具体用于:
确定测试账号及测试所用的第一系统平台;
根据所述测试账号,模拟所述第一系统平台相应的第一登录协议数据,将所述第一登录协议数据发送给应用服务器;
在应用服务器验证所述第一登录协议数据合法后,确定测试操作信息;
根据所述测试操作信息,模拟所述第一系统平台相应的第一操作协议数据,将所述第一操作协议数据发送给应用服务器;
接收所述应用服务器反馈的所述测试操作信息相应的操作响应数据,根据所述操作响应数据,记录所述测试操作信息相应的操作结果数据;
切换测试平台为第二系统平台,所述第二系统平台与所述第一系统平台不同;
根据所述测试账号,模拟所述第二系统平台相应的第二登录协议数据,将所述第二登录协议数据发送给应用服务器;
在应用服务器验证所述第二登录协议数据合法后,模拟与所述第二系统平台相应的第二操作协议数据,将所述第二操作协议数据发送给应用服务器;所述第二操作协议数据用于指示查询所述测试操作信息相应的操作后应用数据;
接收所述应用服务器反馈的所述测试操作信息相应的操作后应用数据,将所述操作后应用数据与记录的操作结果数据相比对,根据比对结果确定测试结果。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。