CN108268372B - Mock测试处理方法、装置、存储介质和计算机设备 - Google Patents

Mock测试处理方法、装置、存储介质和计算机设备 Download PDF

Info

Publication number
CN108268372B
CN108268372B CN201710608536.5A CN201710608536A CN108268372B CN 108268372 B CN108268372 B CN 108268372B CN 201710608536 A CN201710608536 A CN 201710608536A CN 108268372 B CN108268372 B CN 108268372B
Authority
CN
China
Prior art keywords
mock
task
execution
test
processing
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
CN201710608536.5A
Other languages
English (en)
Other versions
CN108268372A (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.)
OneConnect Financial Technology Co Ltd Shanghai
Original Assignee
OneConnect Financial Technology Co Ltd Shanghai
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 OneConnect Financial Technology Co Ltd Shanghai filed Critical OneConnect Financial Technology Co Ltd Shanghai
Priority to CN201710608536.5A priority Critical patent/CN108268372B/zh
Publication of CN108268372A publication Critical patent/CN108268372A/zh
Application granted granted Critical
Publication of CN108268372B publication Critical patent/CN108268372B/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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

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

Abstract

本发明涉及一种Mock测试处理方法、装置、存储介质和计算机设备。所述方法包括:接收用户终端发送的Mock测试请求,所述Mock测试请求中包括Mock测试信息;根据所述Mock测试信息生成待处理的Mock任务;选取与所述Mock任务相匹配的执行节点;将所述Mock任务分配给所述执行节点处理,使所述执行节点根据对应的Mock数据生成规则处理所述Mock测试信息,生成Mock数据并返回给所述用户终端。上述的Mock测试处理方法、装置、存储介质和计算机设备可提高Mock测试的通用性。

Description

Mock测试处理方法、装置、存储介质和计算机设备
技术领域
本发明涉及数据处理技术领域,特别是涉及一种Mock测试处理方法、装置、存储介质和计算机设备。
背景技术
Mock(模拟)测试是应用开发过程中的一个重要环节,Mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。利用Mock测试,可使得应用开发过程中,降低前端和后端的耦合性,使得前端人员无需等待后端提供数据后再做调试,实现前后端的分离以及前后端并行开发。
传统的Mock测试中,是根据测试终端发送的Mock测试请求,通过Mock平台进行处理,再向测试终端返回相应的Mock数据。该Mock测试并不区分测试的应用对象,也不区分进行Mock任务的请求方,因此,仅适用于针对单个应用进行的测试。而当存在多个应用需要同步进行测试时,则容易产生测试混乱,通用性不强。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高Mock测试处理的通用性的Mock测试处理方法、装置、存储介质和计算机设备。
一种Mock测试处理方法,所述方法包括:接收用户终端发送的Mock测试请求,所述Mock测试请求中包括Mock测试信息;根据所述Mock测试信息生成待处理的Mock任务;选取与所述Mock任务相匹配的执行节点;将所述Mock任务分配给所述执行节点处理,使所述执行节点根据对应的Mock数据生成规则处理所述Mock测试信息,生成Mock数据并返回给所述用户终端。
在其中一个实施例中,所述Mock测试请求中还包括Mock任务类型;所述选取与所述Mock任务相匹配的执行节点,包括:选取与所述Mock任务类型相匹配的执行节点。
在其中一个实施例中,所述Mock任务类型包括性能测试类型和普通测试类型;所述选取与所述Mock任务类型相匹配的执行节点,包括:当所述Mock任务类型为性能测试类型时,从用于处理性能测试的Mock任务的执行节点中,选取被设置处理所述Mock任务的执行节点;当所述Mock任务类型为普通测试类型时,从用于处理普通测试的Mock任务的执行节点中,根据每个执行节点的任务处理数量选取执行节点。
在其中一个实施例中,所述Mock测试请求中还包含通信协议信息;所述选取与所述Mock任务相匹配的执行节点,包括:选取适用于处理对应通信协议的Mock任务的执行节点。
在其中一个实施例中,在所述将所述Mock任务分配给所述执行节点处理之后,还包括:获取所述执行节点对所述Mock任务的执行结果,根据所述执行结果修改所述Mock任务的处理状态。
在其中一个实施例中,所述方法还包括:检测是否在预设时长之内接收到所述执行节点反馈的执行结果,若否,则重新选取执行节点对所述Mock任务进行处理。
在其中一个实施例中,所述执行节点包括执行终端。
一种Mock测试处理装置,所述装置包括:Mock测试请求接收模块,用于接收用户终端发送的Mock测试请求,所述Mock测试请求中包括Mock测试信息;Mock任务生成模块,用于根据所述Mock测试信息生成待处理的Mock任务;执行节点选取模块,用于选取与所述Mock任务相匹配的执行节点;Mock任务分配模块,用于将所述Mock任务分配给所述执行节点处理,使所述执行节点根据对应的Mock数据生成规则处理所述Mock测试信息,生成Mock数据并返回给所述用户终端。
一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现上述任一项所述方法的步骤。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一项所述方法的步骤。
上述的Mock测试处理方法、装置、存储介质和计算机设备,通过接收用户终端发送的Mock测试请求,所述Mock测试请求中包括Mock测试信息;根据所述Mock测试信息生成待处理的Mock任务;再选取与所述Mock任务相匹配的执行节点;将所述Mock任务分配给所述执行节点处理,使所述执行节点根据对应的Mock数据生成规则处理所述Mock测试信息,生成Mock数据并返回给所述用户终端,从而可提高了Mock测试的通用性。
附图说明
图1为一个实施例中Mock测试处理方法的应用环境图;
图2为一个实施例中Mock测试处理方法的流程图;
图3为另一个实施例中Mock测试处理方法的流程图;
图4为一个实施例中Mock测试处理装置的结构框图;
图5为另一个实施例中Mock测试处理装置的结构框图;
图6为一个实施例中服务器的内部结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例所提供的Mock测试处理方法,可应用于如图1所示的应用环境中。参考图1,服务器110与用户终端120相连接。其中,用户终端120可为笔记本电脑、台式电脑、平板等其中的任意一种,用于向服务器110发送Mock测试请求。服务器110可为服务器集群,被配置有主节点112和多个执行节点114。可通过主节点接收用户终端120发送的Mock测试请求,生成Mock任务,并为其选取相匹配的执行节点进行处理;使执行节点根据Mock测试信息处理Mock测试请求,将生成的Mock数据返回给用户终端,从而可实现了对Mock任务的处理。
在一个实施例中,如图2所示,提供了一种Mock测试处理方法,该方法可应用于如图1所示的应用环境中,具体包括如下步骤:
步骤S202,接收用户终端发送的Mock测试请求,Mock测试请求中包括Mock测试信息。
本实施例中,用户终端为需要进行相应的Mock测试的工作终端,用户终端上可设置有Mock管理页面,并通过接收用户在该Mock管理页面上的操作指令,生成相应的Mock测试信息。用户终端还可通过接收用户对预先封装好的SDK(Software Development Kit,软件开发工具包)中的Mock测试信息的增删改查等操作,生成待测试的Mock测试信息。并通过接收的发送指令,向服务器发送Mock测试请求,该Mock测试请求中包含Mock测试信息。其中,Mock测试信息中包含需要得到的Mock数据的信息,该Mock数据可为文本数据、图片数据或视频数据等。比如可为某一指定类型的字段信息,以使得终端可根据返回的Mock数据进行下一步测试。
举例来说,该Mock测试信息为需要得到某个具体的数值或某个具体的月份等任意字段的信息,还可以为需要生成包含某一个或几个相同或不同字段信息的字段的文件的信息。
步骤S204,根据Mock测试信息生成待处理的Mock任务。
本实施例中,服务器可将该Mock测试请求中的Mock测试信息直接作为一条待处理的Mock任务,并为该Mock任务设置相应的任务标识以及发送该Mock测试请求的用户终端的终端标识也添加至该Mock任务中,使得执行节点可根据该终端标识确定对应的终端。
步骤S206,选取与Mock任务相匹配的执行节点。
本实施例中,预设了多个执行节点,执行节点用于处理各个Mock测试请求,生成对应的Mock数据。其中,每个执行节点可适用于处理一种或几种Mock测试。服务器可从多个执行节点中选取一个适用于执行该Mock任务的执行节点。通过设置多个执行节点,使得每个执行节点均可执行一种或几种Mock测试,可实现同时对多个Mock测试的执行,且适用于执行多种Mock测试,提高了Mock测试的通用性。
具体地,该执行节点可为服务器中的节点,还可为独立于服务器之外的执行终端,即服务器可将与之连接的多个执行终端作为执行该Mock任务的执行节点。当该执行节点为服务器中的节点时,服务器可为服务器集群,其上部署有DTS系统(Distributed TaskScheduler,分布式任务调度系统),比如可为Hadoop、Jstorm、Spark等任意一种分布式系统。通过该DST系统将该服务器集群设置主节点和多个执行节点,并为每个执行节点配置相应的IP和端口,通过zookeeper来进行数据和信息的同步。如通过zookeeper将Mock分配至对应的执行节点。
当该执行节点为独立于服务器之外的执行终端时,该执行终端可为需要处理该任务的公司或集团内的员工终端或其它所属终端。每个执行终端可为DTS系统中的一个任务执行节点。每个执行节点之间可为在任务处理上相互独立的执行终端。即在任务处理的过程中,执行终端之间进行互相独立的处理,并无连接关系。该服务器则为DTS系统中的主节点,用于负责管理任务和所有执行节点。其中,任务的管理包含了接收、存储、分发、记录、监控任务;执行节点的管理包含了对各个执行节点的任务执行状态的监控。在DTS系统中,由于每个执行终端仅与服务器相连,可保持对任务处理的独立性,以提高执行终端进行任务处理的效率。通过将执行终端作为DTS系统中的执行节点,对Mock任务进行处理。当终端数量越多,则服务器上可被及时分配的分布式处理的任务也越多。从而使得无需增加服务器,或者对服务器进行扩容,通过利用已有的终端,将众多的Mock任务分配给每个已有的终端进行处理,可提高对Mock任务的处理效率。
在一个实施例中,Mock测试请求中还可进一步包含该Mock测试请求的测试类型,或者该Mock测试请求所测试的应用等信息。服务器可根据该Mock测试请求所需生成的Mock数据,该Mock测试请求的测试类型,或者该Mock测试请求所测试的应用等其中的一种或多种,选取适用于执行该Mock任务的执行节点。
步骤S208,将Mock任务分配给执行节点处理,使执行节点根据对应的Mock数据生成规则处理Mock测试信息,生成Mock数据并返回给用户终端。
具体地,服务器可将该Mock任务的任务信息直接发送给选取的执行节点。或者还可将该Mock任务的任务信息存储至数据库中,并将该Mock任务的任务标识发送至选取的执行节点,使得执行节点根据该任务标识,从数据库中读取对应的Mock任务信息。
本实施例中,执行节点上配置有处理该Mock测试的接口,通过该接口可识别Mock测试信息中所定义的Mock数据生成规则以及所需生成的Mock数据等信息。执行节点可通过调用与该Mock测试相对应的接口,根据该Mock数据生成规则,生成该Mock测试请求中所需生成的Mock数据,并将所生成的Mock数据发送至对应的终端。
举例来说,Mock测试中,所需生成的Mock数据包含一个随机的月份数据,则执行节点可在Mock数据生成规则所定义的1~12月中,随机选择一个月份,作为生成的Mock数据。或者所需生成的Mock数据包含某一产品的利润信息,则执行节点可根据Mock测试中包含的产品基本信息(如产品名称、本金等),按照Mock数据生成规则中所定义的利润计算规则,生成该产品的利润信息。再比如所需生成的Mock数据为一个模拟的订单,则执行节点可根据该Mock测试请求中包含的所需生成的订单的字段信息,按照Mock数据生成规则中所定义的订单的模板、以及订单中所包含的各个字段的生成规则,生成对应的模拟订单。
本实施例所提供的Mock测试处理方法,通过接收用户终端发送的Mock测试请求,Mock测试请求中包括Mock测试信息;根据Mock测试信息生成待处理的Mock任务;再选取与Mock任务相匹配的执行节点;将Mock任务分配给执行节点处理,使执行节点根据对应的Mock数据生成规则处理Mock测试信息,生成Mock数据并返回给用户终端,从而可提高了Mock测试的通用性。
在一个实施例中,Mock测试请求中还包括Mock任务类型;根据Mock测试信息生成待处理的Mock任务,包括:根据Mock测试信息和Mock任务类型生成待处理的Mock任务;选取与Mock任务相匹配的执行节点,包括:选取与Mock任务类型相匹配的执行节点。
本实施例中,服务器还预先设置了多种Mock任务类型,用户终端所生成的Mock测试信息中还包含了相应的Mock任务类型。具体地,可包含该Mock任务类型的类型标识,不同的类型标识指代对应不同的Mock任务类型,服务器可根据该类型标识确定所生的Mock任务对应的任务类型。
服务器可根据Mock测试信息和Mock任务类型生成待处理的Mock任务,使得所生成的Mock任务中包含该Mock任务类型的信息。如可在该Mock任务的任务信息中设置相应的类型标识,使得根据该类型标识识别出Mock任务的任务类型。按照所识别出的Mock任务的任务类型,从该多个执行节点中选取一个适用于处理该任务类型的执行节点,并通过预设的接口将该Mock任务分类至该执行节点处理。
具体地,该Mock任务类型包括性能测试类型和普通测试类型。其中,性能测试类型为对应用的执行时对资源的占用,或者为对对数据处理的承受能力等性能方面的测试。性能测试类型通常需要占用执行节点较大的资源。比如,可为需要生成预设数量的Mock数据而需占用的执行节点的处理时长、CPU或内存的占用率等测试,或者还可为在测试是否满足在预设时长之内可承受的数据处理的能力。可为生成一条Mock测试请求,该Mock测试信息包含需要生成预设数量的Mock数据的要求,或者可为多条Mock测试请求,每条Mock测试请求中的Mock测试信息均包含生成一份或几份数量的Mock数据的要求,每条Mock测试请求之间的时间间隔很短,从而由该多条Mock测试请求共同构成对应用的性能测试。普通测试类型即为非性能测试类型。
选取与Mock任务类型相匹配的执行节点的步骤,包括:当Mock任务类型为性能测试类型时,从用于处理性能测试的Mock任务的执行节点中,选取被设置处理Mock任务的执行节点。
本实施例中,服务器进一步配置了不同执行节点所适用于处理的任务类型,使得将在所适用于处理对应任务类型的执行节点中进行选取。具体地,针对由一条独立的性能测试类型的Mock测试请求,服务器可从适用于处理性能测试的执行节点中,选取处于空闲状态的执行节点,将该Mock测试请求对应的Mock任务分配该执行节点。且在该执行节点执行完毕之前,不再分配Mock任务。针对由多条Mock测试请求所构成的对应用的性能测试,可将每条Mock测试请求均分配给相同的执行节点。
在一个实施例中,Mock测试请求中还包含通信协议信息;根据Mock测试信息生成待处理的Mock任务,包括:根据Mock测试信息和通信协议信息生成待处理的Mock任务;选取与Mock任务相匹配的执行节点的步骤,包括:选取适用于处理对应通信协议的Mock任务的执行节点。
本实施例中,通信协议包括但不限于http、tcp、rcp等多种,Mock测试请求中所包含通信协议信息可为对应的通信协议标识。服务器可根据Mock测试信息和通信协议信息生成待处理的Mock任务,使得所生成的Mock任务中包含该通信协议信息。如可在该Mock任务的任务信息中设置相应的通信协议标识,使得根据该通信协议标识识别出Mock任务的通信协议信息。
服务器进一步设置了每个执行节点所适用于处理的通信协议,具体地,可预先建立每个执行节点的节点标识与其所适用的通信协议标识之间的对应关系。根据该对应关系,可查询出每种通信协议所适用的执行节点,从所查询出的执行节点中选取一个,作为处理该Mock任务的执行节点。
本实施例中,通过进一步设置每个执行节点配置所适用处理的通信协议的Mock任务,使得服务器可对多种Mock任务进行分配,将所采用某一同通信协议的Mock任务分配至适用于处理该通信协议的Mock任务的执行节点,从而可进一步提高了对Mock测试的通用性。
在一个实施例中,在步骤S208之后,还包括:获取执行节点对Mock任务的执行结果,根据执行结果修改Mock任务的处理状态。
本实施例中,服务器还可实时主动获取执行节点对Mock任务的执行结果,或者执行节点可在处理完成后,可主动将处理结果发送给服务器,由服务器接收该执行结果。执行结果包括执行成功的结果和执行失败的结果,对应的处理状态也分别为处理成功和处理失败,处理状态还包括待处理和处理中的状态。执行结果中携带对应Mock任务的任务标识,服务器可根据该任务标识识别该执行结果所对应的Mock任务。
通过设置并修改Mock任务的处理状态,可进一步规范了对Mock任务的管理,提高了对多个Mock任务的管理的便利性。
在一个实施例中,上述方法还包括:检测是否在预设时长之内接收到执行节点反馈的执行结果,若否,则重新选取执行节点对Mock任务进行处理。
具体地,,服务器还设置了时长阈值,即上述的预设时长。该时长阈值为用于评判任务的处理是否异常的时长。时长阈值可根据历史统计出的完成任务的处理所需的平均时长,而设置的时长。可为超过该平均时长一定大小的时长。比如处理一个任务的平均时长为5分钟,则可设置该时长阈值可为8分钟或10分钟等。在检测到执行节点开始处理该Mock任务时,可将该Mock任务对应的处理状态修改为处理中,并调用计时器或定时器来计算处于处理中的状态的时长。
若达到该时长还未接收到执行节点反馈的执行结果,则可判定终端对该任务的处理失败。重新将所分配任务的任务状态设置为待处理状态,并进行重新分配。
在一个实施例中,上述方法还包括:当执行节点为执行终端时,统计每个执行终端完成的任务数量,根据完成的任务数量对执行终端进行排序。
服务器可统计在预设时间段内,每个执行终端完成的任务数量。具体地,可根据所接收到的任务处理请求中携带的执行终端标识,统计具有相同执行终端标识的执行终端所反馈的任务处理成功的任务处理结果的数量。其中,该执行终端标识可为用户名等可唯一识别执行终端身份的信息。
比如可按周或者天为单位,统计每天或每周之内,每个执行终端完成的任务数量,并根据完成的任务数量进行排序。其中,排序信息中包括执行终端标识、完成的任务数量以及排名等信息。
本实施例中,通过对每个执行终端完成的任务数量进行排序,使得每个执行终端之间形成一种竞赛关系,具有互动性,可提高执行终端用户参与任务处理的积极性呵和数量,以进一步提高了对Mock任务处理效率。
进一步地,可将排序信息发送至对应的执行终端,使得执行终端可获知其在预设时间段内完成的任务数量以及排名。更进一步地,服务器还可从排序中选取中排序超过预设名次的、或者完成的任务数量超过预设数量的执行终端,并向每个执行终端广播对所选取的执行终端的奖励信息,以进一步提高每个执行终端用户参与任务处理的积极性。
在一个实施例中,如图3所示,提供了另一种Mock测试处理方法,该方法包括以下步骤:
步骤S302,接收用户终端发送的Mock测试请求,Mock测试请求中包括Mock测试信息、Mock任务类型以及通信协议信息。
Mock任务类型包括性能测试类型和普通测试类型。用户终端可通过接收用户在该Mock管理页面上的操作指令,确定对应待测试的Mock测试信息、Mock任务类型以及通信协议。通过接收的发送指令,生成Mock测试请求并发送至服务器发送Mock测试请求。
步骤S304,根据Mock测试请求生成待处理的Mock任务。
具体地,根据Mock测试请求中包括Mock测试信息、Mock任务类型以及通信协议信息,生成Mock任务。该Mock任务中包含该Mock测试请求的信息以及用户终端的终端标识,使得执行节点根据该终端标识,识别出所需发送执行结果的用户终端。服务器可创建用于唯一标识该Mock任务的任务标识,并设置其任务状态为待处理状态。当检测到该Mock任务被执行节点获取并开始执行时,修改其任务状态为处理中的状态。
在一个实施例中,服务器可预设用于存放待处理Mock任务的第一任务表,该表中可按任务的生成顺序来存储待处理的Mock任务的任务信息。具体地,可存储其任务标识。并将该Mock任务的具体任务信息存储至数据库中,使得可根据该任务标识从数据库中读取到对应的Mock任务。
进一步地,预先设置了两个数据库,分别为主数据库和备用数据库。每个Mock任务的任务信息在主数据库和备用数据库中均有存储,并可根据该任务编号从主数据库或备用数据库中查询出来。主数据库为默认优先使用的数据库,备用数据库为备用的数据库。服务器可在选取了任务标识后,可根据该任务标识首先从主数据库中查询对应的任务,并读取该任务信息。当从主数据库中读取失败时,则从备用数据库中读取对应任务的任务信息,从而任可进一步提高对任务的提取的成功率。
步骤S306,选取与Mock任务的Mock任务类型和通信协议相匹配的执行节点。
本实施例中,各个执行节点被预先配置了适用于执行的Mock任务类型和通信协议。服务器可从所有的执行节点中,选取出一个与该Mock任务类型的Mock任务类型和通信协议相匹配的执行节点。
具体地,可首先筛选出与该通信协议相匹配的执行节点,再从筛选出的执行节点中二次筛选出与该Mock任务类型相匹配的执行节点,并从二次筛选出的执行节点中选取出一个执行节点,用于执行该Mock任务。可以理解地,该筛选次序可调换或不作限定,如还可以首先筛选出与该Mock任务类型相匹配的执行节点,再二次筛选出与该通信协议相匹配的执行节点。
在一个实施例中,服务器可提取该Mock测试请求中的类型标识与用户终端的终端标识,当识别出该类型标识对应的Mock任务类型为性能测试类型时,则检测在适用于性能测试类型的执行节点中,是否存在已经为该用户终端所分配的执行节点。若是,则继续选取该相同的执行节点,作为处理该Mock任务的执行节点。若否,则从适用于处理性能测试的执行节点中,选取处于空闲状态的执行节点。
由于对于性能测试类型的Mock任务,执行节点在生成该Mock数据时,也会占用较大的资源。通过将同一用户终端发送的性能测试类型的Mock测试,分配给相同的执行节点,可使得该执行节点集中对该性能测试类型Mock任务进行处理,避免没有及时生成并返回给用户终端所需的Mock数据。
在一个实施例中,当Mock任务类型为普通测试类型时,从用于处理普通测试的Mock任务的执行节点中,根据每个执行节点的任务处理数量选取执行节点。具体地,可选取当前任务数量最少的执行节点,作为处理该Mock任务的执行节点,从而使得每个普通测试类型的Mock任务被均衡地分配给相应的执行节点进行处理。
步骤S308,将Mock任务分配给执行节点处理,使执行节点根据对应的Mock数据生成规则处理Mock测试信息,生成Mock数据并返回给用户终端。
具体地,每个适用于处理对应Mock任务类型和通信协议的执行节点,可执行所分配的Mock任务,将生成的Mock数据返回给相应的用户终端,并可将处理结果上报至服务器。
步骤S310,检测是否在与Mock任务类型对应的预设时长之内接收到执行节点反馈的执行结果,若否,则重新选取执行节点对Mock任务进行处理。
当检测到执行节点开始处理该Mock任务时,可将该Mock任务从第一任务表中移动到用于存放处理中的状态的Mock任务的第二任务表中,或者直接在第一任务表中将该Mock任务的任务状态标记为处理中的任务状态。同时,可统计该Mock任务的执行时长。
在一个实施例中,可针对每种Mock任务的任务类型分别设置对应的预设时长。比如可针对性能测试类型的Mock任务设置第一预设时长,针对普通测试类型设置第二预设时长。其中,第一预设时长可大于第二预设时长。
当判定出Mock任务类型为性能测试类型时,可检测是否在第一预设时长之内接收到执行节点反馈的执行结果。若为普通测试类型时,可检测是否在第二预设时长之内接收到执行结果。
服务器可提取将所有状态为处理中,且分配时间距离当前时间已经超出预设时长的任务,然后重置该任务的状态为待分配。预设时长可根据经验值设定,假设一个性能测试类型的Mock任务正常执行时间为2分钟,最长执行时间为5分钟,则可设置第一预设时长为6分钟或者8分钟。通过设置预设时长,将超过预设时长还未收到执行结果的任务进行重新分配,可进一步提到对任务处理完成的成功率。
在一个实施例中,上述的任务分布式处理方法还包括:计算Mock任务的分配次数;当分配次数达到预设次数,且在预设时长之内未接收到任务处理结果,或者接收到任务处理失败的任务处理结果,则将选取任务的任务状态修改为处理异常的状态。
当产生任务被重新分配时,服务器可进一步统计被重新分配的任务的分配次数,并比较该分配次数和预设次数的大小。其中,预设次数可为设置的合适的次数,比如可为3次或5次等。
当出现被分配次数达到预设次数的任务时,还未接收到执行成功的执行结果,则产生的原因可能为任务本身出现问题,难以被成功处理。因此,可判定该任务被多次处理失败,则可终止对该任务的重新分配,将该任务的状态设置为处理异常的状态。通过设置预设次数,可防止任务被无限地重新分配处理,以浪费终端和服务器的资源。
在一个实施例中,服务器可汇总每个被设置为处理异常的状态的任务信息,将该任务信息发送至对应的管理员终端,使相应的管理员对该任务进行进一步地检测。具体地,可按照预设的汇总频率进行汇总,比如按照每小时一次的频率进行汇总。
上述的Mock测试处理方法,通过设置多个执行节点,在接收Mock测试请求后,生成Mock任务,并根据Mock测试请求中的Mock测试信息、Mock任务类型以及通信协议信息,为对应的Mock任务选取相匹配的执行节点并分配该Mock任务,使得该执行节点对所分配的Mock任务进行处理,从而可进一步提到对Mock测试处理的通用性。
在一个实施例中,如图4所示,提供了一种Mock测试处理装置,该装置包括:
Mock测试请求接收模块402,用于接收用户终端发送的Mock测试请求,Mock测试请求中包括Mock测试信息。
Mock任务生成模块404,用于根据Mock测试信息生成待处理的Mock任务。
执行节点选取模块406,用于选取与Mock任务相匹配的执行节点。
Mock任务分配模块408,用于将Mock任务分配给执行节点处理,使执行节点根据对应的Mock数据生成规则处理Mock测试信息,生成Mock数据并返回给用户终端。
在一个实施例中,Mock测试请求中还包括Mock任务类型;Mock任务生成模块404还用于根据所述Mock测试信息和所述Mock任务类型生成待处理的Mock任务;执行节点选取模块406还用于选取与Mock任务类型相匹配的执行节点。
在一个实施例中,Mock任务类型包括性能测试类型和普通测试类型;执行节点选取模块406还用于当Mock任务类型为性能测试类型时,从用于处理性能测试的Mock任务的执行节点中,选取被设置处理Mock任务的执行节点;当Mock任务类型为普通测试类型时,从用于处理普通测试的Mock任务的执行节点中,根据每个执行节点的任务处理数量选取执行节点。
在一个实施例中,Mock测试请求中还包含通信协议信息;Mock任务生成模块404还用于根据所述Mock测试信息和所述通信协议信息生成待处理的Mock任务;执行节点选取模块406还用于选取适用于处理对应通信协议的Mock任务的执行节点。
在一个实施例中,如图5所示,提供了另一种Mock测试处理装置,该装置还包括:
执行结果获取模块410,用于获取执行节点对Mock任务的执行结果,根据执行结果修改Mock任务的处理状态。
在一个实施例中,执行结果获取模块410还用于检测是否在预设时长之内接收到执行节点反馈的执行结果,若否,则重新选取执行节点对Mock任务进行处理。
在一个实施例中,该装置为应用于分布式任务调度系统中的Mock测试处理装置,该执行节点为所述分布式任务调度中的执行节点,执行节点包括执行终端。
上述Mock测试处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于服务器中的处理器中,也可以以软件形式存储于服务器中的存储器中,以便于处理器调用执行以上各个模块对应的操作。该处理器可以为中央处理单元(CPU)、微处理器、单片机等。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现上述各个实施例所提供的Mock测试处理方法的步骤。
具体地,该指令被处理器执行时实现以下步骤:接收用户终端发送的Mock测试请求,Mock测试请求中包括Mock测试信息;根据Mock测试信息生成待处理的Mock任务;选取与Mock任务相匹配的执行节点;将Mock任务分配给执行节点处理,使执行节点根据对应的Mock数据生成规则处理Mock测试信息,生成Mock数据并返回给用户终端。
在一个实施例中,Mock测试请求中还包括Mock任务类型;所实现的选取与Mock任务相匹配的执行节点,包括:选取与Mock任务类型相匹配的执行节点。
在一个实施例中,Mock任务类型包括性能测试类型和普通测试类型;所实现的选取与Mock任务类型相匹配的执行节点,包括:当Mock任务类型为性能测试类型时,从用于处理性能测试的Mock任务的执行节点中,选取被设置处理Mock任务的执行节点;当Mock任务类型为普通测试类型时,从用于处理普通测试的Mock任务的执行节点中,根据每个执行节点的任务处理数量选取执行节点。
在一个实施例中,Mock测试请求中还包含通信协议信息;所实现的选取与Mock任务相匹配的执行节点,包括:选取适用于处理对应通信协议的Mock任务的执行节点。
在一个实施例中,在将Mock任务分配给执行节点处理之后,还包括实现以下步骤:获取执行节点对Mock任务的执行结果,根据执行结果修改Mock任务的处理状态。
在一个实施例中,还包括实现以下步骤:检测是否在预设时长之内接收到执行节点反馈的执行结果,若否,则重新选取执行节点对Mock任务进行处理。
在一个实施例中,所述方法应用于分布式任务调度系统中,所述执行节点为所述分布式任务调度中的执行节点;执行节点包括执行终端。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述各个实施例所提供的Mock测试处理方法的步骤。
具体地,该处理器执行程序时实现以下步骤:接收用户终端发送的Mock测试请求,Mock测试请求中包括Mock测试信息;根据Mock测试信息生成待处理的Mock任务;选取与Mock任务相匹配的执行节点;将Mock任务分配给执行节点处理,使执行节点根据对应的Mock数据生成规则处理Mock测试信息,生成Mock数据并返回给用户终端。
在一个实施例中,该计算机设备可为上述的服务器。如图6所示,为一个实施例中服务器的内部结构示意图。该服务器包括通过系统总线连接的处理器、存储器和网络接口。其中,该服务器的处理器用于提供计算和控制能力,支撑整个终端的运行。存储器用于存储数据、指令代码等,网络接口用于与终端进行网络通信。比如,可向终端发送所选取的任务等。网络接口可以是以太网卡或无线网卡等。存储器上存储至少一个计算机可执行指令,该计算机可执行指令可被处理器执行,以实现本申请实施例中提供的适用于服务器的Mock测试处理方法。存储器可包括磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random-Access-Memory,RAM)等。例如,在一个实施例中,存储器包括非易失性存储介质及内存储器。服务器的非易失性存储介质存储有操作系统和计算机可执行指令。该计算机可执行指令可被处理器所执行,以用于实现以上各个实施例所提供的Mock测试处理方法。服务器中的内存储器为非易失性存储介质中的操作系统、数据库和计算机可执行指令提供高速缓存的运行环境。网络接口可以是以太网卡或无线网卡等,用于与外部的终端或服务器进行通信。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,Mock测试请求中还包括Mock任务类型;所实现的选取与Mock任务相匹配的执行节点,包括:选取与Mock任务类型相匹配的执行节点。
在一个实施例中,Mock任务类型包括性能测试类型和普通测试类型;所实现的选取与Mock任务类型相匹配的执行节点,包括:当Mock任务类型为性能测试类型时,从用于处理性能测试的Mock任务的执行节点中,选取被设置处理Mock任务的执行节点;当Mock任务类型为普通测试类型时,从用于处理普通测试的Mock任务的执行节点中,根据每个执行节点的任务处理数量选取执行节点。
在一个实施例中,Mock测试请求中还包含通信协议信息;所实现的选取与Mock任务相匹配的执行节点,包括:选取适用于处理对应通信协议的Mock任务的执行节点。
在一个实施例中,在将Mock任务分配给执行节点处理之后,还包括实现以下步骤:获取执行节点对Mock任务的执行结果,根据执行结果修改Mock任务的处理状态。
在一个实施例中,还包括实现以下步骤:检测是否在预设时长之内接收到执行节点反馈的执行结果,若否,则重新选取执行节点对Mock任务进行处理。
在一个实施例中,该计算机设备可应用于分布式任务调度系统中,为该分布式任务调度系统中的主节点,该执行节点为分布式任务调度系统中的执行节点,执行节点包括执行终端。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种Mock测试处理方法,其特征在于,所述方法包括:
接收用户终端发送的Mock测试请求,所述Mock测试请求中包括Mock测试信息、Mock任务类型以及通信协议信息;所述Mock任务类型包括性能测试类型和普通测试类型;
根据所述Mock测试信息、所述Mock任务类型以及所述通信协议信息生成待处理的Mock任务;
选取与所述Mock任务类型和对应的通信协议相匹配的执行节点;
将所述Mock任务分配给所述执行节点处理,使所述执行节点识别Mock测试信息中定义的Mock数据生成规则,根据对应的Mock数据生成规则处理所述Mock测试信息,生成Mock数据并返回给所述用户终端;
所述选取与所述Mock任务类型和对应的通信协议相匹配的执行节点,包括:
选取与所述通信协议相匹配的执行节点,从选取的执行节点中二次选取出与所述Mock任务类型相匹配的执行节点;
当所述Mock任务类型为性能测试类型时,从用于处理性能测试的Mock任务的执行节点中,检测处理性能测试的Mock任务的执行节点中是否存在已经为该用户终端分配的执行节点,若是,则继续选取相同的执行节点作为处理该Mock任务的执行节点,若否,则从用于处理性能测试的Mock任务的执行节点中选取处于空闲状态的执行节点;
当所述Mock任务类型为普通测试类型时,从用于处理普通测试的Mock任务的执行节点中,根据每个执行节点的任务处理数量选取执行节点。
2.根据权利要求1所述的方法,其特征在于,在所述将所述Mock任务分配给所述执行节点处理之后,还包括:
获取所述执行节点对所述Mock任务的执行结果,根据所述执行结果修改所述Mock任务的处理状态。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
检测是否在预设时长之内接收到所述执行节点反馈的执行结果,若否,则重新选取执行节点对所述Mock任务进行处理。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法应用于分布式任务调度系统中,所述执行节点为所述分布式任务调度中的执行节点;所述执行节点包括执行终端。
5.一种Mock测试处理装置,其特征在于,所述装置包括:
Mock测试请求接收模块,用于接收用户终端发送的Mock测试请求,所述Mock测试请求中包括Mock测试信息、Mock任务类型以及通信协议信息;所述Mock任务类型包括性能测试类型和普通测试类型;
Mock任务生成模块,用于根据所述Mock测试信息、所述Mock任务类型以及所述通信协议信息生成待处理的Mock任务;
执行节点选取模块,用于选取与所述Mock任务类型和对应的通信协议相匹配的执行节点;
Mock任务分配模块,用于将所述Mock任务分配给所述执行节点处理,使所述执行节点识别Mock测试信息中定义的Mock数据生成规则,根据对应的Mock数据生成规则处理所述Mock测试信息,生成Mock数据并返回给所述用户终端;
所述执行节点选取模块,还用于选取与所述通信协议相匹配的执行节点,从选取的执行节点中二次选取出与所述Mock任务类型相匹配的执行节点;当所述Mock任务类型为性能测试类型时,从用于处理性能测试的Mock任务的执行节点中,检测处理性能测试的Mock任务的执行节点中是否存在已经为该用户终端分配的执行节点,若是,则继续选取相同的执行节点作为处理该Mock任务的执行节点,若否,则从用于处理性能测试的Mock任务的执行节点中选取处于空闲状态的执行节点;当所述Mock任务类型为普通测试类型时,从用于处理普通测试的Mock任务的执行节点中,根据每个执行节点的任务处理数量选取执行节点。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
执行结果获取模块,用于获取所述执行节点对所述Mock任务的执行结果,根据所述执行结果修改所述Mock任务的处理状态。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
所述执行结果获取模块,还用于检测是否在预设时长之内接收到所述执行节点反馈的执行结果,若否,则重新选取执行节点对所述Mock任务进行处理。
8.根据权利要求5至7中任一项所述的装置,其特征在于,所述装置应用于分布式任务调度系统中,所述执行节点为所述分布式任务调度中的执行节点;所述执行节点包括执行终端。
9.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1至4中任一项所述方法的步骤。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至4中任一项所述方法的步骤。
CN201710608536.5A 2017-07-24 2017-07-24 Mock测试处理方法、装置、存储介质和计算机设备 Active CN108268372B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710608536.5A CN108268372B (zh) 2017-07-24 2017-07-24 Mock测试处理方法、装置、存储介质和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710608536.5A CN108268372B (zh) 2017-07-24 2017-07-24 Mock测试处理方法、装置、存储介质和计算机设备

Publications (2)

Publication Number Publication Date
CN108268372A CN108268372A (zh) 2018-07-10
CN108268372B true CN108268372B (zh) 2021-06-08

Family

ID=62770887

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710608536.5A Active CN108268372B (zh) 2017-07-24 2017-07-24 Mock测试处理方法、装置、存储介质和计算机设备

Country Status (1)

Country Link
CN (1) CN108268372B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11184459B2 (en) * 2018-07-31 2021-11-23 Bungee Tech Corporation Method and system for a network presence platform with intelligent routing
CN109101430B (zh) * 2018-08-24 2022-08-09 创新先进技术有限公司 测试方法、装置和设备
CN109165168A (zh) * 2018-09-14 2019-01-08 杭州云创共享网络科技有限公司 一种压力测试方法、装置、设备及介质
CN109299010A (zh) * 2018-09-25 2019-02-01 深圳壹账通智能科技有限公司 mock测试方法、装置、计算机设备和存储介质
CN109359149B (zh) * 2018-10-08 2021-03-05 网宿科技股份有限公司 一种模拟测试方法及相关装置
CN109471710B (zh) * 2018-10-25 2021-05-25 网易(杭州)网络有限公司 任务请求的处理方法、装置、处理器、终端及服务器
CN111124873A (zh) * 2018-10-31 2020-05-08 北京国双科技有限公司 一种Mock数据返回方法及装置
CN109783377A (zh) * 2019-01-02 2019-05-21 深圳壹账通智能科技有限公司 测试数据获取方法、工具、计算机设备和存储介质
CN111045943B (zh) * 2019-12-11 2023-06-13 广州品唯软件有限公司 Mock数据的生成方法、测试系统及可读存储介质
CN111026672A (zh) * 2019-12-16 2020-04-17 广州品唯软件有限公司 测试方法、终端设备以及mock服务器
CN111124908B (zh) * 2019-12-19 2023-05-16 广州品唯软件有限公司 接口的测试方法、装置及计算机可读存储介质
CN111913884A (zh) * 2020-07-30 2020-11-10 百度在线网络技术(北京)有限公司 分布式测试方法、装置、设备、系统和可读存储介质
CN113590465B (zh) * 2021-06-28 2023-06-06 四川新网银行股份有限公司 一种基于SDK自动生成mock服务的方法
CN114064455A (zh) * 2021-10-15 2022-02-18 北京房江湖科技有限公司 一种提供mock服务的方法、装置和电子设备
CN114564386A (zh) * 2022-02-15 2022-05-31 阿里巴巴(中国)有限公司 处理测试任务的方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101840228A (zh) * 2010-06-01 2010-09-22 杭州和利时自动化有限公司 分布式控制系统中采集第三方设备数据的方法及装置
CN104410542A (zh) * 2014-11-18 2015-03-11 小米科技有限责任公司 模拟测试方法及装置
CN104410543A (zh) * 2014-11-19 2015-03-11 中国联合网络通信集团有限公司 基于云资源的自动化测试方法和系统
CN106528400A (zh) * 2016-09-22 2017-03-22 深圳峰创智诚科技有限公司 Mock测试方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9122805B2 (en) * 2012-10-02 2015-09-01 International Business Machines Corporation Resilient mock object creation for unit testing
CN103823754A (zh) * 2014-02-11 2014-05-28 深圳市同洲电子股份有限公司 一种实现自动测试的方法及装置
CN105405221A (zh) * 2015-10-28 2016-03-16 深圳怡化电脑股份有限公司 一种自动化测试的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101840228A (zh) * 2010-06-01 2010-09-22 杭州和利时自动化有限公司 分布式控制系统中采集第三方设备数据的方法及装置
CN104410542A (zh) * 2014-11-18 2015-03-11 小米科技有限责任公司 模拟测试方法及装置
CN104410543A (zh) * 2014-11-19 2015-03-11 中国联合网络通信集团有限公司 基于云资源的自动化测试方法和系统
CN106528400A (zh) * 2016-09-22 2017-03-22 深圳峰创智诚科技有限公司 Mock测试方法和装置

Also Published As

Publication number Publication date
CN108268372A (zh) 2018-07-10

Similar Documents

Publication Publication Date Title
CN108268372B (zh) Mock测试处理方法、装置、存储介质和计算机设备
CN107688496B (zh) 任务分布式处理方法、装置、存储介质和服务器
CN107679718B (zh) 名单分配方法、设备以及计算机可读存储介质
CN101510167B (zh) 一种插件运行的方法、装置及系统
CN108776934B (zh) 分布式数据计算方法、装置、计算机设备及可读存储介质
CN109104336B (zh) 服务请求处理方法、装置、计算机设备及存储介质
US8572621B2 (en) Selection of server for relocation of application program based on largest number of algorithms with identical output using selected server resource criteria
CN107682417B (zh) 一种数据节点的任务分配方法和装置
CN106407002B (zh) 数据处理任务执行方法和装置
CN107819797B (zh) 访问请求处理方法和装置
CN109800204B (zh) 数据分配方法及相关产品
CN105915646A (zh) 一种分散服务器负载的方法及装置
CN114185763A (zh) 动态分配方法、装置、存储介质及电子设备
CN108733545B (zh) 一种压力测试方法及装置
CN111124854A (zh) 一种冒烟测试用例分配方法、系统、终端及存储介质
CN107092556B (zh) 测试方法、装置及设备
CN110990381B (zh) 服务器的处理方法及装置、存储介质和电子装置
CN113010310A (zh) 作业数据的处理方法、装置和服务器
CN110839061B (zh) 数据分发方法、装置及存储介质
CN110046319B (zh) 社交媒体信息采集方法、装置、系统、设备及存储介质
CN112380001A (zh) 日志输出方法、负载均衡设备及计算机可读存储介质
CN110333984B (zh) 接口异常检测方法、装置、服务器及系统
CN107193749A (zh) 测试方法、装置及设备
CN111008146A (zh) 对云主机安全进行测试的方法及系统
CN106445784B (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 518000 Room 201, building A, 1 front Bay Road, Shenzhen Qianhai cooperation zone, Shenzhen, Guangdong

Applicant after: Shenzhen one ledger Intelligent Technology Co., Ltd.

Address before: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Applicant before: Shenzhen one ledger Intelligent Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant