CN110851359A - 应用程序测试方法、装置及服务器 - Google Patents
应用程序测试方法、装置及服务器 Download PDFInfo
- Publication number
- CN110851359A CN110851359A CN201911084752.XA CN201911084752A CN110851359A CN 110851359 A CN110851359 A CN 110851359A CN 201911084752 A CN201911084752 A CN 201911084752A CN 110851359 A CN110851359 A CN 110851359A
- Authority
- CN
- China
- Prior art keywords
- test
- server
- client
- application program
- testing
- 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.)
- Granted
Links
- 238000012360 testing method Methods 0.000 claims abstract description 880
- 238000012546 transfer Methods 0.000 claims abstract description 73
- 238000000034 method Methods 0.000 claims abstract description 64
- 230000001360 synchronised effect Effects 0.000 claims abstract description 35
- 230000006835 compression Effects 0.000 claims abstract description 24
- 238000007906 compression Methods 0.000 claims abstract description 24
- 238000007639 printing Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 15
- 238000010586 diagram Methods 0.000 description 16
- 238000013515 script Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000012946 outsourcing Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种应用程序测试方法、装置及服务器,该方法包括:响应测试客户端通过中转平台发送的测试请求;从多个测试服务端中,选择该测试请求对应的目标测试服务端;获取与该应用程序版本相匹配的测试资源;将该服务端应用程序代码同步到目标测试服务端;加密压缩该测试客户端资源,并将加密压缩后的测试客户端资源存放到指定区域,以供测试客户端同步;通过中转平台向测试客户端返回测试请求的状态信息,以通知该测试客户端同步加密压缩后的测试客户端资源,以及与上述目标测试服务端建立连接,进行应用程序测试。本发明既可以保证游戏测试过程中核心数据的安全性,又可以实现游戏测试的实时性,提高了测试效率。
Description
技术领域
本发明涉及程序测试技术领域,尤其是涉及一种应用程序测试方法、装置及服务器。
背景技术
目前,进行游戏测试的方式主要包括以下两种:
一种是将游戏脚本,资源,引擎代码和游戏数据存放在svn或者git的公共服务器上,进行同步更新,即每次有内容更新时,测试人员会对上述四类资源进行源码和原始资源的同步,然后启动游戏进行测试。
另一种是将一段时间的需求改动汇总(包括美术资源、脚本、数据等),加密压缩后打出一个测试的游戏包体,将包体上传到一个公共服务器,供外包测试人员下载。同时,根据包体版本,维护一个固定版本的服务器,供外包人员进入游戏测试。
上述第一种测试方式存在游戏的核心数据外泄的风险,保密性较差;第二种测试方式实时性较差,使得整个测试流程的敏捷性较低。
发明内容
有鉴于此,本发明的目的在于提供一种应用程序测试方法、装置及服务器,既可以保证游戏测试过程中核心数据的安全性,又可以实现游戏测试的实时性,提高测试效率。
第一方面,本发明实施例提供了一种应用程序测试方法,应用于服务器,该服务器配置有中转平台和多个测试服务端,其中,多个测试服务端各自维护一套不同版本的服务端应用程序代码,该方法包括:响应测试客户端通过中转平台发送的测试请求,该测试请求包括测试客户端选择的应用程序版本;从多个测试服务端中,选择该测试请求对应的目标测试服务端;获取与该应用程序版本相匹配的测试资源;该测试资源包括服务端应用程序代码和测试客户端资源;将该服务端应用程序代码同步到目标测试服务端;加密压缩该测试客户端资源,并将加密压缩后的测试客户端资源存放到指定区域,以供测试客户端同步;通过中转平台向测试客户端返回测试请求的状态信息,以通知该测试客户端同步加密压缩后的测试客户端资源,以及与上述目标测试服务端建立连接,进行应用程序测试;该状态信息包括目标测试服务端的标识和加密压缩后的测试客户端资源的状态。
在本发明较佳的实施例中,上述服务器包括第一存储区和第二存储区,该第一存储区用于存储测试客户端资源,该第二存储区用于存储加密压缩后的测试客户端资源;在获取与该应用程序版本相匹配的测试资源的步骤之前,该方法还包括:查询第二存储区中,是否有与该应用程序版本的版本一致的测试客户端资源;若没有,则向中转平台返回测试客户端资源更新需求信息。
在本发明较佳的实施例中,该应用程序测试方法还包括:响应测试客户端针对中转平台的测试客户端资源更新指令,从第一存储区中查找与该应用程序版本的版本一致的测试客户端资源;将查找到的测试客户端资源,加密压缩后存储到第二存储区。
在本发明较佳的实施例中,在获取与该应用程序版本相匹配的测试资源的步骤之前,该方法还包括:检验目标测试服务端的服务端应用程序代码的版本,与该应用程序版本是否相匹配;若不匹配,则向中转平台返回测试服务端更新需求信息。
在本发明较佳的实施例中,该方法还包括:响应测试客户端针对中转平台的测试服务端更新指令,将目标测试服务端的服务端应用程序代码更新到与该应用程序版本一致的版本。
在本发明较佳的实施例中,该方法还包括:当接收到测试客户端的同步请求时,检验该测试客户端是否满足权限要求;若是,则将加密压缩后的测试客户端资源同步到测试客户端。
在本发明较佳的实施例中,在服务器上预先存储有IP网段的白名单,上述检验该测试客户端是否满足权限要求的步骤包括:获取该测试客户端的IP地址;检验该IP地址是否在上述IP网段范围内;若是,则确定该测试客户端满足权限要求。
在本发明较佳的实施例中,在该服务器上预先存储有MAC地址列表的白名单,上述检验该测试客户端是否满足权限要求的步骤包括:获取该测试客户端的MAC地址;检验该MAC地址是否在上述MAC地址列表内;若是,则确定该测试客户端满足权限要求。
在本发明较佳的实施例中,上述中转平台包括Django框架的网页。
在本发明较佳的实施例中,该方法还包括:在中转平台配置用于对用户的权限进行检验和管理的权限管理单元。
在本发明较佳的实施例中,上述中转平台通过多线程的方式向该服务器转发测试客户端的请求,同一资源的多个请求由一个线程依次响应处理。
在本发明较佳的实施例中,上述中转平台还包括测试服务端日志单元和更新日志单元;该方法还包括:通过该测试服务端日志单元实时打印测试服务端的数据和错误信息;通过该更新日志单元记录测试资源的实时更新信息。
第二方面,本发明实施例还提供了一种应用程序测试装置,该装置包括:测试请求接收模块,用于响应测试客户端通过中转平台发送的测试请求,该测试请求包括测试客户端选择的应用程序版本;目标测试服务端选择模块,用于从多个测试服务端中,选择该测试请求对应的目标测试服务端;测试资源获取模块,用于获取与该应用程序版本相匹配的测试资源;该测试资源包括服务端应用程序代码和测试客户端资源;测试服务端代码同步模块,用于将该服务端应用程序代码同步到目标测试服务端;测试客户端资源加密压缩模块,用于加密压缩测试客户端资源,并将加密压缩后的测试客户端资源存放到指定区域,以供测试客户端同步;状态信息返回模块,用于通过中转平台向测试客户端返回测试请求的状态信息,以通知该测试客户端同步加密压缩后的测试客户端资源,以及与上述目标测试服务端建立连接,进行应用程序测试;该状态信息包括目标测试服务端的标识和加密压缩后的测试客户端资源的状态。
第三方面,本发明实施例还提供了一种服务器,包括处理器和存储器,该存储器存储有能够被该处理器执行的计算机可执行指令,该处理器执行该计算机可执行指令以实现上述应用程序测试方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述应用程序测试方法。
本发明实施例带来了以下有益效果:
本发明实施例提供的一种应用程序测试方法、装置及服务器,响应测试客户端通过中转平台发送的测试请求,该测试请求包括测试客户端选择的应用程序版本;从多个测试服务端中,选择该测试请求对应的目标测试服务端;获取与该应用程序版本相匹配的测试资源;该测试资源包括服务端应用程序代码和测试客户端资源;将该服务端应用程序代码同步到目标测试服务端;加密压缩该测试客户端资源,并将加密压缩后的测试客户端资源存放到指定区域,以供测试客户端同步;通过中转平台向测试客户端返回测试请求的状态信息,以通知该测试客户端同步加密压缩后的测试客户端资源,以及与上述目标测试服务端建立连接,进行应用程序测试;该状态信息包括目标测试服务端的标识和加密压缩后的测试客户端资源的状态。该方法中,通过在服务器上部署多个测试服务端,且多个测试服务端各自维护一套不同版本的服务端应用程序代码,从而实现不同版本的应用程序可以同时测试,提高了测试效率;并且通过设置中转平台,由中转平台进行请求和消息地转发,以处理测试客户端的需求,使得代码数据与游戏运行内容彼此分离,提高了核心数据的安全性。
此外,该应用程序测试方法还可以通过响应测试客户端针对中转平台的测试资源更新指令,对存储的测试资源进行实时更新,并将更新后的测试资源加密压缩后及时提供给测试客户端,从而保证了游戏测试的实时性;并且,通过对提供给测试客户端的测试资源进行加密压缩,以及对测试客户端的权限进行验证,进一步提高了游戏测试过程中核心数据的安全性。
本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种应用程序测试方法的流程示意图;
图2为本发明实施例提供的另一种应用程序测试方法的流程示意图;
图3为本发明实施例提供的另一种应用程序测试方法的流程示意图;
图4为本发明实施例提供的另一种应用程序测试方法的流程示意图;
图5为本发明实施例提供的另一种应用程序测试方法的流程示意图;
图6为本发明实施例提供的另一种应用程序测试方法的流程示意图;
图7为本发明实施例提供的一种服务器的结构示意图;
图8为本发明实施例提供的一种中转平台的前端页面实物示意图;
图9为本发明实施例提供的一种中转平台的前端管理单元实物示意图;
图10为本发明实施例提供的一种测试服务端日志单元中的日志内容示意图;
图11为本发明实施例提供的一种更新日志单元中的日志内容示意图;
图12为本发明实施例提供的一种应用程序测试装置的结构示意图;
图13为本发明实施例提供的另一种服务器的结构示意图。
图标:10-测试请求接收模块;11-目标测试服务端选择模块;12-测试资源获取模块;13-测试服务端代码同步模块;14-测试客户端资源加密压缩模块;15-状态信息返回模块;71-测试服务端;72-接口模块;73-存储模块;74-中转平台;100-服务器;130-存储器;131-处理器;132-总线;133-通信接口。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着游戏行业的不断发展,移动端游戏逐步成为主流,越来越多的团队开始开发手机游戏。而更加惨烈的市场竞争,催化出更加快速的迭代需求。对于在线运营的手机游戏,由于更加高频的需求变动和迭代,为了保障游戏外放的质量,越来越多的测试人员参与到游戏测试的工作中来。同时,为了降低成本,以及保持人员的流动性,大多数公司会采取测试外包的策略,以应对变化的市场和需求。但这种工作模式存在以下几个问题:
(1)游戏的脚本甚至引擎的代码需要严格保密,如何做到在外包人员进行测试的时候,既能达到实时跟进需求的目的,又能保证基于未外放游戏本身数据和内容的保密性。
(2)游戏的核心数据在需求外放之前面临着频繁的变动,核心数据需要在测试后根据效果实时进行调整;如果直接利用游戏数据进行读取,保密性得不到保证;如果直接打包进行测试,周期又太长。
(3)游戏的美术资源价格一般比较昂贵,如果没有经过任何加密,在外放之前交由非核心人员或外包测试人员进行测试,如果被偷取,将对游戏本身造成非常严重的伤害。
目前,现有的游戏测试方法还存在游戏核心数据的保密性与测试的实时性无法兼顾的问题,本发明实施例提供了一种应用程序测试方法、装置及服务器,该技术可以应用于计算机、手机、平板电脑、游戏设备等可以实现应用程序测试的设备上。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种应用程序测试方法进行详细介绍。
图1所示为一种应用程序测试方法的流程示意图,其中,该方法应用于服务器,该服务器配置有中转平台和多个测试服务端,并且,多个测试服务端各自维护一套不同版本的服务端应用程序代码,由图1可见,该方法包括以下步骤:
步骤S102:响应测试客户端通过中转平台发送的测试请求,该测试请求包括测试客户端选择的应用程序版本。
这里,测试客户端用于运行应用程序,并对应用程序进行测试和调试,其中,该应用程序是为了完成某项或某几项特定任务而被开发运行于操作系统之上的计算机程序,以功能类型划分的应用程序举例,该应用程序可以是游戏软件、视频播放软件、聊天软件等等。并且,该测试客户端可以是手机、计算机、平板电脑、游戏设备等可以实现应用程序测试的设备。
另外,上述中转平台用于实现测试客户端和服务器之间的信息中转功能,测试客户端可以通过中转平台向服务器发送信息,例如测试请求、更新请求、查询请求、导表请求等;服务器通过中转平台向测试客户端返回相应的信息,例如测试信息、查询结果、更新结果等等。
在本实施例中,服务器配置有中转平台和多个测试服务端,这里,中转平台和测试服务端可以是集成于服务器上,也可以是独立设置在其他设备上。在其中一种可能的实施方式中,该中转平台可以通过网页的形式实现,并且,在实际测试时,测试客户端加载该中转平台网页,并通过该网页与服务器进行信息的交互。
另外,当服务器接收到测试客户端通过中转平台发送的测试请求时,响应该测试请求,其中,该测试请求包括测试客户端选择的应用程序版本。这里,对于一个应用程序,在对其开发过程中会不断更新和改进,不同开发阶段往往对应不同的应用程序版本,通常,不同版本的应用程序对应有不同的版本号。
因此,在应用程序测试时,测试客户端需要选择待测试的应用程序版本,并在发送测试请求时,携带该应用程序版本信息,告知服务器待测试的应用程序版本,以匹配相应的测试资源。以游戏测试为例,同一款游戏的不同版本在进行游戏测试时,往往需要服务器匹配不同的测试资源,包括游戏数据、引擎、代码和美术资源等等。
步骤S104:从多个测试服务端中,选择该测试请求对应的目标测试服务端。
在本实施例中,服务器配置有多个测试服务端,其中,测试服务端用于给测试客户端提供测试服务。并且,每个测试服务端各自维护一套不同版本的服务端应用程序代码,这里,对于每一个测试服务端,其维护有多个版本的服务端应用程序代码,可供测试服务端根据实际测试需要进行同步。在应用程序的测试过程中,对于某一个提供服务的测试服务端,其上需同步和测试客户端上运行的应用程序版本一致的应用程序代码,才可以正常进行测试。
在选择目标测试服务端时,通常可以优先选择多个测试服务端中处于空闲的服务端,这样,可以避免排队等待,提高测试效率。另外,还可以优先选择包含有与待测试应用程序版本一致的服务端应用程序代码的测试服务端,作为目标服务端。这里,在其中一种可能的实施方式中,可以通过中转平台,预先查询各个测试服务端上的服务端应用程序代码版本信息,并在发送测试请求时,将已经选定的目标测试服务端告知服务器。
对于不同的测试服务端,通常设置有不同的编号,以示区分。在实际测试过程中,既可以由测试客户端先确定目标测试服务端,并将对应编号告知服务器以选择该目标测试服务端;也可以由服务器通过预设的规则,选择出与测试请求对应的目标测试服务端。
另外,由于在服务器上部署了多个测试服务端,当有不同版本的应用程序同时需要进行测试时,可以分别选择不同的测试服务端进行测试,从而提高测试效率。
步骤S106:获取与该应用程序版本相匹配的测试资源;该测试资源包括服务端应用程序代码和测试客户端资源。
在测试时,测试客户端需要加载测试客户端资源,包括应用程序脚本、引擎、数据和美术资源等,这些资源均需要服务器提供。同时,与测试客户端联合进行测试的目标测试服务端,需要加载服务端应用程序代码,这里,在测试客户端上加载的测试客户端资源,与在目标测试服务端上加载的服务端应用程序代码,它们的版本需要互相匹配,才能正常进行测试。
对于目标测试服务端,其上维护一套不同版本的服务端应用程序代码,不同的版本通常对应应用程序开发过程中不同阶段的成果,如果在这些版本中有与待测试版本一致的服务端应用程序代码,则可以提取相匹配的服务端应用程序代码,并将其同步到目标测试服务端;如果在这些版本中没有与待测试版本一致的服务端应用程序代码,则需要更新测试服务端上的服务端应用程序代码,以获得与待测试版本一致的服务端应用程序代码。
同理,如果在当前服务器上没有查找到与该应用程序版本相匹配的测试客户端资源,则需要更新服务器上的测试客户端资源,以获得与待测试版本一致的测试客户端资源。
步骤S108:将该服务端应用程序代码同步到目标测试服务端。
在获取到与待测试应用程序版本相匹配的服务端应用程序代码之后,将该服务端应用程序代码同步到目标测试服务端,也即,启动该目标测试服务端,并在其上加载该服务端应用程序代码。
步骤S110:加密压缩该测试客户端资源,并将加密压缩后的测试客户端资源存放到指定区域,以供测试客户端同步。
在其中一种实施方式中,在获取到与待测试应用程序版本相匹配的测试客户端资源之后,对该测试客户端资源进行加密处理,并将加密后的测试客户端资源进行压缩,再存放到指定区域。其中,该指定区域可以是服务器上的某个数据共享接口。该加密压缩后的测试客户端资源用于提供给测试客户端进行同步,这样,测试客户端即可获取应用程序测试中所需的测试资源,以与目标测试服务端联合完成测试。
并且,一方面,测试客户端资源经过压缩后体积更小,可以缩短测试客户端进行测试资源同步的时间,提高测试效率;另一方面,通过对测试客户端资源进行加密,测试客户端获取加密后的测试资源,以黑盒的形式对应用程序内容进行更新和测试,实现了代码数据与应用程序运行内容的分离,保证了代码数据和资源的安全。
步骤S112:通过中转平台向测试客户端返回测试请求的状态信息,以通知该测试客户端同步加密压缩后的测试客户端资源,以及与上述目标测试服务端建立连接,进行应用程序测试;该状态信息包括目标测试服务端的标识和加密压缩后的测试客户端资源的状态。
在服务器完成上述将该服务端应用程序代码同步到目标测试服务端,以及将加密压缩后的测试客户端资源存放到指定区域的步骤之后,服务器向中转平台返回测试请求的状态信息,测试客户端通过该中转平台获取该状态信息。其中,该状态信息包括目标测试服务端的标识,这里,该标识可以是编号、名称、地址等;该状态信息还包括加密压缩后的测试客户端资源的状态,这里,测试客户端资源的状态是指测试客户端所需的测试客户端资源是否已经预备好,测试客户端是否可以进行同步。
在测试客户端获取测试请求的状态信息后,即可同步加密压缩后的测试客户端资源,同时,与目标测试服务端建立连接,以联合完成应用程序测试。
以游戏测试为例,当需要对某游戏的版本V5.3进行测试时,游戏测试客户端通过中转平台向服务器发送该版本V5.3的游戏测试请求;当服务器接收到测试请求后,响应该测试请求,选择与该测试请求对应的目标测试服务端;然后,获取与该游戏版本V5.3相匹配的测试资源,包括服务端游戏代码和测试客户端资源;接着,将该服务端游戏代码同步到目标测试服务端,并对该测试客户端资源进行加密压缩,再将加密压缩后的测试客户端资源存放到指定区域;进而,服务器通过中转平台通知测试客户端同步加密压缩后的测试客户端资源,这样,测试客户端和目标测试服务端都已经预备好,彼此建立连接后即可进行该版本V5.3的游戏测试。
相比于现有的游戏测试方法,本实施例提供的游戏测试方式通过设置中转平台,并由中转平台进行测试客户端与服务器之间信息地转发,使得代码数据与游戏运行内容彼此分离,游戏数据的保密性更好,安全性更高。另外,由于在服务器上部署了多个测试服务端,且多个测试服务端各自维护一套不同版本的服务端游戏代码,因而可以满足不同版本的游戏同时进行测试,提高了测试效率,实时性更好。
本发明实施例提供的应用程序测试方法,响应测试客户端通过中转平台发送的测试请求,该测试请求包括测试客户端选择的应用程序版本;从多个测试服务端中,选择该测试请求对应的目标测试服务端;获取与该应用程序版本相匹配的测试资源;该测试资源包括服务端应用程序代码和测试客户端资源;将该服务端应用程序代码同步到目标测试服务端;加密压缩该测试客户端资源,并将加密压缩后的测试客户端资源存放到指定区域,以供测试客户端同步;通过中转平台向测试客户端返回测试请求的状态信息,以通知该测试客户端同步加密压缩后的测试客户端资源,以及与上述目标测试服务端建立连接,进行应用程序测试;该状态信息包括目标测试服务端的标识和加密压缩后的测试客户端资源的状态。该方法中,通过在服务器上部署多个测试服务端,且多个测试服务端各自维护一套不同版本的服务端应用程序代码,从而实现不同版本的应用程序可以同时测试,提高了测试效率;并且通过设置中转平台,由中转平台进行请求和消息地转发,以处理测试客户端的需求,使得代码数据与游戏运行内容彼此分离,提高了核心数据的安全性。
在图1所示应用程序测试方法的基础上,本实施例还提供了另一种应用程序测试方法,该方法应用于服务器,且该服务器包括第一存储区和第二存储区,其中,第一存储区用于存储测试客户端资源,第二存储区用于存储加密压缩后的测试客户端资源,参见图2,为该方法的流程示意图,由图2可见,该方法包括以下步骤:
步骤S202:响应测试客户端通过中转平台发送的测试请求,该测试请求包括测试客户端选择的应用程序版本。
步骤S204:从多个测试服务端中,选择该测试请求对应的目标测试服务端。
步骤S206:查询第二存储区中,是否有与该应用程序版本的版本一致的测试客户端资源;如果有,则执行步骤S214;如果没有,则执行步骤S208。
首先,查询第二存储区中当前存储的测试客户端资源,如果在其中查询到有与待测试应用程序版本一致的测试客户端资源,则获取该与待测试应用程序版本一致的测试客户端资源,并且获取与该应用程序版本相匹配的服务端应用程序代码;如果在第二存储区中没有查询到与待测试应用程序版本一致的测试客户端资源,则向中转平台返回测试客户端资源更新需求信息。
步骤S208:向中转平台返回测试客户端资源更新需求信息。
如果在第二存储区中没有查询到与待测试应用程序版本一致的测试客户端资源,表明服务器中的测试客户端资源尚未更新到待测试的版本,此时,向中转平台返回测试客户端资源更新需求信息。在其中一种可能的实施方式中,该中转平台以前端网页形式呈现,并且该测试客户端资源更新需求信息以弹框形式呈现。
步骤S210:响应测试客户端针对中转平台的测试客户端资源更新指令,从第一存储区中查找与该应用程序版本的版本一致的测试客户端资源。
测试客户端在接收到测试客户端资源更新需求信息之后,通过中转平台向服务器发出测试客户端资源更新指令,服务器响应该更新指令,并从第一存储区中,查找与该应用程序版本的版本一致的测试客户端资源。
步骤S212:将查找到的测试客户端资源,加密压缩后存储到第二存储区。
服务器在第一存储区中查找到与该应用程序版本的版本一致的测试客户端资源之后,对该测试客户端资源先进行加密压缩,然后再将其存储到第二存储区。
步骤S214:获取与该应用程序版本相匹配的测试资源;该测试资源包括服务端应用程序代码和测试客户端资源。
这里,从上述第二存储区中提取与该应用程序版本相匹配的测试客户端资源。
步骤S216:将该服务端应用程序代码同步到目标测试服务端。
步骤S218:加密压缩该测试客户端资源,并将加密压缩后的测试客户端资源存放到指定区域,以供测试客户端同步。
步骤S220:通过中转平台向测试客户端返回测试请求的状态信息,以通知该测试客户端同步加密压缩后的测试客户端资源,以及与上述目标测试服务端建立连接,进行应用程序测试;该状态信息包括目标测试服务端的标识和加密压缩后的测试客户端资源的状态。
这样,当测试客户端需要测试某一版本的应用程序时,如果在存储加密压缩后的测试客户端资源的存储区上没有该版本的测试客户端资源,只需要通过中转平台向服务器发送测试客户端资源更新需求,服务器即可及时更新测试客户端资源,以满足测试客户端的测试需求,从而顺利完成测试。相比于现有的整包游戏测试方式,本实施例提供的应用程序测试方法,无需等待到某一个时间节点之后,才将需求改动汇总打包为游戏包体进行测试,而是可以随时进行,具有更好的实时性,其在图1所示应用程序测试方法的基础上,进一步提高了测试效率。
此外,在图1所示应用程序测试方法的基础上,本实施例还提供了另一种应用程序测试方法,参见图3,为该方法的流程示意图,由图3可见,该方法包括以下步骤:
步骤S302:响应测试客户端通过中转平台发送的测试请求,该测试请求包括测试客户端选择的应用程序版本。
步骤S304:从多个测试服务端中,选择该测试请求对应的目标测试服务端。
步骤S306:检验目标测试服务端的服务端应用程序代码的版本,与该应用程序版本是否相匹配;如果是,则执行步骤S312;如果否,则执行步骤S308。
在本实施例中,在选择好目标测试服务端之后,首先检验该目标测试服务端上当前加载的服务端应用程序代码的版本,是否与该应用程序版本相匹配,如果是,则获取与该应用程序版本相匹配的测试资源,也即,获取该版本的服务端应用程序代码,并获取与待测试应用程序版本相匹配的其他测试资源;如果否,也即,与该待测试的应用程序版本不相匹配,则向中转平台返回测试服务端更新需求信息。
这里,以游戏测试为例说明,对于某测试服务端A,被选择为当前测试的目标测试服务端,假设当前测试的游戏版本为V2.2,则需要在该目标测试服务端相应加载同一版本V2.2的服务端游戏代码;假设该测试服务端A在上一次游戏测试时,加载的为另一版本的服务端游戏代码,例如版本V2.0,那么,在检验目标测试服务端的服务端游戏代码的版本时,检验结果是:当前目标测试服务端上的服务端游戏代码的版本与待测试游戏版本不匹配;此时,则需要向中转平台返回测试服务端更新需求信息,以将目标测试服务端的服务端游戏代码更新到版本V2.2,与当前测试的游戏版本V2.2保持一致。
步骤S308:向中转平台返回测试服务端更新需求信息。
如果检验结果为目标测试服务端的服务端应用程序代码的版本,与该应用程序版本不匹配,则测试无法进行,此时,需要向中转平台返回测试服务端更新需求信息,以将目标测试服务端的服务端应用程序代码更新到与待测试应用程序版本一致的版本。
步骤S310:响应测试客户端针对中转平台的测试服务端更新指令,将目标测试服务端的服务端应用程序代码更新到与该应用程序版本一致的版本。
测试客户端在接收到测试服务端更新需求信息之后,通过中转平台向服务器发出测试服务端更新指令,服务器响应该更新指令,并将目标测试服务端的服务端应用程序代码更新到与该应用程序版本一致的版本。在其中一种可能的实施方式中,服务器在接收到测试服务端更新指令后,从目标测试服务端所维护的多个服务端应用程序代码的版本中,查询与待测试应用程序的版本一致的版本,并将版本相匹配的服务端应用程序代码更新到目标测试服务端。
步骤S312:获取与该应用程序版本相匹配的测试资源;该测试资源包括服务端应用程序代码和测试客户端资源。
步骤S314:将该服务端应用程序代码同步到目标测试服务端。
步骤S316:加密压缩该测试客户端资源,并将加密压缩后的测试客户端资源存放到指定区域,以供测试客户端同步。
步骤S318:通过中转平台向测试客户端返回测试请求的状态信息,以通知该测试客户端同步加密压缩后的测试客户端资源,以及与上述目标测试服务端建立连接,进行应用程序测试;该状态信息包括目标测试服务端的标识和加密压缩后的测试客户端资源的状态。
本实施例提供的应用程序测试方法,在目标测试服务端的服务端应用程序代码的版本,与待测试的应用程序版本不一致时,可以通过中转平台向服务器发送测试服务端更新需求信息,服务器即可及时更新目标测试服务端的服务端应用程序代码,以满足测试服务端的测试需求,从而顺利完成测试。这种测试方式相比于现有的整包测试技术,具有更好的实时性,在图1所示应用程序测试方法的基础上,进一步提高了测试效率。
在图1所示应用程序测试方法的基础上,本实施例还提供了另一种应用程序测试方法,该方法重点描述了将加密压缩后的测试客户端资源同步到测试客户端的具体实现方式,参见图4,为该测试方法的流程示意图,其中,该方法包括以下步骤:
步骤S402:响应测试客户端通过中转平台发送的测试请求,该测试请求包括测试客户端选择的应用程序版本。
步骤S404:从多个测试服务端中,选择该测试请求对应的目标测试服务端。
步骤S406:获取与该应用程序版本相匹配的测试资源;该测试资源包括服务端应用程序代码和测试客户端资源。
步骤S408:将该服务端应用程序代码同步到目标测试服务端。
步骤S410:加密压缩该测试客户端资源,并将加密压缩后的测试客户端资源存放到指定区域,以供测试客户端同步。
步骤S412:通过中转平台向测试客户端返回测试请求的状态信息,以通知该测试客户端同步加密压缩后的测试客户端资源,以及与上述目标测试服务端建立连接,进行应用程序测试;该状态信息包括目标测试服务端的标识和加密压缩后的测试客户端资源的状态。
步骤S414:当接收到测试客户端的同步请求时,检验该测试客户端是否满足权限要求;如果是,则执行步骤S416;如果否,则执行步骤S418。
其中,测试客户端通过中转平台获取到服务器返回的测试请求状态信息后,确认目标测试服务端和测试所需的测试客户端资源都已经预备好,因而向服务器发出同步请求。这里,服务器在接收到该同步请求时,首先检验该测试客户端是否满足权限,如果是,则将加密压缩后的测试客户端资源同步到测试客户端;如果否,则不将加密压缩后的测试客户端资源同步到测试客户端。
步骤S416:将加密压缩后的测试客户端资源同步到测试客户端。
如果检验结果为该测试客户端满足权限要求,表明该同步请求为合法请求,则将加密压缩后的测试客户端资源同步到测试客户端,这样,测试客户端即获得了所需的测试资源,从而可以进行相应地测试。
步骤S418:不将加密压缩后的测试客户端资源同步到测试客户端。
如果检验结果为该测试客户端不满足权限要求,表明该同步请求为非法请求,则不将加密压缩后的测试客户端资源同步到测试客户端。在其中一种可能的实施方式中,还可以向测试客户端返回同步失败提示信息,并提醒该测试客户端不满足权限。
本实施例提供的应用程序测试方法,通过检验测试客户端接入服务器的权限,可以阻止非法接入,从而进一步提高测试资源的安全性。
在图4所示应用程序测试方法的基础上,本实施例还提供了另一种应用程序测试方法,该方法重点描述了检验测试客户端是否满足权限要求的具体实现过程,参见图5,为该方法的流程示意图,其中,该方法应用于服务器,且在该服务器上预先存储有IP网段的白名单,由图5可见,该方法包括以下步骤:
步骤S502:响应测试客户端通过中转平台发送的测试请求,该测试请求包括测试客户端选择的应用程序版本。
步骤S504:从多个测试服务端中,选择该测试请求对应的目标测试服务端。
步骤S506:获取与该应用程序版本相匹配的测试资源;该测试资源包括服务端应用程序代码和测试客户端资源。
步骤S508:将该服务端应用程序代码同步到目标测试服务端。
步骤S510:加密压缩该测试客户端资源,并将加密压缩后的测试客户端资源存放到指定区域,以供测试客户端同步。
步骤S512:通过中转平台向测试客户端返回测试请求的状态信息,以通知该测试客户端同步加密压缩后的测试客户端资源,以及与上述目标测试服务端建立连接,进行应用程序测试;该状态信息包括目标测试服务端的标识和加密压缩后的测试客户端资源的状态。
步骤S514:当接收到测试客户端的同步请求时,获取该测试客户端的IP地址。
对于每一个测试客户端,其对应有唯一的IP地址,IP地址是IP协议提供的一种统一的地址格式,这里,在接收到测试客户端的同步请求时,获取该测试客户端的IP地址。
步骤S516:检验该IP地址是否在预存的IP网段范围内;如果是,则执行步骤S518;如果否,则执行步骤S520。
由于在服务器上预先存储有IP网段的白名单,这样,如果测试客户端的IP地址在白名单范围内,则表示其对应的测试客户端满足权限。因此,在获得测试客户端的IP地址后,检验该IP地址是否在预存的IP网段范围内,如果是,则确定该测试客户端满足权限要求,并将加密压缩后的测试客户端资源同步到测试客户端;如果否,则确定该测试客户端不满足权限要求,那么不将加密压缩后的测试客户端资源同步到测试客户端。
例如,假设在服务器上预先存储的白名单IP网段为172.16.82.1~172.16.82.126,当接收到测试客户端的同步请求时,获取其IP地址,假设该测试客户端的IP地址为172.16.82.16,则检验结果为该IP地址在预存的IP网段范围内,此时,确定该测试客户端满足权限要求,并将加密压缩后的测试客户端资源同步到测试客户端。假设该测试客户端的IP地址为172.16.82.136,则检验结果为该IP地址不在预存的IP网段范围内,此时,确定该测试客户端不满足权限要求,那么不将加密压缩后的测试客户端资源同步到测试客户端。
步骤S518:确定该测试客户端满足权限要求,将加密压缩后的测试客户端资源同步到测试客户端。
对于满足权限要求的测试客户端,将加密压缩后的测试客户端资源同步到测试客户端,这样,测试客户端即获得了所需的测试资源,从而可以进行测试。
步骤S520:确定该测试客户端不满足权限要求,不将加密压缩后的测试客户端资源同步到测试客户端。
这样,对于不满足权限的测试客户端,将无法获取到测试客户端资源,从而进一步提升了测试资源的安全性。
此外,本实施例还提供了另一种应用程序测试方法,该方法介绍了检验该测试客户端是否满足权限要求的另一实现过程,参见图6,为该方法的流程示意图,其中,该方法应用于服务器,且在该服务器上预先存储有MAC地址列表的白名单,由图6可见,该方法包括以下步骤:
步骤S602:响应测试客户端通过中转平台发送的测试请求,该测试请求包括测试客户端选择的应用程序版本。
步骤S604:从多个测试服务端中,选择该测试请求对应的目标测试服务端。
步骤S606:获取与该应用程序版本相匹配的测试资源;该测试资源包括服务端应用程序代码和测试客户端资源。
步骤S608:将该服务端应用程序代码同步到目标测试服务端。
步骤S610:加密压缩该测试客户端资源,并将加密压缩后的测试客户端资源存放到指定区域,以供测试客户端同步。
步骤S612:通过中转平台向测试客户端返回测试请求的状态信息,以通知该测试客户端同步加密压缩后的测试客户端资源,以及与上述目标测试服务端建立连接,进行应用程序测试;该状态信息包括目标测试服务端的标识和加密压缩后的测试客户端资源的状态。
步骤S614:当接收到测试客户端的同步请求时,获取该测试客户端的MAC地址。
MAC地址(Media Access Control Address,媒体存取控制位址)也称为物理地址、硬件地址,它是一个用来确认网络设备位置的位址,它也是网络中每台设备唯一的网络标识。通常情况下,IP地址与MAC地址在计算机里都是以二进制表示,IP地址是32位,而MAC地址则是48位。
在本实施例中,当接收到测试客户端的同步请求时,获取该测试客户端的MAC地址。
步骤S616:检验该MAC地址是否在预存的MAC地址列表内;如果是,则执行步骤S618;如果否,则执行步骤S622。
由于在服务器上预先存储有MAC地址列表的白名单,这样,如果测试客户端的白名单上的MAC地址列表中,则表示其对应的测试客户端满足权限。因此,在获得测试客户端MAC地址后,检验该MAC地址是否在预存的MAC地址列表上,如果是,则确定该测试客户端满足权限要求,并将加密压缩后的测试客户端资源同步到测试客户端;如果否,则确定该测试客户端不满足权限要求,那么不将加密压缩后的测试客户端资源同步到测试客户端。
步骤S618:确定该测试客户端满足权限要求,将加密压缩后的测试客户端资源同步到测试客户端。
步骤S620:确定该测试客户端不满足权限要求,不将加密压缩后的测试客户端资源同步到测试客户端。
本实施例提供的应用程序测试方法,在测试客户端请求同步时,通过其MAC地址检验该测试客户端是否符合权限,对不符合权限要求的测试客户端,不允许其同步加密压缩后的测试客户端资源,从而避免测试资源被非法获取,更加有效地保障了测试资源的安全性。
本实施例还提供了另一种应用程序测试方法,该方法应用于服务器,其中,如图7所示,为该服务器的结构示意图,由图7可见,该服务器100包括依次相连的测试服务端71、接口模块72和存储模块73,其中,该接口模块72还与中转平台74通信连接。
其中,存储模块73用于存储各种测试资源,该存储模块73通常存储的内容包括:原始的美术资源,原始的客户端代码资源,原始的应用程序数据,原始的引擎。这四部分作为测试客户端运行的必要内容,一般作为私密数据存储在服务器100上,在其中一种实施方式中,可以利用svn和git对上述数据资源进行版本管理和协同开发。
在本实施例中,存储模块73中还包括:进行编译后的应用程序脚本,加密的引擎代码,加密压缩之后的美术资源以及编译后的应用程序数据,在至少一种可能的实施方式中,上述加密压缩后的内容,可以单独存储在服务器100的另一个位置,以供经过身份认证过的测试客户端进行同步更新。
另外,接口模块72主要负责服务器100与中转平台74的交互工作,它响应中转平台74发送过来的各种请求,分析请求的缘由、合理性和身份,并对请求进行分发和解析,再将解析后的指令发送给服务器100的对应模块进行工作。例如,假设接口模块72接到中转平台74的请求是导表,此时,通过对报文的解析和安全验证后,调用服务器100上对应的功能,对原始资源目录里的数据部分进行导表更新,并将导表更新后的数据进行加密,再存储到存储模块73中的指定区域,以供测试客户端进行同步。此外,接口模块72还与部署在服务器100上的测试服务端71进行交互,负责响应中转平台74发送的启动测试服务端71、更新测试服务端71等请求。
在图7示出的服务器100中,测试服务端71有多个,且各个测试服务端71各自维护一套不同版本的服务端应用程序代码和数据库,以供外部使用。其中,测试服务端71通过接口模块72接收中转平台74发送的信息,并可相应进行启动、更新、清数据库等操作。
在本实施例中,中转平台74以网页的形式展现,如图8所示,为一种中转平台74的前端页面实物示意图,其中,该中转平台74包括Django框架的网页。这里,Django是一个开放源代码的Web应用框架,由Python写成,它采用了MTV的框架模式,即模型M,视图V和模版T。由图8可见,在中转平台74上设置了更新按钮,可实现数据更新,资源更新,脚本更新等功能。在实际操作中,当测试人员点击中转平台74页面上对应的按钮时,中转平台74的后台对相应的信息和请求进行封装,并发往服务器100进行对应的操作。
另外,考虑到测试客户端的请求存在并发的可能,若对中转平台74的请求转发不加控制,将会导致指向同一资源区域的多种操作重叠,从而产生冲突。为此,在图8所示的中转平台74上还进行了线程控制,其中,中转平台74通过多线程的方式向该服务器100转发测试客户端的请求,并且,同一资源的多个请求由一个线程依次响应处理。也即,对于同一份资源进行操作的信息,放在一个线程中进行转发,而下一个请求发送必须等待上一个请求执行完毕之后才可进行;并且,对不同区域资源进行的操作,则用不同的线程进行并发处理。这样,可以进一步提高测试效率。
进一步地,在图8所示的中转平台上,还配置了用于对用户的权限进行检验和管理的权限管理单元,参见图9,为本发明提供的一种中转平台的前端管理单元实物示意图,其中,该权项管理单元维护一份用户名和密码信息。
在实际测试操作中,不同的用户对于中转平台74上的操作需求是不一样的,因而,在其中一种可能的实施方式中,可以对用户进行分组,对不同的用户组配置不同的权限。这样,可以避免中转平台74上有些比较耗时的按钮被频繁点击时,因线程问题卡住后面的操作,而降低测试效率。另外,在该权限管理单元中,还可以设置有添加用户分组、删除用户分组、修改用户分组等功能,因而可以对用户的权限进行灵活调整。
另外,在应用程序测试和更新的过程中,服务器100还可能因为各种不可知的因素发生错误,例如网络问题或者状态问题;又或者在测试客户端的测试过程中,测试服务端71会出现因为应用程序bug产生的脚本错,而这些错误内容在测试客户端却是无法直接看到的,这就会导致测试工作中出现比较严重的遗漏。
为了缓解上述问题,在本实施例中,在中转平台74上还设置了测试服务端日志单元和更新日志单元。这里,参见图10,为本实施例提供的一种测试服务端日志单元中的日志内容示意图,在应用程序测试过程中,可以通过该测试服务端日志单元实时打印测试服务端71的数据和错误信息,从而在服务器100发生错误时,可以帮助测试人员第一时间定位问题。
另外,参见图11,为本实施例提供的一种更新日志单元中的日志内容示意图,在应用程序测试过程中,可以通过该更新日志单元记录测试资源的实时更新信息,例如,记录脚本、数据和资源等内容的实时更新信息。由于服务器100的状态是未知的,一方面,更新日志单元通过记录更新后的应用程序版本,可以方便测试人员标记现有的测试内容;另一方面,当服务器100的状态出现问题时,假设没有中转平台74的日志显示,测试人员将很难及时发现问题,从而降低了测试效率。
这样,本实施例提供的应用程序测试方法,通过在中转平台上设置测试服务端日志单元和更新日志单元,保证了日志的实时显示和可读性,可以帮助测试人员第一时间定位问题,提高了整体的测试效率。
对应于上述实施例中的应用程序测试方法,本发明实施例还提供了一种应用程序测试装置,参见图12,为该装置的结构示意图,由图12可见,该装置包括依次相连的测试请求接收模块10、目标测试服务端选择模块11、测试资源获取模块12、测试服务端代码同步模块13、测试客户端资源加密压缩模块14和状态信息返回模块15,其中,各个模块的功能如下:
测试请求接收模块10,用于响应测试客户端通过中转平台发送的测试请求,该测试请求包括测试客户端选择的应用程序版本;
目标测试服务端选择模块11,用于从多个测试服务端中,选择该测试请求对应的目标测试服务端;
测试资源获取模块12,用于获取与该应用程序版本相匹配的测试资源;该测试资源包括服务端应用程序代码和测试客户端资源;
测试服务端代码同步模块13,用于将该服务端应用程序代码同步到目标测试服务端;
测试客户端资源加密压缩模块14,用于加密压缩测试客户端资源,并将加密压缩后的测试客户端资源存放到指定区域,以供测试客户端同步;
状态信息返回模块15,用于通过中转平台向测试客户端返回测试请求的状态信息,以通知该测试客户端同步加密压缩后的测试客户端资源,以及与上述目标测试服务端建立连接,进行应用程序测试;该状态信息包括目标测试服务端的标识和加密压缩后的测试客户端资源的状态。
本发明实施例提供的应用程序测试方法装置,响应测试客户端通过中转平台发送的测试请求,该测试请求包括测试客户端选择的应用程序版本;从多个测试服务端中,选择该测试请求对应的目标测试服务端;获取与该应用程序版本相匹配的测试资源;该测试资源包括服务端应用程序代码和测试客户端资源;将该服务端应用程序代码同步到目标测试服务端;加密压缩该测试客户端资源,并将加密压缩后的测试客户端资源存放到指定区域,以供测试客户端同步;通过中转平台向测试客户端返回测试请求的状态信息,以通知该测试客户端同步加密压缩后的测试客户端资源,以及与上述目标测试服务端建立连接,进行应用程序测试;该状态信息包括目标测试服务端的标识和加密压缩后的测试客户端资源的状态。该装置中,通过在服务器上部署多个测试服务端,且多个测试服务端各自维护一套不同版本的服务端应用程序代码,从而实现不同版本的应用程序可以同时测试,提高了测试效率;并且通过设置中转平台,由中转平台进行请求和消息地转发,以处理测试客户端的需求,使得代码数据与游戏运行内容彼此分离,提高了核心数据的安全性。
此外,该应用程序测试装置还可以通过响应测试客户端针对中转平台的测试资源更新指令,对存储的测试资源进行实时更新,并将更新后的测试资源加密压缩后及时提供给测试客户端,从而保证了游戏测试的实时性;并且,通过对提供给测试客户端的测试资源进行加密压缩,以及对测试客户端的权限进行验证,进一步提高了游戏测试过程中核心数据的安全性。
在其中一种可能的实施方式中,上述服务器包括第一存储区和第二存储区,该第一存储区用于存储测试客户端资源,该第二存储区用于存储加密压缩后的测试客户端资源;该应用程序测试装置还包括测试客户端资源更新请求模块,用于:查询第二存储区中,是否有与该应用程序版本的版本一致的测试客户端资源;若没有,则向中转平台返回测试客户端资源更新需求信息。
在另一种可能的实施方式中,该装置还包括测试客户端资源更新指令响应模块,用于:响应测试客户端针对中转平台的测试客户端资源更新指令,从第一存储区中查找与该应用程序版本的版本一致的测试客户端资源;将查找到的测试客户端资源,加密压缩后存储到第二存储区。
在另一种可能的实施方式中,该装置还包括测试服务端更新请求模块,用于:检验目标测试服务端的服务端应用程序代码的版本,与该应用程序版本是否相匹配;若不匹配,则向中转平台返回测试服务端更新需求信息。
在另一种可能的实施方式中,该装置还包括测试服务端更新指令响应模块,用于:响应测试客户端针对中转平台的测试服务端更新指令,将目标测试服务端的服务端应用程序代码更新到与该应用程序版本一致的版本。
在另一种可能的实施方式中,该装置还包括测试客户端权限检验模块,用于:当接收到测试客户端的同步请求时,检验该测试客户端是否满足权限要求;若是,则将加密压缩后的测试客户端资源同步到测试客户端。
在另一种可能的实施方式中,在服务器上预先存储有IP网段的白名单,上述测试客户端权限检验模块还用于:获取该测试客户端的IP地址;检验该IP地址是否在上述IP网段范围内;若是,则确定该测试客户端满足权限要求。
在另一种可能的实施方式中,在该服务器上预先存储有MAC地址列表的白名单,上述测试客户端权限检验模块还用于:获取该测试客户端的MAC地址;检验该MAC地址是否在上述MAC地址列表内;若是,则确定该测试客户端满足权限要求。
在另一种可能的实施方式中,上述中转平台包括Django框架的网页。
在另一种可能的实施方式中,上述装置还包括权限管理单元,用于在中转平台对用户的权限进行检验和管理。
在另一种可能的实施方式中,上述中转平台通过多线程的方式向该服务器转发测试客户端的请求,同一资源的多个请求由一个线程依次响应处理。
在另一种可能的实施方式中,上述中转平台还包括测试服务端日志单元和更新日志单元;该测试服务端日志单元用于实时打印测试服务端的数据和错误信息;该更新日志单元用于记录测试资源的实时更新信息。
本发明实施例提供的应用程序测试装置,其实现原理及产生的技术效果和前述应用程序测试方法实施例相同,为简要描述,应用程序测试装置的实施例部分未提及之处,可参考前述应用程序测试方法实施例中相应内容。
本发明实施例还提供了另一种服务器,如图13所示,为该服务器的结构示意图,其中,该服务器包括处理器131和存储器130,该存储器130存储有能够被该处理器131执行的计算机可执行指令,该处理器131执行该计算机可执行指令以实现上述应用程序测试方法。
在图13示出的实施方式中,该服务器还包括总线132和通信接口133,其中,处理器131、通信接口133和存储器130通过总线132连接。
其中,存储器130可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口133(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线132可以是ISA总线、PCI总线或EISA总线等。所述总线132可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器131可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器131中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器131可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processor,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器131读取存储器中的信息,结合其硬件完成前述实施例的应用程序测试方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,该计算机可执行指令促使处理器实现上述应用程序测试方法,具体实现可参见前述方法实施例,在此不再赘述。
本发明实施例所提供的应用程序测试方法、应用程序测试装置和服务器的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的应用程序测试方法,具体实现可参见方法实施例,在此不再赘述。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本发明的范围。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (15)
1.一种应用程序测试方法,其特征在于,应用于服务器,所述服务器配置有中转平台和多个测试服务端,其中,多个所述测试服务端各自维护一套不同版本的服务端应用程序代码,所述方法包括:
响应测试客户端通过所述中转平台发送的测试请求,所述测试请求包括所述测试客户端选择的应用程序版本;
从所述多个测试服务端中,选择所述测试请求对应的目标测试服务端;
获取与所述应用程序版本相匹配的测试资源;所述测试资源包括服务端应用程序代码和测试客户端资源;
将所述服务端应用程序代码同步到所述目标测试服务端;
加密压缩所述测试客户端资源,并将加密压缩后的所述测试客户端资源存放到指定区域,以供所述测试客户端同步;
通过所述中转平台向所述测试客户端返回所述测试请求的状态信息,以通知所述测试客户端同步加密压缩后的所述测试客户端资源,以及与所述目标测试服务端建立连接,进行应用程序测试;所述状态信息包括所述目标测试服务端的标识和加密压缩后的所述测试客户端资源的状态。
2.根据权利要求1所述的应用程序测试方法,其特征在于,所述服务器包括第一存储区和第二存储区,所述第一存储区用于存储测试客户端资源,所述第二存储区用于存储加密压缩后的测试客户端资源;在所述获取与所述应用程序版本相匹配的测试资源的步骤之前,所述方法还包括:
查询所述第二存储区中,是否有与所述应用程序版本的版本一致的测试客户端资源;
若没有,则向所述中转平台返回测试客户端资源更新需求信息。
3.根据权利要求2所述的应用程序测试方法,其特征在于,所述方法还包括:
响应所述测试客户端针对所述中转平台的测试客户端资源更新指令,从所述第一存储区中查找与所述应用程序版本的版本一致的测试客户端资源;
将查找到的测试客户端资源,加密压缩后存储到所述第二存储区。
4.根据权利要求1所述的应用程序测试方法,其特征在于,在所述获取与所述应用程序版本相匹配的测试资源的步骤之前,所述方法还包括:
检验所述目标测试服务端的服务端应用程序代码的版本,与所述应用程序版本是否相匹配;
若不匹配,则向中转平台返回测试服务端更新需求信息。
5.根据权利要求4所述的应用程序测试方法,其特征在于,所述方法还包括:
响应所述测试客户端针对所述中转平台的测试服务端更新指令,将所述目标测试服务端的服务端应用程序代码更新到与所述应用程序版本一致的版本。
6.根据权利要求1所述的应用程序测试方法,其特征在于,所述方法还包括:
当接收到所述测试客户端的同步请求时,检验所述测试客户端是否满足权限要求;
若是,则将加密压缩后的所述测试客户端资源同步到所述测试客户端。
7.根据权利要求6所述的应用程序测试方法,其特征在于,在所述服务器上预先存储有IP网段的白名单,所述检验所述测试客户端是否满足权限要求的步骤包括:
获取所述测试客户端的IP地址;
检验所述IP地址是否在所述IP网段范围内;
若是,则确定所述测试客户端满足权限要求。
8.根据权利要求6所述的应用程序测试方法,其特征在于,在所述服务器上预先存储有MAC地址列表的白名单,所述检验所述测试客户端是否满足权限要求的步骤包括:
获取所述测试客户端的MAC地址;
检验所述MAC地址是否在所述MAC地址列表内;
若是,则确定所述测试客户端满足权限要求。
9.根据权利要求1所述的应用程序测试方法,其特征在于,所述中转平台包括Django框架的网页。
10.根据权利要求9所述的应用程序测试方法,其特征在于,所述方法还包括:
在所述中转平台配置用于对用户的权限进行检验和管理的权限管理单元。
11.根据权利要求10所述的应用程序测试方法,其特征在于,所述中转平台通过多线程的方式向所述服务器转发所述测试客户端的请求,同一资源的多个请求由一个线程依次响应处理。
12.根据权利要求9所述的应用程序测试方法,其特征在于,所述中转平台还包括测试服务端日志单元和更新日志单元;
所述方法还包括:
通过所述测试服务端日志单元实时打印所述测试服务端的数据和错误信息;
通过所述更新日志单元记录测试资源的实时更新信息。
13.一种应用程序测试装置,其特征在于,所述装置包括:
测试请求接收模块,用于响应测试客户端通过中转平台发送的测试请求,所述测试请求包括所述测试客户端选择的应用程序版本;
目标测试服务端选择模块,用于从多个测试服务端中,选择所述测试请求对应的目标测试服务端;
测试资源获取模块,用于获取与所述应用程序版本相匹配的测试资源;所述测试资源包括服务端应用程序代码和测试客户端资源;
测试服务端代码同步模块,用于将所述服务端应用程序代码同步到所述目标测试服务端;
测试客户端资源加密压缩模块,用于加密压缩所述测试客户端资源,并将加密压缩后的所述测试客户端资源存放到指定区域,以供所述测试客户端同步;
状态信息返回模块,用于通过所述中转平台向所述测试客户端返回所述测试请求的状态信息,以通知所述测试客户端同步加密压缩后的所述测试客户端资源,以及与所述目标测试服务端建立连接,进行应用程序测试;所述状态信息包括所述目标测试服务端的标识和加密压缩后的所述测试客户端资源的状态。
14.一种服务器,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1至12任一项所述的应用程序测试方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现权利要求1至12任一项所述的应用程序测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911084752.XA CN110851359B (zh) | 2019-11-07 | 2019-11-07 | 应用程序测试方法、装置及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911084752.XA CN110851359B (zh) | 2019-11-07 | 2019-11-07 | 应用程序测试方法、装置及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110851359A true CN110851359A (zh) | 2020-02-28 |
CN110851359B CN110851359B (zh) | 2023-10-27 |
Family
ID=69598832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911084752.XA Active CN110851359B (zh) | 2019-11-07 | 2019-11-07 | 应用程序测试方法、装置及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110851359B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112363879A (zh) * | 2020-11-20 | 2021-02-12 | 上海连尚网络科技有限公司 | 缓存服务器性能测试方法、装置、设备和介质 |
CN112559325A (zh) * | 2020-12-02 | 2021-03-26 | 海南车智易通信息技术有限公司 | 一种应用程序测试系统、方法、计算设备及可读存储介质 |
CN112988572A (zh) * | 2021-02-09 | 2021-06-18 | 中国工商银行股份有限公司 | 多环境多渠道多版本模拟测试方法及装置 |
CN113810197A (zh) * | 2021-09-17 | 2021-12-17 | 上海市信产通信服务有限公司 | 基于OpenAPI的服务调用方法及其系统 |
CN115061939A (zh) * | 2022-06-30 | 2022-09-16 | 北京瑞莱智慧科技有限公司 | 数据集安全测试方法、装置及存储介质 |
CN115473810A (zh) * | 2022-09-01 | 2022-12-13 | 珠海金山数字网络科技有限公司 | 双端同步脚本热更新方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5796952A (en) * | 1997-03-21 | 1998-08-18 | Dot Com Development, Inc. | Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database |
CN104426715A (zh) * | 2013-09-03 | 2015-03-18 | 北京信威通信技术股份有限公司 | 一种分布式测试工具控制方法 |
CN105740137A (zh) * | 2014-12-08 | 2016-07-06 | 阿里巴巴集团控股有限公司 | 分桶测试方法和提供配置信息的方法、装置及系统 |
CN107846465A (zh) * | 2017-11-13 | 2018-03-27 | 北京趣拿软件科技有限公司 | 更新客户端资源包的方法和装置 |
CN108052451A (zh) * | 2017-12-26 | 2018-05-18 | 网易(杭州)网络有限公司 | 测试方法、系统、测试服务器、测试终端及存储介质 |
CN110008109A (zh) * | 2018-11-28 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 应用测试方法及装置 |
-
2019
- 2019-11-07 CN CN201911084752.XA patent/CN110851359B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5796952A (en) * | 1997-03-21 | 1998-08-18 | Dot Com Development, Inc. | Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database |
CN104426715A (zh) * | 2013-09-03 | 2015-03-18 | 北京信威通信技术股份有限公司 | 一种分布式测试工具控制方法 |
CN105740137A (zh) * | 2014-12-08 | 2016-07-06 | 阿里巴巴集团控股有限公司 | 分桶测试方法和提供配置信息的方法、装置及系统 |
CN107846465A (zh) * | 2017-11-13 | 2018-03-27 | 北京趣拿软件科技有限公司 | 更新客户端资源包的方法和装置 |
CN108052451A (zh) * | 2017-12-26 | 2018-05-18 | 网易(杭州)网络有限公司 | 测试方法、系统、测试服务器、测试终端及存储介质 |
CN110008109A (zh) * | 2018-11-28 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 应用测试方法及装置 |
Non-Patent Citations (2)
Title |
---|
TMN LIAISON OFFICER: "S5-99238 \"Draft Standard. Framework for CORBA-Based TMN Interfaces\"" * |
宋波;: "关于Web应用中的组合模型和生成测试" * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112363879A (zh) * | 2020-11-20 | 2021-02-12 | 上海连尚网络科技有限公司 | 缓存服务器性能测试方法、装置、设备和介质 |
CN112559325A (zh) * | 2020-12-02 | 2021-03-26 | 海南车智易通信息技术有限公司 | 一种应用程序测试系统、方法、计算设备及可读存储介质 |
CN112559325B (zh) * | 2020-12-02 | 2024-02-23 | 海南车智易通信息技术有限公司 | 一种应用程序测试系统、方法、计算设备及可读存储介质 |
CN112988572A (zh) * | 2021-02-09 | 2021-06-18 | 中国工商银行股份有限公司 | 多环境多渠道多版本模拟测试方法及装置 |
CN112988572B (zh) * | 2021-02-09 | 2024-02-09 | 中国工商银行股份有限公司 | 多环境多渠道多版本模拟测试方法及装置 |
CN113810197A (zh) * | 2021-09-17 | 2021-12-17 | 上海市信产通信服务有限公司 | 基于OpenAPI的服务调用方法及其系统 |
CN115061939A (zh) * | 2022-06-30 | 2022-09-16 | 北京瑞莱智慧科技有限公司 | 数据集安全测试方法、装置及存储介质 |
CN115473810A (zh) * | 2022-09-01 | 2022-12-13 | 珠海金山数字网络科技有限公司 | 双端同步脚本热更新方法及装置 |
CN115473810B (zh) * | 2022-09-01 | 2024-04-26 | 珠海金山数字网络科技有限公司 | 双端同步脚本热更新方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110851359B (zh) | 2023-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110851359B (zh) | 应用程序测试方法、装置及服务器 | |
CN109471865B (zh) | 一种离线数据管理方法、系统、服务器及存储介质 | |
CN106815370B (zh) | 更新资源文件的方法、装置和系统 | |
CN108228444B (zh) | 一种测试方法和装置 | |
US20160036796A1 (en) | Method and system for facilitating terminal identifiers | |
CN104503780A (zh) | 一种提供应用渠道包的方法和装置 | |
CN106899563B (zh) | 鉴权方法及装置、鉴权码生成方法及装置、鉴权系统 | |
US20210374110A1 (en) | Detection system and method, and related apparatus | |
CN108491715B (zh) | 终端指纹库的生成方法、装置和服务器 | |
CN109995876B (zh) | 文件传输方法、装置、系统和计算机存储介质 | |
CN106354832B (zh) | 一种数据发布方法、设备及系统 | |
CN111695098B (zh) | 多分布式集群访问方法及装置 | |
CN111417927B (zh) | 资源权限处理方法、装置、存储介质及芯片 | |
CN109842554B (zh) | 设备服务的路由方法、装置、设备及存储介质 | |
CN106919844A (zh) | 一种Android系统应用程序漏洞检测方法 | |
CN114462101A (zh) | 一种应用apk包的处理系统、方法和装置 | |
JP6178119B2 (ja) | データ移行システム、及びデータ移行方法 | |
CN107800561B (zh) | 资源更新方法和装置 | |
CN113094283A (zh) | 一种数据获取方法、装置、设备及存储介质 | |
CN107302605B (zh) | 电视代理服务器的配置方法及装置、电视及存储介质 | |
CN114270389A (zh) | 信息获取方法、装置、系统、电子设备以及存储介质 | |
CN111695936B (zh) | 信息绑定方法、装置及设备 | |
CN108965490B (zh) | 推广转化率的确定方法、服务器及计算机可读存储介质 | |
CN114513695B (zh) | 一种ott行业视频内容跨区域运营的方法与装置 | |
US20230283485A1 (en) | Method and device for dynamic public key infrastructure |
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 |