CN113535570B - 一种测试用例的处理方法、装置及电子设备 - Google Patents
一种测试用例的处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN113535570B CN113535570B CN202110836715.0A CN202110836715A CN113535570B CN 113535570 B CN113535570 B CN 113535570B CN 202110836715 A CN202110836715 A CN 202110836715A CN 113535570 B CN113535570 B CN 113535570B
- Authority
- CN
- China
- Prior art keywords
- test
- test case
- case
- sets
- interference
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Abstract
本发明实施例提供了一种测试用例的处理方法、装置及电子设备,该方法包括:确定N个测试用例中,每一测试用例包含的数据对象对应的目标字段集合;对N个测试用例进行划分处理,得到M个测试用例集合;每一所述测试用例集合包括至少一个测试用例,且测试用例集合包括至少两个所述测试用例时,任意两个测试用例包含的数据对象不存在公共的目标字段集合,N为大于1的正整数,M为小于或等于N的正整数;在测试流程中的基础数据部署之后,针对M个测试用例集合生成一一对应的M个配置信息;基于每一所述测试用例集合对应的配置信息,分别运行每一所测试用例集合,得到测试结果。本发明实施例可以在确保测试结果准确性的前提下,提升了测试效率。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种测试用例的处理方法、装置及电子设备。
背景技术
自动化已经广泛地应用于测试场景中,自动部署环境、自动部署数据、自动执行用例以及自动清理数据是目前常见的自动化模式。
通用的自动化模式更多地被应用在较为简单的业务场景或无大量基础数据支撑的简单接口场景下,通常在测试过程中,首先需要进行测试环境部署和基础数据部署,而后对每个测试用例依次进行配置和/或策略的创建、运行测试用例以及配置和/或策略删除的步骤,由于每个测试用例运行前都要执行配置和/或策略的创建的步骤,运行后还需要执行配置和/或策略删除的步骤,因此测试用例的数量和测试时间成线性关系,测试用例的数量越多,运行时间越长,而若针对多个测试用例统一创建配置和/或策略,则可能会出现不同测试用例共用数据而造成的相互干扰,降低测试结果的准确性。可见,目前的测试方式的无法兼顾测试的准确性和效率。
发明内容
本发明实施例的目的在于提供一种测试用例的处理方法、装置及电子设备,以解决现有的测试方式的无法兼顾测试的准确性和效率的问题。具体技术方案如下:
在本发明实施的第一方面,首先提供了一种测试用例的处理方法,包括:
确定N个测试用例中,每一测试用例包含的数据对象对应的目标字段集合;
对所述N个测试用例进行划分处理,得到M个测试用例集合;每一所述测试用例集合包括至少一个测试用例,且所述测试用例集合包括至少两个所述测试用例时,任意两个测试用例包含的数据对象不存在公共的目标字段集合,N为大于1的正整数,M为小于或等于N的正整数;
基于每一所述测试用例集合对应的配置信息,分别运行每一所测试用例集合,得到测试结果。
在本发明实施的第二方面,还提供了一种测试装置,包括:
确定模块,用于确定N个测试用例中,每一测试用例包含的数据对象对应的目标字段集合;
划分模块,用于对所述N个测试用例进行划分处理,得到M个测试用例集合;每一所述测试用例集合包括至少一个测试用例,且所述测试用例集合包括至少两个所述测试用例时,任意两个测试用例包含的数据对象不存在公共的目标字段集合,N为大于1的正整数,M为小于或等于N的正整数;
运行模块,用于基于每一所述测试用例集合对应的配置信息,分别运行所述M个测试用例集合,得到测试结果。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的测试用例的处理方法。
在本发明实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的测试用例的处理方法。
本发明实施例提供的测试用例的处理方法,可以通过确定N个测试用例中,每一测试用例包含的数据对象对应的目标字段集合,并通过对所述N个测试用例进行划分处理,得到M个测试用例集合,最后可以基于每一所述测试用例集合对应的配置信息,分别运行每一所测试用例集合,得到测试结果。由于测试用例集合中,任意两个测试用例包含的数据对象不存在公共的目标字段集合,因此,同一测试用例集合中测试用例可以共用测试数据进行测试,而不会存在共用数据造成的相互干扰,从而每一个测试用例集合中的测试用例可以共用一个配置信息运行,可以避免在每一测试用例运行前针对测试用例创建配置信息,运行后删除配置信息的步骤,进而在确保测试结果准确性的前提下,提升了测试效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1是本发明实施例提供的测试用例的处理方法的流程图之一;
图2是现有技术的测试用例的处理方法的流程图;
图3是本发明实施例提供的测试用例的处理方法的流程图之二;
图4是本发明实施例提供的测试装置的结构示意图;
图5是本发明实施例提供的电子设备的结构示意图。
具体实施方式
通常地,对于软件开发而言,往往需要在软件正式应用前执行多次测试,通过测试确定软件是否能够实现设计时所需的功能,并同时查找软件存在的漏洞,因此测试的效率和准确性至关重要。
参照图2,图2为通常的自动化测试流程图。现有技术中,在测试环境部署和基础数据的部署之后,在执行每个测试用例(case)时,需要首先针对每个测试用例执行配置和/或策略的创建步骤,而后在基于配置和/或策略信息,运行测试用例,在运行完成后,再删除配置和/或策略信息,在存在多个测试用例时,测试时间会线性增加。基于此,本发明提出了一种测试用例的处理方法,该方法可以应用于电子设备,以在确保测试结果的准确性的同时,提升测试效率。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
参见图1,图1是本发明实施例提供的一种测试用例的处理方法的流程图,如图1所示,包括以下步骤:
步骤101、确定N个测试用例中,每一测试用例包含的数据对象对应的目标字段集合。
步骤102、对所述N个测试用例进行划分处理,得到M个测试用例集合;每一所述测试用例集合包括至少一个测试用例,且所述测试用例集合包括至少两个所述测试用例时,任意两个测试用例包含的数据对象不存在公共的目标字段集合,N为大于1的正整数,M为小于或等于N的正整数。
步骤103、在测试流程中的基础数据部署之后,针对所述M个测试用例集合生成一一对应的M个配置信息。
步骤104、基于每一所述测试用例集合对应的配置信息,分别运行每一所测试用例集合,得到测试结果。
在上述步骤101中,上述N个测试用例,可以为当前业务下,针对一个或多个功能的全部测试用例,应理解,上述测试用例的用例内容可以根据实际的业务场景进行设置。
示例性地,在广告投放业务中,往往存在多个业务阶段,例如广告下单阶段、广告召回阶段和广告投放阶段等。而在知识付费业务中,也可以存在视频上传阶段、审核阶段、转码阶段和上线发布阶段等。上述N个测试用例,可以针对当前业务中,一个或多个业务阶段中的多个方面的功能进行设置,并可以以代码文件的形式进行存储。
通常地,软件的开发和测试往往会基于特定的架构进行,例如在同一业务中,对业务阶段、业务类型等按照特定的命名规则进行细分。因此,在测试用例的代码文件中,可以存在多个代码字段,以表征数据对象的各类属性信息。
在本发明实施例中,上述数据对象对应的目标字段集合,可以包括至少一个数据对象对应的目标字段。需要说明的是,上述数据对象,可以理解为测试过程中,所需要使用的数据信息所对应的对象。而上述目标字段集合,可以包括至少一个目标字段,用于指示该数据对象所对应的业务类型、业务阶段以及数据对象本身,即上述目标字段用于表征数据对象的属性信息,以便于在测试过程中,获取到当前业务的业务阶段中,数据对象对应的数据信息。
以广告业务为例,在测试过程中,往往需要使用广告主id,广告id、广告位等数据对象对应的具体数据信息,因此,上述测试用例的代码文件中,可以存在对应的字段,以指示需要获取的数据信息所对应的数据对象。
具体地,若测试针对广告业务的广告召回阶段,需要通过广告主id确定广告主的数据信息,上述广告主id对应的目标字段集合可以包括分别指示广告业务、广告召回阶段以及广告主id的目标字段。可以理解的是,上述目标字段可以由电子设备根据预设的规则预先生成,并存放于上述N个测试用例对应的代码文件中,其形式包括但不限于数字、字母、汉字字符串,在此不作进一步地限定。
可以理解的是,对于一个测试用例而言,可以同时需要多个数据对象的数据信息,例如一个测试用例中可以包括广告主id、广告id和广告位三个数据对象,因此测试用例中可以包括多个数据对象对应的目标字段集合,而不同测试用例中包括的数据对象可以相同,也可以不同。上述预设规则中,可以包括业务与业务阶段、数据对象之间的对应关系,从而电子可以获取上述N个测试用例的代码文件,并在测试用例的代码文件中,根据预设规则与当前业务,查询到数据对象以及数据对象对应的目标字段集合。
通常地,对于不同测试用例而言,若对多个测试用例进行配置和/或策略的创建,则会导致多个测试用例共用一部分配置或者测试数据,由于不同测试用例的运行逻辑不同,因此会相互干扰影响测试结果。例如,若多个测试用例中包含相同的数据对象,且数据对象对应的数据信息相同,由于则会导致不同测试用例之间相互干扰,影响到最终测试用例输出的测试结果的准确性。
由上述内容可知,上述N个测试用例的代码文件中可以包括数据对象对应的目标字段集合。则在上述步骤102中,电子设备可以基于数据对象对应的目标字段集合,对上述N个测试用例进行划分,以使得到的M个测试用例集合中,每一测试用例集合所包含的测试用例之间互不干扰。
需要说明的是,由于每一测试用例中,可以包括多个数据对象,也即每一测试用例中可以对应多个目标字段集合,上述公共的目标字段集合,可以理解为,任意两个测试用例中,存在一个或多个完全一致的目标字段集合,也即,目标字段集合中所包括的目标字段也完全一致。若两个测试用例中存在公共的目标字段集合,则表明两个测试用例中存在业务阶段、业务类别相同的同一数据对象,因此在此种情况下,两个测试用例之间必然相互干扰。
以此类推,在上述步骤102中,可以将互不干扰的测试用例划分到同一测试用例集合内,从而避免同一测试用例集合内的测试用例相互干扰,最终影响测试结果。
接上例继续说明,在一可选的实施例中,若在广告业务中,测试用例A针对广告业务的广告召回阶段,包括广告主id这一数据对象。此种情况下,目标字段集合可以包括指示业务阶段、业务类型以及数据对象的三个目标字段,按照预设规则,生成的目标字段可以分别为“RECALL”、“ADVERTISER”和“641211”,测试用例A中广告主id对应的目标字段集合为{“RECALL”,“ADVERTISER”,“641211”}。
若测试用例B也是针对广告业务的广告召回阶段,同样包括广告主id这一数据对象。此种情况下,若测试用例B中广告主id对应的目标字段集合也为{“RECALL”,“ADVERTISER”,“641211”},则表示测试用例A和测试用例B存在公共的目标字段集合,若将测试用例A和测试用例B划分至同一测试用例集合,则必然会在测试过程中相互干扰。则在上述步骤102中,可以将测试用例A和测试用例B划分至不同的测试用例集合,以确保同一测试用例集合中的各个测试用例互不干扰。
在划分得到M个测试用例集合后,电子设备即可以执行测试流程。在上述步骤103中,电子设备可以在针对M个测试用例集合部署环境数据和基础数据后,再执行对M个测试用例集合生成一一对应的M个配置信息。
可以理解的是,上述环境数据和基础数据为上述M个测试用例集合可以共用的数据,因此可以在测试流程中统一进行部署,进而减少了。而对于测试用例集合的配置信息而言,由上述内容可知,若M个测试用例集合共用同一配置信息,则可能对测试结果产生干扰。因此,在发明实施例中,电子设备可以针对M个测试用例集合生成M个一一对应的配置信息后,再基于对应的配置信息,分别运行M个测试用例集合中的测试用例,由于每一个测试用例集合中的各个测试用例互不干扰,因此可以共用同一配置信息,从而每一个测试用例集合中的测试用例可以共用一个配置信息运行,进而可以避免在每一测试用例运行前针对测试用例创建配置信息,运行后删除配置信息的步骤,提升测试效率。
电子设备可以针对每一测试用例集合,创建一一对应的配置和/或策略信息,上述配置信息可以以配置文件的形式存放。例如,对于一个测试用例集合而言,可以创建一个配置文件,包含所需要的配置/策略信息,并可以同时将测试所需的测试数据赋值到每个测试用例集合的配置文件中,以便于在运行测试用例时能够获取到实时的测试数据。
在上述步骤104中,电子设备可以基于每一测试用例集合的配置信息,运行每一测试用例集合,得到测试结果。可以理解的是,电子设备可以针对上述M个测试用例集合创建M个配置信息,并在测试过程中,基于每一测试用例集合对应的配置信息,逐个运行M个测试用例集合,得到测试结果。
上述测试结果可以为针对每个测试用例集合中的每一测试用例生成的测试断言,并可以根据每一测试用例的测试断言生成本次测试的测试报告,上述测试报告可以以邮件等方式发送至用户,以便于用户及时获知测试结果。
当然,在一些实施例中,电子设备还可以将上述M个配置信息进行整合,得到全局的配置文件,从而去重相同的数据,节约资源。
本发明实施例提供的测试用例的处理方法,可以通过确定N个测试用例中,每一测试用例包含的数据对象对应的目标字段集合,并通过对所述N个测试用例进行划分处理,得到M个测试用例集合,最后可以生成与M个测试用例集合对应的M个配置信息,并基于每一所述测试用例集合对应的配置信息,分别运行每一所测试用例集合,得到测试结果。由于测试用例集合中,任意两个测试用例包含的数据对象不存在公共的目标字段集合,因此,同一测试用例集合中测试用例可以共用配置信息进行测试,而不会存在共用数据造成的相互干扰,且可以避免在每一测试用例运行前针对测试用例创建配置信息,运行后删除配置信息的步骤,进而在确保测试结果准确性的前提下,提升了测试效率。
可选地,上述步骤101,包括:
在存量数据中,查询第一预设字段,所述第一预设字段用于指示所述存量数据对应的业务类型和/或业务阶段;
获取与所述第一预设字段关联的第二预设字段,所述第二预设字段用于指示所述存量数据对应的数据对象类别;
在所述N个测试用例中,确定与所述第二预设字段关联的数据对象;
根据所述第二预设字段,以及与所述第二预设字段关联的数据对象,确定所述数据对象对应的目标字段集合。
由上述内容可知,在一项业务中,往往存在预定义的业务类型和业务阶段,且存量数据中业务类型和业务阶段往往也可以通过字段的形式进行表征,同时,由于存量数据中也存在与业务类型和业务阶段关联的数据对象,因此可以通过查找业务类型和/或业务阶段的字段,来确定当前业务下的数据对象的类别。
在本发明实施例中,可以在上述存量数据中,通过查找表征业务类型和/或业务阶段的第一预设字段,从而确定表征数据对象类别的第二预设字段。上述存量数据可以为当前业务下的全部日志数据,也可以为流量命中在前X的日志数据,X为正整数,在此不作进一步的限定。
上述第一预设字段和第二可以根据实际的业务进行设置。在一具体的实施例中,上述第一预设字段和第二预设字段可以为相邻的两个字段,例如在广告业务中,ADVERTISER_GROUP_EXCLUSIVE中,第一预设字段为EXCLUSIVE,第二预设字段为EXCLUSIVE之前的相邻字段ADVERTISER_GROUP。
进一步地,由于测试用例中,上述表征业务类型、业务阶段、数据对象类别以及数据对象的字段可以预先规定在测试用例中进行填写,因此,电子设备可以根据上述第一预设字段和第二预设字段,在上述N个测试用例中进行查询,从而确定与上述第一预设字段和第二预设字段均关联的数据对象,从而确定上述目标字段集合。
本发明实施例中,电子设备从存量数据中获取当前业务类型和业务阶段下的数据对象的类别,从而根据数据对象的类别,结合业务类型和业务阶段,查询N个测试用例中各个数据对象,以及各个数据对象对应的目标字段集合,从而将存量数据中的数据对象类别与测试用例中的数据对象进行关联,便于电子设备根据数据对象类别与数据对象生成上述目标字段集合。
可选地,上述步骤103,包括:
在所述N个测试用例中,确定至少一个干扰用例集合,每一所述干扰用例集合包括至少两个测试用例,所述至少两个测试用例包含的数据对象存在公共的目标字段集合;
基于所述至少一个干扰用例集合,确定所述M个测试用例集合,其中,同一干扰用例集合中的测试用例存在于不同的测试用例集合中。
在本发明实施例中,电子设备可以根据各个数据对象对应的目标字段集合,从上述N个测试用例集合中,确定干扰用例集合。应理解,上述干扰用例集合中的测试用例包含的数据对象存在公共的目标字段集合,从而可以将上述干扰用例集合中的各个测试用例分配至不同的测试用例集合中,以避免同一测试用例集合中存在相互干扰的测试用例。
由于一个测试用例中可以包括多个数据对象,因此,最终确定的干扰用例集合中,任意两个干扰用例集合中可以存在相同的测试用例。例如,测试用例A与测试用例B存在公共的目标字段集合,测试用例A与测试用例C也存在公共的目标字段集合,则电子设备可以创建两个干扰用例集合,分别包括测试用例A与测试用例B,以及测试用例A与测试用例C。
进一步地,上述基于所述至少一个干扰用例集合,确定所述M个测试用例集合,包括根据所述至少一个干扰用例集合包含的测试用例的总数,确定测试用例集合的数量M;
将所述至少一个干扰用例集合中包含的每一测试用例,分别划分至所述M个测试用例集合中;其中,所述至少一个干扰用例集合中,任意两个测试用例划分的测试用例集合不同;
将所述N个测试用例中,除所述至少一个干扰用例集合中包含的测试用例外的测试用例,划分至所述M个测试用例集合的至少部分测试用例集合中。
在本发明实施例中,电子设备可以全部干扰用例集合中包含的测试用例的总数,确定测试用例集合的数量M。
例如,若存在两个干扰用例集合,其中一个干扰用例集合中包含测试用例A和测试用例B,另一个干扰用例集合中包含测试用例C和测试用例D,则两个干扰用例集合中测试用例的总数可以为4个,则M=4,从而电子设备可以创建4个测试用例集合,并将其余测试用例分配至上述4个测试用例集合中。
可以理解的是,在两个干扰用例集合,分别包括测试用例A与测试用例B,以及测试用例A与测试用例C时,上述M的数量可以为去重后的数量,即M=3。
上述分配方式可以为随机分配,也即,上述测试用例集合中可能仅包括一个测试用例。当然,在一些可选的实施方式中,电子设备也可以根据预设规则进行分配,以确保各个测试用例集合中,测试用例的数量大致相同。具体可以根据实际需要进行设置。
当然,上述确定测试用例集合数量M的方式,也可以为根据各个干扰用例集合中,用例集合数量最多的干扰用例集合确定,上述基于所述干扰用例集合,确定所述M个测试用例集合,包括:
根据每一干扰用例集合包含的测试用例的数量,确定第一干扰用例集合,所述第一干扰用例集合为包含测试用例数量最多的干扰用例集合;
将所述第一干扰用例集合中包含的每一测试用例,分别划分至所述M个测试用例集合中;其中,所述第一干扰用例集合中任意两个测试用例划分的测试用例集合不同;
将第二干扰用例集合中包含的每一测试用例,分别划分至所述M个测试用例集合的至少部分测试用例集合中;所述第二干扰用例集合为除所述第一干扰用例集合外的干扰用例集合,每一所述第二干扰用例集合中任意两个测试用例划分的测试用例集合不同;
将除所述干扰用例集合外的测试用例,划分至所述M个测试用例集合的至少部分测试用例集合中。
在本发明实施例中,电子设备可以根据各个干扰用例集合中,用例集合数量最多的第一干扰用例集合所包含的测试用例数量,确定测试用例集合数量M。
示例性地,若存在两个干扰用例集合,其中一个干扰用例集合中包含测试用例A、测试用例B和测试用例C,另一个干扰用例集合中包含测试用例D和测试用例E,则包含测试用例A、测试用例B和测试用例C的干扰用例集合为第一干扰用例集合,电子设备可以创建3个测试用例集合,并将除第一干扰用例集合外的测试用例划分至上述3个测试用例集合中,分配方式可以与上述实施例类似,在此不再赘述。
在本发明实施例中,通过将所有干扰用例集合中,包含测试用例数量最多的干扰用例集合的第一干扰用例集合所包含的测试用例数量作为测试用例集合的数量M,从而可以在保证每一测试用例集合中测试用例互不干扰的前提下,减少测试用例集合的数量,提升测试效率。
可选地,所述目标字段集合包括以下至少一项:
标识字段,用于指示所述数据对象;
类别字段,用于指示所述数据对象对应的数据对象类别;
业务阶段字段,用于指示所述数据对象对应的业务阶段;
业务类型字段,用于指示所述数据对象对应的业务类型。
由上述内容可知,上述测试用例中,数据对象可以同时与业务阶段、业务类型以及数据对象的类别关联,因此,在本发明实施例中,上述目标字段集合可以包括表征上述信息的字段,从而根据上述信息,确定必然相互干扰的测试用例,从而划分出上述M个测试用例集合。
具体地,上述标识字段可以用于直接指示上述数据对象,例如,在上述数据对象的类别为广告主id的情况下,上述标识字段可以为一串字符串6410002,该字符串即可以指示具体的广告主。可以理解的是,针对不同的广告主而言,其标识字段不同,因此,同一个数据对象可以同时对应多个标识字段。
上述类别字段,即指示数据对象对应的数据对象类别,由上述内容可知,上述类别字段可以根据存量数据生成,也即,电子设备可以根据当前的业务阶段和业务类型,确定当前的业务阶段和业务类型下数据对象的类别,上述类别字段可以与上述第二预设字段相同。
类似地,上述业务阶段字段和/或业务类型字段,可以与上述第一预设字段相同,从而电子设备可以由存量数据中提取的第一预设字段,查询到测试用例中的业务阶段字段和/或业务类型字段。
本发明实施例中,目标字段集合可以包括标识字段、类别字段、业务阶段字段和业务类型字段,从而电子设备可以根据相同的业务阶段字段、业务类型字段以及类别字段下,标识字段是否相同,来确定两个测试用例之间是否互相干扰,从而建立了数据对象与业务之间的逻辑关系,便于电子设备根据数据对象与业务之间的逻辑关系,确定测试用例之间是否相互干扰。
进一步地,上述测试用例中还可以包括测试用例的用例id,从而电子设备可以将用例id与目标字段集合进行关联,通过识别用例id,来确定目标字段集合所属的测试用例。
可选地,所述针对M个测试用例集合生成一一对应的M个配置信息的步骤之前,所述方法还包括:
获取所述M个测试用例集合对应的环境参数;
获取所述M个测试用例集合对应的测试基础数据;
所述基于每一所述测试用例集合对应的配置信息,分别运行每一所测试用例集合,得到测试结果,包括:
基于所述环境参数、所述测试基础数据和当前测试用例集合对应的配置信息,运行当前测试用例集合中包含的测试用例,得到当前测试用例集合对应的测试结果。
由于不同的测试用例集合中的测试用例可能相互干扰,因此,在本发明实施例中,每一测试用例集合中的测试用例可以单独运行,以确保测试结果的准确性。
针对上述M个测试用例集合,可以统一进行测试环境部署和测试基础数据的部署,从而获取到M个测试用例集合对应的环境参数和测试基础数据。而后可以针对每一测试用例集合,执行创建当前测试用例集合对应的配置信息,以及基于所述环境参数、所述测试基础数据和当前测试用例集合对应的配置信息,运行当前测试用例集合中包含的测试用例,得到当前测试用例集合对应的测试结果的步骤。
对于每一测试用例集合而言,由于其中所包含的测试用例互不干扰,因此多个测试用例可以并行执行,从而可以进一步提升测试效率。
需要说明的是,对于每一测试用例集合,在得到当前测试用例集合对应的测试结果后,可以删除当前测试用例集合对应的配置信息,以避免影响下一测试用例集合的运行。
而在上述M个测试用例集合均运行完成后,电子设备可以清楚上述环境参数和测试基础数据,减少资源占用。
电子设备可以结合每一测试用例集合对应的测试结果,生成测试报告渲染并返回给前端,从而便于使用者直观地获知本次测试的测试结果详情。
需要说明的是,本发明实施例中介绍的多种可选的实施方式,彼此可以相互结合实现,也可以单独实现,对此本发明实施例不作限定。
下面以广告业务为例,结合具体的业务场景,对本发明的具体实现方式进行解释说明。
参照图3,图3为在广告业务中,测试用例的处理方法的步骤流程图,上述测试用例的处理方法包括:
步骤301、基于被测系统代码设计架构,和线上已有日志,输出数据对象类别、业务阶段和业务类型对应的字段。
在上述步骤301中,举例而言,若广告业务系统存在广告召回阶段和广告召回后的一系列阶段(实际有区分召回、排序、竞价、投放等截断,此阶段的获取需要从代码定义中获取,开发人员设计时会遵循一定法则,开发的程序需要满足一定的可拓展性),电子设备可以根据代码对应字段去重筛选出所有业务类型下的不同数据对象类别,例如,根据线上top10w的日志流量,筛选出EXCLUSIVE业务类型有GROUP、ADVERTISER_GROUP、CREATIVE、AD_CONTENT等细分因子,并筛选出RULE业务类型有AD_TYPE、AD_ZONE、ORDERPLAN等细分因子。
步骤302、根据测试用例文件,自动获取测试用例中的字段,生成包含业务阶段,数据对象类别,数据对象id的目标字段集合。其中,目标字段集合可以为测试用例文件中必须直接或间接填写的数据信息,属于测试用例的基础数据。
步骤303、基于目标字段集合,确定相互不干扰的测试用例集合。
在上述步骤303中,测试用例集合的划分方式可以参照上述实施例进行,为避免重复,在此不再赘述。
本发明实施例中,通过在广告业务中应用上述测试用例的处理方法,可以提升广告测试效率,在数据可靠性基础上,精准测试保障广告产品质量。
参见图4,图4是本发明实施例提供的测试装置400的结构图,如图4所示,上述测试装置包括:
确定模块401,用于确定N个测试用例中,每一测试用例包含的数据对象对应的目标字段集合;
划分模块402,用于对所述N个测试用例进行划分处理,得到M个测试用例集合;每一所述测试用例集合包括至少一个测试用例,且所述测试用例集合包括至少两个所述测试用例时,任意两个测试用例包含的数据对象不存在公共的目标字段集合,N为大于1的正整数,M为小于或等于N的正整数;
生成模块403,在测试流程中的基础数据部署之后,针对M个测试用例集合生成一一对应的M个配置信息;
运行模块404,用于基于每一所述测试用例集合对应的配置信息,分别运行所述M个测试用例集合,得到测试结果。
本发明实施例中,电子设备可以通过确定模块401确定N个测试用例中,每一测试用例包含的数据对象对应的目标字段集合,并通过划分模块402对所述N个测试用例进行划分处理,得到M个测试用例集合,通过生成模块403在测试流程中的基础数据部署之后,针对M个测试用例集合生成一一对应的M个配置信息,最后可以通过运行模块404基于每一所述测试用例集合对应的配置信息,分别运行每一所测试用例集合,得到测试结果。由于测试用例集合中,任意两个测试用例包含的数据对象不存在公共的目标字段集合,因此,同一测试用例集合中测试用例可以共用配置信息进行测试,且可以避免在每一测试用例运行前针对测试用例创建配置信息,运行后删除配置信息的步骤,进而在确保测试结果准确性的前提下,提升了测试效率。
可选地,确定模块401,包括:
查询单元,用于在存量数据中,查询第一预设字段,所述第一预设字段用于指示所述存量数据对应的业务类型和/或业务阶段;
第一获取单元,用于获取与所述第一预设字段关联的第二预设字段,所述第二预设字段用于指示所述存量数据对应的数据对象类别;
第一确定单元,用于在所述N个测试用例中,确定与所述第二预设字段关联的数据对象;
第二确定单元,用于根据所述第二预设字段,以及与所述第二预设字段关联的数据对象,确定所述数据对象对应的目标字段集合。
可选地,划分模块402,包括:
第三确定单元,用于在所述N个测试用例中,确定至少一个干扰用例集合,每一所述干扰用例集合包括至少两个测试用例,所述至少两个测试用例包含的数据对象存在公共的目标字段集合;
第四确定单元,用于基于所述至少一个干扰用例集合,确定所述M个测试用例集合,其中,同一干扰用例集合中的测试用例存在于不同的测试用例集合中。
可选地,第四确定单元,具体用于:
根据所述至少一个干扰用例集合包含的测试用例的总数,确定测试用例集合的数量M;
将所述至少一个干扰用例集合中包含的每一测试用例,分别划分至所述M个测试用例集合中;其中,所述至少一个干扰用例集合中,任意两个测试用例划分的测试用例集合不同;
将所述N个测试用例中,除所述至少一个干扰用例集合中包含的测试用例外的测试用例,划分至所述M个测试用例集合的至少部分测试用例集合中。
可选地,第四确定单元,具体用于:
根据每一干扰用例集合包含的测试用例的数量,确定第一干扰用例集合,所述第一干扰用例集合为包含测试用例数量最多的干扰用例集合;
将所述第一干扰用例集合中包含的每一测试用例,分别划分至所述M个测试用例集合中;其中,所述第一干扰用例集合中任意两个测试用例划分的测试用例集合不同;
将第二干扰用例集合中包含的每一测试用例,分别划分至所述M个测试用例集合的至少部分测试用例集合中;所述第二干扰用例集合为除所述第一干扰用例集合外的干扰用例集合,每一所述第二干扰用例集合中任意两个测试用例划分的测试用例集合不同;
将除所述干扰用例集合外的测试用例,划分至所述M个测试用例集合的至少部分测试用例集合中。
可选地,所述目标字段集合包括以下至少一项:
标识字段,用于指示所述数据对象;
类别字段,用于指示所述数据对象对应的数据对象类别;
业务阶段字段,用于指示所述数据对象对应的业务阶段;
业务类型字段,用于指示所述数据对象对应的业务类型。
可选地,所述装置还包括:
第一获取模块,用于获取所述M个测试用例集合对应的环境参数;
第二获取模块,用于获取所述M个测试用例集合对应的测试基础数据;
运行模块404,包括:
运行单元,用于基于所述环境参数、所述测试基础数据和当前测试用例集合对应的配置信息,运行当前测试用例集合中包含的测试用例,得到当前测试用例集合对应的测试结果。
本发明实施例提供的测试装置能够实现图1或图3的方法实施例中测试用例的处理方法实现的各个过程,为避免重复,这里不再赘述。
本发明实施例还提供了一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的程序时,实现如下步骤:
确定N个测试用例中,每一测试用例包含的数据对象对应的目标字段集合;
对所述N个测试用例进行划分处理,得到M个测试用例集合;每一所述测试用例集合包括至少一个测试用例,且所述测试用例集合包括至少两个所述测试用例时,任意两个测试用例包含的数据对象不存在公共的目标字段集合,N为大于1的正整数,M为小于或等于N的正整数;在测试流程中的基础数据部署之后,针对所述M个测试用例集合生成一一对应的M个配置信息。基于每一所述测试用例集合对应的配置信息,分别运行每一所测试用例集合,得到测试结果。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的测试用例的处理方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的测试用例的处理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个数据或者操作与另一个数据或操作区分开来,而不一定要求或者暗示这些数据或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种测试用例的处理方法,其特征在于,包括:
确定N个测试用例中,每一测试用例包含的数据对象对应的目标字段集合;
对所述N个测试用例进行划分处理,得到M个测试用例集合;每一所述测试用例集合包括至少一个测试用例,且所述测试用例集合包括至少两个所述测试用例时,任意两个测试用例包含的数据对象不存在公共的目标字段集合,N为大于1的正整数,M为小于或等于N的正整数;
在测试流程中的基础数据部署之后,针对所述M个测试用例集合生成一一对应的M个配置信息;
基于每一所述测试用例集合对应的配置信息,分别运行每一所测试用例集合,得到测试结果。
2.根据权利要求1所述的方法,其特征在于,所述根据N个测试用例中,每一测试用例包含的数据对象,确定每一数据对象对应的目标字段集合,包括:
在存量数据中,查询第一预设字段,所述第一预设字段用于指示所述存量数据对应的业务类型和/或业务阶段;
获取与所述第一预设字段关联的第二预设字段,所述第二预设字段用于指示所述存量数据对应的数据对象类别;
在所述N个测试用例中,确定与所述第二预设字段关联的数据对象;
根据所述第二预设字段,以及与所述第二预设字段关联的数据对象,确定所述数据对象对应的目标字段集合。
3.根据权利要求1所述的方法,其特征在于,所述对所述N个测试用例进行划分处理,得到M个测试用例集合,包括:
在所述N个测试用例中,确定至少一个干扰用例集合,每一所述干扰用例集合包括至少两个测试用例,所述至少两个测试用例包含的数据对象存在公共的目标字段集合;
基于所述至少一个干扰用例集合,确定所述M个测试用例集合,其中,同一干扰用例集合中的测试用例存在于不同的测试用例集合中。
4.根据权利要求3所述的方法,其特征在于,所述基于所述至少一个干扰用例集合,确定所述M个测试用例集合,包括:
根据所述至少一个干扰用例集合包含的测试用例的总数,确定测试用例集合的数量M;
将所述至少一个干扰用例集合中包含的每一测试用例,分别划分至所述M个测试用例集合中;其中,所述至少一个干扰用例集合中,任意两个测试用例划分的测试用例集合不同;
将所述N个测试用例中,除所述至少一个干扰用例集合中包含的测试用例外的测试用例,划分至所述M个测试用例集合的至少部分测试用例集合中。
5.根据权利要求3所述的方法,其特征在于,所述基于所述干扰用例集合,确定所述M个测试用例集合,包括:
根据每一干扰用例集合包含的测试用例的数量,确定第一干扰用例集合,所述第一干扰用例集合为包含测试用例数量最多的干扰用例集合;
将所述第一干扰用例集合中包含的每一测试用例,分别划分至所述M个测试用例集合中;其中,所述第一干扰用例集合中任意两个测试用例划分的测试用例集合不同;
将第二干扰用例集合中包含的每一测试用例,分别划分至所述M个测试用例集合的至少部分测试用例集合中;所述第二干扰用例集合为除所述第一干扰用例集合外的干扰用例集合,每一所述第二干扰用例集合中任意两个测试用例划分的测试用例集合不同;
将除所述干扰用例集合外的测试用例,划分至所述M个测试用例集合的至少部分测试用例集合中。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述目标字段集合包括以下至少一项:
标识字段,用于指示所述数据对象;
类别字段,用于指示所述数据对象对应的数据对象类别;
业务阶段字段,用于指示所述数据对象对应的业务阶段;
业务类型字段,用于指示所述数据对象对应的业务类型。
7.根据权利要求1所述的方法,其特征在于,所述针对M个测试用例集合生成一一对应的M个配置信息的步骤之前,所述方法还包括:
获取所述M个测试用例集合对应的环境参数;
获取所述M个测试用例集合对应的测试基础数据;
所述基于每一所述测试用例集合对应的配置信息,分别运行每一所测试用例集合,得到测试结果,包括:
基于所述环境参数、所述测试基础数据和当前测试用例集合对应的配置信息,运行当前测试用例集合中包含的测试用例,得到当前测试用例集合对应的测试结果。
8.一种测试装置,其特征在于,包括:
确定模块,用于确定N个测试用例中,每一测试用例包含的数据对象对应的目标字段集合;
划分模块,用于对所述N个测试用例进行划分处理,得到M个测试用例集合;每一所述测试用例集合包括至少一个测试用例,且所述测试用例集合包括至少两个所述测试用例时,任意两个测试用例包含的数据对象不存在公共的目标字段集合,N为大于1的正整数,M为小于或等于N的正整数;
生成模块,用于在测试流程中的基础数据部署之后,针对M个测试用例集合生成一一对应的M个配置信息;
运行模块,用于基于每一所述测试用例集合对应的配置信息,分别运行所述M个测试用例集合,得到测试结果。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-7任一所述的方法步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110836715.0A CN113535570B (zh) | 2021-07-23 | 2021-07-23 | 一种测试用例的处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110836715.0A CN113535570B (zh) | 2021-07-23 | 2021-07-23 | 一种测试用例的处理方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113535570A CN113535570A (zh) | 2021-10-22 |
CN113535570B true CN113535570B (zh) | 2023-08-25 |
Family
ID=78089331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110836715.0A Active CN113535570B (zh) | 2021-07-23 | 2021-07-23 | 一种测试用例的处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113535570B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014096132A (ja) * | 2012-10-12 | 2014-05-22 | Japan Health Sciences Foundation | 電子的臨床検査情報収集システム、電子的臨床検査情報収集方法並びに電子的臨床検査情報収集プログラム及びこれを記録したコンピュータ読み取り可能な記録媒体 |
CN109992509A (zh) * | 2019-03-22 | 2019-07-09 | 恒生电子股份有限公司 | 测试用例的自动化执行方法、装置、电子设备 |
CN111522741A (zh) * | 2020-04-14 | 2020-08-11 | 北京奇艺世纪科技有限公司 | 接口测试代码生成方法、装置、电子设备及可读存储介质 |
CN112181835A (zh) * | 2020-09-29 | 2021-01-05 | 中国平安人寿保险股份有限公司 | 自动化测试方法、装置、计算机设备及存储介质 |
CN112988606A (zh) * | 2021-05-11 | 2021-06-18 | 成都爱瑞无线科技有限公司 | 测试用例生成方法、装置、设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110088011A1 (en) * | 2009-10-14 | 2011-04-14 | Vermeg Sarl | Automated Enterprise Software Development |
US10296448B2 (en) * | 2014-11-19 | 2019-05-21 | International Business Machines Corporation | Correlating test results variations with business requirements |
US10282283B2 (en) * | 2016-01-28 | 2019-05-07 | Accenture Global Solutions Limited | Orchestrating and providing a regression test |
US10558551B2 (en) * | 2017-08-24 | 2020-02-11 | Salesforce.Com, Inc. | Runtime expansion of test cases |
US11099973B2 (en) * | 2019-01-28 | 2021-08-24 | Salesforce.Com, Inc. | Automated test case management systems and methods |
-
2021
- 2021-07-23 CN CN202110836715.0A patent/CN113535570B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014096132A (ja) * | 2012-10-12 | 2014-05-22 | Japan Health Sciences Foundation | 電子的臨床検査情報収集システム、電子的臨床検査情報収集方法並びに電子的臨床検査情報収集プログラム及びこれを記録したコンピュータ読み取り可能な記録媒体 |
CN109992509A (zh) * | 2019-03-22 | 2019-07-09 | 恒生电子股份有限公司 | 测试用例的自动化执行方法、装置、电子设备 |
CN111522741A (zh) * | 2020-04-14 | 2020-08-11 | 北京奇艺世纪科技有限公司 | 接口测试代码生成方法、装置、电子设备及可读存储介质 |
CN112181835A (zh) * | 2020-09-29 | 2021-01-05 | 中国平安人寿保险股份有限公司 | 自动化测试方法、装置、计算机设备及存储介质 |
CN112988606A (zh) * | 2021-05-11 | 2021-06-18 | 成都爱瑞无线科技有限公司 | 测试用例生成方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113535570A (zh) | 2021-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9934129B1 (en) | Determining application test results using screenshot metadata | |
CN108089893B (zh) | 冗余资源的确定方法、装置、终端设备与存储介质 | |
US20120303359A1 (en) | Dictionary creation device, word gathering method and recording medium | |
US20160253172A1 (en) | Indicating a trait of a continuous delivery pipeline | |
CN110956269A (zh) | 数据模型的生成方法、装置、设备以及计算机存储介质 | |
CN114116065B (zh) | 获取拓扑图数据对象的方法、装置、及电子设备 | |
CN112948272A (zh) | 基于生产环境的数据测试系统功能方法、装置及相关设备 | |
CN112181430A (zh) | 代码变更统计方法、装置、电子设备及存储介质 | |
CN109710827B (zh) | 图片属性管理方法、装置、图片服务端和业务处理端 | |
CN114422385A (zh) | 网络系统测试用例的生成方法及系统 | |
CN107273264B (zh) | 对象实例关键属性及其关联属性的跟踪方法及装置 | |
CN113535570B (zh) | 一种测试用例的处理方法、装置及电子设备 | |
CN110943887B (zh) | 探针调度方法、装置、设备和存储介质 | |
CN116151631A (zh) | 一种业务决策处理系统、一种业务决策处理方法和装置 | |
CN116225690A (zh) | 基于docker的内存多维数据库计算负载均衡方法及系统 | |
CN108777648B (zh) | 一种网络设备测试方法及装置 | |
CN111459907B (zh) | 通过模型配置主数据的方法、系统及存储介质 | |
CN116166737A (zh) | 资源拓扑图的生成方法、装置、电子设备及可读存储介质 | |
US20130054580A1 (en) | Data Point Dictionary | |
CN109032655B (zh) | 一种监控实例的配置方法、服务器及计算机可读存储介质 | |
CN113806205A (zh) | 软件性能测试方法、装置、电子设备及可读存储介质 | |
CN111443920A (zh) | 一种框架迁移方法及装置 | |
US10469319B2 (en) | Certification tool gap analyzer | |
CN111459411B (zh) | 数据迁移方法、装置、设备及存储介质 | |
CN111309623B (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 |