CN115225549A - 断点测试方法、装置、计算机设备和存储介质 - Google Patents
断点测试方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN115225549A CN115225549A CN202210830933.8A CN202210830933A CN115225549A CN 115225549 A CN115225549 A CN 115225549A CN 202210830933 A CN202210830933 A CN 202210830933A CN 115225549 A CN115225549 A CN 115225549A
- Authority
- CN
- China
- Prior art keywords
- breakpoint
- tested
- job
- fault
- fragment
- 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.)
- Granted
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 135
- 238000000034 method Methods 0.000 claims abstract description 34
- 238000004590 computer program Methods 0.000 claims abstract description 24
- 239000012634 fragment Substances 0.000 claims description 114
- 238000011084 recovery Methods 0.000 claims description 17
- 230000004044 response Effects 0.000 claims description 6
- 238000002347 injection Methods 0.000 description 17
- 239000007924 injection Substances 0.000 description 17
- 238000012545 processing Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 8
- 230000001960 triggered effect Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004140 cleaning Methods 0.000 description 2
- 238000005553 drilling Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 210000001520 comb Anatomy 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/12—Network monitoring probes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/06—Generation of reports
- H04L43/062—Generation of reports related to network traffic
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及一种断点测试方法、装置、计算机设备、存储介质和计算机程序产品。通过基于业务数据量和运行信息保存的频率确定断点触发位置和参考记录断点,当运行至断点触发位置时触发断点,根据已保存的运行信息确定待测试作业的实际记录断点,根据实际记录断点和参考记录断点的比较确定断点记录准确时,清除故障并继续运行待测试作业,基于待测试作业的运行结果得到待测试作业的断点测试结果。相较于传统的人工触发断点确定断点正确性的方式,本方案基于业务数据量和信息保存频率确定断点触发位置和参考断点,并当运行时实际记录的断点与参考断点比较结果为准确时重提作业,基于待测试作业的运行结果确定断点测试结果,提高了断点测试的效率。
Description
技术领域
本申请涉及大数据技术领域,特别是涉及一种断点测试方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随机计算机技术的发展,分布式系统已成为业务处理的主流配置。对于业务量大或者时效性要求不高的重要业务,需要通过日终或日间作业进行处理,然而,分布式系统存在不够稳定的问题,因此需要对作业进行断点重提的处理。目前对分布式系统进行批量断点重提的方式通常是通过人工触发断点并核对断点正确性的方式。然而,通过人工触发断点并核对断点正确性的方式,由于模拟断点困难以及需要人工查表核对的方式,导致断点测试效率下降。
因此,目前的断点测试方法存在测试效率低的缺陷。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高断点测试效率的断点测试方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种断点测试方法,所述方法包括:
响应于断点测试指令,获取待测试作业、与所述待测试作业对应的待注入故障以及所述待测试作业的运行信息保存的频率;
根据所述待测试作业的业务数据量以及所述运行信息保存的频率,确定所述待测试作业对应的断点触发位置和参考记录断点;所述参考记录断点表征所述待测试作业对应的计算的断点;
运行所述待测试作业,当检测到所述待测试作业运行至所述断点触发位置时,将所述待注入故障注入所述待测试作业中以产生断点,并获取所述待测试作业生成的实际记录断点;
根据所述实际记录断点与所述参考记录断点的比较结果,确定断点记录的测试结果;
若所述断点记录的测试结果为记录准确,清除所述待测试作业中已注入的故障并继续运行所述待测试作业,根据所述待测试作业的运行结果得到所述待测试作业的断点测试结果。
在其中一个实施例中,所述获取待测试作业、待注入故障以及待测试作业的运行信息保存的频率,包括:
获取所述待测试作业的配置信息,根据所述配置信息确定所述待测试作业的作业类型和运行信息保存的频率;
根据所述待测试作业的作业类型,确定所述待测试作业对应的待注入故障。
在其中一个实施例中,所述配置信息还包括所述待测试作业对应的分片数;所述分片数表征所述待测试作业并行处理的线程数量;
所述根据所述待测试作业的业务数据量以及所述运行信息保存的频率,确定所述待测试作业对应的断点触发位置和参考记录断点,包括:
获取所述待测试作业的业务数据量;
根据所述业务数据量以及所述分片数,确定每个分片需要处理的分片业务数据量;
针对每个分片,根据该分片的分片业务数据量与所述运行信息保存的频率的比较结果,确定所述待测试作业在该分片中的断点触发位置和参考记录断点。
在其中一个实施例中,所述针对每个分片,根据该分片的分片业务数据量与所述运行信息保存的频率的比较结果,确定所述待测试作业在该分片中的断点触发位置和参考记录断点,包括:
若该分片的分片业务数据量小于或等于一次运行信息保存时的业务数据量,在第一范围内确定第一随机数,作为所述待测试作业在该分片中的断点触发位置,确定所述参考记录断点为所述该分片的起始位置;所述第一范围在该分片业务数据量的起始位置至该分片业务数据量的结束位置之间;
若该分片的分片业务数据量大于一次运行信息保存时的业务数据量,在第二范围内确定第二随机数,作为所述待测试作业在该分片中的断点触发位置,确定所述参考记录断点为该分片中距离所述断点触发位置最近一次运行信息保存的位置;所述第二范围在该分片业务数据量的第一次运行信息保存的位置至该分片业务数据量的结束位置之间。
在其中一个实施例中,所述当检测到所述待测试作业运行至所述断点触发位置时,将所述待注入故障注入所述待测试作业中以产生断点,包括:
获取所述待测试作业对应的端口、IP地址;
根据所述端口和IP地址将所述待注入故障注入所述待测试作业中,以产生断点。
在其中一个实施例中,所述配置信息还包括所述待测试作业的作业标识;所述获取所述待测试作业生成的实际记录断点,包括:
根据所述作业标识查询批量控制表,得到所述待测试作业的实际记录断点;所述批量控制表中包括多个待测试作业对应的实际记录断点。
在其中一个实施例中,所述根据所述实际记录断点与所述参考记录断点的比较结果,确定断点记录的测试结果,包括:
若所述实际记录断点符合所述参考断点信息,确定所述断点记录的测试结果为记录准确。
在其中一个实施例中,所述若所述断点记录的测试结果为记录准确,清除所述待测试作业中已注入的故障并继续运行所述待测试作业,根据所述待测试作业的运行结果得到所述待测试作业的断点测试结果,包括:
若所述断点记录的测试结果为记录准确,根据所述待注入故障的类型确定故障恢复策略,基于所述故障恢复策略清除所述待测试作业中的故障;
在所述实际记录断点的位置运行所述待测试作业,得到所述待测试作业的运行结果;
若所述运行结果中已处理的业务数据量等于所述待测试作业的业务数据量,确定所述断点测试结果为通过。
第二方面,本申请提供了一种断点测试装置,所述装置包括:
响应模块,用于响应于断点测试指令,获取待测试作业、与所述待测试作业对应的待注入故障以及所述待测试作业的运行信息保存的频率;
第一确定模块,用于根据所述待测试作业的业务数据量以及所述运行信息保存的频率,确定所述待测试作业对应的断点触发位置和参考记录断点;所述参考记录断点表征所述待测试作业对应的计算的断点;
测试模块,用于运行所述待测试作业,当检测到所述待测试作业运行至所述断点触发位置时,将所述待注入故障注入所述待测试作业中以产生断点,并获取所述待测试作业产生的实际记录断点;
第二确定模块,用于根据所述实际记录断点与所述参考记录断点的比较结果,确定断点记录的测试结果;
第三确定模块,用于若所述断点记录的测试结果为记录准确,清除所述待测试作业中已注入的故障并继续运行所述待测试作业,根据所述待测试作业的运行结果得到所述待测试作业的断点测试结果。
第三方面,本申请提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法的步骤。
第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
第五方面,本申请提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的方法的步骤。
上述断点测试方法、装置、计算机设备、存储介质和计算机程序产品,通过基于待测试作业的业务数据量和运行信息保存的频率确定断点触发位置和参考记录断点,当检测到待测试作业运行至断点触发位置时,将待注入故障注入待测试作业中以产生断点,并获取待测试作业产生的实际记录断点,根据实际记录断点和参考记录断点的比较确定断点记录准确时,清除故障并继续运行待测试作业,基于待测试作业的运行结果得到待测试作业的断点测试结果。相较于传统的需要人工触发断点并确定断点正确性的方式,本方案基于业务数据量和信息保存的频率确定断点触发位置以及参考的断点,并当运行时实际记录的断点与参考的断点比较结果为准确时重提作业,基于待测试作业的运行结果确定断点测试结果,提高了断点测试的效率。
附图说明
图1为一个实施例中断点测试方法的应用环境图;
图2为一个实施例中断点测试方法的流程示意图;
图3为另一个实施例中断点测试方法的流程示意图;
图4为一个实施例中断点测试的结构示意图;
图5为一个实施例中作业配置步骤的结构示意图;
图6为一个实施例中故障注入步骤的结构示意图;
图7为一个实施例中重提运行步骤的结构示意图;
图8为一个实施例中断点触发步骤的结构示意图;
图9为一个实施例中断点测试装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的断点测试方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与节点104进行通信。故障演练数据库可以存储节点104需要处理的数据。故障演练数据库可以集成在节点104上,也可以放在云上或其他网络服务器上。终端102可以在检测到断点测试指令时,确定待测试作业的相关信息,确定待测试作业的断点触发位置和参考记录断点,在对应节点104中运行待测试作业,并在待测试作业运行到断点触发位置时,终端102将故障注入节点104中的作业中,并基于此确定断点记录的测试结果,以及在终端102确定断点记录的测试通过后,重提作业并基于待测试作业运行完成时的运行结果确定断点测试结果。其中,终端102可以但不限于是各种个人计算机、笔记本电脑和平板电脑。节点104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种断点测试方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤S202,响应于断点测试指令,获取待测试作业、与待测试作业对应的待注入故障以及待测试作业的运行信息保存的频率。
其中,断点测试指令可以是用户触发的用于测试作业能否正常产生断点、能否正常记录断点以及断点产生后能否正常清除并继续运行作业的指令。用户可以在终端中触发上述断点测试指令。终端获取到断点测试指令后,可以获取待测试作业,待测试作业对应的待注入故障以及待测试作业的运行信息保存的频率。其中,待测试作业可以是需要进行断点测试的作业,待注入故障可以是在待测试作业运行过程中注入的故障,可以用于令作业产生断点。上述待测试作业在运行时,可以是对数据库中的数据进行相应的操作,待测试作业运行时会产生多次运行信息保存的操作,运行信息保存也称为commit操作,例如每运行一定量的数据便进行一次运行信息保存的操作等,只有终端进行了运行信息保存的操作时,待测试作业数据的操作才会真正改变数据库中相应的数据。
其中,上述待注入故障可以根据待测试作业的类型确定,不同类型的作业可以有不同的待注入故障。并且,上述待测试作业、待注入故障和运行信息保存的频率均可以从配置信息中得到。例如,在一个实施例中,获取待测试作业、待注入故障以及待测试作业的运行信息保存的频率,包括:获取待测试作业的配置信息,根据配置信息确定待测试作业的作业类型和运行信息保存的频率;根据待测试作业的作业类型,确定待测试作业对应的待注入故障。本实施例中,终端可以在检测到断点测试指令时,获取待测试作业的配置信息,并根据配置信息确定待测试作业的作业类型和运行信息保存的频率。终端还可以根据待测试作业的类型,确定待测试作业对应的待注入故障。
具体地,终端中可以包含批量作业定义模块。终端可以通过批量作业定义模块配置作业名称,作业所属的节点,commit数,断点记录内容,作业类型等。其中,上述commit数表示运行信息保存的频率,即作业运行达到commit数的数值时,终端可以执行一次运行信息保存的操作,上述节点可以是终端对应的分布式系统中待测试作业所在的节点,例如服务器;上述配置中还可以包括作业的分片数,分片数表示待测试作业并行处理的线程数量,其中上述节点中包含多个分片,每个分片可以是一台计算机。上述对作业的各个配置信息中,除作业类型外,其余可以基于终端中的程序确定。终端可以对作业进行梳理分类,并确定能够用于后续故障注入的故障类型。具体地,上述待测试作业的类型可以包括文件拆分、读文件写表、读表写文件、读表逻辑处理更新表、数据清理、数据核对、读表调用联机接口处理业务、读表发消息处理等。则对于上述每个待测试作业的作业类型,终端可以分别对每种作业类型配置相应的故障,并且每种作业类型可以有多个故障类型。具体地,上述文件拆分对应的故障类型有磁盘空间不足、线程池故障和服务器宕机等;上述读文件写表对应的故障类型有数据库网络延时、锁表和数据库网络端口不可用等;上述读表写文件对应的故障类型有锁表、服务器宕机和线程池故障等;上述读表逻辑处理更新表对应的故障类型有数据库网络延时、锁表和线程池故障等;上述数据清理对应的故障类型有数据库网络延时、锁表和数据库网络端口不可用等;上述数据核对对应的故障类型有数据库网络延时、锁表和数据库网络端口不可用等;上述读表调用联机接口处理业务对应的故障类型有联机接口限流、数据库网络延时和CPU利用率等;上述读表发消息处理KAFKA(卡夫卡)网络延时对应的故障类型有KAFKA网络延时、KAFKA网络丢包和KAFKA端口不可用等。
步骤S204,根据待测试作业的业务数据量以及运行信息保存的频率,确定待测试作业对应的断点触发位置和参考记录断点;参考记录断点表征待测试作业对应的计算的断点。
其中,上述待测试作业具有一定的业务数据,例如,待测试作业可以由多条SQL(Structured Query Language,结构化查询语言)语句,终端可以通过统计待测试作业中包含的SQL语句的数量,确定待测试作业的业务数据量。终端确定待测试作业的业务数据量后,可以根据业务数据量和上述的待测试作业的运行信息保存的频率,确定待测试作业对应的断点触发位置和参考记录断点。其中,上述断点触发位置可以表示需要在待测试作业运行至哪个位置时触发断点,参考记录断点可以是基于上述业务数据量和运行信息保存的频率计算出来的断点,参考记录断点可以是一种样本信息,用于与终端在待测试作业运行过程中的实际记录的断点进行对比。具体地,当运行信息保存时,待测试作业的运行信息才会实际应用到数据库中的相关数据,并且由于上述业务数据量不同,运行信息保存的频率也会不同,即运行信息保存的频率可以基于业务数据量进行确定,上述断点触发位置可以基于运行信息保存的频率确定需要在哪次运行信息保存后进行触发,或者在运行信息保存前进行触发;参考断点信息可以基于运行信息保存的频率以及断点触发的位置确定,例如终端检测到断点触发时,从该断点触发位置附近的运行信息保存点确定出参考断点信息。
步骤S206,运行待测试作业,当检测到待测试作业运行至断点触发位置时,将待注入故障注入待测试作业中以产生断点,并获取待测试作业产生的实际记录断点。
其中,为对待测试作业进行断点测试,终端可以运行上述待测试作业,待测试作业可以在其所在的节点中运行。终端在作业运行时,可以循环检测待测试时作业的运行信息,从而终端可以确定何时对待测试作业触发断点。当终端检测到待测试作业运行至上述确定的断点触发位置时,终端可以将待注入故障注入待测试作业中,使得待测试作业产生断点。若待测试作业进入故障并产生断点,终端可以获取待测试作业生成的实际记录断点,例如,待测试作业所在节点可以在故障产生位置附近,寻找已保存的运行信息,并基于已保存的运行信息确定实际记录断点的位置。终端可以获取待测试作业所在的节点记录的实际记录断点。
其中,上述待测试作业的作业类型可以有多个,每种作业类型对应的待注入故障可以有多个,则终端向上述待测试作业注入故障时,可以按照该待测试作业的作业类型对应的待注入故障中,故障从前到后的顺序注入。具体,若待注入故障包含故障类型1、故障类型2和故障类型3,终端可以首先向待测试作业注入故障类型1,若产生断点,则无需再注入,若待测试作业没有产生断点,仍继续运行,则终端可以继续注入故障类型2,若产生断点,则无需再注入,若待测试作业没有产生断点,仍继续运行,则终端可以继续注入故障类型3,以此类推,直至待测试作业产生断点。当将所有故障类型均输入待测试作业后,仍未产生断点时,终端可以确定待测试作业的断点测试失败。
步骤S208,根据实际记录断点与参考记录断点的比较结果,确定断点记录的测试结果。
其中,待测试作业生成的实际记录的断点与终端计算出的参考记录断点可能不一致,因此终端可以获取实际记录断点和参考记录断点的比较结果,并根据该比较结果,确定断点记录的测试结果。具体地,在一个实施例中,根据实际记录断点与参考记录断点的比较结果,确定断点记录的测试结果,包括:若实际记录断点符合参考断点信息,确定断点记录的测试结果为记录准确。本实施例中,终端可以获取上述实际记录断点与参考记录断点的比较结果,若终端检测到实际记录断点与参考记录断点符合,例如两个断点的位置在同一个位置,则终端可以确定断点记录的测试结果为记录准确。若终端检测到实际记录的断点与参考记录断点不符合,例如两个断点的位置不在同一位置,则终端可以确定断点记录的测试结果为记录不准确。
步骤S210,若断点记录的测试结果为记录准确,清除待测试作业中已注入的故障并继续运行待测试作业,根据待测试作业的运行结果得到待测试作业的断点测试结果。
其中,当终端确定断点记录的测试结果为记录准确时,即实际记录断点和参考记录断点符合,则终端可以清除待测试作业中已注入的故障,并继续运行待测试作业。具体地,终端在清除已注入的故障时,可以通过调用故障清除模块进行清除,终端通过调用故障清除模块,确定已注入故障的故障类型,并采用相应的故障清除手段,对已注入的故障进行清除。终端清除故障后,可以继续运行待测试作业,继续运行时,开始的位置可以基于上述断点记录的位置确定,例如终端在清除故障后的预设时间后,在断点记录的位置重提作业,即继续运行作业。终端运行上述待测试作业后,还可以检测待测试作业的运行结果,当待测试作业运行完成时,终端可以检测该待测试作业的运行结果中,待测试作业是否已经完成了所有运行信息的运行和保存,从而确定待测试作业的断点测试结果。具体地,若终端检测到上述断点记录的测试结果为记录准确,并且运行结果为待测试作业完成了所有业务数据的处理,则终端可以确定断点测试结果为通过。若待测试作业的断点记录的测试结果为记录不准确,或者断点记录的测试结果为准确,但运行结果中存在未被处理的业务数据,则终端可以确定断点测试结果为不通过。
上述断点测试方法中,通过基于待测试作业的业务数据量和运行信息保存的频率确定断点触发位置和参考记录断点,当检测到待测试作业运行至断点触发位置时,将待注入故障注入待测试作业中以产生断点,并获取待测试作业产生的实际记录断点,根据实际记录断点和参考记录断点的比较确定断点记录准确时,清除故障并继续运行待测试作业,基于待测试作业的运行结果得到待测试作业的断点测试结果。相较于传统的需要人工触发断点并确定断点正确性的方式,本方案基于业务数据量和信息保存的频率确定断点触发位置以及参考的断点,并当运行时实际记录的断点与参考的断点比较结果为准确时重提作业,基于待测试作业的运行结果确定断点测试结果,提高了断点测试的效率。
在一个实施例中,根据待测试作业的业务数据量以及运行信息保存的频率,确定待测试作业对应的断点触发位置和参考记录断点,包括:获取待测试作业的业务数据量;根据业务数据量以及分片数,确定每个分片需要处理的分片业务数据量;针对每个分片,根据该分片的分片业务数据量与运行信息保存的频率的比较结果,确定待测试作业在该分片中的断点触发位置和参考记录断点。
本实施例中,上述配置信息中还包括待测试作业对应的分片数,分片数表示待测试作业并行处理的线程数量。例如,待测试作业可以是在分布式系统中的一个节点中进行运行,其中一个节点中可以有多个运行设备,每个运行设备可以是一个分片,每个分片均可以同时运行待测试作业,上述待测试作业具有一定的业务数据量,终端可以将待测试作业的业务数据基于分片数进行分工处理。终端可以根据业务数据量和待测试作业所在节点的分片数,确定每个分片需要处理的分片业务数据量。分片业务数据量可以表示一个分片需要处理的业务数据。则终端可以得到多个分片分别对应的分片业务数据量。对于每个分片,终端可以获取该分片的分片数据量与上述待测试作业的运行信息保存的频率的比较结果,根据该比较结果确定待测试作业在该分片中的断点触发位置和参考记录断点。其中,终端可以获取每个分片的分片业务数据量,并基于运行信息保存的频率,确定分片业务数据量中运行信息保存的次数和位置,从而终端可以基于该次数和位置确定该分片中的断点触发位置和参考记录断点。
具体地,终端可以根据分片业务数据量与一次运行信息保存时的业务数据量的对比结果,确定断点触发位置和参考记录断点。例如,在一个实施例中,针对每个分片,根据该分片的分片业务数据量与运行信息保存的频率的比较结果,确定待测试作业在该分片中的断点触发位置和参考记录断点,包括:若该分片的分片业务数据量小于或等于一次运行信息保存时的业务数据量,在第一范围内确定第一随机数,作为待测试作业在该分片中的断点触发位置,确定参考记录断点为该分片的起始位置;第一范围在该分片业务数据量的起始位置至该分片业务数据量的结束位置之间;若该分片的分片业务数据量大于一次运行信息保存时的业务数据量,在第二范围内确定第二随机数,作为待测试作业在该分片中的断点触发位置,确定参考记录断点为该分片中距离断点触发位置最近一次运行信息保存的位置;第二范围在该分片业务数据量的第一次运行信息保存的位置至该分片业务数据量的结束位置之间。
本实施例中,对于每个分片,终端可以获取该分片的分片业务数据量和一次运行信息保存时的业务数据量,若该分片的分片业务数据量小于或等于一次运行信息保存时的业务数据量,终端可以在第一范围内确定第一随机数,作为待测试作业在该分片中的断点触发位置,并确定参考记录断点为该分片的起始位置。其中,上述第一范围在该分片业务数据量的起始位置至该分片业务数据量的结束位置之间。若终端检测到该分片的分片业务数据量大于一次运行信息保存时的业务数据量,终端可以在第二范围内确定第二随机数,将第二随机数作为待测试作业在该分片中的断点触发位置,并且终端还可以确定参考记录断点为该分片中距离断点触发位置最近一次运行信息保存的位置。其中,第二范围为在该分片业务数据量的第一次运行保存的位置至该分片业务数据量的结束位置之间。
其中,上述待测试作业的业务数据量可以设为M,上述运行信息保存的位置可以记为commit数,终端在确定断点触发位置时,可以先启动作业,根据分布式作业特点,在作业启动时,终端可以根据作业中的SQL语句等统计出待处理的业务数据量M,并且待测试作业所在节点中包括多个分片,终端可以假设分片数A=2,待测试作业在运行过程中还包括多次运行信息保存的操作,则终端可以令commit数B=500条commit一次,即每运行500条SQL语句则保存运行信息一次。终端可以用M除以A,得到每个分片需要处理的数据量M1,终端可以获取M1和B的比较结果,若M1≤B,则说明该分片的业务数据量小于或等于一次运行信息保存的业务数据量,此时终端可以令参考记录断点P1为0,即该分片的起始位置,同时终端可以运用随机数生成法,在0-M1之间生成随机数P,作为该情况下的断点触发位置。若终端检测到M1>B,则说明该分片的业务数据量大于一次运行信息保存的业务数据量,此时终端可以令参考记录断点P1为距离断点触发位置最近一次运行信息保存的位置,而对于断点触发位置,终端可以在B-M1之间生成随机数P,作为断点触发位置,即终端此时可以在一次运行信息保存之后的任意位置触发断点。终端确定上述断点触发位置和参考记录断点后,可以同时把作业实例ID记录下来,其中作业实例ID即为待测试作业的作业标识,并启动作业模块,循环记录作业运行至什么位置,并令作业开始运行。
通过上述实施例,终端可以基于分片数确定各个分片需要处理的业务数据量,并基于分片业务数据量和运行信息保存的频率确定该分片中的断点触发位置和参考记录断点,从而终端可以基于断点触发位置和参考记录断点对待测试作业进行断点测试,提高了断点测试的效率。
在一个实施例中,当检测到待测试作业运行至断点触发位置时,将待注入故障注入待测试作业中以产生断点,包括:获取待测试作业对应的端口、IP地址;根据端口和IP地址将待注入故障注入待测试作业中,以产生断点。
本实施例中,终端可以设置在分布式系统中,分布式系统可以包括多个节点,每个节点具有相应的待测试作业,上述待测试作业可以在其所在的节点中运行,终端在注入故障时,需要确定哪些作业注入哪些故障,以及如何进行故障注入。上述各个节点具有相应的端口和IP地址,终端可以获取待测试作业对应的端口和IP地址,并根据端口和IP地址将上述待注入故障注入待测试作业中,以产生断点。具体地,上述待测试作业有多种类型,终端可以整合一个故障注入模块,用于进行故障注入,终端可以从故障演练数据库中获取每个待测试作业对应的待注入故障,并且终端可以基于待测试作业所在节点的端口和IP地址确定待注入故障的注入地址,当终端确定端口、IP地址等配置正确时,终端可以在多个待测试作业批量运行时,在每个待测试作业运行到指定断点时,调用相应的待注入故障,基于上述端口和IP地址注入到相应的待测试作业中。
通过本实施例,终端可以基于待测试作业对应的端口和IP地址等配置信息,确定待注入故障的注入方式,从而能够实现度断点触发,提高了批量作业进行断点测试时的效率。
在一个实施例中,获取待测试作业生成的实际记录断点,包括:根据作业标识查询批量控制表,得到待测试作业的实际记录断点;批量控制表中包括多个待测试作业对应的实际记录断点。
本实施例中,上述配置信息还包括待测试作业的作业标识,作业标识表示待测试作业的实例ID,上述各个节点中可以存储有批量控制表,当待测试作业产生断点时,会在批量控制表中添加该待测试作业生成的实际记录断点,由于节点中包含多个分片,因此批量控制表中包括多个待测试作业对应的实际记录断点。终端在查询待测试作业的实际记录断点时,可以根据待测试作业的作业标识查询待测试作业所在节点的批量控制表,得到待测试作业对应的实际记录断点。其中,实际记录断点可以是在断点产生时,待测试作业对本次故障事件生成的断点。具体地,终端在注入故障时,可以根据设定的作业类型,当检测到作业执行到断点P时,自动触发作业暂停,并通过故障注入模块,注入对应类型的待注入故障,并再次启动作业,实现作业的批量中断,作业中断后,终端可以根据上述配置信息得到待测试做野所在节点,并获取该节点对应的批量控制表,根据作业的实例ID,查询批量控制表中该待测试作业对应的实际记录断点,具体搜索语句可以是:select proc_break_pos断点from ccps_bc.proc_ctrl where jio_idst_id=‘实例ID’。从而终端可以将获取到的实际记录断点P1’与上述参考记录断点P1进行比较,核对断点的正确性。
通过本实施例,终端可以基于作业的标识查询批量控制表,确定待测试作业的实际记录断点,从而终端可以基于该实际记录断点与参考记录断点的比较结果确定断点测试结果,提高了断点测试的效率。
在一个实施例中,若断点记录的测试结果为记录准确,清除待测试作业中已注入的故障并继续运行待测试作业,根据待测试作业的运行结果得到待测试作业的断点测试结果,包括:若断点记录的测试结果为记录准确,根据待注入故障的类型确定故障恢复策略,基于故障恢复策略清除待测试作业中的故障;在实际记录断点的位置运行待测试作业,得到待测试作业的运行结果;若运行结果中已处理的业务数据量等于待测试作业的业务数据量,确定断点测试结果为通过。
本实施例中,若终端检测到上述断点记录的测试结果为记录准确,说明终端断点触发测试通过,由于此时待测试作业仍是暂停且存在故障的,终端可以清除这些故障并进行重提,即继续运行作业。终端可以根据上述待注入故障的类型,确定故障恢复策略,并基于该故障恢复策略清除待测试作业中的故障。终端清除故障后,可以在上述实际记录断点的位置运行待测试作业,例如触发一个作业重提请求,令待测试作业继续运行,得到待测试作业的运行结果,当待测试作业运行完成时,终端可以获取运行结果中已处理的业务数据量,并获取已处理的业务数据量与待测试作业中的业务数据量的比较结果,若已处理的业务数据量等于待测试作业的业务数据量,则说明待测试作业运行完成,终端可以确定断点测试结果为通过;若已处理的业务数据量不等于待测试作业的业务数据量,则说明待测试作业没有运行完成,终端可以确定断点测试结果为不通过。
具体地,终端在校验上述实际记录的断点正确后,可以调用故障恢复模块,对待测试作业进行故障清除,实现故障恢复,终端可以基于历史经验,设定容器的恢复时间,并加上预设时间,例如5分钟,在上述时间范围内对待测试作业进行故障恢复,并在时间结束时重提作业,即继续运行作业。其中,作业继续运行的位置可以是上述实际记录的断点所在的位置。终端可以在作业运行中不断检测作业是否成功运行,直至作业运行完成,此时终端可以再次基于搜索语句“select proc_break_pos断点,proc_status作业状态,processed_num总处理数据,succ_num成功记录数,fail_num失败记录数from ccps_bc.proc_ctrlwhere jio_idst_id=‘实例ID’”,检查断点记录是否正确,作业运行是否完成,断点是否被清除,作业总处理数据和成功处理数据是否均符合待测试作业的业务数据量M,并且失败处理的数据是否为0,当终端检测到断点记录正确,作业运行完成,断点被清除,作业总处理数据和成功处理数据均符合待测试作业的业务数据量M,并且失败处理的数据为0时,则终端可以确定断点测试结果为通过,否则,终端检测到上述任意一项不满足时,确定断点测试结果为不通过。
通过本实施例,终端可以在断点记录测试通过后,继续重提作业,并在检测作业完成运行且对业务数据均运行成功时,确定断点测试通过,提高了断点测试的效率。
在一个实施例中,如图3所示,图3为另一个实施例中断点测试方法的流程示意图。本实施例中,终端中可以包括多个模块,分别用于执行不同的步骤。例如,如图4所示,图4为一个实施例中断点测试的结构示意图。终端的系统结构中包括批量作业配置模块11、故障类型注入模块12、批量启停模块13、断点触发校验模块14,其中,批量作业配置模块中也可以设置多个子模块,如图5所示,图5为一个实施例中作业配置步骤的结构示意图。批量作业配置模块中包括批量作业定义配置模块21和批量程序故障类型模块22。其中,批量作业定义配置模块用来配置需要测试断点重提的批量作业、作业节点、commit数、分片数、断点记录内容。批量程序故障类型模块是梳理根据批量作业实现功能,梳理可触发的故障类型。
故障注入类型模块中设置的子模块可以如图6所示,图6为一个实施例中故障注入步骤的结构示意图。包括故障类型配置模型31,故障类型注入模块32,故障恢复模块33。其中,故障类型配置模块根据上述批量程序故障类型梳理出来故障,配置进入系统,并设定故障触发步骤。故障类型注入模块,根据指令自动调度故障类型触发故障,实现批量中断,断点记录和校验以及后续重提。
上述批量启停模块中包含的子模块可以如图7所示,图7为一个实施例中重提运行步骤的结构示意图。包括作业启动模块41,断点计算记录模块42,作业暂停模块43,断点重提模块43。其中,上述批量启动模块主要用于实现对作业的启动,暂停,重提和断点计算记录模块,其中断点计算记录模块是实现如何在实际处理数据量和批量一次commit数中间随机取得一个点,来触发断点的产生,并且把这个断点记录下来,方便后续做断点校验。
而上述断点触发校验模块中包含的子模块可以如图8所示,图8为一个实施例中断点触发步骤的结构示意图。包括触发断点模块51,断点记录校验模块52。其中,终端可以通过该模块进行参考记录断点的计算,并在作业运行到断点处是自动注入故障,触发断点,断点记录校验模块使用作业定义配置模块配置的断点记录内容,和上述计算出来的断点,结合数据库断点计算,进行校验断点记录准确性。其中,断点记录内容表示终端具体要从断点中获取哪些信息,比如断点时作业运行到的语句数,断点的位置等信息,计算出的断点可以是上述参考断点信息,数据库断点可以是上述实际记录的断点。上述计算的断点和实际记录的断点可以根据断点记录内容的不同而不同。
如图3所示,终端在进行断点测试时,由于上述待测试作业可以有多个,终端可以首先在批量作业定义模块配置作业名,所属节点,分片数,commit数,断点记录内容,作业类型,上述定义内容除了作业类型,其他可以通过程序能确定。终端可以对作业进行梳理分类,方便后续使用合适的故障类型进行注入。终端确定上述作业类型后,可以基于作业类型配置不同的故障类型,以满足不同作业类型触发断点的需求。终端在从故障演练数据库中获取各类作业对应的故障类型,在检测到待测试作业所在节点的端口、IP地址配置正确时,通过各类故障注入模块,在检测到作业运行到指定断点时,调用相应故障并注入。具体地,终端可以首先启动作业,并根据批量作业中的SQL语句统计出待处理的数据量,假为M。终端可以确定待测试作业的分片数,例如A=2,以及确定commit数,例如B=500条commit一次。终端可以先使用M除以A,得到每个分片要处理的数据量M1,终端可以比较M1和B,若M1≤B,则说明该分片的业务数据量小于或等于一次运行信息保存的业务数据量,此时终端可以令参考记录断点P1为0,即该分片的起始位置,同时终端可以运用随机数生成法,在0-M1之间生成随机数P,作为该情况下的断点触发位置。若终端检测到M1>B,则说明该分片的业务数据量大于一次运行信息保存的业务数据量,此时终端可以令参考记录断点P1为距离断点触发位置最近一次运行信息保存的位置,而对于断点触发位置,终端可以在B-M1之间生成随机数P,作为断点触发位置,即终端此时可以在一次运行信息保存之后的任意位置触发断点。终端确定上述断点触发位置和参考记录断点后,可以同时把作业实例ID记录下来,其中作业实例ID即为待测试作业的作业标识,并启动作业模块,循环记录作业运行至什么位置,并令作业开始运行。
终端在检测到待测试作业运行到断点触发位置时,可以基于作业类型自动触发作业暂停,并调用故障注入模块,注入作业类型对应的故障,并再次启动作业,实现批量中断。终端可以在中断发生后,查询作业所在节点的批量控制表,通过校验实际记录的断点和参考的断点确定断点登记的正确性。当校验为正确时,终端可以调用故障恢复模块,实现故障恢复,确认容器正常时,重提作业,例如在实际记录的断点处继续运行作业,终端在作业运行完成时,检测待测试作业的总处理数据量、成功处理的数据量和失败处理的数据量,并在检测到总处理的数据量为待测试作业的数据量,成功处理的数据量为待测试作业的数据量以及失败处理的数据量为0时,确定待测试作业的断点测试通过。
通过上述实施例,终端可以基于业务数据量和信息保存的频率确定断点触发位置以及参考的断点,并当运行时实际记录的断点与参考的断点比较结果为准确时重提作业,基于待测试作业的运行结果确定断点测试结果,提高了断点测试的效率。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的断点测试方法的断点测试装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个断点测试装置实施例中的具体限定可以参见上文中对于断点测试方法的限定,在此不再赘述。
在一个实施例中,如图9所示,提供了一种断点测试装置,包括:响应模块500、第一确定模块502、测试模块504、第二确定模块506和第三确定模块508,其中:
响应模块500,用于响应于断点测试指令,获取待测试作业、与待测试作业对应的待注入故障以及待测试作业的运行信息保存的频率。
第一确定模块502,用于根据待测试作业的业务数据量以及运行信息保存的频率,确定待测试作业对应的断点触发位置和参考记录断点;参考记录断点表征待测试作业对应的计算的断点。
测试模块504,用于运行待测试作业,当检测到待测试作业运行至断点触发位置时,将待注入故障注入待测试作业中以产生断点,并获取待测试作业产生的实际记录断点。
第二确定模块506,用于根据实际记录断点与参考记录断点的比较结果,确定断点记录的测试结果。
第三确定模块508,用于若断点记录的测试结果为记录准确,清除待测试作业中已注入的故障并继续运行待测试作业,根据待测试作业的运行结果得到待测试作业的断点测试结果。
在一个实施例中,上述响应模块500,具体用于获取待测试作业的配置信息,根据配置信息确定待测试作业的作业类型和运行信息保存的频率;根据待测试作业的作业类型,确定待测试作业对应的待注入故障。
在一个实施例中,上述第一确定模块502,具体用于获取待测试作业的业务数据量;根据业务数据量以及分片数,确定每个分片需要处理的分片业务数据量;针对每个分片,根据该分片的分片业务数据量与运行信息保存的频率的比较结果,确定待测试作业在该分片中的断点触发位置和参考记录断点。
在一个实施例中,上述第一确定模块502,具体用于若该分片的分片业务数据量小于或等于一次运行信息保存时的业务数据量,在第一范围内确定第一随机数,作为待测试作业在该分片中的断点触发位置,确定参考记录断点为该分片的起始位置;第一范围在该分片业务数据量的起始位置至该分片业务数据量的结束位置之间;若该分片的分片业务数据量大于一次运行信息保存时的业务数据量,在第二范围内确定第二随机数,作为待测试作业在该分片中的断点触发位置,确定参考记录断点为该分片中距离断点触发位置最近一次运行信息保存的位置;第二范围在该分片业务数据量的第一次运行信息保存的位置至该分片业务数据量的结束位置之间。
在一个实施例中,上述测试模块504,具体用于获取待测试作业对应的端口、IP地址;根据端口和IP地址将待注入故障注入待测试作业中,以产生断点。
在一个实施例中,上述测试模块504,具体用于根据作业标识查询批量控制表,得到待测试作业的实际记录断点;批量控制表中包括多个待测试作业对应的实际记录断点。
在一个实施例中,上述第二确定模块506,具体用于若实际记录断点符合参考断点信息,确定断点记录的测试结果为记录准确。
在一个实施例中,上述第三确定模块508,具体用于若断点记录的测试结果为记录准确,根据待注入故障的类型确定故障恢复策略,基于故障恢复策略清除待测试作业中的故障;在实际记录断点的位置运行待测试作业,得到待测试作业的运行结果;若运行结果中已处理的业务数据量等于待测试作业的业务数据量,确定断点测试结果为通过。
上述断点测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种断点测试方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述的断点测试方法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的断点测试方法。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的断点测试方法。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (12)
1.一种断点测试方法,其特征在于,所述方法包括:
响应于断点测试指令,获取待测试作业、与所述待测试作业对应的待注入故障以及所述待测试作业的运行信息保存的频率;
根据所述待测试作业的业务数据量以及所述运行信息保存的频率,确定所述待测试作业对应的断点触发位置和参考记录断点;所述参考记录断点表征所述待测试作业对应的计算的断点;
运行所述待测试作业,当检测到所述待测试作业运行至所述断点触发位置时,将所述待注入故障注入所述待测试作业中以产生断点,并获取所述待测试作业生成的实际记录断点;
根据所述实际记录断点与所述参考记录断点的比较结果,确定断点记录的测试结果;
若所述断点记录的测试结果为记录准确,清除所述待测试作业中已注入的故障并继续运行所述待测试作业,根据所述待测试作业的运行结果得到所述待测试作业的断点测试结果。
2.根据权利要求1所述的方法,其特征在于,所述获取待测试作业、待注入故障以及待测试作业的运行信息保存的频率,包括:
获取所述待测试作业的配置信息,根据所述配置信息确定所述待测试作业的作业类型和运行信息保存的频率;
根据所述待测试作业的作业类型,确定所述待测试作业对应的待注入故障。
3.根据权利要求2所述的方法,其特征在于,所述配置信息还包括所述待测试作业对应的分片数;所述分片数表征所述待测试作业并行处理的线程数量;
所述根据所述待测试作业的业务数据量以及所述运行信息保存的频率,确定所述待测试作业对应的断点触发位置和参考记录断点,包括:
获取所述待测试作业的业务数据量;
根据所述业务数据量以及所述分片数,确定每个分片需要处理的分片业务数据量;
针对每个分片,根据该分片的分片业务数据量与所述运行信息保存的频率的比较结果,确定所述待测试作业在该分片中的断点触发位置和参考记录断点。
4.根据权利要求3所述的方法,其特征在于,所述针对每个分片,根据该分片的分片业务数据量与所述运行信息保存的频率的比较结果,确定所述待测试作业在该分片中的断点触发位置和参考记录断点,包括:
若该分片的分片业务数据量小于或等于一次运行信息保存时的业务数据量,在第一范围内确定第一随机数,作为所述待测试作业在该分片中的断点触发位置,确定所述参考记录断点为所述该分片的起始位置;所述第一范围在该分片业务数据量的起始位置至该分片业务数据量的结束位置之间;
若该分片的分片业务数据量大于一次运行信息保存时的业务数据量,在第二范围内确定第二随机数,作为所述待测试作业在该分片中的断点触发位置,确定所述参考记录断点为该分片中距离所述断点触发位置最近一次运行信息保存的位置;所述第二范围在该分片业务数据量的第一次运行信息保存的位置至该分片业务数据量的结束位置之间。
5.根据权利要求3所述的方法,其特征在于,所述当检测到所述待测试作业运行至所述断点触发位置时,将所述待注入故障注入所述待测试作业中以产生断点,包括:
获取所述待测试作业对应的端口、IP地址;
根据所述端口和IP地址将所述待注入故障注入所述待测试作业中,以产生断点。
6.根据权利要求3所述的方法,其特征在于,所述配置信息还包括所述待测试作业的作业标识;所述获取所述待测试作业生成的实际记录断点,包括:
根据所述作业标识查询批量控制表,得到所述待测试作业的实际记录断点;所述批量控制表中包括多个待测试作业对应的实际记录断点。
7.根据权利要求1所述的方法,其特征在于,所述根据所述实际记录断点与所述参考记录断点的比较结果,确定断点记录的测试结果,包括:
若所述实际记录断点符合所述参考断点信息,确定所述断点记录的测试结果为记录准确。
8.根据权利要求1所述的方法,其特征在于,所述若所述断点记录的测试结果为记录准确,清除所述待测试作业中已注入的故障并继续运行所述待测试作业,根据所述待测试作业的运行结果得到所述待测试作业的断点测试结果,包括:
若所述断点记录的测试结果为记录准确,根据所述待注入故障的类型确定故障恢复策略,基于所述故障恢复策略清除所述待测试作业中的故障;
在所述实际记录断点的位置运行所述待测试作业,得到所述待测试作业的运行结果;
若所述运行结果中已处理的业务数据量等于所述待测试作业的业务数据量,确定所述断点测试结果为通过。
9.一种断点测试装置,其特征在于,所述装置包括:
响应模块,用于响应于断点测试指令,获取待测试作业、与所述待测试作业对应的待注入故障以及所述待测试作业的运行信息保存的频率;
第一确定模块,用于根据所述待测试作业的业务数据量以及所述运行信息保存的频率,确定所述待测试作业对应的断点触发位置和参考记录断点;所述参考记录断点表征所述待测试作业对应的计算的断点;
测试模块,用于运行所述待测试作业,当检测到所述待测试作业运行至所述断点触发位置时,将所述待注入故障注入所述待测试作业中以产生断点,并获取所述待测试作业产生的实际记录断点;
第二确定模块,用于根据所述实际记录断点与所述参考记录断点的比较结果,确定断点记录的测试结果;
第三确定模块,用于若所述断点记录的测试结果为记录准确,清除所述待测试作业中已注入的故障并继续运行所述待测试作业,根据所述待测试作业的运行结果得到所述待测试作业的断点测试结果。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
12.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210830933.8A CN115225549B (zh) | 2022-07-15 | 2022-07-15 | 断点测试方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210830933.8A CN115225549B (zh) | 2022-07-15 | 2022-07-15 | 断点测试方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115225549A true CN115225549A (zh) | 2022-10-21 |
CN115225549B CN115225549B (zh) | 2024-03-26 |
Family
ID=83611166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210830933.8A Active CN115225549B (zh) | 2022-07-15 | 2022-07-15 | 断点测试方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115225549B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101546250A (zh) * | 2008-03-28 | 2009-09-30 | 北京爱国者存储科技有限责任公司 | 实现移动存储设备断点续传的系统 |
CN101989225A (zh) * | 2009-07-29 | 2011-03-23 | 中兴通讯股份有限公司 | 基于断点的自动化测试方法及装置 |
CN109582561A (zh) * | 2018-10-16 | 2019-04-05 | 阿里巴巴集团控股有限公司 | 一种在线可视化编程的调试方法及装置 |
CN113704277A (zh) * | 2021-07-14 | 2021-11-26 | 浪潮商用机器有限公司 | 一种基于数据库的断点续传方法及相关装置 |
CN113743609A (zh) * | 2021-08-27 | 2021-12-03 | 西安交通大学 | 一种面向多信号的快速断点检测方法、系统、设备及存储介质 |
-
2022
- 2022-07-15 CN CN202210830933.8A patent/CN115225549B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101546250A (zh) * | 2008-03-28 | 2009-09-30 | 北京爱国者存储科技有限责任公司 | 实现移动存储设备断点续传的系统 |
CN101989225A (zh) * | 2009-07-29 | 2011-03-23 | 中兴通讯股份有限公司 | 基于断点的自动化测试方法及装置 |
CN109582561A (zh) * | 2018-10-16 | 2019-04-05 | 阿里巴巴集团控股有限公司 | 一种在线可视化编程的调试方法及装置 |
CN113704277A (zh) * | 2021-07-14 | 2021-11-26 | 浪潮商用机器有限公司 | 一种基于数据库的断点续传方法及相关装置 |
CN113743609A (zh) * | 2021-08-27 | 2021-12-03 | 西安交通大学 | 一种面向多信号的快速断点检测方法、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115225549B (zh) | 2024-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108319719B (zh) | 数据库数据校验方法、装置、计算机设备和存储介质 | |
CN110992992B (zh) | 一种硬盘测试方法、设备以及存储介质 | |
US20150161025A1 (en) | Injecting Faults at Select Execution Points of Distributed Applications | |
CN110008129B (zh) | 一种存储定时快照的可靠性测试方法、装置及设备 | |
CN108875061A (zh) | 一种分布式文件系统的一致性测试方法及相关装置 | |
CN108573015B (zh) | 变更表格式的方法、装置、电子设备和可读存储介质 | |
CN113312205B (zh) | 数据校验方法、装置、存储介质和计算机设备 | |
WO2024078015A1 (zh) | 基于镜像对的故障注入方法、装置、设备和存储介质 | |
CN115225549B (zh) | 断点测试方法、装置、计算机设备和存储介质 | |
CN115604086A (zh) | 监控报警故障自愈方法、装置、设备、介质和程序产品 | |
CN114490415A (zh) | 业务测试方法、计算机设备、存储介质和计算机程序产品 | |
CN115858487A (zh) | 一种数据迁移方法及装置 | |
CN113190531A (zh) | 一种数据库迁移方法、装置、设备和存储介质 | |
WO2019056545A1 (zh) | 测试机自动化管理方法、装置、设备及存储介质 | |
CN113835780A (zh) | 一种事件响应方法及装置 | |
CN113421109A (zh) | 一种业务核对方法、装置、电子设备和存储介质 | |
CN111475400A (zh) | 一种业务平台的验证方法及相关设备 | |
JP6504611B2 (ja) | 監視装置、情報監視システム、監視装置の制御方法、及びプログラム | |
CN115115433B (zh) | 订单数据处理方法、装置、计算机设备和存储介质 | |
US20220253546A1 (en) | System and method for representing and verifying a data set using a tree-based data structure | |
US11768855B1 (en) | Replicating data across databases by utilizing validation functions for data completeness and sequencing | |
CN115190015A (zh) | 软负载系统配置方法、装置、计算机设备和存储介质 | |
CN118093362A (zh) | 程序测试方法、装置、设备、存储介质及程序产品 | |
CN117827554A (zh) | 测试方法、装置、计算机设备和存储介质 | |
CN114579462A (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 |