CN113342675B - 被测试模块的映射方法、装置以及测试方法及系统 - Google Patents
被测试模块的映射方法、装置以及测试方法及系统 Download PDFInfo
- Publication number
- CN113342675B CN113342675B CN202110722537.9A CN202110722537A CN113342675B CN 113342675 B CN113342675 B CN 113342675B CN 202110722537 A CN202110722537 A CN 202110722537A CN 113342675 B CN113342675 B CN 113342675B
- Authority
- CN
- China
- Prior art keywords
- name
- module
- test
- tested
- defect
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3696—Methods or tools to render software testable
-
- 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/3684—Test management for test design, e.g. generating new test cases
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种被测试模块的映射方法,包括:编写测试用例集以及与测试用例集对应的配置文件;编写与被测试模块对应的配置文件,以配置被测试模块的名称;将测试用例集的名称依据被测试模块的名称进行命名;向缺陷管理系统中与被测试模块对应的组件添加描述,其中,描述与被测试模块的名称对应;依据被测试模块的名称以及与被测试模块对应的编译物的名称,生成映射表;将测试用例集、与测试用例集对应的配置文件以及映射表打包形成测试套件。本发明能够将被测试模块与测试用例集、编译物以及缺陷管理系统中的组件形成映射关系,从而,能够确定明确的缺陷提交路径,能够实现缺陷的自动提交。
Description
技术领域
本发明涉及软件测试技术领域,尤其涉及一种被测试模块的映射方法、装置以及测试方法及系统。
背景技术
目前,在对软件进行测试过程中,当测试用例失败或者覆盖率不达标时,目前只能人为提交缺陷。人工提交缺陷的过程中,需要人为的通过测试用例或编译生成物来寻找测试用例对应的被测试模块及编译生成物的所属模块,还要匹配被测试模块在缺陷管理系统中对应的组件,才能实现提交缺陷。每次出现测试用例失败或者覆盖率不达标的情况时,均需要人为匹配。这种方式会耗费大量的人力和物力,降低工作效率。
发明内容
本发明提供的被测试模块的映射方法、装置以及测试方法及系统,能够将被测试模块与测试用例集、编译物以及缺陷管理系统中的组件形成映射关系,从而,能够确定明确的缺陷提交路径,能够实现缺陷的自动提交。
第一方面,本发明提供一种被测试模块的映射方法,所述方法包括:
编写测试用例集以及与所述测试用例集对应的配置文件;
编写与所述被测试模块对应的配置文件,以配置所述被测试模块的名称;
将所述测试用例集的名称依据所述被测试模块的名称进行命名;
向所述缺陷管理系统中与所述被测试模块对应的组件添加描述,其中,所述描述与所述被测试模块的名称对应;
依据所述被测试模块的名称以及与所述被测试模块对应的编译物的名称,生成映射表;
将所述测试用例集、与所述测试用例集对应的配置文件以及映射表打包形成测试套件。
可选地,依据所述被测试模块的名称以及与所述被测试模块对应的编译物的名称,生成映射表包括:
从编译生成的数据交换文件中获取每个编译物的名称以及存储路径;
沿所述存储路径搜索所有父目录下的配置文件,并获取配置文件中模块名称字段中记录的名称清单;
依据所述编译物名称以及名称清单,生成编译物名称与所述名称清单的映射表。
可选地,所述测试用例集的名称包括被测试模块的名称、用例级别以及测试类型。
第二方面,本发明提供一种被测试模块的映射装置,所述装置包括:
编写模块,用于编写测试用例集以及与所述测试用例集对应的配置文件;
配置模块,用于编写与所述被测试模块对应的配置文件,以配置所述被测试模块的名称;
命名模块,用于将所述测试用例集的名称依据所述被测试模块的名称进行命名;
描述模块,用于向所述缺陷管理系统中与所述被测试模块对应的组件添加描述,其中,所述描述与所述被测试模块的名称对应;
映射模块,用于依据所述被测试模块的名称以及与所述被测试模块对应的编译物的名称,生成映射表;
形成模块,用于将所述测试用例集、与所述测试用例集对应的配置文件以及映射表打包形成测试套件。
可选地,映射模块包括:
获取单元,用于从编译生成的数据交换文件中获取每个编译物的名称以及存储路径;
搜索单元,用于沿所述存储路径搜索所有父目录下的配置文件,并获取配置文件中模块名称字段中记录的名称清单;
映射单元,用于依据所述编译物名称以及名称清单,生成编译物名称与所述名称清单的映射表。
第三方面,本发明提供一种测试方法,采用如上述任意一项所述的被测试模块的映射方法将被测试模块与测试用例集、缺陷管理系统以及编译物进行映射,所述方法包括:
获取测试缺陷类型;
当缺陷类型为测试用例失败时,依据被测试模块的名称确定缺陷提交路径;
当缺陷类型为编译物覆盖率不达标时,依据映射表确定缺陷提交路径。
可选地,依据被测试模块的名称确定缺陷提交路径包括:
获取测试失败的测试用例集的名称;
依据所述测试用例集的名称确定被测试模块的名称;
依据所述被测试模块的名称,从缺陷管理系统中索引对应的组件;
依据所述组件,提交测试出的缺陷。
可选地,依据映射表确定缺陷提交路径包括:
获取覆盖率不达标的编译物名称;
依据所述映射表,获取与所述编译物名称对应的被测试模块名称;
依据所述被测试模块的名称,从缺陷管理系统中索引对应的组件;
依据所述组件,提交测试出的缺陷。
可选地,依据所述被测试模块的名称,从缺陷管理系统中索引对应的组件包括:
依据所述被测试模块的名称,搜索缺陷管理系统中各组件的描述;
当组件中的描述与所述被测试模块的名称对应时,确定所述组件为用于提交缺陷的组件。
第四方面,本发明提供一种测试系统,包括如上述任意一项所述被测试模块的映射装置,所述测试系统还包括:
类型确定模块,用于获取测试缺陷类型;
第一路径模块,用于当缺陷类型为测试用例失败时,依据被测试模块的名称确定缺陷提交路径;
第二路径模块,用于当缺陷类型为编译物覆盖率不达标时,依据映射表确定缺陷提交路径。
可选地,所述第一路径模块包括:
名称获取单元,用于获取测试失败的测试用例集的名称;
模块确定单元,用于依据所述测试用例集的名称确定被测试模块的名称;
组件确定单元,用于依据所述被测试模块的名称,从缺陷管理系统中索引对应的组件;
缺陷提交单元,用于依据所述组件,提交测试出的缺陷。
可选地,所述第二路径模块包括:
编译物确定单元,用于获取覆盖率不达标的编译物名称;
映射表查询单元,用于依据所述映射表,获取与所述编译物名称对应的被测试模块名称;
组件确定单元,用于依据所述被测试模块的名称,从缺陷管理系统中索引对应的组件;
缺陷提交单元,用于依据所述组件,提交测试出的缺陷。
可选地,组件确定单元包括:
搜索子单元,用于依据所述被测试模块的名称,搜索缺陷管理系统中各组件的描述;
确定子单元,用于当组件中的描述与所述被测试模块的名称对应时,确定所述组件为用于提交缺陷的组件。
在本发明提供的技术方案中,将被测试模块与测试用例集、编译物以及缺陷管理系统中的组件形成映射关系,在测试过程中,一旦出现测试用例失败或者覆盖率不达标的情况,即可以通过该映射关系进行被测试模块以及缺陷管理系统中的测试组件的确定,在确定测试组件后,即可利用该测试组件完成缺陷的自动提交,从而,能够在测试用例失败或者覆盖率不达标的情况下将缺陷自动进行提交,无需人工干预,降低了劳动轻度,提高了工作效率。
附图说明
图1为本发明一实施例被测试模块的映射方法的流程图;
图2为本发明另一实施例被测试模块的映射方法形成映射表的流程图;
图3为本发明另一实施例被测试模块的映射装置的示意图;
图4为本发明另一实施例被测试模块的映射装置的映射模块的示意图;
图5为本发明另一实施例测试方法的流程图;
图6为本发明另一实施例测试方法中测试用例失败时提交缺陷的流程图;
图7为本发明另一实施例测试方法中编译物覆盖率不达标时提交缺陷的流程图;
图8为本发明另一实施例测试系统的示意图;
图9为本发明另一实施例测试系统的第一路径模块的示意图;
图10为本发明另一实施例测试系统的第二路径模块的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种被测试模块的映射方法,如图1所示,所述方法包括:
步骤100,编写测试用例集以及与所述测试用例集对应的配置文件;
在一些实施例中,测试用例集包括了多种测试用例,每个测试用例包括了对被测试模块进行测试时所需的输入、动作、时间和一个期望的结果,其目的是确定应用程序的某个特性是否可正常工作,并且达到程序所设计的结果,以便测试某个程序路径或核实是否满足某个特定需求。配置文件通常是与测试用例一一对应的,通常包括了测试过程中所需要的测试工具以及执行环境等配置信息。
步骤200,编写与所述被测试模块对应的配置文件,以配置所述被测试模块的名称;
在一些实施例中,与被测试模块对应的配置文件通常主要用于对被测试模块的名称进行配置,这是由于在后续的映射过程中会基于被测试模块的名称进行映射,因此,本步骤中对于被测试模块的配置为后续的映射过程提供了前提。
步骤300,将所述测试用例集的名称依据所述被测试模块的名称进行命名;
在一些实施例中,测试用例集的名称依据被测试模块的名称进行命名,从而,将测试用例集与被测试模块之间通过名称建立映射关系,作为一种可选的实施方式,所述测试用例集的名称包括被测试模块的名称、用例级别以及测试类型。例如,用例集名称可以按照如下的命名规则:模块名_用例级别_测试类型_Tests。
步骤400,向所述缺陷管理系统中与所述被测试模块对应的组件添加描述,其中,所述描述与所述被测试模块的名称对应;
在一些实施例中,每个被测试模块通常会对应于缺陷管理系统的一个组件,为了确定被测试模块与哪一个组件对应在缺陷管理系统的组件描述中添加被测试模块的名称,从而,能够将缺陷管理系统的组件与被测试模块进行映射。例如,采用缺陷管理系统bugzilla对被测试模块进行测试的过程中,可以对每个组件的description字段添加对应的被测试模块的名称。
步骤500,依据所述被测试模块的名称以及与所述被测试模块对应的编译物的名称,生成映射表;
在一些实施例中,一个被测试模块在编译过程中会形成多个编译物,由于在测试过程中需要测试每个编译物的覆盖率,因此,在本步骤中将多个编译物名称与被测试模块的名称形成映射表,从而,当出现覆盖率不达标的编译物时,能够及时且准确的确定对应的被测试模块。
步骤600,将所述测试用例集、与所述测试用例集对应的配置文件以及映射表打包形成测试套件。
在一些实施例中,测试套件中包括了测试用例集、配置文件以及映射表,在后续的执行过程中,在同一路径下进行寻找和索引即可快速的实现自动提交缺陷。
在本实施例提供的技术方案中,将被测试模块与测试用例集、编译物以及缺陷管理系统中的组件形成映射关系,在测试过程中,一旦出现测试用例失败或者覆盖率不达标的情况,即可以通过该映射关系进行被测试模块以及缺陷管理系统中的测试组件的确定,在确定测试组件后,即可利用该测试组件完成缺陷的自动提交,从而,能够在测试用例失败或者覆盖率不达标的情况下将缺陷自动进行提交,无需人工干预,降低了劳动轻度,提高了工作效率。
作为一种可选的实施方式,如图2所示,步骤500包括:
步骤510,从编译生成的数据交换文件中获取每个编译物的名称以及存储路径;
在一些实施例中,在对被测试模块的编译过程中会形成对应的数据交换文件,在该数据交换文件中会记载编译物的名称和存储路径,例如,系统编译生成文件module-info.json中获取每个编译物对应的编译物名称module_name字段内容和存储路径path字段内容。
步骤520,沿所述存储路径搜索所有父目录下的配置文件,并获取配置文件中模块名称字段中记录的名称清单;
在一些实施例中,由于每个被测试模块会具有多个编译物,因此,为了获取该编译物对应的被测试模块的名称,需要沿该编译物的父目录向上进行搜索,得到与该被测试模块对应的配置文件,并从配置文件中确定该被测试模块的名称列表。例如,搜索存储路径path及所有父目录下的配置文件INFO文件,获取配置文件INFO文件中配置的被测试模块的名称列表module list。
步骤530,依据所述编译物名称以及名称清单,生成编译物名称与所述名称清单的映射表。
在一些实施例中,每个编译物都能够找到一个对应的被测试模块的名称清单,将所有编译物以及对应的被测试模块的名称清单形成映射表,即完成了编译物与被测试模块的映射关系。例如,将编译物名称module_name和对应的被测试模块的名称清单modulelist写入到映射表中,形成映射表文件module.lst。
在本实施例中,通过对每个编译物的父目录进行搜索,获取了每个编译物对应的被测试模块的名称清单,并将编译物与被测试模块的映射关系写入映射表中,从而,使编译物与被测试模块建立映射关系,在后续的测试过程中,当出现覆盖率不达标的编译物时,能够及时且准确的确定对应的被测试模块,及时的提交缺陷。
本发明实施例还提供一种被测试模块的映射装置,如图3所示,所述装置包括:
编写模块,用于编写测试用例集以及与所述测试用例集对应的配置文件;
在一些实施例中,测试用例集包括了多种测试用例,每个测试用例包括了对被测试模块进行测试时所需的输入、动作、时间和一个期望的结果,其目的是确定应用程序的某个特性是否可正常工作,并且达到程序所设计的结果,以便测试某个程序路径或核实是否满足某个特定需求。配置文件通常是与测试用例一一对应的,通常包括了测试过程中所需要的测试工具以及执行环境等配置信息。
配置模块,用于编写与所述被测试模块对应的配置文件,以配置所述被测试模块的名称;
在一些实施例中,与被测试模块对应的配置文件通常主要用于对被测试模块的名称进行配置,这是由于在后续的映射过程中会基于被测试模块的名称进行映射,因此,本步骤中对于被测试模块的配置为后续的映射过程提供了前提。
命名模块,用于将所述测试用例集的名称依据所述被测试模块的名称进行命名;
在一些实施例中,测试用例集的名称依据被测试模块的名称进行命名,从而,将测试用例集与被测试模块之间通过名称建立映射关系,作为一种可选的实施方式,所述测试用例集的名称包括被测试模块的名称、用例级别以及测试类型。例如,用例集名称可以按照如下的命名规则:模块名_用例级别_测试类型_Tests。
描述模块,用于向所述缺陷管理系统中与所述被测试模块对应的组件添加描述,其中,所述描述与所述被测试模块的名称对应;
在一些实施例中,每个被测试模块通常会对应于缺陷管理系统的一个组件,为了确定被测试模块与哪一个组件对应在缺陷管理系统的组件描述中添加被测试模块的名称,从而,能够将缺陷管理系统的组件与被测试模块进行映射。例如,采用缺陷管理系统bugzilla对被测试模块进行测试的过程中,可以对每个组件的description字段添加对应的被测试模块的名称。
映射模块,用于依据所述被测试模块的名称以及与所述被测试模块对应的编译物的名称,生成映射表;
在一些实施例中,一个被测试模块在编译过程中会形成多个编译物,由于在测试过程中需要测试每个编译物的覆盖率,因此,在本步骤中将多个编译物名称与被测试模块的名称形成映射表,从而,当出现覆盖率不达标的编译物时,能够及时且准确的确定对应的被测试模块。
形成模块,用于将所述测试用例集、与所述测试用例集对应的配置文件以及映射表打包形成测试套件。
在一些实施例中,测试套件中包括了测试用例集、配置文件以及映射表,在后续的执行过程中,在同一路径下进行寻找和索引即可快速的实现自动提交缺陷。
在本实施例提供的技术方案中,将被测试模块与测试用例集、编译物以及缺陷管理系统中的组件形成映射关系,在测试过程中,一旦出现测试用例失败或者覆盖率不达标的情况,即可以通过该映射关系进行被测试模块以及缺陷管理系统中的测试组件的确定,在确定测试组件后,即可利用该测试组件完成缺陷的自动提交,从而,能够在测试用例失败或者覆盖率不达标的情况下将缺陷自动进行提交,无需人工干预,降低了劳动轻度,提高了工作效率。
作为一种可选的实施方式,如图4所示,映射模块包括:
获取单元,用于从编译生成的数据交换文件中获取每个编译物的名称以及存储路径;
在一些实施例中,在对被测试模块的编译过程中会形成对应的数据交换文件,在该数据交换文件中会记载编译物的名称和存储路径,例如,系统编译生成文件module-info.json中获取每个编译物对应的编译物名称module_name字段内容和存储路径path字段内容。
搜索单元,用于沿所述存储路径搜索所有父目录下的配置文件,并获取配置文件中模块名称字段中记录的名称清单;
在一些实施例中,由于每个被测试模块会具有多个编译物,因此,为了获取该编译物对应的被测试模块的名称,需要沿该编译物的父目录向上进行搜索,得到与该被测试模块对应的配置文件,并从配置文件中确定该被测试模块的名称列表。例如,搜索存储路径path及所有父目录下的配置文件INFO文件,获取配置文件INFO文件中配置的被测试模块的名称列表module list。
映射单元,用于依据所述编译物名称以及名称清单,生成编译物名称与所述名称清单的映射表。
在一些实施例中,每个编译物都能够找到一个对应的被测试模块的名称清单,将所有编译物以及对应的被测试模块的名称清单形成映射表,即完成了编译物与被测试模块的映射关系。例如,将编译物名称module_name和对应的被测试模块的名称清单modulelist写入到映射表中,形成映射表文件module.lst。
在本实施例中,通过对每个编译物的父目录进行搜索,获取了每个编译物对应的被测试模块的名称清单,并将编译物与被测试模块的映射关系写入映射表中,从而,使编译物与被测试模块建立映射关系,在后续的测试过程中,当出现覆盖率不达标的编译物时,能够及时且准确的确定对应的被测试模块,及时的提交缺陷。
本发明实施例还提供一种测试方法,如图5所示,方法包括:
步骤6100,采用如上述任意一项所述的被测试模块的映射方法将被测试模块与测试用例集、缺陷管理系统以及编译物进行映射;
在一些实施例中,前述的被测试模块的映射方法中将被测试模块作为一个关键的节点,将其与测试用例集、缺陷管理系统的组件以及编译物进行映射,其中,缺陷管理系统中的组件是用来提交缺陷的,编译物和测试用例集时可能出现缺陷的部分,而被测试模块则作为一个关键的节点,与三者之间建立的映射关系,使得编译物或者测试用例集出现缺陷时能够及时的通过被测试模块确定应当提交缺陷的缺陷管理系统中的组件。因此,采用前述的映射方法进行映射为后续的测试过程提供给了前提条件。
步骤6200,获取测试缺陷类型;
在一些实施例中,测试缺陷类型通常包括测试用例失败或者编译物覆盖率不达标两种情况,在后续的缺陷提交过程中,会依据两种不同的缺陷类型进行两种不同的缺陷提交方式。
步骤6310,当缺陷类型为测试用例失败时,依据被测试模块的名称确定缺陷提交路径;
在一些实施例中,由于测试用例集的名称是以被测试模块的名称进行命名的,因此,可以利用测试用例集的名字的对应字段确定被测试模块,通过被测试模块的名称进行查找即可确定对应的缺陷管理系统中的组件,从而实现自动的提交缺陷。
步骤6320,当缺陷类型为编译物覆盖率不达标时,依据映射表确定缺陷提交路径。
在一些实施例中,当编译物覆盖率不达标时,由于编译物与被测试模块通过映射表进行映射,因此,可以通过映射表中进行查找,查找到与编译物对应的被测试模块,再利用被测试模块确定缺陷管理系统中对应的组件进行缺陷提交。
在本实施例提供的技术方案中,将被测试模块与测试用例集、编译物以及缺陷管理系统中的组件形成映射关系,在测试过程中,一旦出现测试用例失败或者覆盖率不达标的情况,即可以通过该映射关系进行被测试模块以及缺陷管理系统中的测试组件的确定,在确定测试组件后,即可利用该测试组件完成缺陷的自动提交,从而,能够在测试用例失败或者覆盖率不达标的情况下将缺陷自动进行提交,无需人工干预,降低了劳动轻度,提高了工作效率。
作为一种可选的实施方式,如图6所示,步骤6310包括:
步骤6311,获取测试失败的测试用例集的名称;
在一些实施例中,测试用例集包含了多个测试用例,因此,当出现测试失败的测试用例时,由于测试用例集的名称是与被测试模块具有映射关系的,因此,查询测试用例所属的测试用例集即可确定测试失败的测试用例集名称。
步骤6312,依据所述测试用例集的名称确定被测试模块的名称;
在一些实施例中,由于测试用例集的名称是依据被测试模块的名称进行命名的,因此,当出现测试失败的测试用例时,依据对应的测试用例集的名称中对应的字段即可得到被测试模块的名称。
步骤6313,依据所述被测试模块的名称,从缺陷管理系统中索引对应的组件;
在一些实施例中,由于缺陷管理系统中的组件描述字段填写了被测试模块的名称,因此,可以依据被测试模块的名称进行索引,能够得到缺陷管理系统中对应的组件。
步骤6314,依据所述组件,提交测试出的缺陷。
在一些实施例中,由于缺陷管理系统的组件是用来实现缺陷提交的主体,因此,在前述各步骤中确定了对应的组件后,即可以采用确定的组件进行缺陷提交。
在本实施方式中,通过测试失败的测试用例集、被测试模块以及缺陷管理系统的组件这一查找路径,依据被测试模块与测试用例集和缺陷管理系统的组件之间的映射关系,实现了缺陷的自动提交。
作为一种可选的实施方式,如图7所示,步骤6320包括:
步骤6321,获取覆盖率不达标的编译物名称;
在一些实施例中,对于单个编译物进行覆盖率的衡量,但是,在缺陷的提交过程中,由于并不是针对编译物进行提交,而是针对编译物所对应的被检测模块进行缺陷的提交,因此,在本步骤中,提取出编译物名称,为后续确定被检测模块提供了条件。
步骤6322,依据所述映射表,获取与所述编译物名称对应的被测试模块名称;
在一些实施例中,由于映射表中记载了编译物与被检测模块之间的映射关系,因此,通过在映射表中查找编译物名称可以确定被检测模块的名称。
步骤6323,依据所述被测试模块的名称,从缺陷管理系统中索引对应的组件;
在一些实施例中,由于缺陷管理系统中的组件描述字段填写了被测试模块的名称,因此,可以依据被测试模块的名称进行索引,能够得到缺陷管理系统中对应的组件。
步骤6324,依据所述组件,提交测试出的缺陷。
在一些实施例中,由于缺陷管理系统的组件是用来实现缺陷提交的主体,因此,在前述各步骤中确定了对应的组件后,即可以采用确定的组件进行缺陷提交。
在本实施方式中,通过覆盖率不达标的编译物、被测试模块以及缺陷管理系统的组件这一查找路径,依据被测试模块与编译物和缺陷管理系统的组件之间的映射关系,实现了缺陷的自动提交。
作为一种可选的实施方式,步骤6313或者步骤6323包括:
依据所述被测试模块的名称,搜索缺陷管理系统中各组件的描述;
在一些实施例中,由于在缺陷管理系统的各组件的描述字段中填写了对应的被测试模块的名称,因此,通过对缺陷管理系统中各组件的描述进行搜索,即可确定对应的组件。
当组件中的描述与所述被测试模块的名称对应时,确定所述组件为用于提交缺陷的组件。
在一些实施例中,当组件中的描述与被测试模块的名称对应时,即表明该组件是用于对被测试模块进行测试的,即被测试模块的缺陷应当由该组件进行提交。
本发明提供一种测试系统,如图8所示,包括:
如上述任意一项所述被测试模块的映射装置;
在一些实施例中,前述的被测试模块的映射方法中将被测试模块作为一个关键的节点,将其与测试用例集、缺陷管理系统的组件以及编译物进行映射,其中,缺陷管理系统中的组件是用来提交缺陷的,编译物和测试用例集时可能出现缺陷的部分,而被测试模块则作为一个关键的节点,与三者之间建立的映射关系,使得编译物或者测试用例集出现缺陷时能够及时的通过被测试模块确定应当提交缺陷的缺陷管理系统中的组件。因此,采用前述的映射方法进行映射为后续的测试过程提供给了前提条件。
类型确定模块,用于获取测试缺陷类型;
在一些实施例中,测试缺陷类型通常包括测试用例失败或者编译物覆盖率不达标两种情况,在后续的缺陷提交过程中,会依据两种不同的缺陷类型进行两种不同的缺陷提交方式。
第一路径模块,用于当缺陷类型为测试用例失败时,依据被测试模块的名称确定缺陷提交路径;
在一些实施例中,由于测试用例集的名称是以被测试模块的名称进行命名的,因此,可以利用测试用例集的名字的对应字段确定被测试模块,通过被测试模块的名称进行查找即可确定对应的缺陷管理系统中的组件,从而实现自动的提交缺陷。
第二路径模块,用于当缺陷类型为编译物覆盖率不达标时,依据映射表确定缺陷提交路径。
在一些实施例中,当编译物覆盖率不达标时,由于编译物与被测试模块通过映射表进行映射,因此,可以通过映射表中进行查找,查找到与编译物对应的被测试模块,再利用被测试模块确定缺陷管理系统中对应的组件进行缺陷提交。
在本实施例提供的技术方案中,将被测试模块与测试用例集、编译物以及缺陷管理系统中的组件形成映射关系,在测试过程中,一旦出现测试用例失败或者覆盖率不达标的情况,即可以通过该映射关系进行被测试模块以及缺陷管理系统中的测试组件的确定,在确定测试组件后,即可利用该测试组件完成缺陷的自动提交,从而,能够在测试用例失败或者覆盖率不达标的情况下将缺陷自动进行提交,无需人工干预,降低了劳动轻度,提高了工作效率。
作为一种可选的实施方式,如图9所示,所述第一路径模块包括:
名称获取单元,用于获取测试失败的测试用例集的名称;
在一些实施例中,测试用例集包含了多个测试用例,因此,当出现测试失败的测试用例时,由于测试用例集的名称是与被测试模块具有映射关系的,因此,查询测试用例所属的测试用例集即可确定测试失败的测试用例集名称。
模块确定单元,用于依据所述测试用例集的名称确定被测试模块的名称;
在一些实施例中,由于测试用例集的名称是依据被测试模块的名称进行命名的,因此,当出现测试失败的测试用例时,依据对应的测试用例集的名称中对应的字段即可得到被测试模块的名称。
组件确定单元,用于依据所述被测试模块的名称,从缺陷管理系统中索引对应的组件;
在一些实施例中,由于缺陷管理系统中的组件描述字段填写了被测试模块的名称,因此,可以依据被测试模块的名称进行索引,能够得到缺陷管理系统中对应的组件。
缺陷提交单元,用于依据所述组件,提交测试出的缺陷。
在一些实施例中,由于缺陷管理系统的组件是用来实现缺陷提交的主体,因此,在前述各步骤中确定了对应的组件后,即可以采用确定的组件进行缺陷提交。
在本实施方式中,通过测试失败的测试用例集、被测试模块以及缺陷管理系统的组件这一查找路径,依据被测试模块与测试用例集和缺陷管理系统的组件之间的映射关系,实现了缺陷的自动提交。
作为一种可选的实施方式,如图10所示,所述第二路径模块包括:
编译物确定单元,用于获取覆盖率不达标的编译物名称;
在一些实施例中,对于单个编译物进行覆盖率的衡量,但是,在缺陷的提交过程中,由于并不是针对编译物进行提交,而是针对编译物所对应的被检测模块进行缺陷的提交,因此,在本步骤中,提取出编译物名称,为后续确定被检测模块提供了条件。
映射表查询单元,用于依据所述映射表,获取与所述编译物名称对应的被测试模块名称;
在一些实施例中,由于映射表中记载了编译物与被检测模块之间的映射关系,因此,通过在映射表中查找编译物名称可以确定被检测模块的名称。
组件确定单元,用于依据所述被测试模块的名称,从缺陷管理系统中索引对应的组件;
在一些实施例中,由于缺陷管理系统中的组件描述字段填写了被测试模块的名称,因此,可以依据被测试模块的名称进行索引,能够得到缺陷管理系统中对应的组件。
缺陷提交单元,用于依据所述组件,提交测试出的缺陷。
在一些实施例中,由于缺陷管理系统的组件是用来实现缺陷提交的主体,因此,在前述各步骤中确定了对应的组件后,即可以采用确定的组件进行缺陷提交。
在本实施方式中,通过覆盖率不达标的编译物、被测试模块以及缺陷管理系统的组件这一查找路径,依据被测试模块与编译物和缺陷管理系统的组件之间的映射关系,实现了缺陷的自动提交。
作为一种可选的实施方式,组件确定单元包括:
搜索子单元,用于依据所述被测试模块的名称,搜索缺陷管理系统中各组件的描述;
在一些实施例中,由于在缺陷管理系统的各组件的描述字段中填写了对应的被测试模块的名称,因此,通过对缺陷管理系统中各组件的描述进行搜索,即可确定对应的组件。
确定子单元,用于当组件中的描述与所述被测试模块的名称对应时,确定所述组件为用于提交缺陷的组件。
在一些实施例中,当组件中的描述与被测试模块的名称对应时,即表明该组件是用于对被测试模块进行测试的,即被测试模块的缺陷应当由该组件进行提交。
本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (13)
1.一种被测试模块的映射方法,其特征在于,所述方法包括:
编写测试用例集以及与所述测试用例集对应的配置文件;
编写与所述被测试模块对应的配置文件,以配置所述被测试模块的名称;
将所述测试用例集的名称依据所述被测试模块的名称进行命名;
向缺陷管理系统中与所述被测试模块对应的组件添加描述,其中,所述描述与所述被测试模块的名称对应;
依据所述被测试模块的名称以及与所述被测试模块对应的编译物的名称,生成映射表;
将所述测试用例集、与所述测试用例集对应的配置文件以及映射表打包形成测试套件。
2.根据权利要求1所述的方法,其特征在于,依据所述被测试模块的名称以及与所述被测试模块对应的编译物的名称,生成映射表包括:
从编译生成的数据交换文件中获取每个编译物的名称以及存储路径;
沿所述存储路径搜索所有父目录下的配置文件,并获取配置文件中模块名称字段中记录的名称清单;
依据所述编译物名称以及名称清单,生成编译物名称与所述名称清单的映射表。
3.根据权利要求1所述的方法,其特征在于,所述测试用例集的名称包括被测试模块的名称、用例级别以及测试类型。
4.一种被测试模块的映射装置,其特征在于,所述装置包括:
编写模块,用于编写测试用例集以及与所述测试用例集对应的配置文件;
配置模块,用于编写与所述被测试模块对应的配置文件,以配置所述被测试模块的名称;
命名模块,用于将所述测试用例集的名称依据所述被测试模块的名称进行命名;
描述模块,用于向缺陷管理系统中与所述被测试模块对应的组件添加描述,其中,所述描述与所述被测试模块的名称对应;
映射模块,用于依据所述被测试模块的名称以及与所述被测试模块对应的编译物的名称,生成映射表;
形成模块,用于将所述测试用例集、与所述测试用例集对应的配置文件以及映射表打包形成测试套件。
5.根据权利要求4所述的装置,其特征在于,映射模块包括:
获取单元,用于从编译生成的数据交换文件中获取每个编译物的名称以及存储路径;
搜索单元,用于沿所述存储路径搜索所有父目录下的配置文件,并获取配置文件中模块名称字段中记录的名称清单;
映射单元,用于依据所述编译物名称以及名称清单,生成编译物名称与所述名称清单的映射表。
6.一种测试方法,其特征在于,采用如权利要求1-3任意一项所述的被测试模块的映射方法将被测试模块与测试用例集、缺陷管理系统以及编译物进行映射,所述方法包括:
获取测试缺陷类型;
当缺陷类型为测试用例失败时,依据被测试模块的名称确定缺陷提交路径;
当缺陷类型为编译物覆盖率不达标时,依据映射表确定缺陷提交路径。
7.根据权利要求6所述的方法,其特征在于,依据被测试模块的名称确定缺陷提交路径包括:
获取测试失败的测试用例集的名称;
依据所述测试用例集的名称确定被测试模块的名称;
依据所述被测试模块的名称,从缺陷管理系统中索引对应的组件;
依据所述组件,提交测试出的缺陷。
8.根据权利要求6所述的方法,其特征在于,依据映射表确定缺陷提交路径包括:
获取覆盖率不达标的编译物名称;
依据所述映射表,获取与所述编译物名称对应的被测试模块名称;
依据所述被测试模块的名称,从缺陷管理系统中索引对应的组件;
依据所述组件,提交测试出的缺陷。
9.根据权利要求7-8任意一项所述的测试方法,其特征在于,依据所述被测试模块的名称,从缺陷管理系统中索引对应的组件包括:
依据所述被测试模块的名称,搜索缺陷管理系统中各组件的描述;
当组件中的描述与所述被测试模块的名称对应时,确定所述组件为用于提交缺陷的组件。
10.一种测试系统,其特征在于,包括如权利要求4-5任意一项所述被测试模块的映射装置,所述测试系统还包括:
类型确定模块,用于获取测试缺陷类型;
第一路径模块,用于当缺陷类型为测试用例失败时,依据被测试模块的名称确定缺陷提交路径;
第二路径模块,用于当缺陷类型为编译物覆盖率不达标时,依据映射表确定缺陷提交路径。
11.根据权利要求10所述的系统,其特征在于,所述第一路径模块包括:
名称获取单元,用于获取测试失败的测试用例集的名称;
模块确定单元,用于依据所述测试用例集的名称确定被测试模块的名称;
组件确定单元,用于依据所述被测试模块的名称,从缺陷管理系统中索引对应的组件;
缺陷提交单元,用于依据所述组件,提交测试出的缺陷。
12.根据权利要求10所述的系统,其特征在于,所述第二路径模块包括:
编译物确定单元,用于获取覆盖率不达标的编译物名称;
映射表查询单元,用于依据所述映射表,获取与所述编译物名称对应的被测试模块名称;
组件确定单元,用于依据所述被测试模块的名称,从缺陷管理系统中索引对应的组件;
缺陷提交单元,用于依据所述组件,提交测试出的缺陷。
13.根据权利要求11-12任意一项所述的测试系统,其特征在于,组件确定单元包括:
搜索子单元,用于依据所述被测试模块的名称,搜索缺陷管理系统中各组件的描述;
确定子单元,用于当组件中的描述与所述被测试模块的名称对应时,确定所述组件为用于提交缺陷的组件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110722537.9A CN113342675B (zh) | 2021-06-25 | 2021-06-25 | 被测试模块的映射方法、装置以及测试方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110722537.9A CN113342675B (zh) | 2021-06-25 | 2021-06-25 | 被测试模块的映射方法、装置以及测试方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113342675A CN113342675A (zh) | 2021-09-03 |
CN113342675B true CN113342675B (zh) | 2022-09-20 |
Family
ID=77481157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110722537.9A Active CN113342675B (zh) | 2021-06-25 | 2021-06-25 | 被测试模块的映射方法、装置以及测试方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113342675B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116627973B (zh) * | 2023-05-25 | 2024-02-09 | 成都融见软件科技有限公司 | 一种数据定位系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104102581A (zh) * | 2014-07-10 | 2014-10-15 | 浪潮(北京)电子信息产业有限公司 | 一种实现单元测试的方法及装置 |
CN104407973A (zh) * | 2014-11-25 | 2015-03-11 | 珠海格力电器股份有限公司 | 一种自动化单元测试的实现方法及装置 |
CN109491916A (zh) * | 2018-11-12 | 2019-03-19 | 北京东土科技股份有限公司 | 一种操作系统的测试方法、装置、设备、系统和介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8924933B2 (en) * | 2008-03-25 | 2014-12-30 | Barclays Capital Inc. | Method and system for automated testing of computer applications |
US11550704B2 (en) * | 2019-05-29 | 2023-01-10 | James Arthur Canter | Methods, systems and computer program products for automated software testing |
-
2021
- 2021-06-25 CN CN202110722537.9A patent/CN113342675B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104102581A (zh) * | 2014-07-10 | 2014-10-15 | 浪潮(北京)电子信息产业有限公司 | 一种实现单元测试的方法及装置 |
CN104407973A (zh) * | 2014-11-25 | 2015-03-11 | 珠海格力电器股份有限公司 | 一种自动化单元测试的实现方法及装置 |
CN109491916A (zh) * | 2018-11-12 | 2019-03-19 | 北京东土科技股份有限公司 | 一种操作系统的测试方法、装置、设备、系统和介质 |
Non-Patent Citations (1)
Title |
---|
.Net框架下测试脚本自动生成技术研究;芦彩林等;《微计算机应用》;20080531;第29卷(第05期);第101-103页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113342675A (zh) | 2021-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8151248B1 (en) | Method and system for software defect management | |
CN104077217B (zh) | 代码文件的编译发布方法及系统 | |
US9411710B2 (en) | Automated regression test case selector and black box test coverage tool for product testing | |
CN107122368B (zh) | 一种数据校验方法、装置及电子设备 | |
CN101556550A (zh) | 一种自动化测试日志分析方法和装置 | |
CN105138461A (zh) | 一种应用程序的接口测试方法及装置 | |
CN110058998B (zh) | 软件测试方法及装置 | |
US20170270229A1 (en) | Information processing method and device and computer storage medium | |
CN106355375B (zh) | 一种物料自动确认方法 | |
CN111240968A (zh) | 一种自动测试管理方法及系统 | |
CN105279089A (zh) | 一种获取页面元素的方法及装置 | |
CN113342675B (zh) | 被测试模块的映射方法、装置以及测试方法及系统 | |
US11663113B2 (en) | Real time fault localization using combinatorial test design techniques and test case priority selection | |
Murillo-Morera et al. | Software Fault Prediction: A Systematic Mapping Study. | |
CN110147313B (zh) | 一种日志输出方法及装置 | |
CN111259619A (zh) | 配置对象的控制方法、装置、存储介质及验证平台 | |
CN110674038A (zh) | 一种对软件测试中错误信息的分类方法及装置 | |
CN112579456B (zh) | 一种Web自动化测试方法及装置 | |
CN114546749A (zh) | 一种芯片随机测试用例回归方法、装置、设备及可读介质 | |
CN114676061A (zh) | 一种基于知识图谱自动化固件检测方法 | |
CN109374038B (zh) | 一种基于应用样机的核安全级仪控产品的变更测试方法 | |
CN112015658A (zh) | 一种用于软件集成测试用例的生成方法及装置 | |
CN111813665A (zh) | 一种基于python的大数据平台接口数据测试方法和系统 | |
CN110532315B (zh) | 一种自动生成可靠性预计报告导入文件的方法及系统 | |
CN112214409B (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 |