CN112799970B - 测试数据处理方法、装置、电子设备及介质 - Google Patents

测试数据处理方法、装置、电子设备及介质 Download PDF

Info

Publication number
CN112799970B
CN112799970B CN202110377094.4A CN202110377094A CN112799970B CN 112799970 B CN112799970 B CN 112799970B CN 202110377094 A CN202110377094 A CN 202110377094A CN 112799970 B CN112799970 B CN 112799970B
Authority
CN
China
Prior art keywords
test
account
application
simulation
application client
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
CN202110377094.4A
Other languages
English (en)
Other versions
CN112799970A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110377094.4A priority Critical patent/CN112799970B/zh
Publication of CN112799970A publication Critical patent/CN112799970A/zh
Application granted granted Critical
Publication of CN112799970B publication Critical patent/CN112799970B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • 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/3696Methods or tools to render software testable

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请实施例公开了一种测试数据处理方法、装置、电子设备及介质,应用于数据处理技术领域。其中方法包括:获取应用客户端发送的应用测试请求,对应用测试请求所属测试任务分配模拟测试账号,并向应用客户端返回测试入口信息,获取应用客户端基于测试入口信息所发送的应用测试指令,调用模拟测试账号对应用客户端执行应用测试指令所指示类型的测试操作,以使应用客户端生成测试操作对应的测试响应信息。采用本申请实施例,可以在应用客户端的测试过程中提高对应用客户端的测试效率。

Description

测试数据处理方法、装置、电子设备及介质
技术领域
本申请涉及数据处理技术领域,尤其涉及一种测试数据处理方法、装置、电子设备及介质。
背景技术
目前,在应用软件的开发和运行过程中,为了保证应用软件在各种场景(如直播、会议等场景)中能够稳定使用,常常需要对应用软件进行测试。
现有技术中,在对应用软件进行测试时,需要根据要进行的测试操作创建测试任务,在提交测试任务之后,测试服务器只能根据该测试任务所指示的测试操作进行测试。而若在当前测试任务进行过程中,想要进行其他测试操作,则需结束当前测试任务,并针对其他测试操作再次创建新的测试任务,再通过所创建的新的测试任务进行测试。由此可见,现有技术在对应用软件进行测试时,测试步骤冗余,导致对应用软件的测试效率低。
发明内容
本申请实施例提供了一种测试数据处理方法、装置、电子设备及介质,可以在应用客户端的测试过程中提高对应用客户端的测试效率。
一方面,本申请实施例提供了一种测试数据处理方法,该方法包括:
获取应用客户端发送的应用测试请求,对所述应用测试请求所属测试任务分配模拟测试账号,并向所述应用客户端返回测试入口信息;所述模拟测试账号是模拟的所述应用客户端的客户端账号;
获取所述应用客户端基于所述测试入口信息所发送的应用测试指令;
调用所述模拟测试账号对所述应用客户端执行所述应用测试指令所指示类型的测试操作,以使所述应用客户端生成所述测试操作对应的测试响应信息。
一方面,本申请实施例提供了一种测试数据处理装置,该装置包括:
获取模块,用于获取应用客户端发送的应用测试请求,对所述应用测试请求所属测试任务分配模拟测试账号,并向所述应用客户端返回测试入口信息;所述模拟测试账号是模拟的所述应用客户端的客户端账号;
所述获取模块,还用于获取所述应用客户端基于所述测试入口信息所发送的应用测试指令;
调用模块,用于调用所述模拟测试账号对所述应用客户端执行所述应用测试指令所指示类型的测试操作,以使所述应用客户端生成所述测试操作对应的测试响应信息。
一方面,本申请实施例提供了一种电子设备,该电子设备包括处理器和存储器,处理器与存储器相互连接,其中,存储器用于存储计算机程序指令,处理器被配置用于执行该计算机程序指令实现上述方法中的部分或全部步骤。
一方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序指令,该计算机程序指令被处理器执行时,用于执行上述方法中的部分或全部步骤。
相应地,根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述提供的测试数据处理方法。
本申请实施例中可以获取应用客户端发送的应用测试请求,对应用测试请求所属测试任务分配模拟测试账号,并向应用客户端返回测试入口信息,获取应用客户端基于测试入口信息所发送的应用测试指令,并调用模拟测试账号对应用客户端执行应用测试指令所指示类型的测试操作,以使应用客户端生成测试操作对应的测试响应信息。通过实施上述方案,可以在测试任务进行过程中,为该测试任务分配模拟测试账号,后续,可以实时指示该模拟测试账号执行任意的测试操作,这有效地提高了对应用客户端的测试效率以及测试灵活性。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种应用架构示意图;
图2为本申请实施例提供的一种测试数据处理方法的流程示意图;
图3a为本申请实施例提供的一种测试场景示意图;
图3b为本申请实施例提供的一种测试场景示意图;
图4为本申请实施例提供的一种测试数据处理方法的流程示意图;
图5为本申请实施例提供的一种测试设备的测试调用流程示意图;
图6为本申请实施例提供的一种测试设备的测试调用流程示意图;
图7为本申请实施例提供的一种测试流程示意图;
图8为本申请实施例提供的一种测试数据处理装置的结构示意图;
图9为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本申请实施例提出一种测试数据处理方法,可以在应用客户端的测试过程中,有效地提高测试的效率,以及简化测试流程。
本申请实施例提出的测试数据处理方法实现于电子设备,该电子设备可以是服务器,具体可以是应用软件对应的测试服务器。请参见图1,图1为根据本申请的技术方案所提出的应用架构,该应用架构可实现本申请实施例的测试数据处理方法。具体的,图1包括应用软件对应的应用客户端和测试服务器,以及包括多台测试设备,应用客户端将应用测试请求、应用测试指令等与测试相关的指令发送至测试服务器,测试服务器接收前述与测试相关的指令,并生成测试调用指令以指示对应的测试设备执行测试操作。可以理解的是,多个用户可以同时对应用客户端进行测试。该测试服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。此外,应用客户端可部署在终端中,该终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及测试服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
可选的,本申请涉及的数据如模拟测试账号、本地测试地址等,可以存储于区块链中,如通过区块链分布式***存储,本申请不作限定。
其中,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
可选的,在一些实施例中,电子设备可根据实际的业务需求,执行该测试数据处理方法。例如,在实际的应用场景中(如直播场景),电子设备接收由应用客户端发送的针对直播场景的应用测试请求之后,从查询到的且可使用的测试账号集中选取指定数量的模拟测试账号,并根据本申请技术方案中的调用方式,调用模拟测试账号对应的测试设备执行所指示的测试操作(如在直播中进行评论或连麦等操作),以及使得应用客户端生成该测试操作对应的测试响应信息。
可以理解的是,本申请实施例所提出的测试数据处理方案可应用于任何需对应用软件中的使用场景进行测试的场景下。本申请实施例在此对应用场景不做限制,并且随着***架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
基于上述的描述,本申请实施例提出了一种测试数据处理方法,该方法可以由上述提及的电子设备执行,该电子设备可以是终端设备,也可以是服务器,此处以该电子设备为测试服务器为例进行说明。如图2所示,本申请实施例中的测试数据处理方法的流程可以包括:
S201、获取应用客户端发送的应用测试请求,对应用测试请求所属测试任务分配模拟测试账号,并向应用客户端返回测试入口信息; 该模拟测试账号是模拟的应用客户端的客户端账号。
其中,应用客户端可以承载于用户的终端设备中,该应用客户端中可以登录有该用户的用户账号,因此,下述描述中客户端所执行的操作可以是通过该用户的终端设备实现的。该应用客户端的客户端页面上可以部署有用于调用对该应用客户端进行测试的测试控件(如可以触发测试的测试按钮等)。当应用客户端检测到该测试控件被触发(如检测到针对该测试控件的滑动操作、点击操作或者语音指示操作等)时,应用客户端可以向测试服务器请求对应用客户端进行测试。
可选的,具体可以是对应用客户端中某一使用场景进行测试,例如对社交软件中的直播场景、会议场景等进行测试,应用客户端为任意需进行测试的客户端。并且,对应用客户端进行测试的用户可以是应用客户端的开发人员,或者也可以是应用客户端中注册有用户账号的任意用户,本申请对测试应用客户端的测试对象(如普通用户或者开发人员等)不做限制。此外,本申请所描述的对应用客户端进行测试的过程,是以对一个用户的终端设备中的应用客户端进行测试的过程为例进行说明的。可以理解的是,该应用客户端可以承载于不同用户的终端设备中,各个用户的终端设备中所承载的应用客户端为同一个应用客户端,如为同一个通讯客户端,只是不同用户的终端设备中的应用客户端登录有对应用户的用户账号。因此,各个用户均可以对自己终端设备中的应用客户端进行测试。
在一种可能的实施方式中,当获取到来自应用客户端的应用测试请求之后,为该应用测试请求所属的测试任务分配模拟测试账号,并向应用客户端返回此次测试任务的测试入口信息,其中,该模拟测试账号为模拟的应用客户端的客户端账号,换句话说,该模拟测试账号可以是模拟的在应用客户端中注册的用户账号。
可选的,应用测试请求可包括以下任一项或多项:选择测试场景、选择测试设备的操作***类型、账号请求数量。
可选的,若应用测试请求包括选择测试场景,该测试场景为应用客户端中的一个使用场景,当测试服务器接收到应用客户端发送的针对测试场景的应用测试请求时,测试服务器分配模拟测试账号,并根据该测试场景生成测试入口信息,测试服务器可根据测试入口信息让模拟测试账号进入该测试场景,应用客户端可以通过测试入口信息指示模拟测试账号在测试场景进行相应的测试操作。例如,用户选择的测试场景为应用客户端中的会议场景并创建会议,测试服务器会根据会议场景和用户输入的会议信息生成测试入口信息,并根据测试入口信息让模拟测试账号进入该会议,以及可以在创建的会议中查看到模拟测试账号。
可选的,由于通常具有不同类型的操作***的设备之间不能进行数据交互,因此,应用测试请求可以包括所需测试设备的操作***的类型,即用户可以根据实际测试需求选择相应类型的操作***。可选的,应用客户端可以显示选择操作***的客户端界面,该客户端界面中可以显示有一种或者多种类型的操作***,用户可以在该界面选择所需的操作***,例如用户可以选择与自己的终端设备中的操作***相同的操作***,后续测试设备在对应用客户端分配模拟测试账号时,所分配的模拟测试账号所属的测试设备中的操作***,就可以是用户在该客户端页面所选择的操作***。
可选的,由于通常在一次对应用客户端的测试过程中,需要调用多个模拟测试账号以执行对应用客户端的测试操作,因此,应用测试请求可以包括账号请求数量,即用户可以根据实际测试需求选择用于测试的测试账号数量,测试服务器根据账号请求数量分配模拟测试账号,应用客户端可以显示选择账号请求数量的客户端界面,用户可以在该客户端界面选择所需的测试账号数量,可以理解的是,选择测试设备的客户端界面和账号请求数量的客户端界面可以是位于同一客户端界面,也可以是不同客户端界面。在用户指定某个模拟测试账号执行测试操作后,应用客户端生成针对该模拟测试账号的应用测试指令并发送至测试服务器,测试服务器接收到该应用测试指令之后,会获取该模拟测试账号对应的测试设备,并指示该模拟测试账号对应的测试设备调用该模拟测试账号对应用客户端执行指定的测试操作。可以理解的是,用户可以是同时选择测试设备的操作***类型,以及相应操作***类型对应的测试账号数量,也可以是仅选择测试账号数量,由服务器随机分配不同操作***类型的测试设备。
在一种可能的实施方式中,测试设备预先安装有应用客户端,以及测试服务器预先为测试设备分配测试账号,并将所有测试账号作为测试账号集,一个测试设备对应一个测试账号,测试设备可以使用分配的测试账号来登陆该应用客户端,以及测试服务器会将分配的测试账号记录在数据库中。此外,当为应用测试请求所属测试任务分配模拟测试账号时,会从测试账号集中选取测试账号,并将选取的测试账号作为模拟测试账号。可选的,为了实现多个模拟测试账号之间的互斥逻辑,测试服务器会将模拟测试账号和对应的测试设备的状态设置成占用状态或未占用状态,当获取到应用客户端发送的应用测试请求之后,测试服务器会为应用客户端的测试任务分配模拟测试账号,具体方式可以是,测试服务器从测试账号集中筛选出处于未占用状态的测试账号,作为候选测试账号,并从候选测试账号中选取模拟测试账号,将模拟测试账号的状态从未占用状态更新为占用状态。
可以理解的是,此时,分配的模拟测试账号和对应的测试设备处于已使用状态,在该用户对应的应用客户端的测试过程中,其他用户无法使用给该用户对应的应用客户端的测试任务分配的模拟测试账号和对应的测试设备,在该用户完成对应用客户端的测试时,应用客户端可以根据用户的测试结束操作向测试服务器发送测试结束指令,测试服务器会根据该测试结束指令,将对应用客户端的测试任务分配的模拟测试账号从占用状态更新为未占用状态。
可选的,在对应用客户端的测试过程中,若在指定时间内该用户未指定模拟测试账号执行测试操作,测试服务器会主动关闭该用户对应的应用客户端的测试任务,并将为该测试任务分配的模拟测试账号的状态从占用状态更新为未占用状态。例如,指定时间为1小时,在对用户A对应的应用客户端进行测试的过程中,测试服务器在1小时以内一直未接受到针对用户A对应的应用客户端的测试任务所发出应用测试指令,则自动结束该用户对应的应用客户端的测试任务,并更新模拟测试账号以及模拟测试账号对应的测试设备的状态。
S202、获取应用客户端基于测试入口信息所发送的应用测试指令。
在一种可能的实施方式中,应用客户端接收到用户指定模拟测试账号,以及指定该模拟测试账号要进行的测试操作等测试相关操作之后,生成相应的应用测试指令,以及测试服务器会接收应用客户端基于测试入口信息发送的该应用测试指令。其中,应用测试指令包括针对测试场景进行的测试操作类型,该测试操作类型是根据测试场景在实际使用过程中的一些实际操作进行设置的,例如,测试场景为会议场景,那么测试操作可以包括打开麦克风、打开摄像头、在会议中发言等。
示例性的,以用户选择测试场景为会议场景进行测试为例,分配的模拟测试账号为账号A、账号B、账号C,测试服务器根据测试场景和用户创建的会议生成测试入口信息,并根据测试入口信息将账号A、B、C加入会议,用户通过应用客户端选择账号A进行打开摄像头的测试操作,应用客户端生成相应的应用测试指令并基于测试入口信息发送至测试服务器,测试服务器会调用账号A执行该测试操作,即账号A对应的测试设备会调用账号A在该会议中打开摄像头。
S203、调用模拟测试账号对应用客户端执行应用测试指令所指示类型的测试操作,以使应用客户端生成测试操作对应的测试响应信息。
在一种可能的实施方式中,测试服务器可通过调用模拟测试账号对应的测试设备,实现对应用客户端中的测试场景执行应用测试指令所指示类型的测试操作,具体实施方式可以是,测试服务器对应用测试指令进行解析并从解析结果中获取用户所指示类型的测试操作,以及获取用户所指示的用于执行该测试操作的模拟测试账号,并根据所指示类型的测试操作和用户指定的模拟测试账号生成测试调用指令,并将测试调用指令发送至模拟测试账号对应的测试设备,以使对应的测试设备根据测试调用指令调用模拟测试账号对应用客户端中的测试场景执行用户所指示的测试操作,此时在调用模拟测试账号对应用客户端执行应用测试指令所指示类型的测试操作之后,应用客户端可以生成该测试操作对应的测试响应信息,即测试设备在调用模拟测试账号对应用客户端执行测试操作之后,应用客户端会生成对应的测试响应信息并显示,用户可以查看的显示的测试响应信息。
示例性的,如图3a所示,图3a为本申请实施例提供的一种测试场景示意图,用户A通过触发应用客户端的客户端页面的测试控件进行应用客户端的测试,假设在测试过程中指示模拟测试账号A在会议中打开摄像头,测试服务器生成测试调用指令并发送至模拟测试账号A对应的测试设备A,测试设备A根据测试调用指令的指示调用模拟测试账号A在会议中打开摄像头,此时应用客户端基于打开摄像头这一测试操作生成测试响应信息并显示,即在应用客户端提供的会议界面中,用户可以查看到模拟测试账号A已打开摄像头,该测试响应信息就可以是会议界面中模拟测试账号A对应的摄像头的相关显示信息。如图3b中,图3b为本申请实施例提供的一种测试场景示意图,当模拟测试账号A对应的摄像头处于关闭状态时,会议界面中模拟测试账号A对应的摄像头图标上有斜线,而当模拟测试账号A对应的摄像头处于开启状态时,会议界面中模拟测试账号A对应的摄像头图标上就没有斜线,因此测试响应信息对应的该相关显示信息可以是不含斜线地在会议界面上显示模拟测试账号A对应的摄像头图标。
在一种可能的实施方式中,在对应用客户端进行测试之前,测试服务器会预先创建针对测试操作的测试用例以及用于控制执行这些测试用例的操作函数,并预先将测试用例和操作函数部署在测试设备中,当测试设备接收到测试调用指令时,查询测试调用指令所指示的测试操作所对应的测试用例,并将测试调用指令作为对应的操作函数的参数,以使得测试设备通过调用操作函数来实现调用模拟测试账号对应用客户端执行应用测试指令所指示类型的测试操作。
本申请实施例中,测试服务器获取应用客户端发送的应用测试请求,对应用测试请求所属测试任务分配模拟测试账号,并向应用客户端返回测试入口信息,获取应用客户端基于测试入口信息所发送的应用测试指令,并调用模拟测试账号对应用客户端执行应用测试指令所指示类型的测试操作,以使应用客户端生成测试操作对应的测试响应信息。通过实施上述方案,可以在测试任务进行过程中,实时指定模拟测试账号执行任意的测试操作,并及时接收模拟测试账号执行测试操作后的操作响应信息,有效地提高测试效率,以及测试灵活性。
请参见图4,图4是本申请提供的一种测试数据处理方法的流程示意图,该方法可以由上述提及的电子设备执行,该电子设备可以是终端设备,也可以是服务器,此处以该电子设备为测试服务器为例进行说明。如图4所示,本申请实施例中的测试数据处理方法的流程可以包括:
S401、获取应用客户端发送的应用测试请求。其中,步骤S401的具体实施方式可以参见上述实施例中步骤S201的相关描述,此处不再赘述。
S402、若应用测试请求包括账号请求数量,当根据应用测试请求获取到本地测试地址时,根据账号请求数量从本地测试地址所属本地测试设备中,对测试任务分配模拟测试账号;当根据应用测试请求未获取到本地测试地址时,根据账号请求数量从云端测试设备中,对测试任务分配模拟测试账号。
其中,本地测试设备为测试服务器能够获取到网络位置(如IP、端口)的测试设备,测试服务器可以通过本地测试设备的网络位置与本地测试设备建立连接,云端测试设备为测试服务器难以获取到网络位置的测试设备,由于云端测试设备的网络位置是动态不固定的,因此测试服务器无法获取到云端测试设备的网络位置,该云端测试设备可以是云真机,云真机为远端真实设备,可用于对应用软件进行开发调试和测试。可以理解的是,不管是本地测试设备还是云端测试设备都可以包括不同操作***的终端设备,每个终端设备对应一个测试账号。
在一种可能的实施方式中,测试服务器预先为测试设备设置唯一ID,将唯一ID存储于数据库中,并记录唯一ID对应的测试设备为本地测试设备或云端测试设备,以及将本地测试设备的本地测试地址存储于数据库中。可以理解的是,对于本地测试设备和云端测试设备,均处于占用状态或未占用状态。当测试服务器能够获取到本地测试地址,表明该获取到的本地测试地址所属本地测试设备处于未占用状态。
在一种可能的实施方式中,当根据应用测试请求获取到本地测试地址时,即可以获取到处于未占用状态的本地测试设备对应本地测试地址时,可以从所属本地测试设备对应的测试账号中,并根据账号请求数量为测试任务分配模拟账号,并将分配的模拟账号作为测试任务的模拟测试账号,当根据应用测试请求未获取到本地测试地址时,即此时本地测试设备均处于占用状态时,可以从云端测试设备对应的测试账号中,并根据账号请求数量为测试任务分配模拟账号,并将分配的模拟账号作为测试任务的模拟测试账号。可选的,测试服务器根据账号请求数量,先为测试任务分配处于未占用状态的本地测试设备的测试设备资源,在本地测试设备数量不足时,为测试任务占用处于未占用状态的云端测试设备的测试设备资源。
例如,账号请求数量为10,此时能够获取到本地测试地址且处于未占用状态的本地测试设备有7台,测试服务器在占用这7台本地测试设备的测试设备资源时,会从处于未占用状态的云端测试设备中占用3台测试设备的测试设备资源,并将该7台本地测试设备和该3台云端测试设备对应的测试账号作为模拟测试账号分配给用户的测试任务。
可选的,在一个可能的实施方式中,可以是,应用客户端显示选择账号请求数量的客户端界面,用户通过可以该客户端界面选择所需测试账号的数量,当测试服务器接收到包含账号请求数量的应用测试请求时,测试服务器对根据账号请求数量分配模拟测试账号,当检测到测试账号集中测试账号的账号总数量小于账号请求数量时,测试服务器根据账号总数量和账号请求数量确定补充账号数量,并根据补充账号数量创建模拟补充账号,将模拟补充账号和测试账号集中的测试账号,确定为模拟测试账号。其中,账号总数量为测试账号集中处于未占用状态的测试账号的数量,补充账号数量为账号请求数量和账号总数量的差值。测试服务器根据补充账号数量创建的模拟补充账号(又称协议假人)可用于在测试场景中满足用户所指定的账号数量,即模拟补充账号并不对应任何测试设备,通常模拟补充账号不会执行任意测试操作,其是为了使用户对应的应用客户端的测试任务能够快速达到指定的账号数量,模拟补充账号适用于用户想要模拟大规模人数的测试场景或者对应用客户端进行边界测试等情况下,这可以提高测试效率。
基于上述描述,即用户在客户端界面上选择账号请求数量,应用客户端生成相应的应用测试请求并发送至测试服务器,当测试服务器接收到包含账号请求数量的应用测试请求时,首先根据账号请求数量从有对应测试设备的测试账号中为用户对应的应用客户端的测试任务分配模拟测试账号,当有对应的测试设备的测试账号数量不足时,创建对应的模拟补充账号来满足账号请求数量,即测试服务器在分配模拟测试账号时有分配顺序,用户不会选择是否需要模拟补充账号,测试服务器先从测试账号集中分配,当测试账号集中的处于未占用状态的测试账号数量不足时,再分配模拟补充账号。
例如,用户需要10个模拟测试账号,测试服务器获取到当前处于未占用状态且有对应的测试设备的测试账号有7个,因此测试服务器会创建3个模拟补充账号,并将该7个测试账号和该3个模拟补充账号作为模拟测试账号分配给用户。
可选的,在一种可能的实施方式中,还可以是,应用客户端显示账号请求数量的客户端界面,该客户端界面上会显示可选择的账号数量,即测试账号集中处于未占用状态的测试账号,以及会显示是否选择创建模拟补充账号选项,用户可以通过该创建模拟补充账号选项主动选择创建模拟补充账号以及模拟补充账号数量,因此账号请求数量中包括应从测试账号集中获取的测试账号数量以及应创建的模拟补充账号数量,当测试服务器接收到包含账号请求数量的应用测试请求时,根据账号请求数量从测试账号集中选择指定数量的测试账号以及创建指定数量的模拟补充账号,并将该从测试账号集中选择指定数量的测试账号以及创建指定数量的模拟补充账号确定为给该测试任务分配的模拟补充账号。
基于上述描述,即只有在用户在客户端界面上主动选择创建模拟补充账号时,测试服务器才会创建并分配模补充账号,当用户选择的测试场景中需要进行边界测试,即,当测试场景中达到N个模拟测试账号时,是否可以继续进行测试或者测试是否卡顿等,用户并不需要这N个模拟测试账号都进行测试操作,因此为了快速获取到满足数量的模拟测试账号,可以根据用户选择的创建的模拟补充账号数量创建模拟补充账号。
例如,用户需要10个模拟测试账号,并选择模拟补充账号的数量为3,测试服务器根据用户对应的应用客户端发出的应用测试请求,从测试账号集中选择7个测试账号,并创建3个模拟补充账号,将该7个测试账号和该3个模拟补充账号作为模拟测试账号分配给用户。
S403、向应用客户端返回测试入口信息,并获取应用客户端基于测试入口信息所发送的应用测试指令。其中,步骤S403的具体实施方式可以参见上述实施例中步骤S201-S202的相关描述,此处不再赘述。
S404、调用模拟测试账号对应用客户端执行应用测试指令所指示类型的测试操作,以使应用客户端生成测试操作对应的测试响应信息。
在一个可能的实施方式中,若用户指定进行测试操作的模拟测试账号对应的测试设备为本地测试设备,则调用模拟测试账号对应用客户端执行应用测试指令所指示类型的测试操作的具体实施方式为,测试服务器从应用测试指令中获取测试操作类型,根据通信协议对测试操作类型所指示的测试操作进行封装,得到第一测试调用指令,根据本地测试地址将第一测试调用指令发送给本地测试设备,以使本地测试设备根据第一测试调用指令,调用模拟测试账号对应用客户端执行测试操作。
可选的,根据通信协议对测试操作类型所指示的测试操作进行封装,得到第一测试调用指令,并发送给本地测试设备的具体方式可以是,根据远程过程调用协议(Extensible Markup Language-Remote Procedure Call,XML-RPC),使用XML函数将测试操作进行封装,并使用超文本传输协议(Hyper Text Transfer Protocol,HTTP)作为传送机制,根据本地测试地址将第一测试调用指令发送至用户指定模拟测试账号对应的本地测试设备。
由于此方式是基于客户端/服务端模式(C/S模式),因此可以在测试服务器部署一个控制中心,控制中心又称为RPC-client,以及本地测试设备又称为RPC-server,控制中心存放了生成第一测试调用指令所相关的通信协议,测试服务器可以通过控制中心生成第一测试调用指令,并指示控制中心与本地测试设备建立连接,以及将第一测试调用指令发送至本地测试设备,控制中心和本地测试设备的连接是通过本地测试设备的本地测试地址建立的。需要说明的是,这里控制中心与本地测试设备的连接是短连接,即在将第一测试调用指令通过控制中心发送至本地测试设备之后,控制中心断开与本地测试设备的连接。
例如,如图5所示,图5为针对本地测试设备的测试调用流程,即基于RPC的测试方案,当测试服务器接收到用户通过应用客户端下发的应用测试请求时,通过控制中心生成第一测试调用指令,并通过控制中心将第一测试调用指令发送至本地测试设备,以使得本地测试设备根据第一测试调用指令,调用模拟测试账号对应用客户端执行用户所指定的测试操作。
在一个可能的实施方式中,若用户指定进行测试操作的模拟测试账号对应的测试设备为云端测试设备,则调用模拟测试账号对应用客户端执行应用测试指令所指示类型的测试操作的具体实施方式为,测试服务器从应用测试指令中获取测试操作类型,根据测试操作类型所指示的测试操作生成第二测试调用指令,基于与云端测试设备之间所建立的长连接关系,将第二测试调用指令发送给云端测试设备,以使云端测试设备根据第二测试调用指令调用模拟测试账号对应用客户端执行测试操作。
可选的,在进行应用客户端的测试之前,测试服务器需预先建立和云端测试设备的长连接关系,以使在长连接关系维持时间内,多个用户可以实时指示云端测试设备对应的模拟测试账号执行多次测试操作。测试服务器和云端测试设备的长连接是基于WebSocket(全双工通信)实现的,即云端测试设备可以向测试服务器发送数据,测试服务器也可以向云端测试设备发送数据。
可选的,测试服务器和云端测试设备建立长连接关系的具体方式可以是,测试服务器向云端测试设备所属的测试后台发送连接请求,以使测试后台将连接请求发送给云端测试设备,云端测试设备根据连接请求发送长连接建立请求至测试服务器,测试服务器根据长连接请求建立与云端测试设备的之间的长连接关系。其中,连接请求携带了应用客户端的安装包、测试用例、测试账号和操作函数,云端测试设备根据应用客户端的安装包安装应用客户端,以及云端测试设备根据分配的测试账号登陆该应用客户端,在登陆应用客户端之后,云端测试设备可以调用对应的测试账号对应用客户端执行相应操作。可以理解的是,当测试服务器将连接请求发送至测试后台的测试中心时,测试中心对测试账号进行分配,并将携带了应用客户端的安装包、测试用例、测试账号和操作函数的连接请求发送至云端测试设备;长连接请求包括测试账号,测试服务器根据长连接请求可得知具体哪台云端测试设备分配到哪个测试账号。
可选的,测试中心可以预先创建多个容器,一个容器对应一个云端测试设备,容器中存储有分配的测试账号、测试用例和应用客户端的安装包,通过容器建立与测试服务器的长连接,以及容器在接收到第二调用指令时,可以根据自动化测试框架实现调用云端测试设备执行测试操作。
例如,如图6所示,图6为针对云端测试设备的测试调用流程,即基于WebSocket的测试方案。具体过程为:
①、服务器预先向测试后台的测试中心发送连接请求。
②、测试中心将连接请求发送至多个容器,并将应用客户端的安装包、测试用例、测试账号和操作函数分发给多个容器。
③、由于测试服务器无法获得云端测试设备的网络位置,因此由多个容器通过WebSocket长连接方式,主动发起携带了测试账号的长连接建立请求至测试服务器,测试服务器根据长连接请求建立起与云端测试设备对应的容器的长连接关系,测试服务器可以将测试账号作为一个连接属性,即根据指定的测试账号找到对应长连接关系,以实现精准控制指定的云端测试设备调用模拟测试账号执行测试操作。
④、在建立好长连接关系的基础上,用户通过应用客户端发送应用测试请求,测试服务器根据应用测试请求分配模拟测试账号,此时用户会在测试场景中查看到模拟测试账号。
⑤、当用户指定模拟测试账号1进行测试操作时,生成应用测试指令发送至测试服务器。
⑥、若模拟测试账号1对应的测试设备为云端测试设备,测试服务器根据应用测试指令生成第二测试调用指令,并根据模拟测试账号1找到对应的长连接关系,并通过对应的长连接关系发送第二测试调用指令至模拟测试账号1对应的容器1。
⑦、容器1根据第二测试调用指令并基于自动化测试框架(如移动端测试框架,WebDriver Agent,WDA)控制对应的云端测试设备1根据第二测试调用指令的指示调用模拟测试账号对应用客户端执行测试操作。
可选的,在一个可能的实施方式中,在云端测试设备和测试服务器建立起长连接关系之后,若在一固定时间之内没有数据来往,该长连接关系会被断开,为了保证长连接关系的维持,预先在云端测试设备设置了心跳机制,即云端测试设备会在每隔一段时间向测试服务器发送用于维持长连接的请求,测试服务器在接收到维持长连接的请求之后,向云端测试设备返回维持长连接请求的响应信息。
在一个可能的实施方式中,为了保证测试设备上的应用客户端是最新版本的应用客户端,可以通过流水线部署自动拉取最新版本安装包的任务,以使测试设备可以根据流水线自动获取最新版本的安装包并基于获取到的安装包对测试设备上的应用客户端进行更新。
可选的,当测试设备是本地测试设备时,对测试设备上的应用客户端进行更新的具体方式为,本地测试设备根据流水线上部署的自动拉取最新版本安装包的任务,自动将安装包进行下载,然后在测试服务器设置定时任务,去轮询本地测试设备是否处于未占用状态,若处于未占用状态,则通过控制中心向本地测试设备发送的更新指令,以使本地测试设备根据更新指令的指示将应用客户端进行更新,并在更新后删除存储的安装包。
可选的,当测试设备是云端测试设备时,对测试设备上的应用客户端进行更细的具体方式为,测试服务器根据流水线上部署的自动拉取最新版本安装包的任务,将安装包下载下来,并在向测试后台发送连接请求时携带最新版本安装包,以使云端测试设备根据最新版本安装对应用客户端进行更新,并在更新后删除安装包。
下面以将本申请实施例所提出的测试数据处理方法应用于具体的场景为例,对本申请的技术方案进行阐述。其中,请参见图7,图7为本申请的技术方案的测试流程,以及图7涉及到的具体操作、测试功能、测试场景等仅为应用本申请实施例的其中一种方案,不对本申请实施例构成限制。
基于图7的测试流程可以提供的测试功能为:为测试场景提供测试设备和模拟测试账号,并实现测试设备和用户的交互操作,多个用户可以同时选择测试场景并进行相应的测试。其中,用户发起对应的应用客户端的测试任务的测试流程包括:测试前的预备工作部分、测试中的指定测试操作部分和测试后的结束部分。
(1)测试前的预备工作部分包括在应用客户端进行预备操作以及输入基本信息,应用客户端生成应用测试请求并发送至测试服务器,测试服务器根据应用测试请求执行测试前的预备步骤。具体过程为:
S1、选择测试场景:应用客户端接收在提供的用于测试的客户端界面上选择所需测试场景的操作,其中测试场景包括会议或直播。
S2、选择测试设备:应用客户端接收在提供的用于测试的客户端界面上选择测试设备的操作,其中选择测试设备包括选择所需的测试设备的操作***类型、账号请求数量和协议假人的数量。
S3、生成唯一群组标识:测试服务器根据用户的选择分配模拟测试账号,以及生成唯一群组标识,其中,分配的模拟测试账号包括测试设备对应的测试账号和协议假人对应的模拟补充账号,并将模拟测试账号的状态设置为占用状态,用户可以通过测试设备对应的测试账号执行测试操作。
S4、应用客户端根据群组基本信息(群组名字、群组ID)创建群组,该群组基本信息由应用客户端所属用户输入。
S5、测试服务器将模拟测试账号加入群组,以及占用模拟测试账号中为测试账号部分对应的测试设备资源。
S6、应用客户端发起将测试场景的测试入口信息发送至群组中的请求。
S7、测试服务器根据请求生成测试场景的测试入口信息,并根据测试入口信息将模拟测试账号加入测试场景,以及将测试入口信息发送至应用客户端。
(2)测试中的指定测试操作部分包括:
S8、应用客户端通过测试入口信息显示测试场景界面,以及在测试场景中进行测试,即选择模拟测试账号中的测试账号在测试场景执行测试操作。
S9、测试服务器根据用户的指示选择对应的测试设备,并根据测试设备是本地测试设备或云端测试设备,选择与测试设备适配的调用方式进行用户指定的测试操作,即运行指定测试操作所对应的测试用例,此部分,用户可以实时且可重复进行测试操作。
(3)测试后的结束部分包括:
S10、应用客户端响应用户的测试结束操作,在测试结束后发起测试结束指令。
S11、测试服务器让模拟测试账号退出测试场景,并将模拟测试账号的状态更新为未占用状态,以及释放测试设备资源。
经过基于图7的测试流程对本申请技术方案进行大量测试发现,本申请技术方案在进行测试时,以单条测试操作为粒度,可以迅速响应用户的指定的测试操作,以及在用户想要模拟大规模人数的测试场景时,可以快速的为用户分配指定数量的模拟测试账号,有效地提高了测试效率和简化测试流程。
本申请实施例中,测试服务器获取应用客户端发送的应用测试请求,若应用测试请求包括账号请求数量,根据账号请求数量为测试任务分配模拟测试账号,该模拟测试账号对应的测试设备为本地测试设备或者云端测试设备,向应用客户端返回测试入口信息,并获取应用客户端基于测试入口信息所发送的应用测试指令,调用模拟测试账号对应用客户端执行应用测试指令所指示类型的测试操作,以使应用客户端生成测试操作对应的测试响应信息。通过实施上述方案,可以在测试任务进行过程中,为该测试任务分配模拟测试账号,后续,在接收到用户指定具体模拟测试账号执行测试操作的应用测试指令时,实时响应该应用测试指令,以及,在分配模拟测试账号过程中,可以根据用户需求创建模拟补充账号,以节省为测试任务分配模拟测试账号的时间,进而有效地提升对应用客户端的测试效率和测试灵活性。
请参见图8,图8为本申请提供的一种测试数据处理装置的结构示意图。需要说明的是,附图8所示的测试数据处理装置,用于执行本申请图2和图4所示实施例的方法,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示,经参照本申请图2和图4所示的实施例。该测试数据处理装置800可包括:获取模块801、调用模块802。其中:
获取模块801,用于获取应用客户端发送的应用测试请求,对所述应用测试请求所属测试任务分配模拟测试账号,并向所述应用客户端返回测试入口信息;所述模拟测试账号是模拟的所述应用客户端的客户端账号;
所述获取模块801,还用于获取所述应用客户端基于所述测试入口信息所发送的应用测试指令;
调用模块802,用于调用所述模拟测试账号对所述应用客户端执行所述应用测试指令所指示类型的测试操作,以使所述应用客户端生成所述测试操作对应的测试响应信息。
在一种可能的实施方式中,所述应用测试请求包括账号请求数量,所述获取模块801在用于对所述应用测试请求所属测试任务分配模拟测试账号时,具体用于:
当根据所述应用测试请求获取到本地测试地址时,根据所述账号请求数量从所述本地测试地址所属本地测试设备中,对所述测试任务分配所述模拟测试账号;
当根据所述应用测试请求未获取到所述本地测试地址时,根据所述账号请求数量从云端测试设备中,对所述测试任务分配所述模拟测试账号。
在一种可能的实施方式中,所述调用模块802在用于调用所述模拟测试账号对所述应用客户端执行所述应用测试指令所指示类型的测试操作时,具体用于:
从所述应用测试指令中获取测试操作类型,根据通信协议对所述测试操作类型所指示的所述测试操作进行封装,得到第一测试调用指令;
根据所述本地测试地址将所述第一测试调用指令发送给所述本地测试设备,以使所述本地测试设备根据所述第一测试调用指令,调用所述模拟测试账号对所述应用客户端执行所述测试操作。
在一种可能的实施方式中,所述调用模块802在用于调用所述模拟测试账号对所述应用客户端执行所述应用测试指令所指示类型的测试操作时,具体用于:
从所述应用测试指令中获取测试操作类型,根据所述测试操作类型所指示的所述测试操作生成第二测试调用指令;
基于与所述云端测试设备之间所建立的长连接关系,将所述第二测试调用指令发送给所述云端测试设备,以使所述云端测试设备根据所述第二测试调用指令调用所述模拟测试账号对所述应用客户端执行所述测试操作。
在一种可能的实施方式中,所述调用模块802还用于:
向测试后台发送连接请求,以使所述测试后台将所述连接请求发送给所述云端测试设备;
获取所述云端测试设备根据所述连接请求所发起的长连接建立请求;
根据所述长连接建立请求建立与所述云端测试设备之间的所述长连接关系。
在一种可能的实施方式中,所述获取模块801在用于对所述应用测试请求所属测试任务分配模拟测试账号时,具体用于:
从测试账号集中筛选出处于未占用状态的测试账号,作为候选测试账号;
从所述候选测试账号中选取所述模拟测试账号,将所述模拟测试账号的所述未占用状态更新为占用状态;
在一种可能的实施方式中,所述获取模块801还用于:
当获取到所述应用客户端发送的测试结束指令时,将所述模拟测试账号的所述占用状态更新为所述未占用状态。
在一种可能的实施方式中,所述应用测试请求包括账号请求数量,所述获取模块801在用于对所述应用测试请求所属测试任务分配模拟测试账号时,具体用于:
当检测到测试账号集中的测试账号的账号总数量小于所述账号请求数量时,根据所述账号总数量和所述账号请求数量确定补充账号数量;
根据所述补充账号数量创建模拟补充账号;
将所述模拟补充账号和所述测试账号集中的测试账号,确定为所述模拟测试账号。
本申请实施例中,获取模块获取应用客户端发送的应用测试请求,对应用测试请求所属测试任务分配模拟测试账号,并向应用客户端返回测试入口信息,获取模块获取应用客户端基于测试入口信息所发送的应用测试指令,调用模块调用模拟测试账号对应用客户端执行应用测试指令所指示类型的测试操作,以使应用客户端生成测试操作对应的测试响应信息。通过实施上述方案,可以在测试任务进行过程中,实时指定模拟测试账号执行任意的测试操作,并及时接收模拟测试账号执行测试操作后的操作响应信息,有效地提高测试效率,以及测试灵活性。
在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以是两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现,本申请不做限定。
请参加图9,图9为本申请实施例提供的一种电子设备的结构示意图。如图9所示,该电子设备900包括:至少一个处理901、存储器902。可选的,该电子设备还可包括网络接口903。其中,所述处理器901、存储器902以及网络接口903之间可以交互数据,网络接口903受所述处理器的控制用于收发消息,存储器902用于存储计算机程序,所述计算机程序包括程序指令,处理器901用于执行存储器902存储的程序指令。其中,处理器901被配置用于调用所述程序指令执行上述方法。
所述存储器902可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器902也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),固态硬盘(solid-state drive,SSD)等;所述存储器902还可以包括上述种类的存储器的组合。
所述处理器901可以是中央处理器901(central processing unit,CPU)。在一个实施例中,所述处理器901还可以是图形处理器901(Graphics Processing Unit,GPU)。所述处理器901也可以是由CPU和GPU的组合。
在一个实施例中,所述存储器902用于存储程序指令。所述处理器901可以调用所述程序指令,执行以下步骤:
获取应用客户端发送的应用测试请求,对所述应用测试请求所属测试任务分配模拟测试账号,并向所述应用客户端返回测试入口信息;所述模拟测试账号是模拟的所述应用客户端的客户端账号;
获取所述应用客户端基于所述测试入口信息所发送的应用测试指令;
调用所述模拟测试账号对所述应用客户端执行所述应用测试指令所指示类型的测试操作,以使所述应用客户端生成所述测试操作对应的测试响应信息。
在一种可能的实施方式中,所述应用测试请求包括账号请求数量,所述处理器901在用于对所述应用测试请求所属测试任务分配模拟测试账号时,具体用于:
当根据所述应用测试请求获取到本地测试地址时,根据所述账号请求数量从所述本地测试地址所属本地测试设备中,对所述测试任务分配所述模拟测试账号;
当根据所述应用测试请求未获取到所述本地测试地址时,根据所述账号请求数量从云端测试设备中,对所述测试任务分配所述模拟测试账号。
在一种可能的实施方式中,所述处理器901在用于调用所述模拟测试账号对所述应用客户端执行所述应用测试指令所指示类型的测试操作时,具体用于:
从所述应用测试指令中获取测试操作类型,根据通信协议对所述测试操作类型所指示的所述测试操作进行封装,得到第一测试调用指令;
根据所述本地测试地址将所述第一测试调用指令发送给所述本地测试设备,以使所述本地测试设备根据所述第一测试调用指令,调用所述模拟测试账号对所述应用客户端执行所述测试操作。
在一种可能的实施方式中,所述处理器901在用于调用所述模拟测试账号对所述应用客户端执行所述应用测试指令所指示类型的测试操作时,具体用于:
从所述应用测试指令中获取测试操作类型,根据所述测试操作类型所指示的所述测试操作生成第二测试调用指令;
基于与所述云端测试设备之间所建立的长连接关系,将所述第二测试调用指令发送给所述云端测试设备,以使所述云端测试设备根据所述第二测试调用指令调用所述模拟测试账号对所述应用客户端执行所述测试操作。
在一种可能的实施方式中,所述处理器901还用于:
向测试后台发送连接请求,以使所述测试后台将所述连接请求发送给所述云端测试设备;
获取所述云端测试设备根据所述连接请求所发起的长连接建立请求;
根据所述长连接建立请求建立与所述云端测试设备之间的所述长连接关系。
在一种可能的实施方式中,所述处理器901在用于对所述应用测试请求所属测试任务分配模拟测试账号时,具体用于:
从测试账号集中筛选出处于未占用状态的测试账号,作为候选测试账号;
从所述候选测试账号中选取所述模拟测试账号,将所述模拟测试账号的所述未占用状态更新为占用状态;
在一种可能的实施方式中,所述处理器901还用于:
当获取到所述应用客户端发送的测试结束指令时,将所述模拟测试账号的所述占用状态更新为所述未占用状态。
在一种可能的实施方式中,所述应用测试请求包括账号请求数量,所述处理器901在用于对所述应用测试请求所属测试任务分配模拟测试账号时,具体用于:
当检测到测试账号集中的测试账号的账号总数量小于所述账号请求数量时,根据所述账号总数量和所述账号请求数量确定补充账号数量;
根据所述补充账号数量创建模拟补充账号;
将所述模拟补充账号和所述测试账号集中的测试账号,确定为所述模拟测试账号。
具体实现中,本申请实施例中所描述的装置、处理器901、存储器902等可执行上述方法实施例所描述的实现方式,也可执行本申请实施例所描述的实现方式,在此不再赘述。
本申请实施例中还提供一种计算机(可读)存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,可执行上述方法实施例中所执行的部分或全部步骤。可选的,该计算机存储介质可以是易失性的,也可以是非易失性的。
在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机存储介质中,该计算机存储介质可以为计算机可读存储介质,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本申请的部分实施例而已,当然不能以此来限定本申请之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本申请权利要求所作的等同变化,仍属于本申请所涵盖的范围。

Claims (10)

1.一种测试数据处理方法,其特征在于,包括:
获取应用客户端发送的应用测试请求,对所述应用测试请求所属测试任务分配模拟测试账号,并向所述应用客户端返回测试入口信息;所述模拟测试账号是模拟的所述应用客户端的客户端账号;所述模拟测试账号的数量为多个,多个模拟测试账号包含与测试设备相对应的模拟测试账号,一个模拟测试账号对应一个测试设备;所述应用测试请求用于将所述多个模拟测试账号添加到所述测试任务对应的同一测试场景中,该测试场景属于多账号群组场景;
获取所述应用客户端基于所述测试入口信息所发送的应用测试指令;
调用所述模拟测试账号对所述应用客户端执行所述应用测试指令所指示类型的测试操作,以使所述应用客户端生成所述测试操作对应的测试响应信息;所述测试入口信息用于调用不同模拟测试账号对应的不同测试设备对所述应用客户端执行不同的所述测试操作。
2.根据权利要求1所述的方法,其特征在于,所述应用测试请求包括账号请求数量;
所述对所述应用测试请求所属测试任务分配模拟测试账号,包括:
当根据所述应用测试请求获取到本地测试地址时,根据所述账号请求数量从所述本地测试地址所属本地测试设备中,对所述测试任务分配所述模拟测试账号;
当根据所述应用测试请求未获取到所述本地测试地址时,根据所述账号请求数量从云端测试设备中,对所述测试任务分配所述模拟测试账号。
3.根据权利要求2所述的方法,其特征在于,所述调用所述模拟测试账号对所述应用客户端执行所述应用测试指令所指示类型的测试操作,包括:
从所述应用测试指令中获取测试操作类型,根据通信协议对所述测试操作类型所指示的所述测试操作进行封装,得到第一测试调用指令;
根据所述本地测试地址将所述第一测试调用指令发送给所述本地测试设备,以使所述本地测试设备根据所述第一测试调用指令,调用所述模拟测试账号对所述应用客户端执行所述测试操作。
4.根据权利要求2所述的方法,其特征在于,所述调用所述模拟测试账号对所述应用客户端执行所述应用测试指令所指示类型的测试操作,包括:
从所述应用测试指令中获取测试操作类型,根据所述测试操作类型所指示的所述测试操作生成第二测试调用指令;
基于与所述云端测试设备之间所建立的长连接关系,将所述第二测试调用指令发送给所述云端测试设备,以使所述云端测试设备根据所述第二测试调用指令调用所述模拟测试账号对所述应用客户端执行所述测试操作。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
向测试后台发送连接请求,以使所述测试后台将所述连接请求发送给所述云端测试设备;
获取所述云端测试设备根据所述连接请求所发起的长连接建立请求;
根据所述长连接建立请求建立与所述云端测试设备之间的所述长连接关系。
6.根据权利要求1所述的方法,其特征在于,所述对所述应用测试请求所属测试任务分配模拟测试账号,包括:
从测试账号集中筛选出处于未占用状态的测试账号,作为候选测试账号;
从所述候选测试账号中选取所述模拟测试账号,将所述模拟测试账号的所述未占用状态更新为占用状态;
所述方法还包括:
当获取到所述应用客户端发送的测试结束指令时,将所述模拟测试账号的所述占用状态更新为所述未占用状态。
7.根据权利要求1所述的方法,其特征在于,所述应用测试请求包括账号请求数量;
所述对所述应用测试请求所属测试任务分配模拟测试账号,包括:
当检测到测试账号集中的测试账号的账号总数量小于所述账号请求数量时,根据所述账号总数量和所述账号请求数量确定补充账号数量;
根据所述补充账号数量创建模拟补充账号;
将所述模拟补充账号和所述测试账号集中的测试账号,确定为所述模拟测试账号。
8.一种测试数据处理装置,其特征在于,包括:
获取模块,用于获取应用客户端发送的应用测试请求,对所述应用测试请求所属测试任务分配模拟测试账号,并向所述应用客户端返回测试入口信息;所述模拟测试账号是模拟的所述应用客户端的客户端账号;所述模拟测试账号的数量为多个,多个模拟测试账号包含与测试设备相对应的模拟测试账号,一个模拟测试账号对应一个测试设备;所述应用测试请求用于将所述多个模拟测试账号添加到所述测试任务对应的同一测试场景中,该测试场景属于多账号群组场景;
所述获取模块,还用于获取所述应用客户端基于所述测试入口信息所发送的应用测试指令;
调用模块,用于调用所述模拟测试账号对所述应用客户端执行所述应用测试指令所指示类型的测试操作,以使所述应用客户端生成所述测试操作对应的测试响应信息;所述测试入口信息用于调用不同模拟测试账号对应的不同测试设备对所述应用客户端执行不同的所述测试操作。
9.一种电子设备,其特征在于,包括处理器和存储器,所述处理器与所述存储器相互连接,其中,所述存储器用于存储计算机程序指令,所述处理器被配置用于执行所述计算机程序指令,实现如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-7任一项所述的方法。
CN202110377094.4A 2021-04-08 2021-04-08 测试数据处理方法、装置、电子设备及介质 Active CN112799970B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110377094.4A CN112799970B (zh) 2021-04-08 2021-04-08 测试数据处理方法、装置、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110377094.4A CN112799970B (zh) 2021-04-08 2021-04-08 测试数据处理方法、装置、电子设备及介质

Publications (2)

Publication Number Publication Date
CN112799970A CN112799970A (zh) 2021-05-14
CN112799970B true CN112799970B (zh) 2021-07-06

Family

ID=75816582

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110377094.4A Active CN112799970B (zh) 2021-04-08 2021-04-08 测试数据处理方法、装置、电子设备及介质

Country Status (1)

Country Link
CN (1) CN112799970B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112988608B (zh) * 2021-05-19 2021-08-31 腾讯科技(深圳)有限公司 数据测试方法、装置、计算机设备及存储介质
CN113612850A (zh) * 2021-08-11 2021-11-05 浙江宇视科技有限公司 云平台对接调试方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109376078A (zh) * 2018-09-25 2019-02-22 平安普惠企业管理有限公司 移动应用的测试方法、终端设备及介质
CN110806970A (zh) * 2019-09-18 2020-02-18 北京你财富计算机科技有限公司 一种基于模拟服务端响应的客户端测试方法、装置和电子设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100153087A1 (en) * 2008-12-12 2010-06-17 Sergej Kirtkow Techniques for generating a reusable test script for a single user performance test
CN106815143A (zh) * 2016-12-02 2017-06-09 乐视控股(北京)有限公司 测试信息处理方法、装置及电子设备
CN108021500A (zh) * 2017-10-31 2018-05-11 阿里巴巴集团控股有限公司 一种应用的测试方法、装置及设备
CN110008109B (zh) * 2018-11-28 2022-06-10 创新先进技术有限公司 应用测试方法及装置
CN112148580B (zh) * 2019-06-26 2024-01-30 腾讯科技(深圳)有限公司 测试方法、装置及电子设备
CN111078554B (zh) * 2019-12-16 2022-05-27 腾讯科技(深圳)有限公司 一种小程序调试方法、装置、设备及存储介质
CN112019401B (zh) * 2020-08-13 2021-09-17 上海帆一尚行科技有限公司 一种车联网应用安全测试方法、装置、***和电子设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109376078A (zh) * 2018-09-25 2019-02-22 平安普惠企业管理有限公司 移动应用的测试方法、终端设备及介质
CN110806970A (zh) * 2019-09-18 2020-02-18 北京你财富计算机科技有限公司 一种基于模拟服务端响应的客户端测试方法、装置和电子设备

Also Published As

Publication number Publication date
CN112799970A (zh) 2021-05-14

Similar Documents

Publication Publication Date Title
CN105593835B (zh) 通过主云服务管理器管理多个二级云
CN111245916B (zh) 基于微服务网关的服务调用方法、服务编排方法及装置
US9215079B2 (en) Servlet API and method for XMPP protocol
CN108763090A (zh) 测试环境部署方法、装置、计算机设备和存储介质
CN110290189A (zh) 一种容器集群管理方法、装置及***
CN106878045B (zh) 业务调用方法及装置
CN105917690A (zh) 基于网络功能虚拟化(nfv)在网络中模块间通信的***、方法和计算机程序
CN112799970B (zh) 测试数据处理方法、装置、电子设备及介质
CN109614209A (zh) 一种任务处理方法、应用服务器及***
CN108415710A (zh) 在智能对话开发平台上发布、调用api的方法和***
CN106063194B (zh) 用于软件定义网络的监测***和监测方法
CN110601896B (zh) 一种基于区块链节点的数据处理方法以及设备
CN110908812A (zh) 业务数据处理方法、装置、可读存储介质和计算机设备
CN106716968A (zh) 账户管理方法、装置及账户管理***
CN109189502A (zh) 一种基于即时通讯公众平台的消息处理方法和相关设备
CN113568970A (zh) 应用业务数据管理方法、装置、设备以及存储介质
KR102623631B1 (ko) Nfv 환경에서의 vnf 자동 설정 방법 및 이를 위한 nfv mano
CN110324722B (zh) 直播间中数据的获取方法、装置、设备和存储介质
KR20200032778A (ko) 모임 관리 방법 및 이를 이용한 모임 관리 시스템
US11582345B2 (en) Context data management interface for contact center
CN114677138A (zh) 一种数据处理方法、设备以及计算机可读存储介质
CN107347063B (zh) 会议***中接入监控前端的方法及服务器
CN114398082B (zh) 一种框架式区块链应用的兼容运行方法及装置
CN109257201A (zh) 一种License的发送方法和装置
CN106059897A (zh) 一种生成运营实例的菜单的方法及装置

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40044180

Country of ref document: HK