掌桥专利:专业的专利平台
掌桥专利
首页

业务的测试方法、装置、设备、介质及计算机程序产品

文献发布时间:2023-06-19 11:02:01


业务的测试方法、装置、设备、介质及计算机程序产品

技术领域

本申请涉及测试技术领域,具体而言,涉及一种业务的测试方法、装置、设备、介质及计算机程序产品。

背景技术

业务测试是将业务系统的不同模块进行有效串接,继而模拟真实用户的实际使用情况对业务系统进行运营,促使业务系统能够充分满足用户所要求的功能的测试过程。

通常,业务测试执行过程可大致分为四步:活动创建、活动场景触发、日志收集和分析、结果校验。现有技术中,对于任意的业务项目的测试,均由测试人员按照执行顺序依次在不同的平台中配置实现上述四个步骤。

上述方法导致测试周期耗时较长,从而影响测试效率。

发明内容

有鉴于此,本申请实施例的目的在于提供一种业务的测试方法、装置、设备、介质及计算机程序产品,解决现有技术中存在的测试效率较低的问题,达到提升测试效率的效果。

为实现上述目的,本申请实施例采用的技术方案如下:

第一方面,本申请实施例提供了一种业务的测试方法,包括:

接收业务配置参数,所述业务配置参数包括:至少一个业务信息;

根据所述业务配置参数获取所述业务信息对应的业务数据、触发业务数据对应的事件执行;

获取所述事件执行的执行结果数据;

根据所述执行结果数据和预设结果数据进行校验,获取测试结果。

可选地,所述接收业务配置参数,包括:

接收通过预设模板提交的所述业务配置参数,所述预设模板包括:业务项目、以及对应的所述业务配置参数输入位置;

所述根据所述业务配置参数获取所述业务信息对应的业务数据,包括:

根据所述预设模板提取各所述业务项目对应的所述业务信息;

根据所述业务信息获取所述业务信息对应的业务数据。

可选地,所述根据所述预设模板提取各所述业务项目对应的所述业务信息,包括:

在所述预设模板中提取各所述业务项目所对应的所述业务配置参数输入位置中的关键词;

根据所述关键词确定所述业务信息。

可选地,所述预设模板为表格,所述表格包括至少一行,每行包括一个业务的业务项目、以及对应的所述业务配置参数。

可选地,所述业务配置参数包括:所述业务信息对应的触发方式;

所述根据所述业务配置参数获取所述业务信息对应的业务数据、触发业务数据对应的事件执行,包括:

根据所述业务配置参数获取所述业务信息对应的业务数据并创建对应的业务;

根据所述业务信息对应的触发方式,触发所述业务对应的事件执行。

可选地,所述根据所述业务配置参数获取所述业务信息对应的业务数据并创建对应的业务之后,还包括:

根据所述业务信息对应的触发方式建立触发数据结构;

所述根据所述业务信息对应的触发方式,触发所述业务对应的事件执行,包括:

根据所述触发数据结构,触发所述业务对应的事件执行。

可选地,所述获取所述事件执行的执行结果数据,包括:

收集获取所述事件执行的执行日志数据。

可选地,所述根据所述执行结果数据和预设结果数据进行校验,获取测试结果,包括:

对所述执行日志数据进行解析,获取预设结构化日志数据;

根据所述预设结构化日志数据和所述预设结果数据进行校验,获取测试结果。

可选地,所述业务配置参数包括:各所述业务信息对应的所述预设结果数据。

第二方面,本申请实施例提供了一种业务的测试装置,包括:接收模块、获取模块、校验模块;

所述接收模块,用于接收业务配置参数,所述业务配置参数包括:至少一个业务信息;

所述获取模块,用于根据所述业务配置参数获取所述业务信息对应的业务数据、触发业务数据对应的事件执行;获取所述事件执行的执行结果数据;

所述校验模块,用于根据所述执行结果数据和预设结果数据进行校验,获取测试结果。

可选地,所述接收模块,具体用于接收通过预设模板提交的所述业务配置参数,所述预设模板包括:业务项目、以及对应的所述业务配置参数输入位置;

所述获取模块,具体用于根据所述预设模板提取各所述业务项目对应的所述业务信息;根据所述业务信息获取所述业务信息对应的业务数据。

可选地,所述获取模块,具体用于在所述预设模板中提取各所述业务项目所对应的所述业务配置参数输入位置中的关键词;根据所述关键词确定所述业务信息。

可选地,所述预设模板为表格,所述表格包括至少一行,每行包括一个业务的业务项目、以及对应的所述业务配置参数。

可选地,所述业务配置参数包括:所述业务信息对应的触发方式;

所述获取模块,具体用于根据所述业务配置参数获取所述业务信息对应的业务数据并创建对应的业务;根据所述业务信息对应的触发方式,触发所述业务对应的事件执行。

可选地,所述装置还包括:建立模块、触发模块;

所述建立模块,用于根据所述业务信息对应的触发方式建立触发数据结构;

所述触发模块,用于根据所述触发数据结构,触发所述业务对应的事件执行。

可选地,所述获取模块,具体用于收集获取所述事件执行的执行日志数据。

可选地,所述校验模块,具体用于对所述执行日志数据进行解析,获取预设结构化日志数据;根据所述预设结构化日志数据和所述预设结果数据进行校验,获取测试结果。

可选地,所述业务配置参数包括:各所述业务信息对应的所述预设结果数据。

第三方面,本申请实施例提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行时执行如上述第一方面所述的方法的步骤。

第四方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述第一方面所述的方法的步骤。

第五方面,本申请实施例提供了一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现如上述第一方面所述的方法的步骤。

本申请的有益效果:

本申请提供一种业务的测试方法、装置、设备、介质及计算机程序产品,该方法可包括:接收业务配置参数,业务配置参数包括:至少一个业务信息;根据业务配置参数获取业务信息对应的业务数据、触发业务数据对应的事件执行;获取事件执行的执行结果数据;根据执行结果数据和预设结果数据进行校验,获取测试结果。本方案中,在进行业务测试时,是基于接收的业务配置参数中的各业务信息自动的识别获取业务数据、以及触发业务数据对应的事件执行,相比于现有技术中通过测试人员按照顺序依次配置业务数据和触发事件,本方法中测试人员只需要提供业务配置参数即可,可有效提高业务测试的效率。另外,基于事件的执行,可自动获取执行结果数据,以与预期结果数据进行校验,获取测试结果,相比于现有技术中,测试人员手工搜索执行结果数据进行校验,本方法的校验效率和精确度较高。通过本方法的执行,整个业务的测试流程较为简单,耗时较短,从而提高了测试效率和准确度。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的一种业务的测试系统的框图;

图2本申请实施例提供的一种电子设备的示例性硬件和软件组件的示意图;

图3为本申请实施例提供的一种业务的测试系统的架构示意图;

图4为本申请实施例提供的一种业务的测试方法的流程示意图;

图5为本申请实施例提供的另一种业务的测试方法的流程示意图;

图6为本申请实施例提供的又一种业务的测试方法的流程示意图;

图7为本申请实施例提供的另一种业务的测试方法的流程示意图;

图8为本申请实施例提供的又一种业务的测试方法的流程示意图;

图9为本申请实施例提供的另一种业务的测试方法的流程示意图;

图10为本申请实施例提供的一种业务的测试装置的示意图;

图11为本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。

另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

为了使得本领域技术人员能够使用本申请内容,结合特定应用场景“司乘业务”,给出以下实施方式。对于本领域技术人员来说,在不脱离本申请的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用场景。虽然本申请主要围绕司乘业务进行描述,但是应该理解,这仅是一个示例性实施例。本申请可以应用于任何业务系统,例如:外卖业务、企业内部系统等。

需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。

在本申请提出申请之前,现有的技术方案主要是:1、在web界面创建测试活动。2、将活动配置文件拷贝到测试环境。3、构造与活动相关的测试数据,触发活动场景。4、手工搜索相关日志查看和校验测试结果。其中,每个步骤均是测试人员在对应的平台配置相关数据来实现的。

其所导致的技术问题为:测试链路冗长和繁琐,每个业务的测试都必须经过上述4个步骤,耗时较长。

为了解决上述技术问题,本发明实施例提供一种业务的测试方法。其核心改进点在于:通过测试人员上传的业务配置参数,可自动化生成业务测试活动和活动触发事件,触发测试活动的执行,同时可自动获取执行结果数据,根据预设结果数据对获取的执行结果数据进行校验,获取测试结果,完成一站式测试服务,提高了测试效率。

图1为本申请实施例提供的一种业务的测试系统的框图。例如,业务的测试系统100可以是用于诸如出租车、代驾服务、快车、拼车、公共汽车服务、驾驶员租赁、或班车服务之类的运输服务、或其任意组合的在线运输服务平台,也可以是用于企业营销平台,外卖服务平台等。业务的测试系统100可以包括服务器110、网络120和数据库130中的一种或多种,服务器110中可以包括执行指令操作的处理器。

在一些实施例中,服务器110可以是单个服务器,也可以是服务器组。服务器组可以是集中式的,也可以是分布式的(例如,服务器110可以是分布式系统)。在一些实施例中,服务器110相对于终端,可以是本地的、也可以是远程的。例如,服务器110可以经由网络120访问存储在数据库130、或其任意组合中的信息和/或数据。作为另一示例,服务器110可以直接连接到数据库130,以访问存储的信息和/或数据。在一些实施例中,服务器110可以在云平台上实现;仅作为示例,云平台可以包括私有云、公有云、混合云、社区云(communitycloud)、分布式云、跨云(inter-cloud)、多云(multi-cloud)等,或者它们的任意组合。在一些实施例中,服务器110可以在具有本申请中图2所示的一个或多个组件的电子设备200上实现。

在一些实施例中,服务器110可以包括处理器。处理器可以处理与服务请求有关的信息和/或数据,以执行本申请中描述的一个或多个功能。在一些实施例中,处理器可以包括一个或多个处理核(例如,单核处理器(S)或多核处理器(S))。仅作为举例,处理器可以包括中央处理单元(Central Processing Unit,CPU)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、专用指令集处理器(Application Specific Instruction-set Processor,ASIP)、图形处理单元(Graphics Processing Unit,GPU)、物理处理单元(Physics Processing Unit,PPU)、数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、可编程逻辑器件(Programmable Logic Device,PLD)、控制器、微控制器单元、简化指令集计算机(ReducedInstruction Set Computing,RISC)、或微处理器等,或其任意组合。

网络120可以用于信息和/或数据的交换。在一些实施例中,业务的测试系统100中的一个或多个组件(例如,服务器110和数据库130)可以向其他组件发送信息和/或数据。在一些实施例中,网络120可以是任何类型的有线或者无线网络,或者是他们的结合。仅作为示例,网络120可以包括有线网络、无线网络、光纤网络、远程通信网络、内联网、因特网、局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)、无线局域网(Wireless Local Area Networks,WLAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、公共电话交换网(Public Switched Telephone Network,PSTN)、蓝牙网络、ZigBee网络、或近场通信(Near Field Communication,NFC)网络等,或其任意组合。在一些实施例中,网络120可以包括一个或多个网络接入点。例如,网络120可以包括有线或无线网络接入点,例如基站和/或网络交换节点,业务的测试系统100的一个或多个组件可以通过该接入点连接到网络120以交换数据和/或信息。

数据库130可以存储数据和/或指令。在一些实施例中,数据库130可以存储服务器110运行过程中产生的数据。在一些实施例中,数据库130可以存储在本申请中描述的示例性方法的数据和/或指令。在一些实施例中,数据库130可以包括大容量存储器、可移动存储器、易失性读写存储器、或只读存储器(Read-Only Memory,ROM)等,或其任意组合。作为举例,大容量存储器可以包括磁盘、光盘、固态驱动器等;可移动存储器可包括闪存驱动器、软盘、光盘、存储卡、zip磁盘、磁带等;易失性读写存储器可以包括随机存取存储器(RandomAccess Memory,RAM);RAM可以包括动态RAM(Dynamic Random Access Memory,DRAM),双倍数据速率同步动态RAM(Double Date-Rate SynchronousRAM,DDR SDRAM);静态RAM(StaticRandom-Access Memory,SRAM),晶闸管RAM(Thyristor-Based Random Access Memory,T-RAM)和零电容器RAM(Zero-RAM)等。作为举例,ROM可以包括掩模ROM(Mask Read-OnlyMemory,MROM)、可编程ROM(Programmable Read-Only Memory,PROM)、可擦除可编程ROM(Programmable Erasable Read-only Memory,PEROM)、电可擦除可编程ROM(ElectricallyErasable Programmable read only memory,EEPROM)、光盘ROM(CD-ROM)、以及数字通用磁盘ROM等。在一些实施例中,数据库130可以在云平台上实现。仅作为示例,云平台可以包括私有云、公有云、混合云、社区云、分布式云、跨云、多云或者其它类似的等,或其任意组合。

在一些实施例中,数据库130可以连接到网络120以与业务的测试系统100(例如,服务器110等)中的一个或多个组件通信。业务的测试系统100中的一个或多个组件可以经由网络120访问存储在数据库130中的数据或指令。在一些实施例中,数据库130可以直接连接到业务的测试系统100中的一个或多个组件(例如,服务器110等);或者,在一些实施例中,数据库130也可以是服务器110的一部分。

图2本申请实施例提供的一种电子设备的示例性硬件和软件组件的示意图。例如,处理器220可以用于电子设备200上,并且用于执行本申请中的功能。

电子设备200可以是通用计算机或特殊用途的计算机,两者都可以用于实现本申请的业务的测试方法。本申请尽管仅示出了一个计算机,但是为了方便起见,可以在多个类似平台上以分布式方式实现本申请描述的功能,以均衡处理负载。

例如,电子设备200可以包括连接到网络的网络端口210、用于执行程序指令的一个或多个处理器220、通信总线230、和不同形式的存储介质240,例如,磁盘、ROM、或RAM,或其任意组合。示例性地,计算机平台还可以包括存储在ROM、RAM、或其他类型的非暂时性存储介质、或其任意组合中的程序指令。根据这些程序指令可以实现本申请的方法。电子设备200还包括计算机与其他输入输出设备(例如键盘、显示屏)之间的输入/输出(Input/Output,I/O)接口250。

为了便于说明,在电子设备200中仅描述了一个处理器。然而,应当注意,本申请中的电子设备200还可以包括多个处理器,因此本申请中描述的一个处理器执行的步骤也可以由多个处理器联合执行或单独执行。例如,若电子设备200的处理器执行步骤A和步骤B,则应该理解,步骤A和步骤B也可以由两个不同的处理器共同执行或者在一个处理器中单独执行。例如,第一处理器执行步骤A,第二处理器执行步骤B,或者第一处理器和第二处理器共同执行步骤A和B。

图3为本申请实施例提供的一种业务的测试系统的架构示意图,本申请下述的业务的测试方法可应用于该业务的测试系统中,如图3所示,该业务的测试系统可包括:被测服务和部署于被测服务上的驱动服务,被测服务也即指测试对象,也即被测的业务平台。驱动服务可以为运行于被测服务上的功能程序,驱动服务可包括:模板驱动器、事件驱动器、日志解析器和结果收集器。

测试人员可通过被测服务的前端web页面或应用程序等上传业务配置参数(测试活动信息),模板驱动器解析业务配置参数,创建业务测试活动注册至被测服务,在业务测试活动创建完成后,事件驱动器构造关联测试活动的触发场景,以触发被测服务执行业务测试活动,执行完成后再由日志解析器或其他类似功能模块收集执行结果数据,结果收集器将执行结果与预期结果进行比对,校验测试活动的准确性,完成一键式快速测试。并将本次测试的全过程数据存储至被测服务的后台数据库中,以进行测试回归。

图4为本申请实施例提供的一种业务的测试方法的流程示意图,该方法的执行主体可以是上述部署于被测服务上的驱动服务,如图4所示,该方法可包括:

S401、接收业务配置参数,业务配置参数包括:至少一个业务信息。

可选地,本申请提供的业务的测试方法可以应用于不同业务领域的不同业务项目的测试,通过业务测试可以不断的优化业务项目,为业务系统的运营和发展带来指导。

业务配置参数可以为用于配置业务对应的测试活动的相关参数。测试人员可以通过被测服务的前端web页面或应用程序等输入业务配置参数。其中,业务配置参数可以包括至少一个业务信息。

S402、根据业务配置参数获取业务信息对应的业务数据、触发业务数据对应的事件执行。

在一些实施例中,业务配置参数中可包括各业务信息对应的具体业务数据,例如:业务信息为活动参数,业务信息对应的业务数据为各活动参数对应的参数数据等,其中,业务信息对应的业务数据可以指业务信息对应的具体数据。

可基于业务配置参数获取到各业务信息对应的业务数据,同时还可根据业务配置参数生成业务数据对应的事件执行的触发场景,以触发业务数据对应的事件执行。

S403、获取事件执行的执行结果数据。

例如可以收集事件执行过程中,产生的执行结果数据,进行存储。

S404、根据执行结果数据和预设结果数据进行校验,获取测试结果。

可选地,可将获取的执行结果数据与预设结果数据进行对比校验,获取测试结果,其中,预设结果数据也即待测试的业务测试活动的预期执行结果。预设结果数据可以是预先配置好的,也可以是测试人员在测试前或测试后上传的,在此不作限制。

若执行结果数据与预期结果数据一致,则可认为对于业务的测试是成功的,可以将测试成功的业务进行推广运行。而若执行结果数据与预期结果数据不一致,则可确定业务的测试存在缺陷,可以追溯整个测试流程,寻找问题所在,进行再次测试,直至测试成功。

综上,本实施例提供的业务的测试方法,包括:接收业务配置参数,业务配置参数包括:至少一个业务信息;根据业务配置参数获取业务信息对应的业务数据、触发业务数据对应的事件执行;获取事件执行的执行结果数据;根据执行结果数据和预设结果数据进行校验,获取测试结果。本方案中,在进行业务测试时,是基于接收的业务配置参数中的各业务信息自动的识别获取业务数据、以及触发业务数据对应的事件执行,相比于现有技术中通过测试人员按照顺序依次配置业务数据和触发事件,本方法中测试人员只需要提供业务配置参数即可,可有效提高业务测试的效率。另外,基于事件的执行,可自动获取执行结果数据,以与预期结果数据进行校验,获取测试结果,相比于现有技术中,测试人员手工搜索执行结果数据进行校验,本方法的校验效率和精确度较高。通过本方法的执行,整个业务的测试流程较为简单,耗时较短,从而提高了测试效率和准确度。

图5为本申请实施例提供的另一种业务的测试方法的流程示意图,可选地,上述步骤S401中,接收业务配置参数,可以包括:

S501、接收通过预设模板提交的业务配置参数,预设模板包括:业务项目、以及对应的业务配置参数输入位置。

其中,业务项目可以指需要测试的具体业务,可以为同一业务类型下的不同业务活动的测试,也可以为不同业务类型下的业务活动的测试。例如:A市司机接单对应奖励的测试、司机在某天完成接单获得奖励的测试、A公司员工完成绩效获得奖励的测试等。

预设模板可为预先配置的能够包含业务相关信息的信息输入模板,可以包括需要输入的项目名称等,还要预留测试人员输入相关信息的位置。可选地,本申请中的驱动服务的驱动底层可以Python(面向对象、直译式计算机程序设计语言)配合Flask(使用Python编写的轻量级Web应用框架)的架构设计。可选地,驱动服务的模板驱动器可对外提供HTTP(Hyper Text Transfer Protocol,超文本传输协议)接口,测试人员可根据在被测服务的web页面所展示的预设模板,在模板中的对应位置输入对应的业务配置参数,并进行提交,所提交的预设模板将通过接口传输至驱动服务的模板驱动器。

步骤S402中,根据业务配置参数获取业务信息对应的业务数据,可以包括:

S502、根据预设模板提取各业务项目对应的业务信息。

当接收到填写有业务配置参数的预设模板后,模板驱动器可对预设模板中的业务配置参数进行识别,获取各业务项目对应的业务信息,业务信息也即测试业务的相关测试活动信息。

本实施例中,业务信息可包括:活动创建信息和活动的预设结果信息。其中,活动创建信息中可包括:活动参数信息和活动触发信息,活动参数信息用于完成测试活动的创建,活动触发信息用于触发测试活动的执行,活动的预设结果信息用于进行测试活动的校验。

以A城市司机某天完成两次接单奖励5元的测试活动为例,活动参数信息可包括:司机接单的开始时间和结束时间、司机接单城市、司机接单次数。活动触发信息可包括:司机发起接单请求数据、司机完成两单数据。活动的预设结果信息可以包括:奖励5元。

S503、根据业务信息获取业务信息对应的业务数据。

可选地,所提交的预设模板中具体包含有各业务信息对应的业务数据,业务数据可以是对应填写在业务信息所在的位置,不同的业务项目所对应的业务信息可以是相同的,而不同的业务项目所对应的业务信息对应的业务数据是不同的,不同业务项目的业务数据均是用于测试该业务项目相关的数据。

图6为本申请实施例提供的又一种业务的测试方法的流程示意图,可选地,步骤S502中,根据预设模板提取各业务项目对应的业务信息,可以包括:

S601、在预设模板中提取各业务项目所对应的业务配置参数输入位置中的关键词。

可选地,上述的模板驱动器可设计成HTTP后台服务的关键词驱动。模板驱动器可识别业务项目对应的业务配置参数输入位置中的关键词,也即识别业务配置参数中各业务信息的关键词,例如:活动参数信息的关键词可以为活动参数,活动触发信息的关键词可以为触发,活动的预设结果的关键词可以为结果。

S602、根据关键词确定业务信息。

可以预先训练模板驱动器以对预设模板中的预设关键词进行识别,以根据所识别的关键词确定业务项目对应的业务信息。

可选地,通过关键词驱动识别,可以使得测试人员仅需上传填写有业务配置参数的预设模板,驱动服务即可基于关键词从预设模板中自动识别所需的业务信息,以在后续流程中根据业务信息创建业务测试活动、触发测试活动执行、根据预设结果对活动执行结果进行校验,获取最终的测试结果。

在本方法中,测试人员仅需以预设模板的形式填写业务配置参数上传即可,在上传后,后续的业务测试活动的创建、触发执行、结果校验均是驱动服务根据识别的预设模板中的信息自动完成,相比于现有技术中,各个测试环节均需测试人员在对应的平台中进行配置和实现,本申请的方法所实现的业务测试的效率得到了较大的提升。

可选地,预设模板为表格,表格包括至少一行,每行包括一个业务的业务项目、以及对应的业务配置参数。

一种可实现的方式中,预设模板可以为excel表格的形式展示,预设模板可包括:业务项目、以及各业务项目对应的业务配置参数输入位置。

当以excel表格的形式展示预设模板时,可以在同一行中输入目标业务项目对应的业务配置参数,或者也可以在同一列中输入目标业务项目对应的业务配置参数,以将不同业务项目对应的业务配置参数进行有效区分。

在另一种可实现的方式中,预设模板可以以键值对的形式展示,例如:业务项目:业务配置参数。当然,并不限于所列举的几种模板形式。

图7为本申请实施例提供的另一种业务的测试方法的流程示意图;可选地,上述的业务配置参数可以包括:业务信息对应的触发方式。

可选地,不同的业务项目对应的触发方式是不同的,根据提取的业务配置参数中的触发方式,可以构造业务测试活动的触发条件,以触发业务测试活动的执行。触发方式可以包括触发的条件(例如满足什么条件时触发)、触发的时机(例如上一步执行完什么具体内容后触发)等,在此不作限制。

步骤S402中,根据业务配置参数获取业务信息对应的业务数据、触发业务数据对应的事件执行,可以包括:

S701、根据业务配置参数获取业务信息对应的业务数据并创建对应的业务。

可选地,模板驱动器在接收到所上传的预设模板后,可解析预设模板,获取模板中所填写的业务信息对应的业务数据。

由于上述解析得到的业务数据仅仅是零散的多个数据,故本实施例中还可按照预定的活动标准格式,将获取的业务数据生成对应的数据结构,完成业务测试活动的创建,也即创建对应的业务。其中,不同的业务项目对应的活动标准格式可以是不同的。

可选地,当业务测试活动创建完成后,驱动服务可将业务测试活动注册至被测服务,同时通知事件驱动器进行业务测试活动的触发事件的构造。

S702、根据业务信息对应的触发方式,触发业务对应的事件执行。

在未构造业务测试活动对应的触发事件之前,所创建的业务测试活动为静态的活动数据,通过触发事件触发业务测试活动执行后,业务测试活动才真正的开始执行,并产生执行日志和执行结果。

可选地,可根据预设模板中所填写的业务信息对应的触发方式,也即活动触发信息,构建业务测试活动对应的触发事件,其中,构建触发事件可以包括:构造业务测试活动的触发请求、构造业务测试活动的门槛请求。

以创建的业务测试活动为司机完成两单奖励5元为例,业务测试活动的触发请求可以为:司机发起两次接单请求,业务测试活动的门槛请求可以为:检测到司机完成两单。

根据所构造的业务测试活动对应的触发事件,可触发业务测试活动的执行。

图8为本申请实施例提供的又一种业务的测试方法的流程示意图;可选地,步骤S701中,根据业务配置参数获取业务信息对应的业务数据并创建对应的业务之后,本申请的方法还可包括:

S801、根据业务信息对应的触发方式建立触发数据结构。

可选地,事件驱动器在接收到业务测试活动创建完成的通知后,可根据所识别的预设模板中所填写的业务信息对应的触发方式,自动建立业务测试活动所关联的活动触发事件的触发数据结构。

其中,触发数据结构也即上述所说的业务测试活动的触发请求和业务测试活动的门槛请求所对应的数据结构。对于不同的业务项目,建立的触发数据结构是不同的,也即,不同的业务项目所构造的业务测试活动的触发事件是不同的。

步骤S702中,根据业务信息对应的触发方式,触发业务对应的事件执行,可以包括:

S802、根据触发数据结构,触发业务对应的事件执行。

可选地,本实施例中,根据从预设模板中解析得到的活动配置信息可以jsonmerge的方式,自动建立业务测试活动对应的触发数据结构。并按照触发数据结构所定义的触发方式,触发所创建的业务测试活动的执行。其中,json merge属于mysql中的函数,实现将多个json对象合并成一个对象的操作过程。

可选地,驱动服务可将所构造的触发数据结构加载至被测服务中,以使得被测服务可通过触发数据结构实时监听业务测试活动的触发事件,以在监听到触发事件时执行业务测试活动,并生成测试活动的执行日志。

以业务测试活动为司机完成两单奖励5元为例,当被测服务监听到司机发起两次接单请求后,触发测试活动的执行,当监听到司机达到奖励门槛请求,也即完成两单时,生成执行结果。

可选地,执行结果数据可以通过日志数据进行体现,例如步骤S403中,获取事件执行的执行结果数据,可以包括:收集获取事件执行的执行日志数据。

在一些实施例中,在触发业务测试活动执行的同时,驱动服务的日志解析器可将业务测试活动执行过程中产生的所有执行日志远程收集回驱动服务,以便于进行测试结果的分析。

可选地,在触发业务数据对应的事件执行的同时,驱动服务还会实时的收集事件执行过程中所生成的所有执行日志,执行日志中可包括业务的测试活动执行过程中各个流程的日志,也即全量日志,其中,也包括测试活动的执行结果数据。可从执行日志中解析获取到执行结果数据。

可选地,驱动服务可以SSH CLIENT(secure shell client,安全外壳协议客户端)的方式从被测服务中收集执行日志。

图9为本申请实施例提供的另一种业务的测试方法的流程示意图;可选地,步骤S404中,根据执行结果数据和预设结果数据进行校验,获取测试结果,可以包括:

S901、对执行日志数据进行解析,获取预设结构化日志数据。

在一些实施例中,日志解析器可以对获取的执行日志按照被测服务对应的日志规则进行解析,以生成更加简洁的结构化执行结果,以方便测试人员更加清晰的掌握测试的整个过程。

S902、根据预设结构化日志数据和预设结果数据进行校验,获取测试结果。

可选地,驱动服务的结果校验器可根据解析得到的预设结构化日志数据中所包含的执行结果以及从预设模板中解析得到的预设结果,对测试过程进行校验,获取测试结果,其中,测试结果可包括:测试成功或测试失败。

以司机完成两单奖励5元为例,当实际测试过程中所生成的执行结果为奖励5元时,其与预设结果数据是一致的,则可确定测试结果为测试成功。而当实际测试过程中所生成的执行结果不是奖励5元时,其与预设结果数据不一致,则可确定测试结果为测试失败,其可能是由于测试活动配置出现问题,或者是构造的触发数据结构存在问题等,可以检查并重新测试。而当测试成功时,则可将所测试的业务测试活动推广至线上进行运行,以进行业务的推广或者是业务激励等。

可选地,业务配置参数包括:各业务信息对应的预设结果数据。

如上述所说的,业务配置参数中还可包括各业务信息对应的预设结果数据,以用来对实际的执行结果进行校验。此处不再一一赘述。

在一些可选的实现方式中,结果校验器在对执行结果校验完成后,还可将本次测试过程中的所有日志数据存储到被测服务的后台数据库,其中包括测试活动数据、场景触发数据、结果校验数据、被测服务环境配置数据等,以达到可以在任何时候都能完成历史用例回归的目的。

而为达到用例执行和用例回归的目标,在架构设计之初,需要对模板驱动器、事件触发器、日志解析器等分别对应的功能模块进行解耦设计,以满足用例执行场景和回归场景的测试需要。

综上,本实施例提供的业务的测试方法,包括:接收业务配置参数,业务配置参数包括:至少一个业务信息;根据业务配置参数获取业务信息对应的业务数据、触发业务数据对应的事件执行;获取事件执行的执行结果数据;根据执行结果数据和预设结果数据进行校验,获取测试结果。本方案中,在进行业务测试时,是基于接收的业务配置参数中的各业务信息自动的识别获取业务数据、以及触发业务数据对应的事件执行,相比于现有技术中通过测试人员按照顺序依次配置业务数据和触发事件,本方法中测试人员只需要提供业务配置参数即可,可有效提高业务测试的效率。另外,基于事件的执行,可自动获取执行结果数据,以与预期结果数据进行校验,获取测试结果,相比于现有技术中,测试人员手工搜索执行结果数据进行校验,本方法的校验效率和精确度较高。通过本方法的执行,整个业务的测试流程较为简单,耗时较短,从而提高了测试效率和准确度。

下述对用以执行本申请所提供的业务的测试方法对应的装置、设备及存储介质等进行说明,其具体的实现过程以及技术效果参见上述,下述不再赘述。

图10为本申请实施例提供的一种业务的测试装置的示意图,该业务的测试装置实现的功能对应上述方法执行的步骤。该装置可以理解为上述服务器,或服务器的处理器,也可以理解为独立于上述服务器或处理器之外的在服务器控制下实现本申请功能的组件,如图所示,该装置可以包括:接收模块610、获取模块620、校验模块630;

接收模块610,用于接收业务配置参数,业务配置参数包括:至少一个业务信息;

获取模块620,用于根据业务配置参数获取业务信息对应的业务数据、触发业务数据对应的事件执行;获取事件执行的执行结果数据;

校验模块630,用于根据执行结果数据和预设结果数据进行校验,获取测试结果。

可选地,接收模块610,具体用于接收通过预设模板提交的业务配置参数,预设模板包括:业务项目、以及对应的业务配置参数输入位置;

获取模块620,具体用于根据预设模板提取各业务项目对应的业务信息;根据业务信息获取业务信息对应的业务数据。

可选地,获取模块620,具体用于在预设模板中提取各业务项目所对应的业务配置参数输入位置中的关键词;根据关键词确定业务信息。

可选地,预设模板为表格,表格包括至少一行,每行包括一个业务的业务项目、以及对应的业务配置参数。

可选地,业务配置参数包括:业务信息对应的触发方式;

获取模块620,具体用于根据业务配置参数获取业务信息对应的业务数据并创建对应的业务;根据业务信息对应的触发方式,触发业务对应的事件执行。

可选地,该装置还包括:建立模块、触发模块;

建立模块,用于根据业务信息对应的触发方式建立触发数据结构;

触发模块,用于根据触发数据结构,触发业务对应的事件执行。

可选地,获取模块620,具体用于收集获取事件执行的执行日志数据。

可选地,校验模块630,具体用于对执行日志数据进行解析,获取预设结构化日志数据;根据预设结构化日志数据和预设结果数据进行校验,获取测试结果。

可选地,业务配置参数包括:各业务信息对应的预设结果数据。

上述模块可以经由有线连接或无线连接彼此连接或通信。有线连接可以包括金属线缆、光缆、混合线缆等,或其任意组合。无线连接可以包括通过LAN、WAN、蓝牙、ZigBee、或NFC等形式的连接,或其任意组合。两个或更多个模块可以组合为单个模块,并且任何一个模块可以分成两个或更多个单元。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

需要说明的是,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(Digital SingnalProcessor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(System-on-a-chip,简称SOC)的形式实现。

图11为本申请实施例提供的一种电子设备的结构示意图,如图11所示,该设备包括:处理器601和存储器602,其中:存储器602用于存储程序,处理器601调用存储器602存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。

可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。

以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

本申请实施例公开了TS1、一种业务的测试方法,其中,包括:

接收业务配置参数,所述业务配置参数包括:至少一个业务信息;

根据所述业务配置参数获取所述业务信息对应的业务数据、触发业务数据对应的事件执行;

获取所述事件执行的执行结果数据;

根据所述执行结果数据和预设结果数据进行校验,获取测试结果。

TS1、根据TS1所述的方法,其中,所述接收业务配置参数,包括:

接收通过预设模板提交的所述业务配置参数,所述预设模板包括:业务项目、以及对应的所述业务配置参数输入位置;

所述根据所述业务配置参数获取所述业务信息对应的业务数据,包括:

根据所述预设模板提取各所述业务项目对应的所述业务信息;

根据所述业务信息获取所述业务信息对应的业务数据。

TS3、根据TS2所述的方法,其中,所述根据所述预设模板提取各所述业务项目对应的所述业务信息,包括:

在所述预设模板中提取各所述业务项目所对应的所述业务配置参数输入位置中的关键词;

根据所述关键词确定所述业务信息。

TS4、根据TS3所述的方法,其中,所述预设模板为表格,所述表格包括至少一行,每行包括一个业务的业务项目、以及对应的所述业务配置参数。

TS5、根据TS1-TS4任一项所述的方法,其中,所述业务配置参数包括:所述业务信息对应的触发方式;

所述根据所述业务配置参数获取所述业务信息对应的业务数据、触发业务数据对应的事件执行,包括:

根据所述业务配置参数获取所述业务信息对应的业务数据并创建对应的业务;

根据所述业务信息对应的触发方式,触发所述业务对应的事件执行。

TS6、根据TS5所述的方法,其中,所述根据所述业务配置参数获取所述业务信息对应的业务数据并创建对应的业务之后,还包括:

根据所述业务信息对应的触发方式建立触发数据结构;

所述根据所述业务信息对应的触发方式,触发所述业务对应的事件执行,包括:

根据所述触发数据结构,触发所述业务对应的事件执行。

TS7、根据TS1所述的方法,其中,所述获取所述事件执行的执行结果数据,包括:

收集获取所述事件执行的执行日志数据。

TS8、根据TS7所述的方法,其中,所述根据所述执行结果数据和预设结果数据进行校验,获取测试结果,包括:

对所述执行日志数据进行解析,获取预设结构化日志数据;

根据所述预设结构化日志数据和所述预设结果数据进行校验,获取测试结果。

TS9、根据TS1或TS7或TS8所述的方法,其中,所述业务配置参数包括:各所述业务信息对应的所述预设结果数据。

TS10、一种业务的测试装置,其中,包括:接收模块、获取模块、校验模块;

所述接收模块,用于接收业务配置参数,所述业务配置参数包括:至少一个业务信息;

所述获取模块,用于根据所述业务配置参数获取所述业务信息对应的业务数据、触发业务数据对应的事件执行;获取所述事件执行的执行结果数据;

所述校验模块,用于根据所述执行结果数据和预设结果数据进行校验,获取测试结果。

TS11、一种电子设备,其中,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行时执行如TS1至TS9任一所述的方法的步骤。

TS12、一种计算机可读存储介质,其中,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如TS1至TS9任一所述的方法的步骤。

TS13、一种计算机程序产品,包括计算机程序/指令,其中,所述计算机程序/指令被处理器执行时实现如TS1至TS9任一所述的方法的步骤。

相关技术
  • 业务的测试方法、装置、设备、介质及计算机程序产品
  • 测试方法、装置、设备、可读存储介质及计算机程序产品
技术分类

06120112774446