CN114116729B - 一种测试数据的处理方法和设备 - Google Patents
一种测试数据的处理方法和设备 Download PDFInfo
- Publication number
- CN114116729B CN114116729B CN202210052654.3A CN202210052654A CN114116729B CN 114116729 B CN114116729 B CN 114116729B CN 202210052654 A CN202210052654 A CN 202210052654A CN 114116729 B CN114116729 B CN 114116729B
- Authority
- CN
- China
- Prior art keywords
- data table
- data
- test
- field
- identifier
- 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
Images
Classifications
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Operations Research (AREA)
- Algebra (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Fuzzy Systems (AREA)
- Computational Linguistics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供一种测试数据的处理方法和设备,涉及软件测试领域,用于降低中间表数量,当基于中间表进行数据统计时,可以提高数据处理效率。其方法为:电子设备获取第一数据表,根据每条测试数据的创建时间,确定出第一标识,并将第一标识记录到第二数据表中;对第一标识对应的测试数据的关系字段进行删减,得到第一目标关系字段,并将第一目标关系字段记录到第三数据表中;将目标关系字段进行拆分,得到一个或多个第二标识,并将第二标识记录到第四数据表中,基于每条测试数据的状态字段,确定第一标识的状态字段统计值和第二标识的状态字段统计值,并将第一标识的状态字段统计值和第二标识的状态字段统计值记录到第五数据表中。
Description
技术领域
本申请涉及软件测试领域,尤其涉及一种测试数据的处理方法和设备。
背景技术
现有软件测试技术中,开发人员需要对原始数据表执行多步计算,以得到满足项目要求的最终数据表。通常,开发人员对原始数据表每执行一步处理操作,就会生成一个中间表。这样,在得到最终数据表的过程中,会产生很多的中间表。当基于度量请求对数量众多的中间表进行数据统计时,必然造成数据读写压力明显增大,数据处理效率明显降低。
发明内容
本申请实施例提供一种测试数据的处理方法和设备,用于降低中间表的数量,当基于中间表进行数据统计时,可以提高数据处理效率。
第一方面,提供了一种测试数据的处理方法,该方法包括:电子设备获取第一数据表,第一数据表包括多条测试数据对应的标识、创建时间、关系字段和状态字段;根据多条测试数据中每条测试数据的创建时间,确定出第一标识,并将第一标识记录到第二数据表中,第一标识对应的测试数据的创建时间处于第一预设周期内;对第一标识对应的测试数据的关系字段进行删减,得到第一目标关系字段,并将第一标识和第一目标关系字段记录到第三数据表中;将目标关系字段进行拆分,得到一个或多个第二标识,并将第一标识和第二标识记录到第四数据表中,第二标识为被第一标识对应的测试数据所影响的测试数据的标识;基于每条测试数据的状态字段,确定第一标识的状态字段统计值和第二标识的状态字段统计值,并将第一标识的状态字段统计值和第二标识的状态字段统计值记录到第五数据表中。
基于本申请实施例提供的方法,当第一预设周期为当前统计周期时,利用第一数据表中测试数据的创建时间,确定出发生变更的测试数据对应的第一标识,将第一标识记录到第二数据表中。然后基于第一标识对应的测试数据的关系字段,得到目标关系字段,将第一标识和目标关系字段记录到第三数据表中。由于目标关系字段中包括会被第一标识对应的测试数据所影响的测试数据的标识,对目标关系字段进行删减,得到第二标识,并将第一标识和第二标识记录到第四数据表中。最后根据测试数据的状态字段,得出第一标识和第二标识的状态字段统计值,并将第一标识和第二标识的状态字段统计值记录到第五数据表中。这样,可以大大降低测试数据处理过程中的中间表(例如,第一数据表-第五数据表)的数量,从而减少中间表的存储压力。当需要基于中间表进行统计计算时,由于中间表较少,不仅减缓了数据读写压力,还能提高数据处理效率。
在一种可能的实现方式中,该测试数据的处理方法还包括:电子设备获取第六数据表,第六数据表用于记录第二预设周期内统计的第三标识和第三标识的状态字段统计值,第二预设周期为第一预设周期的前一个预设周期;将第五数据表和第六数据表中相同标识的状态字段统计值累加,得到累加结果,并基于累加结果,更新第六数据表。
基于本申请实施例提供的方法,在得到第一预设周期的统计结果后,还需要获取第一预设周期之前的周期(即第二预设周期)的统计结果,并将第二预设周期的统计结果和第一预设周期内统计的结果进行加和,则可以得到截至当前统计周期最终的数据表。这样,中间表最多只有6张,相对于现有技术中中间表的数量,实现了大幅度降低。
在一种可能的实现方式中,该测试数据的处理方法还包括:电子设备创建第七数据表,第七数据表包括用于处理度量请求的多条规则;获取第一度量请求,第一度量请求用于表征用户的查询请求;在第七数据表中查找与第一度量请求匹配的目标规则,并根据目标规则处理第一度量请求,得出第一度量结果。这样,当度量需求的处理方式发生变更时,不再需要修改与度量需求匹配的源代码,直接修改规则即可。后续也不需要代码维护,从而降低人工成本。
在一种可能的实现方式中,该测试数据的处理方法还包括:创建第八数据表,第八数据表用于记录处理第一度量请求的目标规则。当第一度量请求的处理结果有问题时,可以通过第八数据表记录的与第一度量请求对应的目标规则,快速找到问题源头,并及时处理。
在一种可能的实现方式中,第一数据表包括需求数据表、用例数据表或缺陷数据表。本申请提供的测试数据的处理方法具体可以用于需求数据的处理、用例数据的处理,以及缺陷数据的处理上。
在一种可能的实现方式中,状态字段包括测试中状态和测试完成状态。
第二方面,提供了一种电子设备,该电子设备具有实现上述第一方面的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第三方面,提供了一种电子设备,包括:处理器和存储器;该存储器用于存储计算机执行指令,当该电子设备运行时,该处理器执行该存储器存储的该计算机执行指令,以使该电子设备执行如上述第一方面中任一项的测试数据的处理方法。
第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机可以执行上述第一方面中任一项的测试数据的处理方法。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述第一方面中任一项的测试数据的处理方法。
第六方面,提供了一种装置(例如,该装置可以是芯片系统),该装置包括处理器,用于支持第一设备实现上述第一方面中所涉及的功能,例如获取第一数据表等。在一种可能的设计中,该装置还包括存储器,该存储器,用于保存第一设备必要的程序指令和数据。该装置是芯片系统时,可以由芯片构成,也可以包含芯片和其他分立器件。
其中,第二方面至第六方面中任一种设计方式所带来的技术效果可参见第一方面中不同设计方式所带来的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种服务器的内部结构示意图;
图2为本申请实施例提供的一种系统架构图;
图3为本申请实施例提供的一种测试数据的处理方法的流程示意图;
图4为本申请实施例提供的服务器的模块交互示意图;
图5为本申请实施例提供的场景示意图;
图6为本申请实施例提供的一种服务器的结构示意图;
图7为本申请实施例提供的一种芯片系统的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请的描述中,除非另有说明,“至少一个”是指一个或多个, “多个”是指两个或多于两个。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
为了下述各实施例的描述清楚简洁,首先给出相关概念或技术的简要介绍:
客户问题:客户期望产品解决的问题。
测试:使用人工或者自动手段来测试产品的过程,主要用于检验产品的预期结果与实际结果之间的差别。
测试数据:在软件测试过程中生成的数据,例如:需求数据、用例数据和缺陷数据。
系统特性(system features,SF):用于描述该产品为解决客户问题所具备的重大能力,例如:智能出行,智能医疗等。
系统需求(system requirements,SR):用于描述支撑系统特性所具备的具体需求,不仅包含客户视角分解到系统的所有需求,还包括能体现产品竞争力的所有需求。例如:路线规划,自动叫号等。
用例:用于描述为系统需求而设计的一组测试输入、执行条件和预期结果。
缺陷:执行失败的用例。
需求数据表:用于描述系统中所有需求以及需求的属性信息。
用例数据表:用于描述系统中所有用例以及用例的属性信息。
缺陷数据表:用于描述系统中所有缺陷以及缺陷的属性信息。
中间表:用于存放中间计算结果的数据表。
目前,大多软件测试的过程为:获取客户遇到的问题,对客户问题进行分析判断,确定出多个测试需求。然后为多个测试需求中的每个需求设计测试用例,一个需求可以对应多个测试用例。接着执行测试用例,得出执行结果,将执行失败的测试用例以缺陷的形式统计。最后对统计的缺陷进行分析和总结,并准备下一版本的测试。
在上述过程中,会涉及大量测试数据,每个测试数据包含多个属性信息,如:领域,机器型号,版本,迭代等等。将测试数据和测试数据的属性信息记录在原始数据表中,可以便于后续统一处理。同时,根据测试数据的资源类型,可以将原始数据表分为需求数据表、缺陷数据表和用例数据表。
开发人员接收到下发的项目要求时,基于原始数据表在执行项目计算的过程中会生成中间表。中间表的个数通常与计算步骤的个数相关。因此,在得出最终结果时,就会产生很多的中间表。
在得到多个中间表后,还有可能会接收到度量请求。在接收到度量请求后,需按照度量请求对得到的多个中间表的数据进行统计分析,从而得到度量请求所需的统计结果。其中,度量请求大多是对测试数据的属性信息进行自由组合得到的,由于测试数据的属性信息涉及多个方面,因此度量请求也可以有很多种。如第一度量请求为:在第一版本的测试过程中,统计系统需求关联的用例在执行过程中发现缺陷的个数;第二度量请求为:统计用例在第一机型上的执行结果;第三度量请求为:统计在第二机型上发现的缺陷个数等等。
由于度量请求包含多种,中间表的数量也很多。因此,基于每次的度量请求对各个中间表进行统计分析时,必然会带来较大的数据计算压力。
此外,在基于度量请求对各个中间表进行统计分析的过程中,若存在原始数据表发生变化的情况(如:需求数据表新增了需求数据,那么用例数据表也会将根据新增的需求数据增加用例,缺陷数据表也有可能新增缺陷数据),那么依据原始数据计算得到的中间表和最终结果势必存在数据错误。因而需要删除在原始数据表发生变化之前得到的中间表和最终数据表,并重新统计和计算,生成新的中间表和新的最终结果。这样,不仅会大大增加计算量,还会降低数据处理效率。
并且,当需要将原始数据表中发生变化的数据同步至另一数据库时,也会因为中间表的数量过多,而带来同步效率过低的问题。
为此,本申请实施例提供一种测试数据的处理方法和设备,通过改变中间表的生成方式,大幅降低中间表的数量。并且当基于度量请求对中间表进行统计时,或者当原始数据表发生变更,中间表需要重新计算时,又或者当发生变化的数据需要进行同步时,都可以利用本公开提供的中间表的生成方式来进行计算,能够提高数据处理效率。
本申请实施例的系统架构包括电子设备。电子设备可以是服务器,服务器具体可以是一台独立的物理服务器、多台独立的物理服务器、提供云计算的云服务器、云计算平台和虚拟化中心中的至少一种,用于获取、存储、以及处理数据表。图1为本申请实施例中服务器的一种内部结构示意图,在本申请实施例中,服务器可以包括接口模块100、获取模块101、处理模块102和存储模块103。其中,接口模块100用于生成第一数据表。获取模块101用于从接口模块100获取第一数据表。处理模块102用于控制服务器的各部分硬件装置和应用程序软件等。存储模块103用于执行服务器的软件程序的存储、数据的存储和软件的运行等。
下面对本申请实施例提供的测试数据的处理方法所涉及的服务器内部模块进行说明。如图2所示,上述服务器的处理模块102可以具体包括多个模块。示例性的,处理模块102可以包括计算模块104、监测模块105、数据表生成模块106、影响统计模块107、跟踪模块108、统计模块109和业务逻辑模块110。该服务器内部各模块的功能作用如下:
获取模块101用于收集并集成接口模块100发送的数据,并存储在存储模块103。
图1中的处理模块102可以由以下模块实现,包括:
计算模块104,用于根据第一数据表中测试数据的关系字段,得出目标关系字段。其中,第一数据表为测试数据的原始数据表。
监测模块105,用于监测在当前统计周期(即第一预设周期)内发生变更的测试数据。
数据表生成模块106,用于更新并存储第二数据表、第三数据表、第四数据表、第五数据表和第六数据表。其中,第二数据表用于记录在发生变更的测试数据。第三数据表包含每个测试数据与其它测试数据之间的关联性。第四数据表用于记录被发生变更的测试数据所影响的测试数据。第五数据表用于记录所影响的测试数据的测试状态统计结果。第六数据表用于记录截至在当前统计周期之前的周期,被影响的测试数据的测试状态统计结果。
影响统计模块107,用于统计被发生变化的测试数据所影响的测试数据的测试状态。
跟踪模块108,用于监测第三数据表、第四数据表和第五数据表的是否更新。
统计模块109,用于查找并获取第六数据表和更新后的第五数据表,并将第六数据表和更新后的第五数据表发送至数据表生成模块。
业务逻辑模块110,用于按照第七数据表中的规则触发相关业务逻辑并执行业务逻辑。其中,第七数据表用于记录多条计算规则。
为了便于理解,以下结合附图对本申请实施例提供的测试数据的处理方法进行具体介绍。
如图3所示,本申请实施例提供一种测试数据的处理方法,该方法包括:
301、获取第一数据表。
其中,第一数据表可以是需求数据表、用例数据表和缺陷数据表中的任一个。
基于软件测试的过程可知,对于客户问题进行分析判断后,服务器可以先确定出需求,对需求进行分析,得出需求的详细内容。将需求的详细内容以属性字段的形式记录在需求数据表中。接着为需求数据表中的每个需求设计测试用例,并将测试用例的内容以属性字段的形式记录在用例数据表中。最后执行测试用例,将执行失败的测试用例记录到缺陷数据表中。
当测试系统下发新的需求时,将新的需求增加到需求数据表中。相应的,用例数据表中的用例也会由于新的需求的增加而增加。用例增加后,基于用例的执行情况,缺陷也有可能增加。所以,在测试过程中,需求数据表、用例数据表和缺陷数据表随时可能都会发生变化。
示例性的,第一数据表可以是表1-1、表1-2、表1-3、表1-4、表1-5和表1-6。
如表1-1所示,需求数据表的属性字段有m个,属性字段可以包括需求名、名称、类型和创建时间等。
表1-1
属性字段1 | 属性字段2 | 属性字段3 | … | 属性字段m |
需求名 | 名称 | 类型 | … | 创建时间 |
如表1-2所示,用例数据表的属性字段有n个,属性字段可以包括序号、测试类型和上一个结果等。
表1-2
属性字段1 | 属性字段2 | … | 属性字段n |
序号 | 测试类型 | … | 上一个结果 |
如表1-3所示,缺陷数据表的属性字段有x个,属性字段可以包括缺陷标题、严重程度和缺陷状态等。
表1-3
属性字段1 | 属性字段2 | … | 属性字段x |
缺陷标题 | 严重程度 | … | 缺陷状态 |
测试数据的标识可以是需求数据表中的需求名、用例数据表中的序号或缺陷数据表中的缺陷标题。以第一数据表为需求数据表为例,当测试系统下发新的需求km62ctgp_l时,如表1-4所示,第一数据表中新增需求km62ctgp_l。
表1-4
需求名 | 需求名称 | 需求类型 | … | 需求创建时间 |
km62ctgo_h | 智慧业务 | 系统特征 | … | 2021/3/12 16:54 |
km62ctgo_m | 智慧视觉 | 系统特征 | … | 2021/3/12 16:54 |
km62ctgp_r | 识物 | 系统特征 | … | 2021/3/12 16:54 |
km62ctgp_l | 特性 | 系统需求 | … | 2021/11/12 16:54 |
如表1-4所示,需求名为km62ctgo_h的需求(简称为需求km62ctgo_h)的需求名称为智慧业务,需求类型为系统特征,需求创建时间为2021-3-12 16:54。需求km62ctgo_m的名称为智慧视觉,需求类型为系统特征,需求创建时间为2021-3-12 16:54。需求km62ctgo_r的名称为识物,需求类型为系统特征,需求创建时间为2021-3-12 16:54。需求km62ctgo_l的名称为特征,需求类型为系统需求,需求创建时间为2021-11-12 16:54。基于需求km62ctgo_h、需求km62ctgo_m、需求km62ctgo_r和需求km62ctgo_l的创建时间,可以确定出新增的需求。
302、将第一数据表中发生变化的测试数据记录到第二数据表中。
基于第一数据表,可以得出在当前统计周期内发生变化的测试数据(即第一标识对应的测试数据)。当前统计周期内发生变化的测试数据可以是根据第一数据表中测试数据的创建时间确定的。当测试数据的创建时间处于当前统计周期内,即可认为该测试数据为发生变化的测试数据。
示例性的,通过对比表1-4中每条需求数据的创建时间和当前测试周期的起止时间可知,需求km62ctgp_l为当前测试周期内新增的需求;需求km62ctgo_h、需求km62ctgo_m和需求km62ctgp_r为以往测试周期中包含的需求。示例性的,一个测试周期可以是10分钟。
当第一数据表为需求数据表时,第一数据表中发生变化的需求数据可以是新增需求、删除需求以及更新需求等。当第一数据表为用例数据表时,第一数据表中发生变化的用例数据可以是新增用例、删除用例以及更新用例等。当第一数据表为缺陷数据表时,第一数据表中发生变化的缺陷数据可以是新增缺陷、删除缺陷以及更新缺陷等。
若第一数据表中存在发生变化的测试数据,可以将发生变化的测试数据,以及测试数据的属性字段记录到第二数据表中。其中,第二数据表记录的属性字段包括标识、资源类型、变更类型和变更时间等等。通过第二数据表记录变化的测试数据,有助于根据变化的测试数据,确定变化的测试数据带来的影响。
示例性的,结合表1-4可知,第一数据表中新增需求km62ctgp_l,将新增需求km62ctgp_l的属性字段更新到第二数据表中,第二数据表如表2所示:
表2
序号 | 序号名称 | 资源类型 | 变更类型 | 变更时间 |
1 | DTS2020061610350 | 缺陷 | 删除 | 2021/10/10 5:54 |
2 | DT_ADDON_70293 | 用例 | 更新 | 2021/11/2 5:54 |
… | … | … | … | … |
X | km62ctgp_l | 需求 | 新增 | 2021/11/12 16:54 |
由表2可知,表2中包括X个变化的测试数据。第1个变化的测试数据是序号名称为DTS2020061610350的缺陷数据,该缺陷数据的变更类型为被删除的缺陷,其变更时间为2021/10/10 5:54。第2个变化的测试数据是序号名称为DT_ADDON_70293的用例数据,该用例数据的变更类型为更新的用例,其变更时间为2021/11/2 5:54。第X个变化的测试数据是需求km62ctgp_l,该需求数据的变更类型为新增的需求,其变更时间2021/11/12 16:54。其中,第X个变化的测试数据是基于表1-4确定出的。
303、对第一数据表中的关系字段进行处理,得到目标关系字段,并将目标关系字段记录到第三数据表中。
第一数据表中的属性字段还包括关系字段,关系字段用于表征当前测试数据与其它测试数据之间的关联性。
结合表1-4,以第一数据表为需求数据表为例,需求数据表中的关系字段的具体内容如表1-5所示。
表1-5
需求名 | 需求名称 | 需求类型 | 关系字段 | … | 需求创建时间 |
km62ctgo_h | 智慧业务 | 系统特征 | /km62ctgo_h | … | 2021/3/12 16:54 |
km62ctgo_m | 智慧视觉 | 系统特征 | /km62ctgo_h/km62ctgo_m | … | 2021/3/12 16:54 |
km62ctgp_r | 识物 | 系统特征 | /km62ctgo_h/km62ctgo_m/km62ctgp_r | … | 2021/3/12 16:54 |
km62ctgp_l | 特性 | 系统需求 | /km62ctgo_h/km62ctgo_m/km62ctgp_r/km62ctgp_l | … | 2021/11/12 16:54 |
由表1-5可知,需求km62ctgo_h的关系字段为/ km62ctgo_h。需求km62ctgo_m的关系字段为/km62ctgo_h/km62ctgo_m。需求km62ctgp_r的关系字段为/km62ctgo_h/km62ctgo_m/km62ctgp_r。需求km62ctgp_l的关系字段为/km62ctgo_h/km62ctgo_m/km62ctgp_r/km62ctgp_l。
当测试数据发生变化时,与变化的测试数据具有关联性的测试数据可能也会发生变化。具有关联性的测试数据可以通过第一数据表的关系字段得出,但是由于第一数据表中的关系字段还包括测试数据自身字段,因而,第一数据表中的关系字段不能直接用于确定与变化的测试数据具有关联性的测试数据。
因此,在得到第一数据表后,可以先获取第一数据表中每个测试数据的关系字段。然后在第一数据表的基础上新增属性字段。新增的属性字段用于描述目标关系字段。目标关系字段是根据将测试数据的关系字段与测试数据的标识进行对比,然后删除测试数据的关系字段中与测试数据的标识一致的数据得到的。示例性的,目标关系字段用于表征当前测试数据与其它测试数据之间的父子关系、引用关系等等。
具体的,结合表1-1,在需求数据表添加属性字段m+1得到第三数据表。第三数据表可以是表3-1、表3-2、表3-3和表3-4。
如表3-1所示,属性字段m+1可以包括目标关系字段1,目标关系字段1可以是当前需求的父级地址。
表3-1
属性字段1 | 属性字段1 | 属性字段2 | … | 属性字段m | 属性字段m+1 |
需求名 | 名称 | 类型 | … | 创建时间 | 目标关系字段1 |
结合表1-2,用例数据表添加属性字段n+1和属性字段n+2。如表3-2所示,属性字段n+1可以包括目标关系字段2,目标关系字段2可以是与当前用例关联的需求的父级地址。属性字段n+2可以包括目标关系字段3,目标关系字段3可以是当前用例具有特殊属性的地址。
表3-2
属性字段1 | 属性字段2 | … | 属性字段n | 属性字段n+1 | 属性字段n+2 |
序号 | 测试类型 | … | 上一个结果 | 目标关系字段2 | 目标关系字段3 |
结合表1-3,缺陷数据表添加属性字段x+1和属性字段x+2。如表3-3所示,属性字段x+1可以包括目标关系字段4,目标关系字段4可以是与当前缺陷关联的需求的父级地址。属性字段x+2可以包括目标关系字段5,目标关系字段5可以是当前缺陷具有特殊属性的地址。
表3-3
属性字段1 | 属性字段2 | … | 属性字段x | 属性字段x+1 | 属性字段x+2 |
缺陷标题 | 严重程度 | … | 缺陷状态 | 目标关系字段4 | 目标关系字段5 |
示例性的,以第一数据表为需求数据表为例,结合表1-5可知,通过对表1-5中需求km62ctgo_l的关系字段进行分析,可以得出包括需求km62ctgo_l的目标关系字段的第三数据表,第三数据表如表3-4所示。
表3-4
需求名 | 名称 | 类型 | … | 创建时间 | 目标关系字段 |
km62ctgo_h | 智慧业务 | 系统特征 | … | 2021/3/12 16:54 | |
km62ctgo_m | 智慧视觉 | 系统特征 | … | 2021/3/12 16:54 | /km62ctgo_h |
km62ctgp_r | 识物 | 系统特征 | … | 2021/3/12 16:54 | /km62ctgo_h/km62ctgo_m |
km62ctgp_l | 特性 | 系统需求 | … | 2021/11/12 16:54 | /km62ctgo_h/km62ctgo_m/km62ctgp_r |
由表3-4可知,需求km62ctgo_h的目标关系字段栏中无数据,说明当前需求数据表中无需求km62ctgo_h的父级。
需求km62ctgo_m的目标关系字段为/km62ctgo_h,说明需求km62ctgo_h是需求km62ctgo_m的父级。
需求km62ctgp_r的需求的目标关系字段为/km62ctgo_h/km62ctgo_m,说明需求km62ctgo_m的需求为需求km62ctgo_r的父级,需求km62ctgo_h为需求km62ctgo_m的父级。
需求km62ctgp_l的目标关系字段为/km62ctgo_h/ km62ctgo_m/ km62ctgp_r,说明需求km62ctgo_r是需求km62ctgp_l的父级,需求km62ctgo_m为需求km62ctgo_r的父级,需求km62ctgo_h的为需求km62ctgo_m的父级。
根据表3-4中的目标关系字段可知,需求km62ctgo_h、需求km62ctgo_m、需求km62ctgp_r以及需求km62ctgo_l的关系如图5所示。即需求km62ctgo_h对应的智慧业务包括需求km62ctgo_m对应的智慧视觉业务,需求km62ctgo_m对应的智慧视觉业务包括需求km62ctgp_r对应的识物功能,需求km62ctgp_r对应的识物功能依赖需求km62ctgp_l对应的特征来识别。进一步,智慧业务还可以包括智慧出行、智慧办公和智慧服务等。智慧视觉还可以包括识别卡路里、购物、翻译和扫码等。识物还可以包括拍摄和对比等等。
可选的,目标关系字段的顺序可以用来表征测试数据之间的引用等级。
目标关系字段对应的测试数据的引用等级可以是从高到低,还可以是从低到高,或者是随机的,只要描述出与当前测试数据具有关联性的测试数据即可。利用目标关系字段可以快速锁定被变化的测试数据影响的测试数据。从而为后续的数据处理,提供计算基础。
304、根据第二数据表中发生变化的测试数据,在第三数据表中查找发生变化的测试数据的目标关系字段,并将发生变化的测试数据的目标关系字段记录到第四数据表中。
根据第二数据表,可以得到在当前统计周期内发生变化的测试数据。确定出当前统计周期内发生变化的测试数据后,可以在第三数据表中查找该测试数据的目标关系字段。根据第三数据表中的目标关系字段,可以得到被该测试数据所影响的测试数据。将被影响的测试数据与该测试数据的属性字段归纳整理后,可以得到第四数据表。其中,发生变化的测试数据默认为也是被影响的测试数据,一并记录在第四数据表中。
示例性的,第X个发生变化的测试数据为更新后的第二数据表中新增的数据。结合表3-4,得到更新后的第四数据表。具体见如表4:
表4
需求名 | 类型 | 变更时间 | 类型 | 影响标识 |
… | … | … | … | … |
km62ctgp_l | 系统特征 | 2021/11/12 16:54 | 新增 | km62ctgp_l |
km62ctgp_l | 系统特征 | 2021/11/12 16:54 | 新增 | km62ctgo_h |
km62ctgp_l | 系统特征 | 2021/11/12 16:54 | 新增 | km62ctgo_m |
km62ctgp_l | 系统需求 | 2021/11/12 16:54 | 新增 | km62ctgp_r |
… | … | … | … | … |
由表4可知,第X个发生变化的测试数据为需求km62ctgp_l。需求km62ctgp_l不仅影响了需求自身,还影响了需求km62ctgo_h、需求km62ctgo_m以及需求km62ctgp_r。
305、根据第四数据表的影响标识(即第二标识),在第一数据表中查找影响标识对应的测试状态,并将影响标识对应的测试状态记录到第五数据表中。
根据第四数据表的影响标识,可以得出被发生变化的测试数据所影响的测试数据。
为了确定出被影响的测试数据的影响程度,在确定出被影响的测试数据后,可以通过第一数据表中的状态字段,查询被影响的测试数据的测试状态。其中,被影响的测试数据的影响程度可以通过被影响的测试数据的测试状态详细内容的统计结果来说明。状态字段可以包括测试中和测试完成。
若被影响的测试数据为需求数据,则对需求数据的测试状态进行统计,得出测试中的需求个数和测试完成的需求个数。若影响标识指示的测试数据为用例数据,则对用例数据的测试状态进行统计,得到测试中的用例个数和测试完成的用例个数。若影响标识指示的测试数据为缺陷数据,则对缺陷数据的测试状态进行统计,得到测试中的缺陷个数和测试完成的缺陷个数。
示例性的,结合表1-4,以第一数据表为需求数据表为例,需求数据表中的状态字段的具体内容如表1-6所示。
表1-6
需求名 | 需求名称 | 需求类型 | 状态字段 | … | 需求创建时间 |
km62ctgo_h | 智慧业务 | 系统特征 | 测试中 | … | 2021/3/12 16:54 |
km62ctgo_m | 智慧视觉 | 系统特征 | 测试中 | … | 2021/3/12 16:54 |
km62ctgp_r | 识物 | 系统特征 | 测试中 | … | 2021/3/12 16:54 |
km62ctgp_l | 特性 | 系统需求 | 测试中 | … | 2021/11/12 16:54 |
在得出被影响的测试数据的状态字段后,可以通过统计被影响的测试数据的测试状态,得出增量统计表,即为第五数据表。
示例性的,以被影响的测试数据为需求数据为例,结合表2,统计需求km62ctgp_l在变更时间为2021/11/12 16:54之后,所影响的需求的测试状态。统计结果参见表5所示的第五数据表。
表5
影响标识 | 类型 | 变更时间 | 总计 | 测试中 | 测试完成 |
… | … | … | … | … | … |
km62ctgp_l | 系统需求 | 2021/11/12 16:54 | 1 | 1 | 0 |
km62ctgo_h | 系统特征 | 2021/11/12 16:54 | 1 | 1 | 0 |
km62ctgo_m | 系统特征 | 2021/11/12 16:54 | 1 | 1 | 0 |
km62ctgp_r | 系统特征 | 2021/11/12 16:54 | 1 | 1 | 0 |
… | … | … | … | … | … |
结合表1-4可知,需求km62ctgo_h、需求km62ctgo_m、需求km62ctgo_r的需求类型为系统特征,而系统特征对应的测试状态的统计结果为下属的系统需求的测试状态的统计结果。并且由于当前统计周期内,系统需求发生变更的仅为需求km62ctgo_I发生变更。因此需求km62ctgo_h、需求km62ctgo_m、需求km62ctgo_r的测试中需求以及测试完成需求的统计结果与需求km62ctgo_I的测试中需求以及测试完成需求统计结果一致。
由表5可知,需求km62ctgp_l,有1个测试中需求被影响,0个测试完成需求被影响,总计有1个被影响需求。需求km62ctgo_h,有1个测试中需求被影响,0个测试完成需求被影响,总计有1个被影响需求。需求km62ctgp_ m,有1个测试中需求被影响,0个测试完成需求被影响,总计有1个被影响需求。需求km62ctgp_ r,有1个测试中需求被影响,总计有1个被影响需求。
若在当前统计周期内第一次生成中间表。此时,第五数据表即为最终的数据表。
若在当前统计周期之前已经生成过中间表。则继续执行下述306-307。
306、获取第六数据表。
获取截止当前统计周期之前的周期(即第二预设周期)的变更影响统计表,即为第六数据表。第六数据表中包括截止当前统计周期之前的周期,被影响的测试数据(即第三标识对应的测试数据)对应的测试状态的统计结果。具体为测试中统计结果以及测试完成统计结果。
示例性的,第六数据表如表6所示:
表6
需求名 | 类型 | 变更时间 | 总计 | 测试中 | 测试完成 |
… | … | … | … | … | … |
km62ctgo_h | 系统特征 | 2021/11/12 15:54 | 10 | 9 | 1 |
km62ctgo_m | 系统特征 | 2021/11/12 15:54 | 10 | 9 | 1 |
km62ctgp_r | 系统特征 | 2021/11/12 15:54 | 10 | 9 | 1 |
… | … | … | … | … | … |
由表6可知,截止当前统计周期之前,被影响的需求的测试状态的统计结果为:需求km62ctgp_h有9个测试中需求被影响,1个测试完成需求被影响,总计有10个被影响需求。需求km62ctgp_m有9个为测试中需求被影响,1个为测试完成需求被影响,总计有10个被影响需求。需求km62ctgp_r有9个为测试中需求被影响,1个为测试完成需求被影响,总计有10个被影响需求。
307、将第五数据表中的测试状态对应的数值和第六数据表中的测试状态的数值加和,并将加和结果更新到第六数据表中。
将当前周期统计的变更影响统计表(即更新后的第五数据表)和当前周期之前统计的变更影响统计表(即第六数据表)进行加和,得到更新后的第六数据表。若只有更新后的第五数据表,没有第六数据表,可以基于更新后的第五数据表,生成第六数据表,第六数据表即为最终数据表。
示例性的,更新后的第六数据表如表7所示:
表7
需求名 | 类型 | 变更时间 | 总计 | 测试中 | 测试完成 |
… | … | … | … | … | … |
km62ctgp_l | 系统需求 | 2021/11/12 16:54 | 1 | 1 | 0 |
km62ctgo_h | 系统特征 | 2021/11/12 15:54 | 11 | 10 | 1 |
km62ctgo_m | 系统特征 | 2021/11/12 15:54 | 11 | 10 | 1 |
km62ctgp_r | 系统特征 | 2021/11/12 15:54 | 11 | 10 | 1 |
… | … | … | … | … | … |
由表7可知,最新的统计结果为:需求km62ctgp_l有1个测试中需求被影响,0个测试完成需求被影响,总计有1个被影响需求。需求km62ctgp_h有10个测试中需求被影响,1个测试完成需求被影响,总计有11个被影响需求。需求km62ctgp_m有10个为测试中需求被影响,1个为测试完成需求被影响,总计有11个被影响需求。需求km62ctgp_r有10个为测试中需求被影响,1个为测试完成需求被影响,总计有9个被影响需求。
示例性的,若第一数据表为用例数据表,基于第一数据表中用例数据的创建时间,确定出当前统计周期内发生变化的用例数据,并基于发生变化的用例数据,更新第二数据表。同时,利用第一数据表中的关系字段,确定出第一数据表中用例数据的目标关系字段,并基于用例数据的目标关系字段,更新第三数据表。然后基于更新后的第二数据表确定出发生变化的用例数据,在确定出发生变化的用例数据后,按照发生变化的用例数据的标识在更新后的第三数据表中,确定出影响用例数据。基于影响用例数据,更新第四数据表。接着对更新后的第四数据表中的影响用例数据的测试状态进行跟踪,根据跟踪结果,得出影响用例数据的测试状态结果。基于影响用例数据的测试状态结果,更新第五数据表。再接着获取上个统计周期内的第六数据表,最后将第六数据表中影响用例数据的测试状态结果和更新后的第五数据表中影响用例数据的测试状态结果进行加和,得到更新后的第六数据表,即为最终的数据表。
若第一数据表为缺陷数据表,基于第一数据表中缺陷数据的创建时间,确定出当前统计周期内发生变化的缺陷数据,并基于发生变化的缺陷数据,更新第二数据表。同时,利用第一数据表中的关系字段,确定出第一数据表中缺陷数据的目标关系字段,并基于缺陷数据的目标关系字段,更新第三数据表。然后基于更新后的第二数据表确定出发生变化的缺陷数据,在确定出发生变化的缺陷数据后,按照发生变化的缺陷数据的标识在更新后的第三数据表中,确定出影响缺陷数据。基于影响缺陷数据,更新第四数据表。接着对更新后的第四数据表中的影响缺陷数据的测试状态进行跟踪,根据跟踪结果,得出影响缺陷数据的测试状态结果。基于影响缺陷数据的测试状态结果,更新第五数据表。再接着获取上个统计周期内的第六数据表,最后将第六数据表中影响缺陷数据的测试状态结果和更新后的第五数据表中影响缺陷数据的测试状态结果进行加和,得到更新后的第六数据表,即为最终的数据表。
可选的,该测试数据的处理方法,还包括创建第七数据表和更新第八数据表。
其中,第七数据表为计算规则表,第八数据表为计算记录表。
第七数据表中包括多条规则,每条规则可以是与度量请求对应的规则。当电子设备接收到新的度量请求后,可以从第七数据表中查找用于处理当前度量请求的规则,并调用与该规则相关的计算逻辑进行数据处理,以得到计算结果。当规则发生变化时,可以在第七数据表中修改规则,而不需要在原有规则对应的源代码中进行修改。这样,可以降低代码的维护成本。示例性的,规则可以是在XML文本上记录的规则。XML文本记录的内容可以对应一个计算逻辑。第七数据表可以是表8-1和表8-2。
如表8-1所示,第七数据表的属性字段有s个,属性字段可以包括计算字段、数据类型、创建时间、变更时间和规则等。
表8-1
属性字段1 | 属性字段2 | 属性字段4 | 属性字段5 | … | 属性字段s |
计算字段 | 数据类型 | 创建时间 | 变更时间 | … | 规则 |
以一个条具体的规则为例,第七数据表如8-2所示:
表8-2
计算字段 | 数据类型 | 创建时间 | 变更时间 | … | 规则 |
casePassedRate | int | 2021-10-01 | 2021-10-31 | … | XML |
表8-2中包括标识为casePassedRate的计算字段,该计算字段的数据类型为int,创建时间为2021-10-01,变更时间为2021-10-31,所使用的规则是在XML文本上记录的规则。
为了便于后续筛查,对于利用第七数据表计算的测试数据,都详细记录到第八数据表中。第七数据表和第八数据表可以通过属性字段关联起来。示例性的,该属性字段可以是计算字段。第八数据表可以是表9-1和表9-2。
如表9-1所示,第八数据表的属性字段有t个,属性字段可以包括名称、计算字段、计算时间、创建时间和变更时间等。
表9-1
属性字段1 | 属性字段2 | 属性字段3 | 属性字段4 | … | 属性字段t |
名称 | 计算字段 | 计算时间 | 创建时间 | … | 变更时间 |
以具体的记录为例,第八数据表如9-2所示:
表9-2
名称 | 计算字段 | 计算时间 | 创建时间 | … | 变更时间 |
用例通过率 | casePassedRate | 2021-11-01 | 2021-10-01 | … | 2021-10-31 |
自动化用例通过率 | autoCasePassedRate | 2021-11-02 | 2021-11-01 | … | 2021-11-01 |
表9-2中包括名称为用例通过率对应标识为casePassedRate的计算字段,该计算字段的计算时间为2021-11-01,创建时间为2021-10-01,变更时间为2021-10-31。还包括名称为自动化用例通过率对应标识为autoCasePassedRate的计算字段,该计算字段的计算时间为2021-11-02,创建时间为2021-10-01,变更时间为2021-10-31。
示例性的,如图4所示,服务器中各个模块交互的过程如下:
401、获取模块101从接口模块100采集到第一数据表。
其中,第一数据表为测试数据的原始数据表。
402a、获取模块101向监测模块105发送监测指令。
其中,计算指令包括第一数据表。
402b、获取模块101向计算模块104发送计算指令。
其中,监测指令包括第一数据表。
403a、监测模块105接收到监测指令后,基于当前统计周期的时间和监测指令中第一数据表中测试数据的创建时间,确定当前统计周期内发生变更的测试数据。在确定出当前统计周期内发生变更的测试数据后,向数据表生成模块106发送第二数据表更新指令。
其中,第二数据表更新指令包括发生变更的测试数据以及发生变更的测试数据的属性信息。
404a、数据表生成模块106在接收到第二数据表更新指令后,利用第二数据表更新指令中发生变更的测试数据以及发生变更的测试数据的属性信息,更新第二数据表,并发送更新后的第二数据表至存储模块103。
其中,第二数据表用于记录在发生变更的测试数据。
403b、计算模块104接收到计算指令后,在计算指令中的第一数据表中分别查找每个测试数据的关系字段,查找到关系字段后,将关系字段中标识与测试数据的标识一致的字段删掉,得到每个测试数据的目标关系字段。在确定出每个测试数据的目标关系字段后,向数据表生成模块106发送第三数据表更新指令。
其中,第三数据表更新指令包括每个测试数据的目标关系字段。
404b、数据表生成模块106在接收到第三数据表更新指令后,利用第三数据表更新指令中的每个测试数据的目标关系字段,更新第三数据表,并发送更新后的第三数据表至存储模块103。
其中,第三数据表包含每个测试数据与其它测试数据之间的关联性。
405、跟踪模块108用于监测第二数据表是否更新,当确定存储模块103中的第二数据表更新时,跟踪模块108获取发生变化的测试数据,并从存储模块103调取更新后的第三数据表,在更新后的第三数据表中查询发生变化的测试数据的目标关系字段。在得到发生变化的测试数据的目标关系字段后,向数据表生成模块106发送第四数据表更新指令。
其中,第四数据表更新指令包括发生变化的测试数据,以及发生变化的测试数据的目标关系字段。
406、数据表生成模块106在接收到第四数据表更新指令后,利用第四数据表更新指令中发生变化的测试数据,以及发生变化的测试数据的目标关系字段,更新第四数据表,并发送更新后的第四数据表至存储模块103。
其中,第四数据表用于记录被发生变更的测试数据所影响的测试数据。
407、跟踪模块108还用于监测第四数据表是否更新,当第四数据表更新时,跟踪模块108向影响统计模块107发送影响统计指令。
其中,影响统计指令中包括发生变化的测试数据,以及发生变化的测试数据的目标关系字段。
408、影响统计模块107在接收到影响统计指令后,从获取模块101调取第一数据表,并在第一数据表中查找标识为目标关系字段的测试数据的状态字段的详细内容。在得到状态字段的详细内容后,向数据表生成模块106发送第五数据表更新指令。
其中,第五数据表更新指令包括发生变化的测试数据和状态字段的详细内容。
409、数据表生成模块106在接收到第五数据表更新指令之后,利用第五数据表更新指令中状态字段的详细内容进行统计计算,并根据统计计算的结果以及发生变更的测试数据,更新第五数据表,并发送更新后的第五数据表至存储模块103。
其中,第五数据表用于记录所影响的测试数据的测试状态统计结果。
410、跟踪模块108还用于监测第五数据表是否更新,当第五数据表更新时,跟踪模块108向统计模块109发送统计指令。
411、统计模块109在接收到统计指令后,从存储模块103中查找并获取第六数据表和更新后的第五数据表。在获取到第六数据表和更新后的第五数据表后,统计模块109向数据表生成模块106发送第六数据表更新指令。
其中,第六数据表更新指令包括第六数据表和更新后的第五数据表。
412、数据表生成模块106在接收到第六数据表更新指令后,利用第六数据表更新指令中第六数据表和更新后的第五数据表,将更新后的第五数据表和第六数据表加和,更新第六数据表,并发送更新后的第六数据表至存储模块103。
其中,第六数据表用于记录截至当前统计周期,所有被影响的测试数据的测试状态统计结果。
进一步,服务器中各个模块的交互,还包括:
413、获取模块101从接口模块100采集到度量请求。
414、获取模块101向业务逻辑模块110发送度量请求处理指令。
其中,度量请求处理指令包括度量请求。
415、业务逻辑模块110接收到度量请求处理指令后,从存储模块103调取第七数据表,在第七数据表中查找与度量请求相匹配的计算规则。确定出与度量请求相匹配的计算规则后,调用计算规则对应的进程处理度量请求,得到度量请求对应的度量结果,以及度量结果的处理过程中涉及到的计算数据。在获取到度量结果的处理过程中涉及到的计算数据后,向数据表生成模块106发送第八数据表更新指令。
其中,第八数据表更新指令包括度量结果的处理过程中涉及到的计算数据。第七数据表为计算规则表。
416、数据表生成模块106在接收到第八数据表更新指令之后,利用度量结果的处理过程中涉及到的计算数据,更新第八数据表,并发送更新后的第八数据表至存储模块103。其中,第八数据表为计算记录表。
本申请实施例提供一种测试数据的处理方法,可以是提供一种新的中间表的生成机制。这种新的中间表的生成机制,每次仅记录发生变化的测试数据,以及发生变化的测试数据带来的一系列影响。这样,避免了每次发生变更都需要重头计算的问题。同时,由于记录的数据大幅度降低,从而大大提高了数据处理效率。这种方法还可以用于数据同步的场景中,仅同步增加的部分,而不需要同步所有数据,降低数据读写压力和存储压力。
本申请另一实施例提供一种服务器,如图6所示,服务器600包括通信模块603、存储器602和一个或多个处理器601。该通信模块603、存储器602与处理器601耦合。其中,存储器602用于存储计算机程序代码,计算机程序代码包括计算机指令。当计算机指令被处理器601执行时,使得服务器600执行上述各方法实施例中服务器执行的各个功能或者步骤。
结合本申请实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(Read Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于核心网接口设备中。当然,处理器和存储介质也可以作为分立组件存在于核心网接口设备中。
本申请另一实施例提供一种芯片系统,如图7所示,该芯片系统700包括至少一个处理器701和至少一个接口电路702。处理器701和接口电路702可通过线路互联。例如,接口电路702可用于其它装置(例如,服务器的处理模块)接收信号。又例如,接口电路702可用于向其它装置(例如处理器701)发送信号。
例如,接口电路702可读取电子设备中存储器中存储的指令,并将该指令发送给处理器701。当指令被处理器701执行时,可使得服务器(如图2所示的服务器)执行上述各实施例中的各个步骤。
又例如,接口电路702可读取服务器中存储器中存储的指令,并将该指令发送给处理器701。当指令被处理器701执行时,可使得服务器执行上述实施例中的各个步骤。
当然,该芯片系统还可以包含其他分立器件,本申请实施例对此不作具体限定。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (8)
1.一种测试数据的处理方法,其特征在于,包括:
获取第一数据表,所述第一数据表包括多条测试数据对应的标识、创建时间、关系字段和状态字段;
根据所述多条测试数据中每条测试数据的创建时间,确定出第一标识,并将所述第一标识记录到第二数据表中,所述第一标识对应的测试数据的创建时间处于第一预设周期内;
对所述第一标识对应的测试数据的关系字段进行删减,得到第一目标关系字段,并将所述第一标识和所述第一目标关系字段记录到第三数据表中;
将所述目标关系字段进行拆分,得到一个或多个第二标识,并将所述第一标识和所述第二标识记录到第四数据表中,所述第二标识为被所述第一标识对应的测试数据所影响的测试数据的标识;
基于所述每条测试数据的状态字段,确定所述第一标识的状态字段统计值和所述第二标识的状态字段统计值,并将所述第一标识的状态字段统计值和所述第二标识的状态字段统计值记录到第五数据表中;
若在所述第一预设周期内第一次生成中间表,所述第五数据表为最终的中间表;
若在所述第一预设周期之前已经生成过中间表,所述方法还包括:
获取第六数据表,所述第六数据表用于记录第二预设周期内统计的第三标识和所述第三标识的状态字段统计值,所述第二预设周期为所述第一预设周期的前一个预设周期。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述第五数据表和所述第六数据表中相同标识的状态字段统计值累加,得到累加结果,并基于所述累加结果,更新第六数据表。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
创建第七数据表,所述第七数据表包括用于处理度量请求的多条规则;
获取第一度量请求,所述第一度量请求用于表征用户的查询请求;
在所述第七数据表中查找与所述第一度量请求匹配的目标规则,并根据所述目标规则处理所述第一度量请求,得出第一度量结果。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
创建第八数据表,所述第八数据表用于记录处理所述第一度量请求的所述目标规则。
5.根据权利要求1或2所述的方法,其特征在于,所述第一数据表包括需求数据表、用例数据表或缺陷数据表。
6.根据权利要求1或2所述的方法,其特征在于,所述状态字段包括测试中状态和测试完成状态。
7.一种电子设备,其特征在于,所述电子设备包括:无线通信模块、存储器和一个或多个处理器;所述无线通信模块、所述存储器与所述处理器耦合;
其中,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令;当所述计算机指令被所述处理器执行时,使得所述电子设备执行如权利要求1-6中任一项所述测试数据的处理方法。
8.一种计算机可读存储介质,其特征在于,包括计算机指令;
当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-6中任一项所述测试数据的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210052654.3A CN114116729B (zh) | 2022-01-18 | 2022-01-18 | 一种测试数据的处理方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210052654.3A CN114116729B (zh) | 2022-01-18 | 2022-01-18 | 一种测试数据的处理方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114116729A CN114116729A (zh) | 2022-03-01 |
CN114116729B true CN114116729B (zh) | 2022-06-17 |
Family
ID=80364132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210052654.3A Active CN114116729B (zh) | 2022-01-18 | 2022-01-18 | 一种测试数据的处理方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114116729B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112328499A (zh) * | 2020-11-27 | 2021-02-05 | 杭州安恒信息技术股份有限公司 | 一种测试数据生成方法、装置、设备及介质 |
CN112612813A (zh) * | 2020-12-29 | 2021-04-06 | 中国农业银行股份有限公司 | 一种测试数据的生成方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180096018A1 (en) * | 2016-09-30 | 2018-04-05 | Microsoft Technology Licensing, Llc | Reducing processing for comparing large metadata sets |
-
2022
- 2022-01-18 CN CN202210052654.3A patent/CN114116729B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112328499A (zh) * | 2020-11-27 | 2021-02-05 | 杭州安恒信息技术股份有限公司 | 一种测试数据生成方法、装置、设备及介质 |
CN112612813A (zh) * | 2020-12-29 | 2021-04-06 | 中国农业银行股份有限公司 | 一种测试数据的生成方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114116729A (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107665171B (zh) | 自动回归测试方法及装置 | |
US10452625B2 (en) | Data lineage analysis | |
CN109934268B (zh) | 异常交易检测方法及系统 | |
CN107016018B (zh) | 数据库索引创建方法及装置 | |
CN110716539B (zh) | 一种故障诊断分析方法和装置 | |
CN111444188B (zh) | 存量测试数据的准备方法、装置、存储介质及电子设备 | |
CN114490375B (zh) | 应用程序的性能测试方法、装置、设备及存储介质 | |
CN114116496A (zh) | 自动化测试方法、装置、设备及介质 | |
CN111324781A (zh) | 一种数据分析方法、装置及设备 | |
CN111414410A (zh) | 数据处理方法、装置、设备和存储介质 | |
CN113138990B (zh) | 一种数据血缘构建、追溯方法、装置及设备 | |
CN113886373A (zh) | 一种数据处理方法、装置及电子设备 | |
CN113138906A (zh) | 一种调用链数据采集方法、装置、设备及存储介质 | |
CN117194500A (zh) | 数据指标校验方法、装置、设备及存储介质 | |
CN114116729B (zh) | 一种测试数据的处理方法和设备 | |
CN114155054A (zh) | 一种基于kafka的大数据报表统计的测试方法及其系统 | |
CN115658731A (zh) | 一种数据查询方法、装置、设备和存储介质 | |
CN114564501A (zh) | 一种数据库数据存储、查询方法、装置、设备及介质 | |
CN115080401A (zh) | 一种自动化测试方法和相关装置 | |
CN114356454A (zh) | 对账数据处理方法、设备、存储介质及程序产品 | |
CN114490413A (zh) | 测试数据的准备方法及装置、存储介质和电子设备 | |
CN113868141A (zh) | 数据测试方法、装置、电子设备及存储介质 | |
CN113742213A (zh) | 一种用于数据分析的方法、系统和介质 | |
CN112700328B (zh) | 一种指标自动分析方法、装置、设备及存储介质 | |
CN114398378B (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230904 Address after: 201306 building C, No. 888, Huanhu West 2nd Road, Lingang New District, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai Patentee after: Shanghai Glory Smart Technology Development Co.,Ltd. Address before: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040 Patentee before: Honor Device Co.,Ltd. |