一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

业务系统的测试方法、装置、设备及存储介质与流程

2022-02-22 09:20:56 来源:中国专利 TAG:


1.本公开涉及数据处理技术领域,尤其涉及数据测试技术领域。


背景技术:

2.在传统的业务系统测试模式中,测试人员多数对服务层的接口服务进行校验,即根据接口服务的日志判断测试行为是否成功。而一次测试行为的请求可以在服务层中调用多个接口服务,则需要校验大量日志,使得测试过程冗长,降低了测试效率。


技术实现要素:

3.本公开提供了一种业务系统的测试方法、装置、设备及存储介质。
4.根据本公开的一方面,提供了一种业务系统的测试方法,包括:
5.基于业务系统的数据层的日志信息,得到测试行为下的增量数据;
6.基于增量数据与测试行为对应的预期数据,得到数据层的校验结果;
7.基于数据层的校验结果,得到业务系统的服务层提供的接口服务的第一校验结果;其中,服务层用于基于测试行为调用接口服务进行处理,数据层用于存储接口服务的处理数据。
8.根据本公开的另一方面,提供了一种业务系统测试装置,包括:
9.确定模块,用于基于业务系统的数据层的日志信息,得到测试行为下的增量数据;
10.数据层校验模块,用于基于增量数据与测试行为对应的预期数据,得到数据层的校验结果;
11.处理模块,用于基于数据层的校验结果,得到业务系统的服务层提供的接口服务的第一校验结果;其中,服务层用于基于测试行为调用接口服务进行处理,数据层用于存储接口服务的处理数据。
12.根据本公开的另一方面,提供了一种电子设备,包括:
13.至少一个处理器;以及
14.与至少一个处理器通信连接的存储器;其中,
15.存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开实施例中任意一种业务系统测试方法。
16.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开实施例中任意一种业务系统测试方法。
17.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现本公开实施例中任意一种业务系统测试方法。
18.根据本技术实施例的技术方案,能够提升测试效率。
19.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
20.附图用于更好地理解本方案,不构成对本公开的限定。其中:
21.图1是根据本公开一实施例的业务系统测试方法的流程图;
22.图2是根据本公开一实施例的业务系统的示意图;
23.图3是根据本公开一实施例的业务系统测试方法中步骤s101的具体流程框图;
24.图4是根据本公开一实施例的数据增量感知服务进行数据分发的示意图;
25.图5是根据本公开一实施例的数据增量感知服务与数据层交互的示意图;
26.图6是根据本公开一实施例的业务系统测试的具体流程框图;
27.图7是根据本公开一实施例的业务系统测试装置的框图;
28.图8是根据本公开另一实施例的业务系统测试装置的框图;
29.图9是用来实现本公开实施例的业务系统测试方法的电子设备的框图。
具体实施方式
30.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
31.图1是根据本公开一实施例的业务系统测试方法的流程图。如图1所示,该方法可以包括:
32.s101、基于业务系统的数据层的日志信息,得到测试行为下的增量数据;
33.s102、基于增量数据与测试行为对应的预期数据,得到数据层的校验结果;
34.s103、基于数据层的校验结果,得到业务系统的服务层提供的接口服务的第一校验结果;其中,服务层用于基于测试行为调用接口服务进行处理,数据层用于存储接口服务的处理数据。
35.示例性地,如图2所示,业务系统的架构大部分包括:ui(user interface,用户界面)层、服务层和数据层。用户界面层用于通过设备终端(如电脑、手机、平板等)呈现给用户一个可执行的操作界面。例如,在测试时,用户可以通过对操作界面进行相关操作(即测试行为),则业务系统根据用户的相关操作生成对应的接口服务请求。服务层用于基于测试行为调用接口服务进行处理。例如,当服务层接收到接口服务请求后,服务层根据接口服务请求调用对应的服务模块接口,返回请求响应信息至用户界面层,以使用户界面层进行页面的绘制与渲染。数据层用于存储接口服务的处理数据,例如,在服务层调用接口服务时,会对数据层的数据库进行相关操作(如查询操作、更新操作、删除操作等),从而服务层调用数据层中的数据生成请求响应信息。在本实施例中,数据库可以为mysql数据库。
36.在步骤s101中,示例性地,数据层的日志信息可以记录数据层中修改过的数据。因此,在业务系统进行测试时,当用户在用户界面层产生测试行为后,数据层中变更的数据均会记录在日志信息中。所以通过查询日志信息,即可以确定测试行为下的增量数据。
37.在步骤s102中,示例性地,每个测试行为在数据层中都有对应的预期数据,其中,预期数据是指在测试执行中,在服务层根据测试行为提供了预期中的服务接口的情况下数据库中产生的数据。
38.进一步地,若增量数据与预期数据相同,则数据层通过校验;若增量数据与预期数据不同,则数据层未通过校验,需要测试人员进一步判断未通过校验的原因。又例如,还可以是测试人员直接判断增量数据是否符合预期数据,从而得到数据层的校验结果。
39.在步骤s103中,示例性地,由于用户对操作界面的操作最终体现在对数据层的相关操作,因此,若数据层通过校验,则可以确定服务层中提供接口服务的服务模块接口通过校验,从而减少对服务层的接口服务的日志的校验。
40.本公开的技术方案中,基于数据层的日志信息确定测试行为下的增量数据,从而根据增量数据得到数据层的校验结果,进而保证了数据层校验的充分性。又由于数据层存储接口服务的处理数据,而服务层基于测试行为调用接口服务进行处理,所以可以根据数据层的校验结果确定业务系统的服务层提供的接口服务的第一校验结果。无需大量校验服务层中的日志信息,也可以实现对服务层的校验,简化了测试流程,提升了测试效率,同时降低了人员成本。
41.在一种实施方式中,如图3所示,基于业务系统的数据层的日志信息,得到测试行为下的增量数据,包括:
42.s301、利用数据增量感知服务对数据层的日志信息进行解析,得到数据层中的增量数据;
43.s302、基于测试行为对应的测试用户标识和/或数据类型,对数据层中的增量数据进行筛选,得到测试行为下的增量数据。
44.示例性地,如图4所示,数据增量感知服务用于捕捉数据层的增量变化,可以对mysql数据库产生binlog(binary log,二进制日志文件)日志进行实时感知与解析。需要说明的是,数据增量感知服务支持多种测试场景,可以同时获取多个数据层的增量数据,并将每个数据层对应的增量数据推送至对应的测试流程。
45.示例性地,用户标识可以为用户id,还可以为其他表现形式。例如,1号测试人员和2号测试人员同时在业务系统上进行测试,则标记1号测试人员的测试行为的用户id为1,2号测试人员的测试行为的用户id为2,那么在确定数据层中的增量数据之后,测试人员可以根据用户id筛选增量数据,过滤掉测试人员不需要的数据(即可以准确筛选出该用户id下的测试行为所产生的增量数据),从而避免了测试数据干扰的问题,即使多个测试人员同时工作也可以保证测试的准确性,进而有效的提升了测试的准确率和效率。
46.示例性地,数据类型可以是根据当前测试行为在服务层调用的服务模块进行表示。例如,在进行测试时,若当前测试行为调用了服务层调用的服务模块a、服务模块b和服务模块c,那么,当前测试行为对应的数据类型为a、b、c。例如,在测试人员的id个数较少的情况下,若多个测试人员进行测试时,很容易出现用户id重复的情况。则可以在服务层对每个测试行为对应的数据类型进行标记。那么,在确定数据层中的增量数据之后,测试人员可以根据数据类型筛选增量数据,过滤掉测试人员不需要的数据,从而避免了测试数据干扰的问题,有效的提升了测试的准确率和效率。
47.又例如,在确定数据层中的增量数据之后,可以同时根据用户标识和数据类型对增量数据进行筛选,从而可以更准确的对增量数据进行过滤。进一步地,对增量数据进行筛选之后,得到筛选后的增量数据,又由于各个增量数据的表现形式不同,因此对筛选后的增量数据进行格式化处理(参见下表),使得其筛选后的增量数据格式相同,可以更简单的对
增量数据进行比对,便于对数据层进行校验。
[0048][0049]
在一种实施方式中,该方法,还包括:
[0050]
基于数据增量感知服务与数据层之间的套接字连接,向数据层发送预设指令;其中,预设指令用于指示测试行为的增量同步点;
[0051]
基于数据增量感知服务,接收业务系统的数据层基于增量同步点推送的日志信息。
[0052]
在本实施例中,如图5所示,数据增量感知服务与数据层建立套接字连接(socket),通过握手协议确认身份,数据增量感知服务获取数据层的数据库的ip(internet protocol,网际互连协议)、port(端口号)、user(用户名)、password(密码)。数据增量感知服务根据数据库的上述信息注册为数据层的数据库的从库。向数据层发送binlog dump命令(即预设指令),将发送命令的当前时刻作为增量同步点,并将数据层中当前时刻之后产生的日志信息推送至数据增量感知服务,从而避免了现有技术中通过人工查询对数据层进行校验的问题,能够直接通过数据增量感知服务得到测试操作下所有的数据增量,保证了数据层校验的充分性。
[0053]
在一种实施方式中,其中,基于数据增量感知服务,接收业务系统的数据层基于增量同步点推送的日志信息,包括:
[0054]
基于数据增量感知服务和主从复制协议接收业务系统的数据层基于增量同步点推送的日志信息。
[0055]
在本实施例中,在向数据层发送binlog dump命令(即预设指令)后,将发送命令的当前时刻作为增量同步点,通过主从复制协议获取到数据库不断推送过来的rowlevel的日志。由于采用主从复制协议可以更准确的接收日志信息,同时由于rowlevel的日志内容会非常清楚的记录下每一行数据修改的细节,因此可以准确的确定增量数据。
[0056]
在一种实施方式中,该方法,还包括:
[0057]
基于服务层的日志信息,得到服务层提供的接口服务的第二校验结果;
[0058]
和/或,
[0059]
基于业务系统的显示信息,得到业务系统的用户界面层的校验结果。
[0060]
在本实施例中,对于每个业务系统中都会预先确定服务层中的核心服务模块。为了保证核心服务模块测试的准确性,因此,在需要调用核心服务模块接口时,服务层需要再次根据服务层的日志信息校验核心服务模块接口,无需校验非核心服务模块接口,这样,不但保证了服务层测试的准确性,还减少了服务层的测试的工作量,提升了测试效率。
[0061]
在本实施例中,由于业务系统包括用户界面层、服务层和数据层,所以基于测试行为对业务系统进行测试时,分别校验用户界面层、服务层和数据层,从而全面的对业务系统进行测试。
[0062]
例如,如图6所示,一方面,当用户界面层接收到请求响应信息时,会在用户界面层
上进行渲染,再根据界面呈现的内容(即显示信息)判断用户界面层是否符合预期。另一方面,确定调用的服务层中的核心服务模块,根据服务层的日志信息对服务层进行校验。另一方面,根据数据增量感知服务确定数据层的增量数据,再按照测试人员需求对增量数据进行筛选,将筛选后的增量数据格式化,再将格式化后的增量数据是否符合预期。从而完成对业务系统的测试。需要说明的是,对用户界面层、服务层和数据层的数据校验可以是自动化进行校验的,也可以是人为进行校验的,在此不作限定。
[0063]
图7是根据本公开一实施例的业务系统测试装置的框图。如图7所示,该装置可以包括:
[0064]
确定模块701,用于基于业务系统的数据层的日志信息,得到测试行为下的增量数据;
[0065]
数据层校验模块702,用于基于增量数据与测试行为对应的预期数据,得到数据层的校验结果;
[0066]
处理模块703,用于基于数据层的校验结果,得到业务系统的服务层提供的接口服务的第一校验结果;其中,服务层用于基于测试行为调用接口服务进行处理,数据层用于存储接口服务的处理数据。
[0067]
在一种实施方式中,如图8所示,确定模块803,包括:
[0068]
解析单元804,用于利用数据增量感知服务对数据层的日志信息进行解析,得到数据层中的增量数据;
[0069]
筛选单元805,用于基于测试行为对应的测试用户标识和/或数据类型,对数据层中的增量数据进行筛选,得到测试行为下的增量数据。
[0070]
在一种实施方式中,如图8所示,该装置,还包括:
[0071]
发送模块801,用于基于数据增量感知服务与数据层之间的套接字连接,向数据层发送预设指令;其中,预设指令用于指示测试行为的增量同步点;
[0072]
接收模块802,用于基于数据增量感知服务,接收业务系统的数据层基于增量同步点推送的日志信息。
[0073]
在一种实施方式中,其中,接收模块802,还用于基于数据增量感知服务和主从复制协议接收业务系统的数据层基于增量同步点推送的日志信息。
[0074]
在一种实施方式中,如图8所示,该装置,还包括:
[0075]
服务层测试模块808,用于基于服务层的日志信息,得到服务层提供的接口服务的第二校验结果;
[0076]
和/或,
[0077]
界面层测试模块809,用于基于业务系统的显示信息,得到业务系统的用户界面层的校验结果。
[0078]
这样,本公开实施例的装置,基于数据层的日志信息确定测试行为下的增量数据,从而根据增量数据得到数据层的校验结果,进而保证了数据层校验的充分性。又由于数据层存储接口服务的处理数据,而服务层基于测试行为调用接口服务进行处理,所以可以根据数据层的校验结果确定业务系统的服务层提供的接口服务的第一校验结果。无需大量校验服务层中的日志信息,也可以实现对服务层的校验,简化了测试流程,提升了测试效率,同时降低了人员成本。
[0079]
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
[0080]
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0081]
图9示出了可以用来实施本公开的实施例的示例电子设备900的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0082]
如图9所示,设备900包括计算单元901,其可以根据存储在只读存储器(rom)902中的计算机程序或者从存储单元908加载到随机访问存储器(ram)903中的计算机程序,来执行各种适当的动作和处理。在ram903中,还可存储设备900操作所需的各种程序和数据。计算单元901、rom 902以及ram 903通过总线904彼此相连。输入/输出(i/o)接口905也连接至总线904。
[0083]
设备900中的多个部件连接至i/o接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0084]
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如业务系统测试方法。例如,在一些实施例中,业务系统测试方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由rom 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到ram 903并由计算单元901执行时,可以执行上文描述的业务系统测试方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行业务系统测试方法。
[0085]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0086]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处
理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0087]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0088]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0089]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0090]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0091]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0092]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献