测试用例处理方法和装置制造方法及图纸

技术编号:15690792 阅读:39 留言:0更新日期:2017-06-24 03:28
本发明专利技术涉及一种测试用例处理方法和装置,该测试用例处理方法包括:获取测试用例标识集合和被测函数标识集合;对于所述测试用例标识集合中的每个测试用例标识,确定针对所述被测函数标识集合的测试覆盖关系;将所述测试用例标识集合中的测试用例标识,按照相应的所述测试覆盖关系之间的相似度进行聚类,获得多于一个的测试用例标识子集;根据所述测试用例标识子集,从所述测试用例标识集合中筛选出部分测试用例标识。本发明专利技术提供的测试用例处理方法和装置,可实现测试用例精简。

Test case processing method and device

The invention relates to a test case processing method and device, including the test case processing method: obtaining the test case identification set and tested function identifier set; for identifying each test case the test case identification in the collection, for determining the measured function identification test sets the test coverage; case identification identifying test cases set, clustering according to the corresponding relationship between the similarity of test coverage, get more than a subset of the test case identification; according to the test case identification subset from the test case identification set screened some test case identification. The test case processing method and device provided by the invention can simplify the test case.

【技术实现步骤摘要】
测试用例处理方法和装置
本专利技术涉及计算机
,特别是涉及一种测试用例处理方法和装置。
技术介绍
测试用例(TestCase)是为测试程序而设计的一组测试输入、执行条件和预期的结果的数据。测试用例可以设计一个场景,使被测程序在这种场景下运行,以测试程序是否能否满足设计需求。目前,需要为被测程序设计足够数量的测试用例,通常全量执行测试用例以保证对被测程序进行充分的测试。在被测程序开发初期,测试用例总量较少,执行全量的测试用例也容易管理。然而,随着被测程序的开发进展,在每个开发阶段会产生新的测试用例,测试用例的数量显著增加,全量执行测试用例需要消耗大量的时间成本和人力成本,测试效率低。
技术实现思路
基于此,有必要针对目前每次测试需要执行全量测试用例导致测试成本低的问题,提供一种测试用例处理方法和装置。一种测试用例处理方法,包括:获取测试用例标识集合和被测函数标识集合;对于所述测试用例标识集合中的每个测试用例标识,确定针对所述被测函数标识集合的测试覆盖关系;将所述测试用例标识集合中的测试用例标识,按照相应的所述测试覆盖关系之间的相似度进行聚类,获得多于一个的测试用例标识子集;根据所述测试用例标识子集,从所述测试用例标识集合中筛选出部分测试用例标识。一种测试用例处理装置,包括:获取模块,用于获取测试用例标识集合和被测函数标识集合;测试覆盖关系确定模块,用于对于所述测试用例标识集合中的每个测试用例标识,确定针对所述被测函数标识集合的测试覆盖关系;聚类模块,用于将所述测试用例标识集合中的测试用例标识,按照相应的所述测试覆盖关系之间的相似度进行聚类,获得多于一个的测试用例标识子集;测试用例筛选模块,用于根据所述测试用例标识子集,从所述测试用例标识集合中筛选出部分测试用例标识。上述测试用例处理方法和装置,获取测试用例标识集合和被测函数标识集合后,确定每个测试用例标识相对于被测函数标识集合的测试覆盖关系,该测试覆盖关系反映了该测试用例标识表示的测试用例,对于被测函数标识集合所表示的被测函数的覆盖情况。利用测试覆盖关系之间的相似度进行聚类,得到若干测试用例标识子集。根据所述测试用例标识子集筛选出部分测试用例标识,以对测试用例标识集合进行精简。利用精简后得到的测试用例标识所对应的测试用例对被测程序进行测试,不仅可以保证测试覆盖率,还能提高测试效率。附图说明图1为一个实施例中测试用例处理方法的应用环境图;图2为一个实施例中用于执行测试用例处理方法的电子设备的内部结构示意图;图3为一个实施例中测试用例处理方法的流程示意图;图4为一个实施例中对于测试用例标识集合中的每个测试用例标识,确定针对被测函数标识集合的测试覆盖关系的步骤的流程示意图;图5为一个实施例中对于测试用例标识集合中的每个测试用例标识,分别判断与被测函数标识集合中的每个被测函数标识是否存在测试对应关系的步骤的流程示意图;图6为一个实施例中将测试用例标识集合中的测试用例标识,按照相应的测试覆盖关系之间的相似度进行聚类,获得多于一个的测试用例标识子集的步骤的流程示意图;图7为一个实施例中将数值化对象按照数值化对象之间的相似度进行聚类,获得多于一个的数值化对象聚类簇的步骤的流程示意图;图8为一个实施例中轮次将每个数值化对象聚类簇按照数值化对象之间的相似度划分为两个候选聚类簇,得到每个候选聚类簇的聚类中心的步骤的流程示意图;图9为一个具体应用场景中测试用例处理方法的流程示意图;图10为一个实施例中测试用例处理装置的结构框图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。图1为一个实施例中测试用例处理方法的应用环境图。参照图1,该测试用例处理方法可应用于服务器110。服务器110具体可获取测试用例标识集合和被测函数标识集合;对于测试用例标识集合中的每个测试用例标识,确定针对被测函数标识集合的测试覆盖关系;将测试用例标识集合中的测试用例标识,按照相应的测试覆盖关系之间的相似度进行聚类,获得多于一个的测试用例标识子集;根据测试用例标识子集,从测试用例标识集合中筛选出部分测试用例标识。服务器110可将筛选出的部分测试用例标识推荐至终端120,或者可以将筛选出的部分测试用例标识所对应的测试用例推荐至终端120。通过网络连接的服务器110和终端120可构成一种测试用例推荐系统。可以理解的是,测试用例处理方法可应用于一种独立的电子设备,该电子设备可在筛选出部分测试用例标识后,根据该部分测试用例标识所对应的测试用例直接对被测程序进行测试。图2为一个实施例中电子设备的结构框图。该电子设备可以是服务器110,该电子设备用于实现一种测试用例处理方法。参照图2,该电子设备包括通过系统总线连接的处理器、非易失性存储介质、内存储器和网络接口。其中,该电子设备的非易失性存储介质存储有操作系统、数据库和测试用例处理装置。数据库中存储有测试用例标识集合和被测函数标识集合,还可以存储有测试对应关系集合。测试用例处理装置用于实现一种测试用例处理方法。该电子设备的处理器用于提供计算和控制能力,支撑整个电子设备的运行。该电子设备的内存储器为非易失性存储介质中的测试用例处理装置的运行提供环境,该内存储器中可储存有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种测试用例处理方法。该服务器的网络接口用于连接网络进行通信。电子设备可以是独立的设备或者是多个电子设备组成的设备集群来实现。本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。图3为一个实施例中测试用例处理方法的流程示意图。本实施例主要以该方法应用于上述图1中的服务器来举例说明。参照图3,该测试用例处理方法包括如下步骤:S302,获取测试用例标识集合和被测函数标识集合。其中,测试用例标识集合是测试用例标识构成的集合,测试用例标识用于唯一标识相应的测试用例。被测函数标识集合是被测函数标识构成的集合,被测函数标识用于唯一标识相应的被测函数。被测函数是被测程序的函数,通过调用被测函数可以实现对被测程序的测试。被测函数标识集合可以是全量被测函数标识构成的集合,也可以是从全量被测函数标识中筛选出的部分被测函数标识构成的集合。全量被测函数标识,是指被测程序所有被测函数各自的标识。测试用例标识集合可以是全量测试用例标识构成的集合。S304,对于测试用例标识集合中的每个测试用例标识,确定针对被测函数标识集合的测试覆盖关系。其中,测试用例标识相对于被测函数标识集合的测试覆盖关系,表示该测试用例标识所标识的测试用例,相对于该被测函数标识集合所表示的该被测函数集合的测试覆盖情况。测试覆盖关系可以反映相应的测试用例所能够覆盖的被测函数。比如,假设某测试用例涉及被测函数集合中的测试用例A和B,不涉及测试用例C,表达的就是该测试用例相对于该被测函数集合的测试覆盖关系,也就是相应的测试用例标识相对于被测函数标识集合的测试覆盖关系。S306,将测试用例标识集合中的本文档来自技高网...
测试用例处理方法和装置

【技术保护点】
一种测试用例处理方法,包括:获取测试用例标识集合和被测函数标识集合;对于所述测试用例标识集合中的每个测试用例标识,确定针对所述被测函数标识集合的测试覆盖关系;将所述测试用例标识集合中的测试用例标识,按照相应的所述测试覆盖关系之间的相似度进行聚类,获得多于一个的测试用例标识子集;根据所述测试用例标识子集,从所述测试用例标识集合中筛选出部分测试用例标识。

【技术特征摘要】
1.一种测试用例处理方法,包括:获取测试用例标识集合和被测函数标识集合;对于所述测试用例标识集合中的每个测试用例标识,确定针对所述被测函数标识集合的测试覆盖关系;将所述测试用例标识集合中的测试用例标识,按照相应的所述测试覆盖关系之间的相似度进行聚类,获得多于一个的测试用例标识子集;根据所述测试用例标识子集,从所述测试用例标识集合中筛选出部分测试用例标识。2.根据权利要求1所述的方法,其特征在于,所述对于所述测试用例标识集合中的每个测试用例标识,确定针对所述被测函数标识集合的测试覆盖关系包括:对于所述测试用例标识集合中的每个测试用例标识,分别判断与所述被测函数标识集合中的每个被测函数标识是否存在测试对应关系;根据与所述测试用例标识集合中的每个测试用例标识相应的是否存在测试对应关系的判断结果,确定与所述每个测试用例标识相应的针对所述被测函数标识集合的测试覆盖关系。3.根据权利要求2所述的方法,其特征在于,所述对于所述测试用例标识集合中的每个测试用例标识,分别判断与所述被测函数标识集合中的每个被测函数标识是否存在测试对应关系包括:获取测试用例标识和被测函数标识之间的根据历史测试记录确定的测试对应关系集合;对于所述测试用例标识集合中的每个测试用例标识,分别在所述测试对应关系集合中,查询与所述被测函数标识集合中的每个被测函数标识是否存在测试对应关系。4.根据权利要求1所述的方法,其特征在于,所述根据所述测试用例标识子集,从所述测试用例标识集合中筛选出部分测试用例标识,包括:从每个测试用例标识子集中选择至少一个测试用例标识,获得所述测试用例标识集合中的部分测试用例标识。5.根据权利要求1至4中任一项所述的方法,其特征在于,所述将所述测试用例标识集合中的测试用例标识,按照相应的所述测试覆盖关系之间的相似度进行聚类,获得多于一个的测试用例标识子集包括:获取表示每个测试用例标识所对应的所述测试覆盖关系的数值化对象;将所述数值化对象按照数值化对象之间的相似度进行聚类,获得多于一个的数值化对象聚类簇;根据所述数值化对象聚类簇获得相应的测试用例标识子集。6.根据权利要求5所述的方法,其特征在于,所述数值化对象为坐标点,所述数值化对象之间的相似度为坐标点之间的欧式距离,所述数值化对象聚类簇为坐标点聚类簇。7.根据权利要求6所述的方法,其特征在于,所述测试覆盖关系,表示相应的测试用例标识与所述被测函数标识集合中的每个被测函数标识是否存在测试对应关系;所述获取表示每个测试用例标识所对应的所述测试覆盖关系的数值化对象包括:获取分别表示每个所述测试覆盖关系的坐标点,所述坐标点的维度的数量等于所述被测函数标识集合中被测函数标识的数量,且每个维度在相应的被测函数标识与所述坐标点对应的测试用例标识之间存在或者不存在所述测试对应关系时分别取不同的数值。8.根据权利要求5所述的方法,其特征在于,所述将所述数值化对象按照数值化对象之间的相似度进行聚类,获得多于一个的数值化对象聚类簇包括:将所述数值化对象按照数值化对象之间的相似度划分为两个数值化对象聚类簇,得到每个数值化对象聚类簇的聚类中心;当数值化对象聚类簇的总数少于预设数量时,轮次将每个数值化对象聚类簇按照数值化对象之间的相似度划分为两个候选聚类簇,得到每个候选聚类簇的聚类中心;根据候选聚类簇和相应的聚类中心,和未划分的数值化对象聚类簇及相应的聚类中心,计算方差和;将对应最小方差和的候选聚类簇作为本次划分出的数值化对象聚类簇;当数值化对象聚类簇的总数等于预设数量时,输出当前所有的数值化对象聚类簇。9.根据权利要求8所述的方法,其特征在于,所述轮次将每个数值化对象聚类簇按照数值化对象之间的相似度划分为两个候选聚类簇,得到每个候选聚类簇的聚类中心包括:轮次在每个数值化对象聚类簇中,随机选择两个数值化对象作为需划分出的两个候选聚类簇各自的聚类中心;将当次的数值化对象聚类簇中的数值化对象,归类到相似度最高的聚类中心所属的候选聚类簇;计算归类后每个候选聚类簇的聚类中心;当计算出的聚类中心与当...

【专利技术属性】
技术研发人员:金朱黎贺旭黄晶宋秀斯
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1