CN112817847A - 数据处理任务的测试方法、装置、电子设备及存储介质 - Google Patents

数据处理任务的测试方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112817847A
CN112817847A CN202110115228.5A CN202110115228A CN112817847A CN 112817847 A CN112817847 A CN 112817847A CN 202110115228 A CN202110115228 A CN 202110115228A CN 112817847 A CN112817847 A CN 112817847A
Authority
CN
China
Prior art keywords
data processing
processing task
task
data
target data
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
CN202110115228.5A
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.)
Hangzhou Netease Zaigu Technology Co Ltd
Original Assignee
Hangzhou Netease Zaigu Technology 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 Hangzhou Netease Zaigu Technology Co Ltd filed Critical Hangzhou Netease Zaigu Technology Co Ltd
Priority to CN202110115228.5A priority Critical patent/CN112817847A/zh
Publication of CN112817847A publication Critical patent/CN112817847A/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/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing

Abstract

本公开涉及计算机软件测试技术领域,尤其涉及一种数据处理任务的测试方法、装置、电子设备及存储介质,解决对于改动后的数据处理任务的测试不充分,造成测试效率低下且影响关联的其他功能任务的正常处理的问题,方法为:确定修改后的目标数据处理任务关联的联动数据处理任务,再获取所述目标数据处理任务以及所述联动数据处理任务分别输出的数据处理结果,分别将每一个数据处理结果与数据异常条件进行匹配后,生成数据检测结果,这样,对于所述目标数据处理任务的测试不仅局限于所述目标数据处理任务自身,而且能够借助于对联动数据处理任务输出的数据处理结果的测试,辅助对所述目标数据处理任务进行检测,扩大了测试范围,提高了测试效率。

Description

数据处理任务的测试方法、装置、电子设备及存储介质
技术领域
本公开涉及计算机软件测试技术领域,尤其涉及一种数据处理任务的测试方法、装置、电子设备及存储介质。
背景技术
本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
离线数据平台作为数据开发的主要研发工具,能够提供代码开发和代码发布的服务,目前,离线数据开发平台主要聚焦于功能的开发,而缺少对于开发完毕的功能进行测试的过程,且测试过程依赖于开发人员凭借自身经验,对改动或发布的功能任务进行针对性测试,极大的影响了测试效率,而且,目前的测试过程无法保证改动后的功能任务能够对数据进行准确处理,使得在环环相扣的处理任务中,当前功能任务的调整对后续其他处理任务的正常进行造成影响。
发明内容
本公开提出一种数据处理任务的测试方法、装置、电子设备及存储介质,用以解决对于改动后的数据处理任务的测试不充分,造成测试效率低下且影响关联的其他功能任务的正常处理的问题。
本公开实施例提供的具体技术方案如下:
第一方面,提出一种数据处理任务的测试方法,应用于离线数据开发平台,包括:
响应于针对修改后的目标数据处理任务的发布操作,确定所述目标数据处理任务关联的至少一个联动数据处理任务,其中,所述目标数据处理任务输出的数据直接或间接应用于联动数据处理任务的处理过程中;
将测试数据输入所述目标数据处理任务,获取所述目标数据处理任务以及所述至少一个联动数据处理任务分别输出的数据处理结果;
分别将每一个数据处理结果与设置的数据异常条件进行匹配,以及根据每一个数据处理结果与数据异常条件的匹配情况,分别生成数据检测结果,其中,所述数据异常条件用于判定数据处理结果中的异常内容。
可选的,所述响应于针对修改后的目标数据处理任务的发布操作,确定所述目标数据处理任务关联的至少一个联动数据处理任务,包括:
建立由实现不同数据处理功能的数据处理任务组成的任务集合,确定所述任务集合中的关键链路,其中,所述关键链路中包括组合实现指定处理功能的各个数据处理任务;
响应于针对所述关键链路内的修改后的目标数据处理任务的发布操作,将直接或间接使用所述目标数据处理任务输出的数据的至少一个其他数据处理任务,确定为所述目标数据处理任务关联的联动数据处理任务。
可选的,所述响应于针对修改后的目标数据处理任务的发布操作,确定所述目标数据处理任务关联的至少一个联动数据处理任务,包括:
为输出指定类型数据的数据处理任务添加标签,并确定将自身输出的数据处理结果直接或间接输入所述数据处理任务的各个其他数据处理任务,以及将所述各个其他数据处理任务组成的链路确定为关键链路;
响应于针对所述关键链路内的修改后的目标数据处理任务的发布操作,将直接或间接使用所述目标数据处理任务输出的数据的至少一个其他数据处理任务,确定为所述目标数据处理任务关联的联动数据处理任务。
可选的,在所述确定所述目标数据处理任务关联的至少一个联动数据处理任务之后,所述将测试数据输入所述目标数据处理任务之前,或者,在所述分别生成数据检测结果之后,进一步执行以下任意一项的测试操作或组合:
按照设置的代码规则,扫描所述目标数据处理任务对应的任务代码,并根据所述任务代码与所述代码规则的匹配情况,生成代码扫描结果,其中,所述代码规则用于检测代码中的异常内容;或者,
解析所述目标数据处理任务对应的任务代码,并根据针对所述目标数据处理任务配置的参数,确定与所述目标数据处理任务关联的调度信息,以及根据所述调度信息与保存的任务调度信息之间的匹配情况,生成参数解析结果。
可选的,所述设置的代码规则包括以下任意一项或组合:
代码中变量的命名符合命名规范;
代码中包含执行必要操作的准确代码;
代码中嵌套的层数低于设置阈值;
代码中配置有与被读取数据匹配的处理方式。
可选的,所述解析所述任务代码,并根据针对所述目标数据处理任务配置的参数,确定所述目标数据处理任务关联的调度信息,包括:
解析所述任务代码,并根据所述任务代码中当前被配置的各类型的参数,确定所述目标数据处理任务对应的输入数据和输出数据,以及根据所述输入数据和输出数据关联的数据处理任务,确定所述目标数据处理任务相对于所述数据处理任务的调度时机,并将所述调度时机作为所述目标数据处理任务关联的调度信息。
可选的,所述数据异常条件包括以下任意一项或组合:
数据处理结果中包括重复数据;
数据处理结果中数据条数不超过设定门限值;
数据处理结果中数据取值异常;
数据处理结果中存在关联关系的各类数据的取值不符合设置的制约关系;
数据处理结果与修改所述目标数据处理任务前对应获得的历史数据处理结果之间的相似度,低于设定的相似度阈值。
可选的,所述数据处理结果中数据取值异常,包括以下任意一项或组合:
数据处理结果中数据的取值不在设置的数据范围内;
数据处理结果中字段的长度不在设置的长度范围内;
数据处理结果中对于同种类型的数据,存在所述数据中部分取值的占比低于设定的比例值。
可选的,所述根据每一个数据处理结果中满足数据异常条件的数据分别生成对应的数据检测结果之后,进一步包括:
确定所述代码扫描结果、参数解析结果以及数据检测结果中任意一项的结果中存在异常记录时,触发对所述目标数据处理任务的修改操作。
第二方面,提出一种数据处理任务的测试装置,应用于离线数据开发平台,包括:
响应单元,响应于针对修改后的目标数据处理任务的发布操作,确定所述目标数据处理任务关联的至少一个联动数据处理任务,其中,所述目标数据处理任务输出的数据直接或间接应用于联动数据处理任务的处理过程中;
获取单元,将测试数据输入所述目标数据处理任务,获取所述目标数据处理任务以及所述至少一个联动数据处理任务分别输出的数据处理结果;
匹配单元,分别将每一个数据处理结果与设置的数据异常条件进行匹配,以及根据每一个数据处理结果与数据异常条件的匹配情况,分别生成数据检测结果,其中,所述数据异常条件用于判定数据处理结果中的异常内容。
可选的,所述响应于针对修改后的目标数据处理任务的发布操作,确定所述目标数据处理任务关联的至少一个联动数据处理任务时,所述响应单元用于:
建立由实现不同数据处理功能的数据处理任务组成的任务集合,确定所述任务集合中的关键链路,其中,所述关键链路中包括组合实现指定处理功能的各个数据处理任务;
响应于针对所述关键链路内的修改后的目标数据处理任务的发布操作,将直接或间接使用所述目标数据处理任务输出的数据的至少一个其他数据处理任务,确定为所述目标数据处理任务关联的联动数据处理任务。
可选的,所述响应于针对修改后的目标数据处理任务的发布操作,确定所述目标数据处理任务关联的至少一个联动数据处理任务时,所述响应单元用于:
为输出指定类型数据的数据处理任务添加标签,并确定将自身输出的数据处理结果直接或间接输入所述数据处理任务的各个其他数据处理任务,以及将所述各个其他数据处理任务组成的链路确定为关键链路;
响应于针对所述关键链路内的修改后的目标数据处理任务的发布操作,将直接或间接使用所述目标数据处理任务输出的数据的至少一个其他数据处理任务,确定为所述目标数据处理任务关联的联动数据处理任务。
可选的,在所述确定所述目标数据处理任务关联的至少一个联动数据处理任务之后,且在所述获取将测试数据输入所述目标数据处理任务后,所述目标数据处理任务以及所述至少一个联动数据处理任务分别输出的数据处理结果之前,或者,在所述分别生成数据检测结果之后,所述装置进一步执行以下任意一个单元所限定的操作或组合:
扫描单元,用于按照设置的代码规则,扫描所述目标数据处理任务对应的任务代码,并根据所述任务代码与所述代码规则的匹配情况,生成代码扫描结果,其中,所述代码规则用于检测代码中的异常内容;或者,
解析单元,用于解析所述目标数据处理任务对应的任务代码,并根据针对所述目标数据处理任务配置的参数,确定与所述目标数据处理任务关联的调度信息,以及根据所述调度信息与保存的任务调度信息之间的匹配情况,生成参数解析结果。
可选的,所述扫描单元按照包括以下任意一项或组合的代码规则进行代码扫描:
代码中变量的命名符合命名规范;
代码中包含执行必要操作的准确代码;
代码中嵌套的层数低于设置阈值;
代码中配置有与被读取数据匹配的处理方式。
可选的,所述解析所述任务代码,并根据针对所述目标数据处理任务配置的参数,确定所述目标数据处理任务与其他数据处理任务之间的调度信息时,所述解析单元用于:
解析所述任务代码,并根据所述任务代码中当前被配置的各类型的参数,确定所述目标数据处理任务对应的输入数据和输出数据,以及根据所述输入数据和输出数据关联的数据处理任务,确定所述目标数据处理任务相对于所述数据处理任务的调度时机,并将所述调度时机作为所述目标数据处理任务关联的调度信息。
可选的,所述匹配单元按照包括以下任意一项或组合的数据异常条件进行处理:
数据处理结果中包括重复数据;
数据处理结果中数据条数不超过设定门限值;
数据处理结果中数据取值异常;
数据处理结果中存在关联关系的各类数据的取值不符合设置的制约关系;
数据处理结果与修改所述目标数据处理任务前对应获得的历史数据处理结果之间的相似度,低于设定的相似度阈值。
可选的,所述匹配单元确定数据处理结果中数据取值异常时,所述数据取值异常包括以下任意一项或组合:
数据处理结果中数据的取值不在设置的数据范围内;
数据处理结果中字段的长度不在设置的长度范围内;
数据处理结果中对于同种类型的数据,存在所述数据中部分取值的占比低于设定的比例值。
可选的,所述根据每一个数据处理结果中满足数据异常条件的数据分别生成对应的数据检测结果之后,所述装置包括的处理单元用于:
确定所述代码扫描结果、参数解析结果以及数据检测结果中任意一项的结果中存在异常记录时,触发对所述目标数据处理任务的修改操作。
第三方面,提出一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一项所述方法的步骤。
第四方面,提出一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述第一方面中任一项所述方法的步骤。
本公开有益效果如下:
本公开实施例中,响应于针对修改后的目标数据处理任务的发布操作,确定所述目标数据处理任务关联的至少一个联动数据处理任务,其中,所述目标数据处理任务输出的数据直接或间接应用于联动数据处理任务的处理过程中,再将测试数据输入所述目标数据处理任务,获取所述目标数据处理任务以及所述至少一个联动数据处理任务分别输出的数据处理结果,然后分别将每一个数据处理结果与设置的数据异常条件进行匹配,以及根据每一个数据处理结果与数据异常条件的匹配情况,分别生成数据检测结果,其中,所述数据异常条件用于判定数据处理结果中的异常内容。这样,在对修改后的目标数据处理任务进行测试时,确定受所述目标数据处理任务修改影响的联动数据处理任务后,分别检测所述目标数据处理任务及联动数据处理任务输出的数据处理结果中是否存在异常,使得对于所述目标数据处理任务的测试不仅局限于所述目标数据处理任务自身,而且能够借助于对联动数据处理任务输出的数据处理结果的测试,辅助对所述目标数据处理任务进行检测,扩大了测试范围以实现对所述目标数据处理任务的全面测试,使得最终修改后的所述目标数据处理任务不对下游的联动数据处理任务的正常执行造成影响,提高了测试效率。
附图说明
通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:
图1为本公开实施例中数据处理任务的测试流程示意图;
图2为本公开实施例中目标数据处理任务与联动数据处理任务示意图;
图3为本公开实施例中确定的关键链路示意图;
图4为本公开实施例中对于关键链路上修改后的数据处理任务的详细测试过程示意图;
图5为本公开实施例中数据处理任务的测试装置示意图;
图6为本公开实施例中数据处理任务的测试装置的实体结构示意图。
具体实施方式
为了使本公开的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本公开进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本公开,并不用于限定本公开。
本领域技术人员知道,本公开的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
为了方便理解,下面对本公开实施例中涉及的名词进行解释:
离线数据开发平台,指数据开发的主要研发工具,能够提供代码开发和发布服务。在开发或改动实现某种数据处理功能的代码后,能够根据线上运行产生的历史数据进行仿真和测试,并发布校验完成的代码,换言之,离线数据开发平台开发能够执行各种数据处理功能的任务代码,也就是说,代码执行的过程相当于按照设置的调度顺序调度相应的任务以完成数据的处理。
调度,本公开中具体指代对于任务的调度,具体包括确定任务的执行时间,以及确定不同任务之间的依赖关系等,如对于任务A和任务B的调度,具体可以体现为指定任务A在时间X执行,指定任务B在时间Y执行,或者,指定任务A和任务B相互之间的依赖关系,如指定任务A在任务B执行之前执行。换言之,根据配置的对于不同任务的调度关系相当于创建了上下游的任务,上下游是一个相对的概念,上游任务在下游任务执行之前执行。
下面参考本公开的若干代表性实时方式,详细阐释本公开的原理和精神。
相关技术下,离线数据开发平台聚焦于对于数据处理功能的开发,开发人员对指定任务进行修改后,只能手动对所述指定任务进行测试,而且测试的过程依赖于测试人员的测试经验,且对于不同的修改后的任务进行测试的测试人员可能不同,使得测试的准确度千差万别;其次,由于执行数据处理的各个任务之间环环相扣,一个任务的输出可能作为后续其他任务的输入,故在只对所述指定任务进行的测试的情况下,则会被忽略对于所述指定任务的下游可能存在数以千计的联动任务由于上游任务的修改而造成的输出结果错误,这将极大的影响数据处理功能的正常实现;再次,为了响应于实际的使用需要,对于功能任务的开发需求日新月异,对于某些任务的重构和变更是频发的,而相关技术下依赖于测试人员根据测试经验进行的测试,将极大地减低开发效率,无法满足实际的开发需求。
有鉴于此,需要提出一种新的数据处理任务的测试方法,以规避上述缺陷。
应用场景总览
本公开实施例提出的数据处理任务的测试方法,可以应用于离线数据开发平台,所述离线数据开发平台一般运作于用户相对不活跃的时间段,例如凌晨某时段,调度执行离线任务,执行的离线任务的内容包括获取数据库中存储的,线上产生的用户历史数据,进而所述离线数据开发平台获取用户历史数据后,通过调度数据处理任务,对用户历史数据分类汇总,实现对用户行为的分析和预测,其中,所述离线数据开发平台所使用的用户历史数据可以是距离当前预定时长内的历史数据,所述预设时长的取值根据实际需要而定,如,一天,本公开在此不做具体限定。
具体的,在线上运行有一个购物应用的场景下,离线数据开发平台从数据库中获取预设时长内的各个用户历史订单数据,并通过对于一系列的数据处理任务的调度处理,实现对所述各类用户历史订单数据的分析和计算,得到诸如下单数、下单金额之类的汇总数据,以及根据用户历史订单数据获得对于用户行为的预测数据,以便更贴合用户的使用需求,同时,可以采用用户历史订单数据实现对待发布的数据处理任务的仿真和测试,其中,所述一系列的数据处理任务的调度处理能够实现对用户历史订单数据进行各类处理,各个数据处理任务对于数据的处理形式包括采用各类处理模型,实现基于历史数据进行的分析和预测。
进一步的,响应于实际的处理需要,开发人员可能需要对现存的数据处理任务进行调整,调整方式包括有针对某个数据处理任务中的具体参量或者字段进行的调整,或者,针对某些数据处理功能的实现而进行的处理逻辑的调整。
对应的,无论是针对存在微小调整的目标数据处理任务,还是针对存在大幅调整的目标数据处理任务,均需要针对所述目标数据处理任务进行完整有效的测试,在保证所述目标数据处理任务自身在代码层面和输出内容上的准确性的同时,还应保证所述目标数据处理功能的调整不会影响其下游的其他数据处理任务的功能实现,也就是说,所述目标数据处理任务下游的联动数据处理任务输出的数据处理结果,应该与调整目标数据处理任务前对应输出的数据处理结果一致。
参考图1,其为本公开实施中数据处理任务的测试流程示意图,下面结合附图1,对本公开实施例中的测试流程进行说明。
需要说明的是,由于本公开意在对修改后的目标数据处理任务进行全面的测试,包括扩大测试范围,借助于对所述目标数据处理任务下游的联动数据处理任务进行测试,意图间接反映出所述目标数据处理任务可能造成的影响,以实现及时发现所述目标数据处理任务修改不当的地方,故本公开以下叙述中所提及的目标数据处理的下游存在有联动数据处理任务,而对于可能存在的修改后的目标数据处理任务不存在关联的联动数据处理任务的情况,可仅针对所述目标数据处理任务进行单独测试,本公开将不再特殊说明。
步骤101:响应于针对修改后的目标数据处理任务的发布操作,确定所述目标数据处理任务关联的至少一个联动数据处理任务。
离线数据开发平台响应于针对修改后的目标数据处理任务的发布操作,确定所述目标数据处理任务关联的至少一个联动数据处理任务,其中,所述目标数据处理任务输出的数据直接或间接应用于联动数据处理任务的处理过程中。
具体的,所述离线数据平台响应于对修改后的目标数据处理任务的发布操作,确定关联的至少一个联动数据处理任务的方式可以是以下任意一种:
方式一、确定修改后的目标数据处理任务,并将直接或间接使用所述目标数据处理任务输出的数据的其他数据处理任务,作为所述目标数据处理任务关联的联动数据处理任务。
具体的,在本公开一些可能的实施例中,在开发人员对目标数据处理任务进行改动并意图发布时,所述离线数据开发平台响应于对所述目标数据处理任务的发布操作,将直接或间接使用所述目标数据处理任务输出的数据的其他数据处理任务,作为所述目标数据处理任务关联的联动数据处理任务。
例如,参考图2所示,其为本公开实施中目标数据处理任务与联动数据处理任务示意图,图2中所示意的虚线连接的部分表征存在输入关系,如,目标数据处理任务的输出的数据处理结果作为联动数据处理任务1和联动数据处理任务2的输入数据,联动数据处理任务1输出的数据处理结果作为联动数据处理任务3的输入数据等等,其中,联动数据处理任务1和联动数据处理任务2为直接使用目标数据处理任务输出的数据的联动数据处理任务,联动数据处理任务3-9为间接使用目标数据处理任务输出的数据的联动数据处理任务。
本公开实施例中,对于与所述目标数据处理任务关联的联动数据处理任务的确定,具体可以精确至字段级别,也就是说,假设对于目标数据处理任务的改动只涉及到一个字段,那么可只将下游用到所述一个字段的任务作为联动数据处理任务。
需要说明的是,本公开实施例中,确定间接使用所述目标数据处理任务输出的数据的联动数据处理任务时,一种情况下,在已知所述目标数据处理任务输出的数据的使用范围的情况下,可以根据所述使用范围确定间接使用所述输出的数据的联动数据处理任务;另一种情况下,在未知所述目标数据处理任务输出的数据的使用范围的情况下,可以将所述目标数据处理任务下游的全部任务作为联动数据处理任务。
这样,通过确定修改后的目标数据处理任务关联的联动数据处理任务,能够确定随着目标数据处理任务的修改所波及的各个数据处理任务,相当于确定了受所述目标数据处理任务影响的数据处理任务,规划了为保证修改的准确性所需要测试的数据处理任务范围。
方式二、将由实现指定数据处理功能的各个数据处理任务组成的链路确定为关键链路,并在确定修改后的目标数据处理任务存在于所述关键链路内时,确定所述目标数据处理任务关联的联动数据处理任务。
本公开一些可能的实施例中,所述离线数据开发平台可以建立由实现不同数据处理功能的数据处理任务组成的任务集合,确定所述任务集合中的关键链路,其中,所述关键链路中包括组合实现指定处理功能的各个数据处理任务,然后在确定修改后的目标数据处理任务存在于所述关联链路内时,响应于对所述目标数据处理任务的发布操作,将直接或间接使用所述目标数据处理任务输出的数据的数据处理任务,确定为所述目标数据处理任务关联的联动数据处理任务。
具体的,所述离线数据开发平台将由实现指定数据处理功能的各个数据处理任务组成的链路确定为关键链路,进而响应于针对所述关键链路内的修改后的目标数据处理任务的发布操作,将直接或间接使用所述目标数据处理任务输出的数据的数据处理任务,作为所述目标数据处理任务关联的联动数据处理任务,其中,所述关键链路可以根据实际的处理需求进行新增或删减。
例如,假设设置的指定数据处理功能为对金额数据进行处理,那么,所述离线数据开发平台则确定组合实现对金额数据进行处理的各个数据处理任务,并将所述各个数据处理任务组成的链路确定为关键链路。
进一步的,所述离线数据开发平台在确定存在于所述关键链路中的目标数据处理任务被修改后,响应于对于所述目标数据处理任务的发布操作,将直接或间接使用所述目标数据处理任务输出的数据的至少一个其他数据处理任务,作为所述目标数据处理任务关联的联动数据处理任务,其中,确定直接或间接使用所述目标数据处理任务输出的数据的联动数据处理任务的过程与方式一中所限定的相同,本公开在此不再赘述。
这样,通过设置关键链路,使得对于数据处理任务的测试操作聚焦于实现指定数据处理功能的各个数据处理任务,使得测试操作更加具有针对性,能够一定程度上的节省机器资源。
方式三、将由直接或间接参与生成指定类型数据的各个数据处理任务组成的链路,确定为关键链路,并在确定修改后的目标数据处理任务存在于所述关键链路内时,确定所述目标数据处理任务关联的联动数据处理任务。
本公开一些可能的实施例中,离线数据开发平台可以为输出指定类型数据的数据处理任务添加标签,并确定将自身输出的数据处理结果直接或间接输入所述数据处理任务的各个其他数据处理任务,以及将所述各个其他数据处理任务组成的链路确定为关键链路,再响应于针对所述关键链路内的修改后的目标数据处理任务的发布操作,将直接或间接使用所述目标数据处理任务输出的数据的至少一个其他数据处理任务,确定为所述目标数据处理任务关联的联动数据处理任务。
具体的,所述离线数据开发平台可以从得到的各类型数据的角度,逆向确定关键链路,具体实现为,可以为输出指定类型数据的数据处理任务添加标签,并确定将自身输出的数据处理结果直接或间接输入所述数据处理任务的各个其他数据处理任务,以及将所述各个其他数据处理任务组成的链路确定为关键链路,换言之,所述离线数据开发平台确定得到所述指定类型数据所经由的各个数据处理任务,并将所述各个数据处理任务组成的链路确定为关键链路,其中,所述指定类型数据具体可以根据实际的使用需要自定义设置,本公开在此不做具体限制。
例如,假设离线数据平台将涉及到重要应用场景的数据,诸如金额数据,确定为指定类型数据,参考图3,其为本公开实施例中确定的关键链路示意图,在将金额数据作为指定类型数据时,首先确定直接输出所述金额数据的数据处理任务,并确定在所述数据处理任务上游,且直接或间接将自身输出的数据处理结果输入所述数据处理任务的各个其他数据处理任务,以及将由所述各个数据处理任务组成的链路设置为关键链路,得到如图3中黑色粗实线所示意的链路。
进一步的,所述离线数据开发平台在确定存在于所述关键链路中的目标数据处理任务被修改后,响应于对于所述目标数据处理任务的发布操作,将直接或间接使用所述目标数据处理任务输出的数据的至少一个其他数据处理任务,作为所述目标数据处理任务关联的联动数据处理任务,其中,确定直接或间接使用所述目标数据处理任务输出的数据的联动数据处理任务的过程与方式一中所限定的相同,本公开在此不再赘述。
这样,在基于设置的指定类型数据确定关键链路时,相当于按照自定义的数据的重要程度,确定了重点关注的数据类型,也使得后续的测试操作能够聚焦于重点关注的数据进行,一定程度上节省了机器资源,并提高了对于机器资源的利用率。
需要说明的是,本公开实施例中,在方式一所公开的确定联动数据处理任务的方式中,所述离线数据开发平台相当于针对全局性的各个数据处理任务,进行同等类型的测试,当确定存在修改后的目标数据处理任务时,则直接确定所述目标数据处理任务关联的联动数据处理任务,而在方式二和方式三所公开的确定联动数据处理任务的方式中,相当于预先将重点关注的数据处理任务划分至关键链路,并在本公开所公开的方案中仅关注对于所述关键链路上的目标数据处理任务的修改操作,而在采用方式二和方式三所对应的处理方式进行处理时,对于目标数据处理任务不在所述关键链路上的情况,可以根据实际的测试需要,选择性的采用本公开所示意的部分测试内容进行测试,本公开在此不做过多限定。
步骤102:将测试数据输入目标数据处理任务,获取所述目标数据处理任务以及所述至少一个联动数据处理任务分别输出的数据处理结果。
离线数据开发平台在确定目标数据处理任务,以及所述目标数据处理任务额关联的至少一个联动数据处理任务后,为实现参考联动数据处理任务输出的数据实现对所述目标数据处理任务的间接测试,将测试数据输入所述目标数据处理任务,进而获取所述目标数据处理任务输出的数据处理结果,以及获取所述目标数据处理任务关联的所述至少一个联动数据处理任务分别输出的数据处理结果。
这样,通过将测试数据输入目标数据处理任务,能够获得目标数据处理任务和联动数据处理任务分别输出的数据处理结果,也就是得到所述测试数据分别经由目标数据处理任务和各个联动数据处理任务处理进行处理后,各自得到的数据处理结果,为后续对所述目标数据处理任务的测试提供参考依据,相当于提高了测试覆盖率。
步骤103:分别将每一个数据处理结果与设置的数据异常条件进行匹配,以及根据每一个数据处理结果与数据异常条件的匹配情况,分别生成数据检测结果。
离线数据开发平台获取目标数据处理任务以及至少一个联动数据处理任务分别输出的数据处理结果后,分别将每一个数据处理结果与设置的数据异常条件进行匹配,以及根据每一个数据处理结果与数据异常条件的匹配情况,分别生成数据检测结果,其中,所述数据异常条件用于判定数据处理结果中的异常内容。
下面以对一个数据处理结果进行检测为例,对数据处理结果与数据异常条件的匹配过程进行说明,其中,在检测过程中设置的所述数据异常条件包括以下任意一项或组合:
A1、数据处理结果中包括重复数据。
具体的,所述离线数据开发平台在对数据处理结果进行检测时,对所述数据处理结果中包含的内容进行唯一性校验,校验所述数据处理结果中是否存在有重复数据,若确定存在重复数据则可直接判定所述数据处理结果满足数据异常条件。
需要说明的是,当数据处理结果以输出表的形式存在时,所述输出表中的每一行表征一条数据,所述离线数据开发平台可以针对所述输出表进行表级别的数据校验,检测所述输出表中是否存在重复的数据,也就是校验是否存在两行相同的数据。
A2、数据处理结果中数据条数不超过设定门限值。
具体的,所述离线数据开发平台在对数据处理结果进行检测时,对所述数据处理结果进行数据条数的校验,并设置对应的设定门限值,以及在确定所述数据处理结果中包括的数据条数不超过所述设定门限值时,判定满足数据异常条件。
需要说明的是,当数据处理结果以输出表的形式存在时,所述输出表中的每一行表征一条数据,所述离线数据开发平台可以根据实际的业务处理需要设置对应的设定门限值,如根据业务处理需要确定输出表中的数据条数通常超过1000条,则将设定门限值设置为1000,并检测所述输出表中数据条数count是否不超过1000,即当检测到数据条数小于等于1000时,则可判定满足数据异常条件。
A3、数据处理结果中数据取值异常。
具体的,所述离线数据开发平台在对数据处理结果进行检测时,对所述数据处理结果中包括的数据取值进行检测,并分别判定每一个数据处理结果中的数据取值是否异常,其中,对于数据取值异常的判定方式包括但不限于以下任意一项或组合:
A3.1、数据处理结果中数据的取值不在设置的数据范围内。
所述离线数据开发平台可以针对各类数据的取值预先设置对应的数据范围,并确定存在某种类型的数据,取值不在对应的数据范围内时,则判定数据取值异常,其中,针对不同类型的数据设置的数据范围可能各不相同,具体的数据范围取值根据实际的处理需要而定。
具体的,所述离线数据开发平台可以检测数据的取值中是否存在异常值,比如,数据的取值本应是具体数字的内容中,存在有异常字符,诸如,null等;或者,可以针对各类数据的取值,预先设置对应的取值范围,作为数据的波动范围,并将数据取值不在所述波动范围内的数据确定为异常数据;或者,可以针对各类数据的取值设置对应的最大值或最小值,并通过比较数据的取值与对应设置的最大值或最小值的关系,确定数据取值是否存在异常,如,对于金额类型的数据设置最小值为0,以校验金额取值是否异常,又如,对于比率类型的数据,设置最大值100%,以校验比率取值是否异常。
A3.2、数据处理结果中字段的长度不在设置的长度范围内。
所述离线数据开发平台可以针对数据处理结果中字段的长度设置对应的长度范围,并检测获得的数据处理结果中各个字段的长度与所述长度范围的比较结果,以及在确定存在超过所述长度范围的字段时,则确定数据取值存在异常,其中,对于不同类型的数据的字段长度可能设置有不同的长度范围,具体的长度范围根据实际的处理需要而定。
A3.3、数据处理结果中对于同种类型的数据,存在所述数据中部分取值的占比低于设定的比例值。
具体的,所述离线数据开发平台对于同种类型的数据设置有取值的枚举值,并在确定部分枚举值的分布占比低于设定的比例值时,则可判定数据取值异常,其中,对于不同类型的枚举值设置的比例值可能各不相同,比例值的具体取值由实际的处理需要而定,本公开在此不做过多限定。
例如,假设对于“性别”数据,预先设置有枚举值“男”和“女”,但在得到的结果中,对于“男”性的出现占比为2%,远低于设定的比例值35%,则可判定数据取值异常,所述设定的比例值的取值根据实际情况而定,本公开不做具体限制。
A4、数据处理结果中存在关联关系的各类数据的取值不符合设置的制约关系。
具体的,离线数据开发平台检测数据处理结果中,存在关联关系的各类数据的取值是否符合设置的制约关系,其中,所述制约关系是指存在内在关联的各类数据之间的关系,所述制约关系针对的数据类型根据实际的处理需要而定。
例如,数据处理结果中包括有创建的订单数,和支付的订单数,则必然存在的制约关系有:创建的订单数>=支付的订单数,进而可以通过检测数据处理结果中与“创建的订单数”和“支付的订单数”对应的两类数据的取值是否符合所述制约关系,以确定是否存在数据异常。
A5、数据处理结果与修改所述目标数据处理任务前对应获得的历史数据处理结果之间的相似度,低于设定的相似度阈值。
具体的,为保证修改目标数据处理任务后,各数据处理任务实现的功能,与修改目标数据任务之前,各数据处理任务实现的功能相同,所述离线数据开发平台可以将修改所述目标数据处理任务后得到的数据处理结果,与修改所述目标数据处理任务之前获得的历史数据处理结果进行比对,确定前后得到的数据处理任务之间的相似度,并针对计算得到的相似度设置对应的相似度阈值,以及在确定计算修改所述目标数据处理任务前后得到的数据之间的相似度低于所述相似度阈值时,确定存在数据异常,其中,所述相似度阈值的取值根据实际的处理需要自行设置,本公开在此不做过多限定。
例如,假设设置的相似度阈值为90%,离线数据开发平台计算修改目标数据处理前某联动数据处理任务输出的历史数据处理结果,与修改所述目标数据处理任务之后该联动数据处理任务输出的数据处理结果之间的相似度,假设得到相似度为82%,则可确定计算得到的相似度82%低于设置的相似度阈值90%,则可判定存在数据异常。
进一步的,所述离线数据开发平台根据获得的每一个数据处理结果,与设置的数据异常条件的匹配情况,分别生成对应目标数据处理任务以及联动数据处理任务的数据检测结果,其中,所述数据检测结果中包括对应的数据处理任务中存在的与数据异常条件的匹配信息。
需要说明的是,本公开实施例中,A1中涉及到的进行表级别唯一性校验、A2中涉及到的进行表级别count数不超过设定门限值的校验、A3中进行字段级别的null值检测和波动范围的检测,以及A4中进行存在制约关系的字段的检测,同样应用于后续在线上质量监控过程中,故为了保证修改后的目标数据处理任务发布后在线上的质量监控中不会报错,故在触发对所述目标数据处理任务及关联的联动数据处理任务进行检测时,也需通过进行线上质量监控时的检测条件。
这样,通过对目标数据处理任务及关联的联动数据处理任务各自输出的数据处理结果,进行数据层面的校验,使得在测试的过程中,不仅能够对被改动的目标数据处理任务进行测试,也能够对目标处理任务下游被波及的联动数据处理任务进行测试,扩大了测试范围,且借助于对下游的联动数据处理任务输出的数据处理结果的检测,辅助实现对于被改动的目标数据处理任务的检测,使得对于目标数据处理任务的测试更加精准。
本公开的一些实施例中,在执行步骤101之后,执行步骤102之前,或者,在执行步骤103之后,进一步的,所述离线数据开发平台可以针对目标数据处理任务对应的任务代码进行测试,具体的,所述离线数据开发平台可以采用下述S1或S2所限定的测试方式进行处理,其中,步骤S1和S2的执行顺序不固定。
S1:按照设置的代码规则,扫描目标数据处理任务对应的任务代码,并根据所述任务代码与所述代码规则的匹配情况,生成代码扫描结果。
离线数据开发平台按照设置的代码规则,扫描目标数据处理任务对应的任务代码,并根据所述任务代码与所述代码规则的匹配情况,生成代码扫描结果,其中,所述代码规则用于检测代码中的异常内容。
具体的,所述离线数据开发平台按照包括但不限于以下任意一项或组合所示意的代码规则,实现对所述任务代码的扫描测试:
B1、代码中变量的命名符合命名规范。
具体的,离线数据开发平台获取目标数据处理任务对应的任务代码后,检测代码编写的规范性问题,如,检测代码中变量的命名是否符合命名规范。
例如,假设目标数据处理任务的任务代码是结构化查询语言(Structured QueryLanguage,SQL)代码,所述离线数据开发平台扫描所述目标数据处理任务对应的SQL代码的同时,检测所述SQL代码中对于各类数据表的命名是否符合命名规范。
B2、代码中包含执行必要操作的准确代码。
具体的,离线数据开发平台获取目标数据处理任务对应的任务代码后,检测所述任务代码中是否存在隐含的错误,例如,检测的内容可以是:任务代码中是否支持必要操作的实现,以及,任务代码中限定的字段的插入位置是否合理。
例如,所述离线数据开发平台可以通过检测代码中的关键字,如“insert into”,以判定所述任务代码是否支持重跑,当确定任务代码中第一段出现“insert into”时,则可判定所述任务代码不支持重跑,或者,可以通过检测所述任务代码中字段顺序与对应的数据表结构的字段顺序是否一致,以判定所述任务代码中字段是否存在错位。
B3、代码中嵌套的层数低于设置阈值。
具体的,离线数据开发平台为保证任务代码执行的性能问题,可以限制所述任务代码的嵌套格式,具体可以设置嵌套的层数,以避免出现所述任务代码中嵌套的层数过多,使得代码执行复杂,需要借助于额外的语句对代码进行拆解的情况发生。
B4、代码中配置有与被读取数据匹配的处理方式。
具体的,离线数据开发平台在开发任务代码时,需要配置有与被读取数据匹配的处理方式,也就是说,对于代码中限定的执行方式,需要实现在对输入数据进行处理时,能够采用匹配的处理方式进行处理。
例如,假设任务代码实现对于输入数据表的操作时,由于已知输入数据表设置有分区,故为了保证对于输入数据表进行快速有效的处理,可以在编写代码时在关键字“where”后面设置有分区,故可以通过检测代码中是否设置有分区以检测是否采用了与被读取数据匹配的处理方式。
S2:解析目标数据处理任务对应的任务代码,并根据针对所述目标数据处理任务配置的参数,确定与所述目标数据处理任务关联的调度信息,以及根据所述调度信息与保存的任务调度信息之间的匹配情况,生成参数解析结果。
由于数据处理任务的开发涉及到的主要内容包括有代码编写方面的内容,还包括各类的参数配置,离线数据开发平台可以通过解析目标数据处理任务对应的任务代码,实现对于所述任务代码中备配置的各中类型的参数的测试。
本公开实施例中,所述离线数据开发平台通过解析所述任务代码,可以确定所述目标数据处理任务关联的调度信息,具体的,通过解析所述任务代码,得到对应的输入数据和输出数据,并能够通过所述输入数据和所述输出数据,确定对应关联的数据处理任务,进而确定目标数据处理任务相对于确定的所述数据处理任务的调度时机,并根据所述调度时机确定所述目标数据处理任务关联的调度信息,其中,所述调度时机包括数据处理任务被配置的执行时间,以各数据处理任务之间的相对的执行次序。
例如,假设所述离线数据开发平台对修改后的目标数据处理任务的开发代码进行解析后,得到输入表和输出表,进而确定输入表是由数据处理任务A输出的,输出表后续作为数据处理任务B的输入数据,那么,必然存在的调度时机是,先调度执行数据处理任务A,然后执行所述目标数据处理任务,再调度执行数据处理任务B。
进一步的,根据所述调度信息与保存的任务调度信息之间的匹配情况,生成参数解析结果,其中,所述任务调度信息是在进行代码开发时配置好的,相当于先前设置的任务执行框架,具体包括对于各个数据处理任务的调度时机。
这样,根据得到的调度信息,能够确定目标数据处理任务相对于其他数据处理任务的执行时机,使得能够确定是否存在对于所述目标数据处理任务的参数多配或少配的情况,避免出现由于配置多余参数导致的数据延迟的问题,以及避免出现由于漏配参数导致数据的输出错误的问题。
进一步的,所述离线数据开发平台在实现任务代码的检测、参数的解析,以及数据层面的测试后,分别得到代码扫描结果、参数解析结果,以及数据检测结果,在所述离线数据开发平台确定所述代码扫描结果、参数解析结果以及数据检测结果中任意一项的结果中存在异常记录时,触发对所述目标数据处理任务的修改操作。
具体的,确定获得的代码扫描结果、参数解析结果,以及数据检测结果中,任意一项存在问题时,则直接判定测试不通过,并触发对于所述目标数据处理任务的修改操作。反之,若确定获得的代码扫描结果、参数解析结果,以及数据检测结果中均未出现异常时,则可判定测试通过,并继续进行发布目标数据处理任务的流程。
这样,本公开所示意的数据处理任务的测试中,每一次的发布操作都会触发测试流程,且无需测试人员的参与即可实现自动化测试,避免了额外的测试人员投入,在提高了测试范围的同时,极大的提高了测试效率,在对修改后的目标数据处理任务进行测试的过程中,不仅对所述目标数据处理任务进行改动的代码层面的测试,还能够进行代码之外的参数巡检,以检测参数配置情况,以及借助于对下游关联的联动数据处理任务的测试,联合实现对于修改后的目标数据处理任务的有效测试。
基于同一发明构思,参考图4所示,其为本公开实施中对于关键链路上修改后的数据处理任务的详细测试过程示意图。具体流程如下:
步骤401:确定修改后的目标数据处理任务存在于关键链路上。
具体的,离线数据开发平台确定修改后的目标处理链路存在于设置的关键链路上时,则执行继续执行下述的测试流程,对于不在所述关键链路上的目标数据处理任务,则可根据实际配置需要执行下述的部分测试流程,本公开将不做具体限定,其中,所述关键链路可以是组合实现指定处理功能的各个数据处理任务,或者,所述关键链路可以是与输出的指定类型数据相关的各个数据处理任务。
步骤402:接收对于目标数据处理任务的发布指示。
具体的,离线数据开发平台接收对于修改后的目标数据处理任务的发布指示,相当于触发对所述目标数据处理任务进行相关的测试操作,其中,所述目标数据处理任务存在于关键链路上。
步骤403:确定目标数据处理任务的任务代码,并扫描所述任务代码进行代码检测,生成代码扫描结果,以及解析所述任务代码以进行配置参数的检查,生成参数解析结果。
具体的,离线数据开发平台确定目标数据处理任务的任务代码,并按照设置的代码规则,扫描所述目标数据处理任务对应的任务代码,并根据所述任务代码与所述代码规则的匹配情况,生成代码扫描结果,其中,所述代码规则包括但不限于以下任意一项或组合:代码中变量的命名符合命名规范;代码中包含执行必要操作的准确代码;代码中嵌套的层数低于设置阈值;代码中配置有与被读取数据匹配的处理方式。
所述离线数据开发平台还可以解析所述任务代码,并根据针对所述目标数据处理任务配置的参数,确定与所述目标数据处理任务关联的调度信息,以及根据所述调度信息与保存的任务调度信息之间的匹配情况,生成参数解析结果。
需要说明的是,本公开实施例中,对于参数解析结果和代码扫描结果的生成顺序不固定,本公开的一些可能的实施例中,可以先对所述任务代码进行扫描处理,以生成代码扫描结果,然后对所述任务代码进行解析,生成参数解析结果,本公开另一些可能的实施例中,可以先对所述任务代码进行解析,生成参数解析结果,再对所述任务代码进行扫描处理,以生成代码扫描结果。
步骤404:确定目标数据处理任务关联的至少一个联动数据处理任务,并将测试数据输入所述目标数据处理任务,获得所述目标数据处理任务和所述至少一个联动数据处理任务各自输出的数据处理结果。
具体的,离线数据开发平台将直接或间接使用目标数据处理任务的输出结果的其他数据处理任务,确定为与所述目标数据处理任务关联的至少一个联动数据处理任务,并将测试数据输入所述目标数据处理任务中,获得所述目标数据处理任务和所述至少一个联动数据处理任务各自输出的数据处理结果。
步骤405:分别将每一个数据处理结果,与设置的数据异常条件进行匹配,得到每一个数据处理结果对应的数据检测结果,以及根据目标数据处理任务的代码扫描结果、参数解析结果,以及获得的各个参数检测结果,生成测试报告。
具体的,离线数据开发平台获得对应目标数据处理任务的数据处理结果,以及获得每一个联动数据处理任务的数据处理结果后,将每一个数据处理结果与设置的数据异常条件进行匹配,得到每一个数据处理结果对应的数据检测结果,其中,所述数据异常条件包括但不限于以下任意一项或组合:数据处理结果中包括重复数据;数据处理结果中数据条数不超过设定门限值;数据处理结果中数据取值异常;数据处理结果中存在关联关系的各类数据的取值不符合设置的制约关系;数据处理结果与修改所述目标数据处理任务前对应获得的历史数据处理结果之间的相似度,低于设定的相似度阈值。
需要说明的是,对于数据异常条件中包括的数据处理结果中数据取值异常,具体可以包括但不限于以下任意一种情况或组合:数据处理结果中数据的取值不在设置的数据范围内;数据处理结果中字段的长度不在设置的长度范围内;数据处理结果中对于同种类型的数据,存在所述数据中部分取值的占比低于设定的比例值。
进一步的,所述离线数据开发平台根据每一个数据处理结果与数据异常条件的匹配情况,得到每一个数据处理结果对应的数据检测结果,进而基于针对所述目标数据处理任务的任务代码得到代码扫描结果和参数解析结果,以及对应所述目标数据处理任务的数据检测结果,生成所述目标数据处理任务的测试结果,根据所述测试结果与所述至少一个联动数据处理任务的数据检测结果,生成完整的测试报告。
需要说明的是,本公开实施例中,对于步骤403和步骤405所分别限定的代码扫描结果、参数解析结果,以及数据检测结果的生成过程,不具体限定生成顺序,可以采用任意组合的形式,分别执行生成处理结果所对应的操作,如,先进行生成代码扫描结果所对应的操作,再进行生成参数解析结果所对应的操作,然后进行数据检测结果所对应的操作;或者,先进行生成代码扫描结果所对应的操作,再进行生成数据检测结果所对应的操作,然后进行参数解析结果所对应的操作。
步骤406:判定生成的测试报告中是否记录有异常内容,若是,执行步骤407,否则,执行步骤408。
具体的,离线数据开发平台获得测试报告后,判断所述测试报告中是否记录有异常内容,所述异常内容是指测试报告中存在的代码扫描结果、参数解析结果,以及数据检测结果中是否记录有异常的内容,即判断代码扫描结果中是否记录有与代码规则违背的内容,判断参数解析结果中是否记录有调度信息异常的内容,以及判断数据检测结果中是否记录有与数据异常条件匹配的内容,若上述任意一个的判断结果为是,则可判定生成的测试报告中记录有异常内容。
步骤407:退回至对于目标数据处理任务的修改状态,并响应于对所述目标数据处理任务的修改操作。
具体的,离线数据开发平台确定测试报告中记录有异常内容时,则从当前的待发布状态退回至对于目标数据处理任务的修改状态,并响应于相关人员对于所述目标数据处理任务的修改操作。
步骤408:继续进行目标数据处理任务的发布。
具体的,离线数据开发平台确定获得的测试报告中不存在异常内容时,则继续进行对于目标数据处理任务的发布操作。
基于同一发明构思,参阅图5所示,其为本公开实施例中数据处理任务的测试装置示意图,包括:响应单元501,获取单元502,匹配单元503,扫描单元504,解析单元505,以及处理单元506,其中,
响应单元501,响应于针对修改后的目标数据处理任务的发布操作,确定所述目标数据处理任务关联的至少一个联动数据处理任务,其中,所述目标数据处理任务输出的数据直接或间接应用于联动数据处理任务的处理过程中;
获取单元502,将测试数据输入所述目标数据处理任务,获取所述目标数据处理任务以及所述至少一个联动数据处理任务分别输出的数据处理结果;
匹配单元503,分别将每一个数据处理结果与设置的数据异常条件进行匹配,以及根据每一个数据处理结果与数据异常条件的匹配情况,分别生成数据检测结果,其中,所述数据异常条件用于判定数据处理结果中的异常内容。
可选的,所述响应于针对修改后的目标数据处理任务的发布操作,确定所述目标数据处理任务关联的至少一个联动数据处理任务时,所述响应单元501用于:
建立由实现不同数据处理功能的数据处理任务组成的任务集合,确定所述任务集合中的关键链路,其中,所述关键链路中包括组合实现指定处理功能的各个数据处理任务;
响应于针对所述关键链路内的修改后的目标数据处理任务的发布操作,将直接或间接使用所述目标数据处理任务输出的数据的至少一个其他数据处理任务,确定为所述目标数据处理任务关联的联动数据处理任务。
可选的,所述响应于针对修改后的目标数据处理任务的发布操作,确定所述目标数据处理任务关联的至少一个联动数据处理任务时,所述响应单元501用于:
为输出指定类型数据的数据处理任务添加标签,并确定将自身输出的数据处理结果直接或间接输入所述数据处理任务的各个其他数据处理任务,以及将所述各个其他数据处理任务组成的链路确定为关键链路;
响应于针对所述关键链路内的修改后的目标数据处理任务的发布操作,将直接或间接使用所述目标数据处理任务输出的数据的至少一个其他数据处理任务,确定为所述目标数据处理任务关联的联动数据处理任务。
可选的,在所述确定所述目标数据处理任务关联的至少一个联动数据处理任务之后,且在所述获取将测试数据输入所述目标数据处理任务后,所述目标数据处理任务以及所述至少一个联动数据处理任务分别输出的数据处理结果之前,或者,在所述分别生成数据检测结果之后,所述装置进一步执行以下任意一个单元所限定的操作或组合:
扫描单元504,用于按照设置的代码规则,扫描所述目标数据处理任务对应的任务代码,并根据所述任务代码与所述代码规则的匹配情况,生成代码扫描结果,其中,所述代码规则用于检测代码中的异常内容;或者,
解析单元505,用于解析所述目标数据处理任务对应的任务代码,并根据针对所述目标数据处理任务配置的参数,确定与所述目标数据处理任务关联的调度信息,以及根据所述调度信息与保存的任务调度信息之间的匹配情况,生成参数解析结果。
可选的,所述扫描单元504按照包括以下任意一项或组合的代码规则进行代码扫描:
代码中变量的命名符合命名规范;
代码中包含执行必要操作的准确代码;
代码中嵌套的层数低于设置阈值;
代码中配置有与被读取数据匹配的处理方式。
可选的,所述解析所述任务代码,并根据针对所述目标数据处理任务配置的参数,确定所述目标数据处理任务与其他数据处理任务之间的调度信息时,所述解析单元505用于:
解析所述任务代码,并根据所述任务代码中当前被配置的各类型的参数,确定所述目标数据处理任务对应的输入数据和输出数据,以及根据所述输入数据和输出数据关联的数据处理任务,确定所述目标数据处理任务相对于所述数据处理任务的调度时机,并将所述调度时机作为所述目标数据处理任务关联的调度信息。
可选的,所述匹配单元503按照包括以下任意一项或组合的数据异常条件进行处理:
数据处理结果中包括重复数据;
数据处理结果中数据条数不超过设定门限值;
数据处理结果中数据取值异常;
数据处理结果中存在关联关系的各类数据的取值不符合设置的制约关系;
数据处理结果与修改所述目标数据处理任务前对应获得的历史数据处理结果之间的相似度,低于设定的相似度阈值。
可选的,所述匹配单元503确定数据处理结果中数据取值异常时,所述数据取值异常包括以下任意一项或组合:
数据处理结果中数据的取值不在设置的数据范围内;
数据处理结果中字段的长度不在设置的长度范围内;
数据处理结果中对于同种类型的数据,存在所述数据中部分取值的占比低于设定的比例值。
可选的,所述根据每一个数据处理结果中满足数据异常条件的数据分别生成对应的数据检测结果之后,所述装置包括的处理单元506用于:
确定所述代码扫描结果、参数解析结果以及数据检测结果中任意一项的结果中存在异常记录时,触发对所述目标数据处理任务的修改操作。
参阅图6所示,其为本公开实施例中数据处理任务的测试装置的实体结构示意图。基于同一技术构思,本申请实施例还提供了一种电子设备,可以包括存储器601和处理器602。
存储器601,用于存储处理器602执行的计算机程序。存储器601可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。处理器602,可以是一个中央处理单元(central processing unit,CPU),或者为数字处理单元等。本申请实施例中不限定上述存储器601和处理器602之间的具体连接介质。本申请实施例在图6中以存储器601和处理器602之间通过总线603连接,总线603在图6中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线603可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器601可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器601也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器601是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器601可以是上述存储器的组合。
处理器602,用于调用存储器601中存储的计算机程序时执行如图1中所示的实施例提供的数据处理任务的测试方法。
基于同一发明构思,本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任意方法实施例中的数据处理模型的测试方法。
综上所述,本公开实施例中,响应于针对修改后的目标数据处理任务的发布操作,确定所述目标数据处理任务关联的至少一个联动数据处理任务,其中,所述目标数据处理任务输出的数据直接或间接应用于联动数据处理任务的处理过程中,再将测试数据输入所述目标数据处理任务,获取所述目标数据处理任务以及所述至少一个联动数据处理任务分别输出的数据处理结果,然后分别将每一个数据处理结果与设置的数据异常条件进行匹配,以及根据每一个数据处理结果与数据异常条件的匹配情况,分别生成数据检测结果,其中,所述数据异常条件用于判定数据处理结果中的异常内容。这样,在对修改后的目标数据处理任务进行测试时,确定受所述目标数据处理任务修改影响的联动数据处理任务后,分别检测所述目标数据处理任务及联动数据处理任务输出的数据处理结果中是否存在异常,使得对于所述目标数据处理任务的测试不仅局限于所述目标数据处理任务自身,而且能够借助于对联动数据处理任务输出的数据处理结果的测试,辅助对所述目标数据处理任务进行检测,扩大了测试范围以实现对所述目标数据处理任务的全面测试,使得最终修改后的所述目标数据处理任务不对下游的联动数据处理任务的正常执行造成影响,提高了测试效率。
本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本公开的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本公开范围的所有变更和修改。
显然,本领域的技术人员可以对本公开实施例进行各种改动和变型而不脱离本公开实施例的精神和范围。这样,倘若本公开实施例的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。

Claims (10)

1.一种数据处理任务的测试方法,其特征在于,应用于离线数据开发平台,包括:
响应于针对修改后的目标数据处理任务的发布操作,确定所述目标数据处理任务关联的至少一个联动数据处理任务,其中,所述目标数据处理任务输出的数据直接或间接应用于联动数据处理任务的处理过程中;
将测试数据输入所述目标数据处理任务,获取所述目标数据处理任务以及所述至少一个联动数据处理任务分别输出的数据处理结果;
分别将每一个数据处理结果与设置的数据异常条件进行匹配,以及根据每一个数据处理结果与数据异常条件的匹配情况,分别生成数据检测结果,其中,所述数据异常条件用于判定数据处理结果中的异常内容。
2.如权利要求1所述的方法,其特征在于,所述响应于针对修改后的目标数据处理任务的发布操作,确定所述目标数据处理任务关联的至少一个联动数据处理任务,包括:
建立由实现不同数据处理功能的数据处理任务组成的任务集合,确定所述任务集合中的关键链路,其中,所述关键链路中包括组合实现指定处理功能的各个数据处理任务;
响应于针对所述关键链路内的修改后的目标数据处理任务的发布操作,将直接或间接使用所述目标数据处理任务输出的数据的至少一个其他数据处理任务,确定为所述目标数据处理任务关联的联动数据处理任务。
3.如权利要求1所述的方法,其特征在于,所述响应于针对修改后的目标数据处理任务的发布操作,确定所述目标数据处理任务关联的至少一个联动数据处理任务,包括:
为输出指定类型数据的数据处理任务添加标签,并确定将自身输出的数据处理结果直接或间接输入所述数据处理任务的各个其他数据处理任务,以及将所述各个其他数据处理任务组成的链路确定为关键链路;
响应于针对所述关键链路内的修改后的目标数据处理任务的发布操作,将直接或间接使用所述目标数据处理任务输出的数据的至少一个其他数据处理任务,确定为所述目标数据处理任务关联的联动数据处理任务。
4.如权利要求1所述的方法,其特征在于,在所述确定所述目标数据处理任务关联的至少一个联动数据处理任务之后,所述将测试数据输入所述目标数据处理任务之前,或者,在所述分别生成数据检测结果之后,进一步执行以下任意一项的测试操作或组合:
按照设置的代码规则,扫描所述目标数据处理任务对应的任务代码,并根据所述任务代码与所述代码规则的匹配情况,生成代码扫描结果,其中,所述代码规则用于检测代码中的异常内容;或者,
解析所述目标数据处理任务对应的任务代码,并根据针对所述目标数据处理任务配置的参数,确定与所述目标数据处理任务关联的调度信息,以及根据所述调度信息与保存的任务调度信息之间的匹配情况,生成参数解析结果。
5.如权利要求4所述的方法,其特征在于,所述设置的代码规则包括以下任意一项或组合:
代码中变量的命名符合命名规范;
代码中包含执行必要操作的准确代码;
代码中嵌套的层数低于设置阈值;
代码中配置有与被读取数据匹配的处理方式。
6.如权利要求4所述的方法,其特征在于,所述解析所述任务代码,并根据针对所述目标数据处理任务配置的参数,确定所述目标数据处理任务关联的调度信息,包括:
解析所述任务代码,并根据所述任务代码中当前被配置的各类型的参数,确定所述目标数据处理任务对应的输入数据和输出数据,以及根据所述输入数据和输出数据关联的数据处理任务,确定所述目标数据处理任务相对于所述数据处理任务的调度时机,并将所述调度时机作为所述目标数据处理任务关联的调度信息。
7.如权利要求1所述的方法,其特征在于,所述数据异常条件包括以下任意一项或组合:
数据处理结果中包括重复数据;
数据处理结果中数据条数不超过设定门限值;
数据处理结果中数据取值异常;
数据处理结果中存在关联关系的各类数据的取值不符合设置的制约关系;
数据处理结果与修改所述目标数据处理任务前对应获得的历史数据处理结果之间的相似度,低于设定的相似度阈值。
8.一种数据处理任务的测试装置,其特征在于,应用于离线数据开发平台,包括:
响应单元,响应于针对修改后的目标数据处理任务的发布操作,确定所述目标数据处理任务关联的至少一个联动数据处理任务,其中,所述目标数据处理任务输出的数据直接或间接应用于联动数据处理任务的处理过程中;
获取单元,将测试数据输入所述目标数据处理任务,获取所述目标数据处理任务以及所述至少一个联动数据处理任务分别输出的数据处理结果;
匹配单元,分别将每一个数据处理结果与设置的数据异常条件进行匹配,以及根据每一个数据处理结果与数据异常条件的匹配情况,分别生成数据检测结果,其中,所述数据异常条件用于判定数据处理结果中的异常内容。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该计算机程序指令被处理器执行时实现权利要求1至7任一项所述方法的步骤。
CN202110115228.5A 2021-01-28 2021-01-28 数据处理任务的测试方法、装置、电子设备及存储介质 Pending CN112817847A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110115228.5A CN112817847A (zh) 2021-01-28 2021-01-28 数据处理任务的测试方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110115228.5A CN112817847A (zh) 2021-01-28 2021-01-28 数据处理任务的测试方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN112817847A true CN112817847A (zh) 2021-05-18

Family

ID=75859713

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110115228.5A Pending CN112817847A (zh) 2021-01-28 2021-01-28 数据处理任务的测试方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112817847A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113468047A (zh) * 2021-06-17 2021-10-01 天津大学 基于启发式规则的并发式自适应随机测试方法
WO2023164599A1 (en) * 2022-02-25 2023-08-31 Veda Data Solutions, Inc. A fault tolerant method for processing data with human intervention

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130080834A1 (en) * 2011-09-28 2013-03-28 Fujitsu Limited Computer product, test support method, and test support apparatus
CN104156307A (zh) * 2014-07-03 2014-11-19 安徽景行信息科技有限公司 一种浏览器兼容性检测方法和系统
US20160246705A1 (en) * 2015-02-23 2016-08-25 International Business Machines Corporation Data fabrication based on test requirements
WO2017020721A1 (zh) * 2015-08-04 2017-02-09 阿里巴巴集团控股有限公司 业务功能的测试方法和装置
CN108446223A (zh) * 2018-03-06 2018-08-24 吉旗(成都)科技有限公司 一种基于动态编译的业务场景自动化测试方法
CN109144852A (zh) * 2018-07-25 2019-01-04 百度在线网络技术(北京)有限公司 静态代码的扫描方法、装置、计算机设备及存储介质
CN109542769A (zh) * 2018-10-25 2019-03-29 武汉精立电子技术有限公司 一种持续集成的自动化测试方法
CN109614409A (zh) * 2018-10-29 2019-04-12 阿里巴巴集团控股有限公司 业务数据处理方法、装置和服务器
CN110489321A (zh) * 2019-07-08 2019-11-22 平安科技(深圳)有限公司 测试用例筛选方法、装置、计算机设备和存储介质
CN110515827A (zh) * 2019-07-05 2019-11-29 中国平安财产保险股份有限公司 自动化测试方法、装置、计算机设备及存储介质
US10496402B1 (en) * 2017-09-28 2019-12-03 Amdocs Development Limited System, method, and computer program for defining and utilizing minimal testable values for software project development and operations
CN111309609A (zh) * 2020-02-13 2020-06-19 北京字节跳动网络技术有限公司 软件处理系统
CN111309372A (zh) * 2020-01-15 2020-06-19 中国平安财产保险股份有限公司 定时任务执行方法、装置、计算机设备和存储介质
CN111506511A (zh) * 2020-04-21 2020-08-07 腾讯科技(深圳)有限公司 一种测试用例生成方法、装置、电子设备及介质
CN111858065A (zh) * 2020-07-28 2020-10-30 中国平安财产保险股份有限公司 数据处理方法、设备、存储介质及装置
WO2020233015A1 (zh) * 2019-05-20 2020-11-26 平安普惠企业管理有限公司 一种链路跟踪方法及装置
CN112035368A (zh) * 2020-09-03 2020-12-04 携程旅游信息技术(上海)有限公司 自动化软件测试方法、装置、电子设备、存储介质
CN112131134A (zh) * 2020-10-14 2020-12-25 深圳壹账通智能科技有限公司 Ipo项目的时间点触发测试方法、装置、设备和存储介质

Patent Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130080834A1 (en) * 2011-09-28 2013-03-28 Fujitsu Limited Computer product, test support method, and test support apparatus
CN104156307A (zh) * 2014-07-03 2014-11-19 安徽景行信息科技有限公司 一种浏览器兼容性检测方法和系统
US20160246705A1 (en) * 2015-02-23 2016-08-25 International Business Machines Corporation Data fabrication based on test requirements
WO2017020721A1 (zh) * 2015-08-04 2017-02-09 阿里巴巴集团控股有限公司 业务功能的测试方法和装置
CN106708719A (zh) * 2015-08-04 2017-05-24 阿里巴巴集团控股有限公司 业务功能的测试方法和装置
US10496402B1 (en) * 2017-09-28 2019-12-03 Amdocs Development Limited System, method, and computer program for defining and utilizing minimal testable values for software project development and operations
CN108446223A (zh) * 2018-03-06 2018-08-24 吉旗(成都)科技有限公司 一种基于动态编译的业务场景自动化测试方法
CN109144852A (zh) * 2018-07-25 2019-01-04 百度在线网络技术(北京)有限公司 静态代码的扫描方法、装置、计算机设备及存储介质
CN109542769A (zh) * 2018-10-25 2019-03-29 武汉精立电子技术有限公司 一种持续集成的自动化测试方法
CN109614409A (zh) * 2018-10-29 2019-04-12 阿里巴巴集团控股有限公司 业务数据处理方法、装置和服务器
WO2020233015A1 (zh) * 2019-05-20 2020-11-26 平安普惠企业管理有限公司 一种链路跟踪方法及装置
CN110515827A (zh) * 2019-07-05 2019-11-29 中国平安财产保险股份有限公司 自动化测试方法、装置、计算机设备及存储介质
CN110489321A (zh) * 2019-07-08 2019-11-22 平安科技(深圳)有限公司 测试用例筛选方法、装置、计算机设备和存储介质
CN111309372A (zh) * 2020-01-15 2020-06-19 中国平安财产保险股份有限公司 定时任务执行方法、装置、计算机设备和存储介质
CN111309609A (zh) * 2020-02-13 2020-06-19 北京字节跳动网络技术有限公司 软件处理系统
CN111506511A (zh) * 2020-04-21 2020-08-07 腾讯科技(深圳)有限公司 一种测试用例生成方法、装置、电子设备及介质
CN111858065A (zh) * 2020-07-28 2020-10-30 中国平安财产保险股份有限公司 数据处理方法、设备、存储介质及装置
CN112035368A (zh) * 2020-09-03 2020-12-04 携程旅游信息技术(上海)有限公司 自动化软件测试方法、装置、电子设备、存储介质
CN112131134A (zh) * 2020-10-14 2020-12-25 深圳壹账通智能科技有限公司 Ipo项目的时间点触发测试方法、装置、设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张民: "基于python语言的软件测试技术", 31 May 2019, pages: 127 - 128 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113468047A (zh) * 2021-06-17 2021-10-01 天津大学 基于启发式规则的并发式自适应随机测试方法
CN113468047B (zh) * 2021-06-17 2022-05-17 天津大学 基于启发式规则的并发式自适应随机测试方法
WO2023164599A1 (en) * 2022-02-25 2023-08-31 Veda Data Solutions, Inc. A fault tolerant method for processing data with human intervention

Similar Documents

Publication Publication Date Title
CN109598095B (zh) 评分卡模型的建立方法、装置、计算机设备和存储介质
Jamil et al. Software testing techniques: A literature review
CN110287052B (zh) 一种异常任务的根因任务确定方法及装置
CN109947646A (zh) 接口测试方法、装置、计算机设备和存储介质
CN110489314B (zh) 模型异常检测方法、装置、计算机设备和存储介质
CN107992410B (zh) 软件质量监测方法、装置、计算机设备和存储介质
CN112817847A (zh) 数据处理任务的测试方法、装置、电子设备及存储介质
CN110083514B (zh) 软件测试缺陷评估方法、装置、计算机设备及存储介质
CN114116496A (zh) 自动化测试方法、装置、设备及介质
US20190114246A1 (en) Method for replicating production behaviours in a development environment
CN112363920A (zh) 测试用例的修复方法、装置、计算机设备和存储介质
CN112560269A (zh) 基于Rhapsody状态机的高容错电子系统任务可靠性仿真分析方法
CN115952081A (zh) 一种软件测试方法、装置、存储介质及设备
CN110908903B (zh) 一种基于可编辑yaml文件的测试方法
CN115048257A (zh) 系统业务功能验证方法、装置、计算机设备和存储介质
CN113886373A (zh) 一种数据处理方法、装置及电子设备
Al-Sabbagh et al. Selective regression testing based on big data: comparing feature extraction techniques
Ozawa et al. How do software metrics affect test case prioritization?
CN110546616A (zh) 随机硬件故障的概率度量
CN116016270A (zh) 一种交换机测试管理方法、装置、电子设备和存储介质
CN111209180A (zh) 一种基于模糊匹配的回归测试方法和装置
CN115658482A (zh) 数据库测试方法及装置、电子设备及计算机可读存储介质
CN110865939B (zh) 应用程序质量监测方法、装置、计算机设备和存储介质
CN111008150B (zh) 一种测试报告生成方法、装置及设备
JP7190246B2 (ja) ソフトウェア不具合予測装置

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