CN116361170A - 大数据测试方法、装置、服务器及存储介质 - Google Patents

大数据测试方法、装置、服务器及存储介质 Download PDF

Info

Publication number
CN116361170A
CN116361170A CN202310326330.9A CN202310326330A CN116361170A CN 116361170 A CN116361170 A CN 116361170A CN 202310326330 A CN202310326330 A CN 202310326330A CN 116361170 A CN116361170 A CN 116361170A
Authority
CN
China
Prior art keywords
test
task
execution
configuration
plans
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.)
Pending
Application number
CN202310326330.9A
Other languages
English (en)
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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN202310326330.9A priority Critical patent/CN116361170A/zh
Publication of CN116361170A publication Critical patent/CN116361170A/zh
Pending legal-status Critical Current

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/3684Test management for test design, e.g. generating new test cases
    • 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/3672Test management
    • G06F11/3692Test management for test results analysis
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明涉及测试,提供一种大数据测试方法、装置、服务器及存储介质。该方法解析客户端发送的测试请求,得到请求参数,基于请求参数,对测试任务及配置测试用例库进行校验,若通过校验,根据请求参数及任务脚本生成多个测试子计划,并发送至分布式系统,接收分布式系统返回的测试结果及状态码,并能够快速生成测试报告。此外,本发明还涉及区块链技术,所述测试报告可存储于区块链中。

Description

大数据测试方法、装置、服务器及存储介质
技术领域
本发明涉及测试技术领域,尤其涉及一种大数据测试方法、装置、服务器及存储介质。
背景技术
目前,在金融科技领域中,数据测试承担着十分重要的角色,一个好的数据测试可以有效的避免问题的产生,为高层应用和决策清扫数据中的漏洞,从而避免因决策失误而导致的损失。
在现有的大数据测试方案中,在调用测试用例对大数据进行测试时,由于需要基于测试需求重新生成新的测试用例,导致进行大数据测试时花费了测试用例的生成时间,同时,由于测试人员与开发人员之间信息不同步,导致开发测试的口径和逻辑不统一,从而造成测试效率低下。
发明内容
鉴于以上内容,有必要提供一种大数据测试方法、装置、服务器及存储介质,能够解决如何提高测试效率的技术问题。
一方面,本发明提出一种大数据测试方法,应用于服务器,所述服务器分别与客户端及分布式系统相通信,所述大数据测试方法包括:
接收所述客户端发送的测试请求;
解析所述测试请求,得到请求参数,所述请求参数包括任务名称;
基于所述请求参数,对与所述任务名称对应的测试任务及配置测试用例库进行校验;
若所述测试任务及所述配置测试用例库通过校验,则根据所述请求参数及所述任务脚本生成多个测试子计划;
将所述多个测试子计划发送至所述分布式系统,并接收所述分布式系统返回的测试结果及状态码;
根据多个所述测试结果及对应的多个所述状态码生成测试报告。
根据本发明优选实施例,所述将所述多个测试子计划发送至所述分布式系统包括:
统计所述多个测试子计划的计划总量;
量化所述分布式系统中每个系统设备的执行任务的执行时长;
获取每个系统设备处于非空闲状态的状态持续时长;
根据所述执行时长及所述状态持续时长,从多个所述系统设备中选取目标设备,所述目标设备的设备数量等于所述计划总量;
将所述多个测试子计划并行发送至所述分布式系统中的多个所述目标设备中。
根据本发明优选实施例,所述根据所述执行时长及所述状态持续时长,从多个所述系统设备中选取目标设备包括:
计算所述执行时长与所述状态持续时长的时长总和;
根据所述执行时长及所述时长总和,计算每个系统设备的设备优先级;
根据所述设备优先级,从所述多个系统设备中选取所述目标设备。
根据本发明优选实施例,所述根据所述请求参数及所述任务脚本生成多个测试子计划包括:
根据所述请求参数中的用例标识从所述配置测试用例库中获取目标用例;
将所述目标用例写入所述任务脚本中,得到测试执行计划;
拆分所述测试执行计划,得到所述多个测试子计划。
根据本发明优选实施例,所述拆分所述测试执行计划,得到所述多个测试子计划包括:
获取所述测试执行计划中的多个测试对象;
基于所述多个测试对象,对所述测试执行计划进行拆分,得到所述多个测试子计划,不同的测试子计划中的测试对象不同。
根据本发明优选实施例,所述测试结果包括用例执行结果及对应的风险级别,所述根据多个所述测试结果及对应的多个所述状态码生成测试报告包括:
对状态码为预设状态所对应的用例执行结果进行更新处理,得到更新结果;
根据所述更新结果及状态码不为预设状态的用例执行结果,计算所述目标用例的通过率;
根据所述通过率及配置率生成每个风险级别的测试结论;
根据所述目标用例的用例数量及所述用例执行结果的结果数量计算所述目标用例的执行率;
根据所述执行率、所述通过率及所述测试结果生成所述测试报告。
根据本发明优选实施例,所述基于所述请求参数,对与所述任务名称对应的测试任务及配置测试用例库进行校验包括:
基于所述任务名称,检测配置任务库中是否包括所述测试任务的任务脚本;
若所述配置任务库中包括所述任务脚本,则基于所述请求参数中的用例标识,检测所述配置测试用例库是否存在对应的测试用例;
若所述配置测试用例库中存在与所述用例标识的测试用例,则确定所述测试任务及所述配置测试用例库通过校验。
另一方面,本发明还提出一种大数据测试装置,运行于服务器,所述服务器分别与客户端及分布式系统相通信,所述大数据测试装置包括:
接收单元,用于接收所述客户端发送的测试请求;
解析单元,用于解析所述测试请求,得到请求参数,所述请求参数包括任务名称;
校验单元,用于基于所述请求参数,对与所述任务名称对应的测试任务及配置测试用例库进行校验;
生成单元,用于若所述测试任务及所述配置测试用例库通过校验,则根据所述请求参数及所述任务脚本生成多个测试子计划;
发送单元,用于将所述多个测试子计划发送至所述分布式系统,并接收所述分布式系统返回的测试结果及状态码;
所述生成单元,还用于根据多个所述测试结果及对应的多个所述状态码生成测试报告。
另一方面,本发明还提出一种服务器,所述服务器包括:
存储器,存储计算机可读指令;及
处理器,执行所述存储器中存储的计算机可读指令以实现所述大数据测试方法。
另一方面,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可读指令,所述计算机可读指令被服务器中的处理器执行以实现所述大数据测试方法。
由以上技术方案可以看出,本申请通过对所述配置测试用例库的统一管理,不仅实现了测试用例的可复用性,还实现了测试数据和测试用例的分离解耦,保障了测试逻辑有迹可循。此外,开发人员在数据开发完成后可系统测试并留档,达到业务逻辑和口径上的统一,同时,本申请合理的调用分布式系统中的可用资源执行所述多个测试子计划,降低了测试的时间成本。
附图说明
图1是本发明大数据测试方法的应用环境图。
图2是本发明大数据测试方法的较佳实施例的流程图。
图3是本发明大数据测试方法中测试报告的示意图。
图4是本发明大数据测试方法中测试报告的另一示意图。
图5是本发明大数据测试方法的较佳实施例的测试流向图。
图6是本发明大数据测试装置的较佳实施例的功能模块图。
图7是本发明实现大数据测试方法的较佳实施例的服务器的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
如图1所示,是本发明大数据测试方法的应用环境图。所述大数据测试方法应用于服务器1中,所述服务器1分别与客户端21、客户端22及分布式系统3相通信。所述分布式系统3包括系统设备31、系统设备32、系统设备33等多个系统设备,本申请对所述分布式系统3中系统设备的数量不作限制。本申请对客户端的数量不作限制。
在图1中,所述服务器1用于接收所述客户端21发送的测试请求,并解析测试请求,校验测试任务及测试用例库,生成测试子计划,并发送测试子计划至所述系统设备31、所述系统设备32、所述系统设备33,并分别接收所述系统设备31、所述系统设备32、所述系统设备33返回的测试结果及状态码,进一步生成测试报告,并返回测试报告至所述客户端21。
所述客户端21用于发送测试请求至所述服务器1中,并接收从所述服务器1返回的测试报告。所述客户端22在本发明大数据测试方法中所执行的程序与所述客户端21相似,本申请不再赘述。
所述系统设备31、所述系统设备32、所述系统设备33分别接收所述服务器1发送的测试子计划,并执行相应的测试子计划,最后将生成的测试结果及状态码发送至所述服务器1。
如图2所示,是本发明大数据测试方法的较佳实施例的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
所述大数据测试方法应用于一个或者多个服务器中,所述服务器是一种能够按照事先设定或存储的计算机可读指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字信号处理器(DigitalSignal Processor,DSP)、嵌入式设备等。
所述服务器可以是任何一种可与用户进行人机交互的电子产品的服务端,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(Internet Protocol Television,IPTV)、智能穿戴式设备等。
所述服务器可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量主机或网络服务器构成的云。
所述服务器所在的网络包括,但不限于:互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。
所述服务器分别与客户端及分布式系统相通信。
101,接收所述客户端发送的测试请求。
在本发明的至少一个实施例中,所述测试请求是用户对金融科技领域中的数据产品研发阶段中的数据有测试需求时触发生成。所述测试请求可以是UT测试(UnitTesting)、SIT测试(System Integration Test)和UAT测试(User Acceptance Test)等阶段测试中的任意一种测试。
所述测试请求中携带有用户在所述客户端上配置好的请求参数,例如,所述请求参数可以包括,但不限于:任务名称、测试用例标识码等。
在本发明的至少一个实施例中,在接收所述客户端发送的测试请求之前,所述方法还包括:
所述服务器接收所述客户端发送的探测信号,并根据所述探测信号生成对应的反馈信号,并将所述反馈信号发送至所述客户端,当检测到所述客户端基于所述反馈信号发出的连接信息,所述服务器基于所述连接信息与所述客户端建立连接。
通过上述实施方式,能够确保所述服务器与所述客户端成功建立连接,从而保证所述服务器能够成功接收到所述测试请求。
在其他实施例中,所述客户端接收到所述反馈信号后,所述客户端检测所述反馈信号与所述探测信号是否匹配,若所述反馈信号与所述探测信号匹配成功,所述客户端向所述服务器发送所述连接信息。
102,解析所述测试请求,得到请求参数,所述请求参数包括任务名称。
在本发明的至少一个实施例中,所述请求参数是指所述用户在所述客户端上配置生成的参数。
所述任务名称是指所述测试请求中需求执行测试的任务所对应的名称,例如,所述任务名称可以是hive_jcc_job3。
在本发明的至少一个实施例中,所述服务器解析所述测试请求,得到请求参数包括:
基于预设标识,从所述测试请求中定位出请求报文;
从所述请求报文中提取出与配置标签所对应的信息作为所述请求参数。
其中,所述预设标识用于指示报文信息,例如,所述预设标识可以是{}。
所述配置标签可以是金融科技领域中的开发用户预先配置好的标签,例如,所述配置标签可以是name、age等标签。
通过所述预设标识,能够快速的定位出所述请求报文,进而通过所述配置标签,能够快速从所述请求报文中提取到所述请求参数。
103,基于所述请求参数,对与所述任务名称对应的测试任务及配置测试用例库进行校验。
在本发明的至少一个实施例中,所述测试任务是指标识有所述任务名称的任务。
所述配置测试用例库为用于统一管理测试用例的数据库,所述配置测试用例库可为所述测试任务选择满足测试场景的用例。若所述配置测试用例库中没有特定的测试用例,用户可在所述配置测试用例库中添加相应的测试用例,所述配置测试用例库中的测试用例可重复使用。
在本发明的至少一个实施例中,所述服务器基于所述请求参数,对与所述任务名称对应的测试任务及配置测试用例库进行校验包括:
基于所述任务名称,检测配置任务库中是否包括所述测试任务的任务脚本;
若所述配置任务库中包括所述任务脚本,则基于所述请求参数中的用例标识,检测所述配置测试用例库是否存在对应的测试用例;
若所述配置测试用例库中存在与所述用例标识的测试用例,则确定所述测试任务及所述配置测试用例库通过校验。
其中,所述配置任务库中存储有多个测试人员预先配置好的任务脚本,当所述配置任务库中存储有任务脚本,则说明测试人员在所述服务器中配置过该测试任务所需的代码信息,其中,该代码信息可以是测试用例。
通过上述实施方式,由于所述配置任务库中的脚本数量远远小于所述配置测试用例库中测试用例的数量,因此通过先对所述配置任务库进行脚本检测,进而在确定出所述配置任务库中包括所述任务脚本后,对所述配置测试用例库进行进一步检测,能够提高校验效率。
在本发明的至少一个实施例中,若所述配置任务库中不包括所述任务脚本,或者所述配置测试用例库中不存在与所述用例标识的测试用例,则确定所述配置测试用例库未通过校验。
通过上述实施方式,在所述配置任务库中不包括所述任务脚本时,直接确定所述配置测试用例库未通过校验,能够提高校验效率。
在本发明的至少一个实施例中,若所述配置测试用例库未通过校验,所述服务器基于所述测试请求生成提示信息,并将所述提示信息发送至所述客户端。
通过上述实施方式,能够及时向用户发送提示信息,以提醒用户及时补充任务脚本及测试用例。
104,若所述测试任务及所述配置测试用例库通过校验,则根据所述请求参数及所述任务脚本生成多个测试子计划。
在本发明的至少一个实施例中,每个测试子计划包括对应的测试用例。
在本发明的至少一个实施例中,所述服务器根据所述请求参数及所述任务脚本生成多个测试子计划包括:
根据所述请求参数中的用例标识从所述配置测试用例库中获取目标用例;
将所述目标用例写入所述任务脚本中,得到测试执行计划;
拆分所述测试执行计划,得到所述多个测试子计划。
其中,所述用例标识用于唯一标识所述目标用例。
通过所述用例标识,能够准确的获取到所述目标用例,从而提高所述测试执行计划的生成准确性,通过对所述测试执行计划的拆分,能够提高所述多个测试子计划的执行效率。
具体地,所述服务器拆分所述测试执行计划,得到所述多个测试子计划包括:
获取所述测试执行计划中的多个测试对象;
基于所述多个测试对象,对所述测试执行计划进行拆分,得到所述多个测试子计划,不同的测试子计划中的测试对象不同。
其中,所述多个测试对象可以包括,但不限于:脚本测试对象、数据测试对象及部署配置测试对象等。具体地,所述脚本测试对象包括,但不限于:脚本撰写是否规范、脚本执行是否报错、性能是否满足业务场景需求、任务及脚本对应关系是否正确。所述数据测试对象包括两种级别,分别为表级别和字段级别,在所述表级别中,所述数据测试对象包括,但不限于:表行数、表大小;在所述字段级别中,所述数据测试对象包括,但不限于:非空字段是否存在值、主键唯一性、枚举字段是否正确、格式是否满足、数据是否合法已脱敏。所述部署配置测试对象包括,但不限于:程序执行用户是否正确、执行队列是否正确、依赖关系配置是否正确、调度周期是否正确、调度单元是否正确、优先级是否正确。
通过将相同的测试对象归类至同一测试子计划,不同的测试对象归类至不同的测试子计划,提高所述测试子计划的生成合理性。
105,将所述多个测试子计划发送至所述分布式系统,并接收所述分布式系统返回的测试结果及状态码。
在本发明的至少一个实施例中,所述分布式系统包括多个系统设备。
所述测试结果及所述状态码是指所述分布式系统中的系统设备执行相应的测试子计划后所生成的执行结果。
所述测试结果包括用例执行结果及对应的风险级别,例如,所述用例执行结果包括:通过、不通过。所述风险级别包括:error、warning、critical等。
所述状态码包括:未处理、已处理及无需处理等。
在本发明的至少一个实施例中,所述服务器将所述多个测试子计划发送至所述分布式系统包括:
统计所述多个测试子计划的计划总量;
量化所述分布式系统中每个系统设备的执行任务的执行时长;
获取每个系统设备处于非空闲状态的状态持续时长;
根据所述执行时长及所述状态持续时长,从多个所述系统设备中选取目标设备,所述目标设备的设备数量等于所述计划总量;
将所述多个测试子计划并行发送至所述分布式系统中的多个所述目标设备中。
其中,所述执行任务包括所述系统设备正在执行的任务及未处理的任务。
其中,所述状态持续时长是指所述系统设备处于非空闲状态的起始时刻至所述多个测试子计划的生成时刻的时长,例如,所述系统设备处于非空闲状态的起始时刻为10:00,所述多个测试子计划的生成时刻为10:10,则所述状态持续时长为10分钟。
所述目标设备是指设备优先级最高的N个系统设备,其中,N为所述计划总量。所述设备优先级的计算方式在下述进行描述。
通过所述计划总量,能够选取出合理数量的目标设备,从而能够在不浪费系统资源的前提下,提高所述多个测试子计划的执行效率,从而提高所述测试请求的响应效率,通过所述执行时长及所述状态持续时长,能够从所述多个系统设备中选取出合适的目标设备,能够在避免所述目标设备处于非空闲状态的时间过长的前提下,同时避免所述目标设备执行所述多个测试子计划的等待时间过长。
具体地,所述服务器调用量化工具对每个系统设备处理对应的执行任务的执行时长进行量化。
具体地,所述服务器根据所述执行时长及所述状态持续时长,从多个所述系统设备中选取目标设备包括:
计算所述执行时长与所述状态持续时长的时长总和;
根据所述执行时长及所述时长总和,计算每个系统设备的设备优先级;
根据所述设备优先级,从所述多个系统设备中选取所述目标设备。
其中,所述设备优先级的计算公式为:
Figure BDA0004156039330000101
其中,y表示所述设备优先级,a表示所述执行时长,b表示所述时长总和,k1、k2为预设常数,k1+k2=1。
通过所述执行时长及所述时长总和,能够合理的确定出所述设备优先级,从而提高所述目标设备的选取合理性。
在本发明的至少一个实施例中,所述服务器接收所述分布式系统返回的测试结果及状态码包括:
计算所述执行时长与预设时长的总和,得到目标时长;
经所述目标时长后,所述服务器调用接收线程接收所述目标设备返回的所述测试结果及所述状态码。
其中,所述预设时长是根据所述分布式系统中的系统设备执行测试用例所需的时长,例如,所述预设时长可以是10秒钟。
通过所述执行时长及所述预设时长,能够确定出合理的目标时长,进而在所述目标时长后,提前准备所述接收线程对所述测试结果及所述状态码的接收。
106,根据多个所述测试结果及对应的多个所述状态码生成测试报告。
需要强调的是,为进一步保证上述测试报告的私密和安全性,上述测试报告还可以存储于一区块链的节点中。
如图3所示,图3是本发明大数据测试方法中测试报告的示意图。在图3中,所述测试报告包括所述目标用例的执行率、所述目标用例的通过率及所述测试结果等。图3仅为其中一种示例。
如图4所示,图4是本发明大数据测试方法中测试报告的另一示意图。在图4中,所示测试包括所述目标用例的用例代码标识、所述目标用例的用例执行结果、所述目标用例的用例执行明细、风险级别、状态码等。图4仅为其中一种示例。
在本发明的至少一个实施例中,所述服务器根据多个所述测试结果及对应的多个所述状态码生成测试报告包括:
对状态码为预设状态所对应的用例执行结果进行更新处理,得到更新结果;
根据所述更新结果及状态码不为预设状态的用例执行结果,计算所述目标用例的通过率;
根据所述通过率及配置率生成每个风险级别的测试结论;
根据所述目标用例的用例数量及所述用例执行结果的结果数量计算所述目标用例的执行率;
根据所述执行率、所述通过率及所述测试结果生成所述测试报告。
其中,所述预设状态可以是无需处理状态。
例如,若状态码A为无需处理状态,经更新处理,将所述状态码A所对应的用例执行结果从“不通过”转换为更新结果“通过”。
所述配置率可以根据实际需求设定,例如,所述配置率可以是100%。
由于在金融科技领域中,存在部分业务场景允许存在该问题或该问题存在且不可避免,因此通过所述预设状态对所述用例执行结果进行更新,能够提高所述用例执行结果的生成合理性,进而根据更新后的用例执行结果对所述目标用例的通过率进行计算,能够提高所述通过率的计算准确性,从而提高所述测试报告的生成准确性。
本实施例中,当所述测试请求为所述UT测试,及所述测试请求通过所述UT测试时,所述服务器触发并接收所述客户端生成与所述SIT测试对应的另一测试请求,进一步地,所述服务器根据所述UT测试的测试报告,对大数据进行SIT测试,当大数据通过所述SIT测试时,所述服务器触发并接收所述客户端生成与所述UAT测试对应的另一测试请求,进一步地,所述服务器根据所述UT测试的测试报告及所述SIT测试的测试报告,对大数据进行UAT测试,当大数据通过所述UAT测试时,则表示该大数据所对应的产品可发版上线。
如图5所示,图5是本发明大数据测试方法的较佳实施例的测试流向图。在图5中,当数据产品完成并通过UT测试时,将该数据产品移交至下一阶段测试(即:SIT测试),当该数据产品完成并通过SIT测试时,将该数据产品移交至下一阶段测试(即:UAT测试),当UT测试、SIT测试、UAT测试全部通过后,则表示该数据产品可发版上线。
本实施例在各阶段测试自动化完成并通过后,将数据产品移交下一阶段测试,同时因为下一阶段的测试可以知悉上一阶段的测试用例及测试用例结果,因此,能够基于上一阶段的测试用例及测试用例结果在自身角度补充和完善测试,以节约测试时间成本。
由以上技术方案可以看出,本申请通过对所述配置测试用例库的统一管理,不仅实现了测试用例的可复用性,还实现了测试数据和测试用例的分离解耦,保障了测试逻辑有迹可循。此外,开发人员在数据开发完成后可系统测试并留档,达到业务逻辑和口径上的统一,同时,本申请合理的调用分布式系统中的可用资源执行所述多个测试子计划,降低了测试的时间成本。
如图6所示,是本发明大数据测试装置的较佳实施例的功能模块图。所述大数据测试装置11包括接收单元110、解析单元111、校验单元112、生成单元113及发送单元114。本发明所称的模块/单元是指一种能够被处理器13所获取,并且能够完成固定功能的一系列计算机可读指令段,其存储在存储器12中。在本实施例中,各模块/单元的功能所执行的功能包括图2中所执行的所有程序,关于各模块/单元的功能将在后续的实施例中详述。
所述大数据测试装置运行于服务器,所述服务器分别与客户端及分布式系统相通信。
接收单元110,用于接收所述客户端发送的测试请求;
解析单元111,用于解析所述测试请求,得到请求参数,所述请求参数包括任务名称;
校验单元112,用于基于所述请求参数,对与所述任务名称对应的测试任务及配置测试用例库进行校验;
生成单元113,用于若所述测试任务及所述配置测试用例库通过校验,则根据所述请求参数及所述任务脚本生成多个测试子计划;
发送单元114,用于将所述多个测试子计划发送至所述分布式系统,并接收所述分布式系统返回的测试结果及状态码;
所述生成单元113,还用于根据多个所述测试结果及对应的多个所述状态码生成测试报告。
在本发明的至少一个实施例中,所述发送单元114,还用于统计所述多个测试子计划的计划总量;
量化所述分布式系统中每个系统设备的执行任务的执行时长;
获取每个系统设备处于非空闲状态的状态持续时长;
根据所述执行时长及所述状态持续时长,从多个所述系统设备中选取目标设备,所述目标设备的设备数量等于所述计划总量;
将所述多个测试子计划并行发送至所述分布式系统中的多个所述目标设备中。
在本发明的至少一个实施例中,所述发送单元114,还用于计算所述执行时长与所述状态持续时长的时长总和;
根据所述执行时长及所述时长总和,计算每个系统设备的设备优先级;
根据所述设备优先级,从所述多个系统设备中选取所述目标设备。
在本发明的至少一个实施例中,所述生成单元113,还用于根据所述请求参数中的用例标识从所述配置测试用例库中获取目标用例;
将所述目标用例写入所述任务脚本中,得到测试执行计划;
拆分所述测试执行计划,得到所述多个测试子计划。
在本发明的至少一个实施例中,所述生成单元113,还用于获取所述测试执行计划中的多个测试对象;
基于所述多个测试对象,对所述测试执行计划进行拆分,得到所述多个测试子计划,不同的测试子计划中的测试对象不同。
在本发明的至少一个实施例中,所述测试结果包括用例执行结果及对应的风险级别,所述生成单元113,还用于对状态码为预设状态所对应的用例执行结果进行更新处理,得到更新结果;
根据所述更新结果及状态码不为预设状态的用例执行结果,计算所述目标用例的通过率;
根据所述通过率及配置率生成每个风险级别的测试结论;
根据所述目标用例的用例数量及所述用例执行结果的结果数量计算所述目标用例的执行率;
根据所述执行率、所述通过率及所述测试结果生成所述测试报告。
在本发明的至少一个实施例中,所述校验单元112,还用于基于所述任务名称,检测配置任务库中是否包括所述测试任务的任务脚本;
若所述配置任务库中包括所述任务脚本,则基于所述请求参数中的用例标识,检测所述配置测试用例库是否存在对应的测试用例;
若所述配置测试用例库中存在与所述用例标识的测试用例,则确定所述测试任务及所述配置测试用例库通过校验。
由以上技术方案可以看出,本申请通过对所述配置测试用例库的统一管理,不仅实现了测试用例的可复用性,还实现了测试数据和测试用例的分离解耦,保障了测试逻辑有迹可循。此外,开发人员在数据开发完成后可系统测试并留档,达到业务逻辑和口径上的统一,同时,本申请合理的调用分布式系统中的可用资源执行所述多个测试子计划,降低了测试的时间成本。
如图7所示,是本发明实现大数据测试方法的较佳实施例的服务器的结构示意图。
在本发明的一个实施例中,所述服务器1包括,但不限于,存储器12、处理器13,以及存储在所述存储器12中并可在所述处理器13上运行的计算机可读指令,例如大数据测试程序。
本领域技术人员可以理解,所述示意图仅仅是服务器1的示例,并不构成对服务器1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述服务器1还可以包括输入输出设备、网络接入设备、总线等。
所述处理器13可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器13是所述服务器1的运算核心和控制中心,利用各种接口和线路连接整个服务器1的各个部分,及执行所述服务器1的操作系统以及安装的各类应用程序、程序代码等。
示例性的,所述计算机可读指令可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器12中,并由所述处理器13执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该计算机可读指令段用于描述所述计算机可读指令在所述服务器1中的执行过程。例如,所述计算机可读指令可以被分割成接收单元110、解析单元111、校验单元112、生成单元113及发送单元114。
所述存储器12可用于存储所述计算机可读指令和/或模块,所述处理器13通过运行或执行存储在所述存储器12内的计算机可读指令和/或模块,以及调用存储在存储器12内的数据,实现所述服务器1的各种功能。所述存储器12可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。存储器12可以包括非易失性和易失性存储器,例如:硬盘、内存、插接式硬盘,智能存储卡(Smart MediaCard,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他存储器件。
所述存储器12可以是服务器1的外部存储器和/或内部存储器。进一步地,所述存储器12可以是具有实物形式的存储器,如内存条、TF卡(Trans-flash Card)等等。
所述服务器1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一计算机可读存储介质中,该计算机可读指令在被处理器执行时,可实现上述各个方法实施例的步骤。
其中,所述计算机可读指令包括计算机可读指令代码,所述计算机可读指令代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机可读指令代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)。
本发明所指区块链是分布式大数据测试、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
结合图2,所述服务器1中的所述存储器12存储计算机可读指令实现一种大数据测试方法,所述处理器13可执行所述计算机可读指令从而实现:
接收客户端发送的测试请求;
解析所述测试请求,得到请求参数,所述请求参数包括任务名称;
基于所述请求参数,对与所述任务名称对应的测试任务及配置测试用例库进行校验;
若所述测试任务及所述配置测试用例库通过校验,则根据所述请求参数及所述任务脚本生成多个测试子计划;
将所述多个测试子计划发送至分布式系统,并接收所述分布式系统返回的测试结果及状态码;
根据多个所述测试结果及对应的多个所述状态码生成测试报告。
具体地,所述处理器13对上述计算机可读指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述计算机可读存储介质上存储有计算机可读指令,其中,所述计算机可读指令被处理器13执行时用以实现以下步骤:
接收客户端发送的测试请求;
解析所述测试请求,得到请求参数,所述请求参数包括任务名称;
基于所述请求参数,对与所述任务名称对应的测试任务及配置测试用例库进行校验;
若所述测试任务及所述配置测试用例库通过校验,则根据所述请求参数及所述任务脚本生成多个测试子计划;
将所述多个测试子计划发送至分布式系统,并接收所述分布式系统返回的测试结果及状态码;
根据多个所述测试结果及对应的多个所述状态码生成测试报告。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。所述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (10)

1.一种大数据测试方法,应用于服务器,所述服务器分别与客户端及分布式系统相通信,其特征在于,所述大数据测试方法包括:
接收所述客户端发送的测试请求;
解析所述测试请求,得到请求参数,所述请求参数包括任务名称;
基于所述请求参数,对与所述任务名称对应的测试任务及配置测试用例库进行校验;
若所述测试任务及所述配置测试用例库通过校验,则根据所述请求参数及所述任务脚本生成多个测试子计划;
将所述多个测试子计划发送至所述分布式系统,并接收所述分布式系统返回的测试结果及状态码;
根据多个所述测试结果及对应的多个所述状态码生成测试报告。
2.如权利要求1所述的大数据测试方法,其特征在于,所述将所述多个测试子计划发送至所述分布式系统包括:
统计所述多个测试子计划的计划总量;
量化所述分布式系统中每个系统设备的执行任务的执行时长;
获取每个系统设备处于非空闲状态的状态持续时长;
根据所述执行时长及所述状态持续时长,从多个所述系统设备中选取目标设备,所述目标设备的设备数量等于所述计划总量;
将所述多个测试子计划并行发送至所述分布式系统中的多个所述目标设备中。
3.如权利要求2所述的大数据测试方法,其特征在于,所述根据所述执行时长及所述状态持续时长,从多个所述系统设备中选取目标设备包括:
计算所述执行时长与所述状态持续时长的时长总和;
根据所述执行时长及所述时长总和,计算每个系统设备的设备优先级;
根据所述设备优先级,从所述多个系统设备中选取所述目标设备。
4.如权利要求1所述的大数据测试方法,其特征在于,所述根据所述请求参数及所述任务脚本生成多个测试子计划包括:
根据所述请求参数中的用例标识从所述配置测试用例库中获取目标用例;
将所述目标用例写入所述任务脚本中,得到测试执行计划;
拆分所述测试执行计划,得到所述多个测试子计划。
5.如权利要求4所述的大数据测试方法,其特征在于,所述拆分所述测试执行计划,得到所述多个测试子计划包括:
获取所述测试执行计划中的多个测试对象;
基于所述多个测试对象,对所述测试执行计划进行拆分,得到所述多个测试子计划,不同的测试子计划中的测试对象不同。
6.如权利要求4所述的大数据测试方法,其特征在于,所述测试结果包括用例执行结果及对应的风险级别,所述根据多个所述测试结果及对应的多个所述状态码生成测试报告包括:
对状态码为预设状态所对应的用例执行结果进行更新处理,得到更新结果;
根据所述更新结果及状态码不为预设状态的用例执行结果,计算所述目标用例的通过率;
根据所述通过率及配置率生成每个风险级别的测试结论;
根据所述目标用例的用例数量及所述用例执行结果的结果数量计算所述目标用例的执行率;
根据所述执行率、所述通过率及所述测试结果生成所述测试报告。
7.如权利要求1所述的大数据测试方法,其特征在于,所述基于所述请求参数,对与所述任务名称对应的测试任务及配置测试用例库进行校验包括:
基于所述任务名称,检测配置任务库中是否包括所述测试任务的任务脚本;
若所述配置任务库中包括所述任务脚本,则基于所述请求参数中的用例标识,检测所述配置测试用例库是否存在对应的测试用例;
若所述配置测试用例库中存在与所述用例标识的测试用例,则确定所述测试任务及所述配置测试用例库通过校验。
8.一种大数据测试装置,运行于服务器,所述服务器分别与客户端及分布式系统相通信,其特征在于,所述大数据测试装置包括:
接收单元,用于接收所述客户端发送的测试请求;
解析单元,用于解析所述测试请求,得到请求参数,所述请求参数包括任务名称;
校验单元,用于基于所述请求参数,对与所述任务名称对应的测试任务及配置测试用例库进行校验;
生成单元,用于若所述测试任务及所述配置测试用例库通过校验,则根据所述请求参数及所述任务脚本生成多个测试子计划;
发送单元,用于将所述多个测试子计划发送至所述分布式系统,并接收所述分布式系统返回的测试结果及状态码;
所述生成单元,还用于根据多个所述测试结果及对应的多个所述状态码生成测试报告。
9.一种服务器,其特征在于,所述服务器包括:
存储器,存储有计算机可读指令;及
处理器,执行所述存储器中存储的计算机可读指令以实现如权利要求1至7中任意一项所述的大数据测试方法。
10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质中存储有计算机可读指令,所述计算机可读指令被服务器中的处理器执行以实现如权利要求1至7中任意一项所述的大数据测试方法。
CN202310326330.9A 2023-03-23 2023-03-23 大数据测试方法、装置、服务器及存储介质 Pending CN116361170A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310326330.9A CN116361170A (zh) 2023-03-23 2023-03-23 大数据测试方法、装置、服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310326330.9A CN116361170A (zh) 2023-03-23 2023-03-23 大数据测试方法、装置、服务器及存储介质

Publications (1)

Publication Number Publication Date
CN116361170A true CN116361170A (zh) 2023-06-30

Family

ID=86941450

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310326330.9A Pending CN116361170A (zh) 2023-03-23 2023-03-23 大数据测试方法、装置、服务器及存储介质

Country Status (1)

Country Link
CN (1) CN116361170A (zh)

Similar Documents

Publication Publication Date Title
US10318412B1 (en) Systems, methods, and apparatus for dynamic software generation and testing
US10275329B2 (en) Fault isolation and identification in versioned microservices
US8799861B2 (en) Performance-testing a system with functional-test software and a transformation-accelerator
CN111752850B (zh) 区块链系统的测试方法及相关设备
CN112541009B (zh) 数据查询方法、装置、电子设备及存储介质
WO2019227607A1 (zh) 路由化订单配置及处理方法、以及系统
CN112559525B (zh) 数据检查系统、方法、装置和服务器
CN112181485B (zh) 脚本执行方法、装置、电子设备及存储介质
CN115037790B (zh) 异常注册识别方法、装置、设备及存储介质
CN116361170A (zh) 大数据测试方法、装置、服务器及存储介质
CN116303320A (zh) 基于日志文件的实时任务管理方法、装置、设备及介质
CN112817742B (zh) 数据迁移方法、装置、设备及存储介质
CN113419949B (zh) 数据处理的异常检测方法、装置、设备及存储介质
US11748686B1 (en) Automated onboarding service
WO2022068190A1 (zh) 版本验证方法、装置、电子设备及存储介质
CN114925033A (zh) 信息上链方法、装置、系统及存储介质
CN110008098B (zh) 评估业务流程中的节点的运行状况的方法和装置
CN113592645A (zh) 数据验证的方法和装置
CN113553098A (zh) Flink SQL作业的提交方法、装置及计算机设备
CN112667659B (zh) 特征加工方法及相关设备
CN112950138B (zh) 协同开发的状态管理方法、装置和服务器
KR102062818B1 (ko) 게임 점검 관리 방법 및 장치
WO2024087949A1 (zh) 变更风险防控系统、方法、电子设备及存储介质
CN112667501A (zh) 基于自动化挡板的链路测试方法、装置及相关设备
CN113468211A (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