一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

测试案例筛选方法及装置与流程

2022-08-21 14:17:07 来源:中国专利 TAG:


1.本发明涉及大数据技术领域,尤其涉及测试案例筛选方法及装置。


背景技术:

2.本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
3.软件开发完成后,会由测试人员根据软件的功能,编写相应的测试案例来测试软件是否能够实现对应的功能。测试案例是由测试人员对软件功能进行分析后,寻找需要测试的测试点,根据测试方法编写各测试点的测试例子,根据各测试点的测试例子组成。受测试人员主观影响,每个测试案例能够有效覆盖的测试点并不相同,这也导致测试案例中包含很多无效的测试案例,影响测试结果的准确性,测试效率低。


技术实现要素:

4.本发明实施例提供一种测试案例筛选方法,用以筛选出有效的测试案例,提高测试结果的准确性,提高测试效率,该方法包括:
5.根据待测试软件的各测试点对应的关键词,确定每一测试案例预计测试的至少一个第一测试点、以及从每一测试案例中提取该测试案例对应的各第一测试点的测试例子;
6.将各第一测试点的测试例子分别输入到测试例子有效性判断模型,得到每个第一测试点的测试例子的有效性;其中,测试例子有效性判断模型为预先根据待测试软件的功能、以及各测试方法的规则生成的树形分类器;
7.计算每个测试案例中,测试例子有效的第一测试点的数量,占该测试案例预计测试的第一测试点的总数量的第一比例值;
8.将第一比例值大于预设比例值、且测试例子有效的第一测试点的数量大于预设数量的测试案例确定为有效测试案例,利用有效测试案例对待测试软件进行测试。
9.本发明实施例还提供一种测试案例筛选装置,用以筛选出有效的测试案例,提高测试结果的准确性,提高测试效率,该装置包括:
10.第一处理模块,用于根据待测试软件的各测试点对应的关键词,确定每一测试案例预计测试的至少一个第一测试点、以及从每一测试案例中提取该测试案例对应的各第一测试点的测试例子;
11.第二处理模块,用于将各第一测试点的测试例子分别输入到测试例子有效性判断模型,得到每个第一测试点的测试例子的有效性;其中,测试例子有效性判断模型为预先根据待测试软件的功能、以及各测试方法的规则生成的树形分类器;
12.第三处理模块,用于计算每个测试案例中,测试例子有效的第一测试点的数量,占该测试案例预计测试的第一测试点的总数量的第一比例值;
13.第四处理模块,用于将第一比例值大于预设比例值、且测试例子有效的第一测试点的数量大于预设数量的测试案例确定为有效测试案例,利用有效测试案例对待测试软件
进行测试。
14.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述测试案例筛选方法。
15.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述测试案例筛选方法。
16.本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述测试案例筛选方法。
17.本发明实施例中,根据待测试软件的各测试点对应的关键词,确定每一测试案例预计测试的至少一个第一测试点、以及从每一测试案例中提取该测试案例对应的各第一测试点的测试例子;将各第一测试点的测试例子分别输入到测试例子有效性判断模型,得到每个第一测试点的测试例子的有效性;其中,测试例子有效性判断模型为预先根据待测试软件的功能、以及各测试方法的规则生成的树形分类器;计算每个测试案例中,测试例子有效的第一测试点的数量,占该测试案例预计测试的第一测试点的总数量的第一比例值;将第一比例值大于预设比例值、且测试例子有效的第一测试点的数量大于预设数量的测试案例确定为有效测试案例,利用有效测试案例对待测试软件进行测试。这样,通过判断测试案例中包含的各测试例子的有效性来判断各测试案例能够有效测试的测试点,根据各测试案例能有效测试的测试点的数量确定测试案例的有效性,利用有效的测试案例对待测试软件进行测试,可以提高测试结果的准确性,提高测试效率。
附图说明
18.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
19.图1为本发明实施例中提供的一种测试案例筛选方法的流程图;
20.图2为本发明实施例中提供的一种生成测试例子有效性判断模型的方法流程图;
21.图3为本发明实施例中提供的一种树形分类器的示例图;
22.图4为本发明实施例中提供的一种测试案例筛选装置的示意图;
23.图5为本发明实施例中提供的一种计算机设备的示意图。
具体实施方式
24.为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
25.本技术技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
26.本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至
少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
27.在本说明书的描述中,所使用的“包含”、“包括”、“具有”、“含有”等,均为开放性的用语,即意指包含但不限于。参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本技术的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
28.经研究发现,软件开发完成后,会由测试人员根据软件的功能,编写相应的测试案例来测试软件是否能够实现对应的功能。测试案例是由测试人员对软件功能进行分析后,寻找需要测试的测试点,根据测试方法编写各测试点的测试例子,根据各测试点的测试例子组成。受测试人员主观影响,每个测试案例能够有效覆盖的测试点并不相同,这也导致测试案例中包含很多无效的测试案例,影响测试结果的准确性,测试效率低。
29.针对上述研究,本发明实施例提供一种测试案例筛选方法,如图1所示,包括:
30.s101:根据待测试软件的各测试点对应的关键词,确定每一测试案例预计测试的至少一个第一测试点、以及从每一测试案例中提取该测试案例对应的各第一测试点的测试例子;
31.s102:将各第一测试点的测试例子分别输入到测试例子有效性判断模型,得到每个第一测试点的测试例子的有效性;其中,测试例子有效性判断模型为预先根据待测试软件的功能、以及各测试方法的规则生成的树形分类器;
32.s103:计算每个测试案例中,测试例子有效的第一测试点的数量,占该测试案例预计测试的第一测试点的总数量的第一比例值;
33.s104:将第一比例值大于预设比例值、且测试例子有效的第一测试点的数量大于预设数量的测试案例确定为有效测试案例,利用有效测试案例对待测试软件进行测试。
34.本发明实施例中,根据待测试软件的各测试点对应的关键词,确定每一测试案例预计测试的至少一个第一测试点、以及从每一测试案例中提取该测试案例对应的各第一测试点的测试例子;将各第一测试点的测试例子分别输入到测试例子有效性判断模型,得到每个第一测试点的测试例子的有效性;其中,测试例子有效性判断模型为预先根据待测试软件的功能、以及各测试方法的规则生成的树形分类器;计算每个测试案例中,测试例子有效的第一测试点的数量,占该测试案例预计测试的第一测试点的总数量的第一比例值;将第一比例值大于预设比例值、且测试例子有效的第一测试点的数量大于预设数量的测试案例确定为有效测试案例,利用有效测试案例对待测试软件进行测试。这样,通过判断测试案例中包含的各测试例子的有效性来判断各测试案例能够有效测试的测试点,根据各测试案例能有效测试的测试点的数量确定测试案例的有效性,利用有效的测试案例对待测试软件进行测试,可以提高测试结果的准确性,提高测试效率。
35.下面对上述测试案例筛选方法加以详细说明。
36.针对上述s101,待测试软件能够实现至少一种软件功能,在对待测试软件进行测试时,是测试待测试软件的各软件功能是否能够正常使用。每一软件功能包含至少一个测
试点,每一测试点会对应于一个关键词,编写测试案例就是编写各测试点对应的测试例子,测试案例中会写出各测试点的关键词对应的测试例子。
37.示例性的,待测试软件例如包含转账功能,转账功能包含下述测试点中的至少一个:转账金额、银行卡余额、最高转账额度、银行卡号等。其中,测试点转账金额对应的关键词例如就为“转账金额”,测试点银行卡余额对应的关键词例如就为“银行卡余额”、测试点最高转账额度对应的关键词例如就为“最高转账额度”、测试点银行卡号对应的关键词例如就为“最高转账额度”,则针对转账功能编写的测试案例例如可以为:“转账金额:300元,银行卡余额:1000元,最高转账额度:100元,银行卡号:12345678,测试预计结果:转账不成功”。
38.再具体实施中,因为测试案例是由测试人员总结待测试软件可能需要测试的测试点后进行编写的,受测试人员主观因素的影响,测试人员总结的测试点并不相同,因而每个测试案例中包含的测试例子的数量也不同,这导致每个测试案例中能覆盖的测试点并不相同,例如针对上述示例中的转账功能的各个测试点,不同测试人员编写的测试例子中可能只包含部分测试点对应的测试例子,如上述示例中的转账功能对应的测试案例例如可能包含:测试案例1:转账金额:300元,测试预计结果:转账不成功;测试案例2:银行卡余额:1000元,测试预计结果:转账不成功;测试案例3:转账金额:300元,银行卡余额:1000元,测试预计结果:转账不成功;测试案例4:转账金额:300元,银行卡余额:1000元,最高转账额度:100元,银行卡号:12345678,测试预计结果:转账不成功。测试案例4覆盖的测试点要比测试案例1、2、3覆盖的测试点多,在测试过程中的测试效果也要好于测试案例1、2、3。
39.进一步的,测试案例中还可能包括一些无效测试案例,例如针对上述转账功能,测试案例可能还包括测试案例5:“转账金额,测试预计结果:转账不成功”;该测试案例5中只写了要测试转账金额,但并未给出具体的测试数值,因此无法对待测试软件进行有效测试,也即测试点转账金额对应的测试例子是无效的,该测试案例只包含无效测试例子,属于无效测试案例。
40.因此,需要根据待测试软件的各测试点对应的关键词,确定每一测试案例预计测试的至少一个第一测试点、以及从每一测试案例中提取该测试案例对应的各第一测试点的测试例子。
41.例如,上述测试案例1中包含第一测试点1个,为“转账金额”,对应的测试例子为“300元”,上述测试案例4中包含4个第一测试点,分别为“转账金额”、“银行卡余额”“最高转账额度”、“银行卡号”,每个第一测试点对应的测试例子分别为“300”、“1000元”、“100元”、“12345678”。
42.本发明一实施例中,待测试软件的各测试点对应的关键词例如包括下述至少一种:测试人员上传的待测试软件的各测试点对应的关键词、待测试软件历史版本测试时各测试点对应的关键词。
43.针对上述s102,测试方法例如包括下述至少一种:等价类划分法、边界值分析法、错误推测法、判定表法、正交实验法。
44.具体的,有效的测试案例在编写的过程中,是需要依据测试点对应的测试内容、和测试方法进行编写的,例如针对转账金额,该测试点对应的测试内容例如包括:金额数值大小、以及金额字符是否为数字,在编写测试案例时,可以根据边界值分析法、等价类划分法
进行编写以确保测试案例中对应测试例子的有效性。
45.因此,在确定测试案例中各第一测试点对应的测试例子的有效性时,可以根据测试例子对应的测试方法确定各测试例子是否有效,例如可以预先根据待测试软件的功能、以及各测试方法的规则生成的树形分类器,将树形分类器作为测试例子有效性判断模型,利用测试例子有效性判断模型确定各第一测试点的测试例子是否有效。
46.如图2所示,为本发明实施例提供的一种生成测试例子有效性判断模型的方法流程图,包括:
47.s201:根据待测试软件的功能、以及各测试方法的规则,生成每一测试方法的判断特征。
48.例如,针对边界值分析法,假如待测试软件的功能为在输入的数值大于0时,输出转账成功,判断特征可以为:若测试例子为数值“0”,则该测试例子对应的测试方法为边界值分析法,该测试例子有效。
49.s202:根据每一测试方法的判断特征,生成树形分类器,将所述树形分类器作为测试例子有效性判断模型;所述树形分类器的每个判断节点对应一个测试方法的判断特征。
50.示例性的,如图3所述,为本发明实施例提供的一种树形分类器的示例图,假设包含3个测试方法,则应当会生成3个判断特征,每个判断特征对应一个判断节点,除最后一个判断节点外,其它判断节点(判断节点2)分别指向下一个判断节点;另外每个判断节点还指向一个代表测试例子有效的叶子节点(叶子节点1、叶子节点2、叶子节点3),当测试例子满足当前判断节点的判断特征时,就会转到测试例子有效的叶子节点,停止转向下一个判断节点,树形分类器输出测试例子有效的结论;另外,最后一个判断节点还指向一个代表测试例子无效的叶子节点,当测试例子遍历至最后一个判断节点,依然不符合最后一个判断节点(判断节点3)的判断特征时,转向代表测试例子无效的叶子节点(叶子节点4),树形分类器输出测试例子无效的结论。
51.本发明一实施例中,将各第一测试点的测试例子分别输入到测试例子有效性判断模型,得到每个第一测试点的测试例子的有效性,包括:将各第一测试点的测试例子分别输入到测试例子有效性判断模型;针对每个输入的第一测试点的测试例子,通过测试例子有效性判断模型的各判断节点依次根据对应的判断特征确定该测试例子是否对应该判断特征对应的测试方法,如果是,则对该测试例子停止遍历下一个判断节点,通过测试例子有效性判断模型输出该测试例子有效,如果否,则对该测试例子继续遍历下一个判断节点进行判断,在对该测试例子遍历完最后一个判断节点,与最后一个判断节点对应的测试方法也不对应时,通过测试例子有效性判断模型输出该测试例子无效。
52.针对上述s103,示例性的,假设测试案例包含5个第一测试点(即该测试案例预计测试的第一测试点的总数量),但是该测试案例中,只有3个第一测试点的测试例子是有效的(即测试例子有效的第一测试点的数量),则该测试案例的第一比例值为:3
÷
5=0.6。
53.针对上述s104,预设比例值、预设数量可以结合实际的测试场景进行设置。通过第一比例值大于预设比例值、且测试例子有效的第一测试点的数量大于预设数量的设置,能够从测试案例中筛选出有效覆盖多个测试点的测试案例,利用有效测试案例对待测试软件进行测试可以提高测试结果的准确性,提高测试效率。
54.本发明实施例中还提供了一种测试案例筛选装置,如下面的实施例所述。由于该
装置解决问题的原理与测试案例筛选方法相似,因此该装置的实施可以参见测试案例筛选方法的实施,重复之处不再赘述。
55.如图4所示,为本发明实施例提供的一种测试案例筛选装置的示意图,包括:
56.第一处理模块401,用于根据待测试软件的各测试点对应的关键词,确定每一测试案例预计测试的至少一个第一测试点、以及从每一测试案例中提取该测试案例对应的各第一测试点的测试例子;
57.第二处理模块402,用于将各第一测试点的测试例子分别输入到测试例子有效性判断模型,得到每个第一测试点的测试例子的有效性;其中,测试例子有效性判断模型为预先根据待测试软件的功能、以及各测试方法的规则生成的树形分类器;
58.第三处理模块403,用于计算每个测试案例中,测试例子有效的第一测试点的数量,占该测试案例预计测试的第一测试点的总数量的第一比例值;
59.第四处理模块404,用于将第一比例值大于预设比例值、且测试例子有效的第一测试点的数量大于预设数量的测试案例确定为有效测试案例,利用有效测试案例对待测试软件进行测试。
60.在一种可能的实施方式中,待测试软件的各测试点对应的关键词包括下述至少一种:测试人员上传的待测试软件的各测试点对应的关键词、待测试软件历史版本测试时各测试点对应的关键词。
61.在一种可能的实施方式中,还包括:第五处理模块,用于根据待测试软件的功能、以及各测试方法的规则,生成每一测试方法的判断特征;
62.根据每一测试方法的判断特征,生成树形分类器,将所述树形分类器作为测试例子有效性判断模型;所述树形分类器的每个判断节点对应一个测试方法的判断特征。
63.在一种可能的实施方式中,第二处理模块,具体用于将各第一测试点的测试例子分别输入到测试例子有效性判断模型;
64.针对每个输入的第一测试点的测试例子,通过测试例子有效性判断模型的各判断节点依次根据对应的判断特征确定该测试例子是否对应该判断特征对应的测试方法,如果是,则对该测试例子停止遍历下一个判断节点,通过测试例子有效性判断模型输出该测试例子有效,如果否,则对该测试例子继续遍历下一个判断节点进行判断,在对该测试例子遍历完最后一个判断节点,与最后一个判断节点对应的测试方法也不对应时,通过测试例子有效性判断模型输出该测试例子无效。
65.在一种可能的实施方式中,测试方法包括下述至少一种:等价类划分法、边界值分析法、错误推测法、判定表法、正交实验法。
66.基于前述发明构思,如图5所示,本发明还提出了一种计算机设备500,包括存储器510、处理器520及存储在存储器510上并可在处理器520上运行的计算机程序530,所述处理器520执行所述计算机程序530时实现前述测试案例筛选方法。
67.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述测试案例筛选方法。
68.本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述测试案例筛选方法。
69.本发明实施例中,根据待测试软件的各测试点对应的关键词,确定每一测试案例
预计测试的至少一个第一测试点、以及从每一测试案例中提取该测试案例对应的各第一测试点的测试例子;将各第一测试点的测试例子分别输入到测试例子有效性判断模型,得到每个第一测试点的测试例子的有效性;其中,测试例子有效性判断模型为预先根据待测试软件的功能、以及各测试方法的规则生成的树形分类器;计算每个测试案例中,测试例子有效的第一测试点的数量,占该测试案例预计测试的第一测试点的总数量的第一比例值;将第一比例值大于预设比例值、且测试例子有效的第一测试点的数量大于预设数量的测试案例确定为有效测试案例,利用有效测试案例对待测试软件进行测试。这样,通过判断测试案例中包含的各测试例子的有效性来判断各测试案例能够有效测试的测试点,根据各测试案例能有效测试的测试点的数量确定测试案例的有效性,利用有效的测试案例对待测试软件进行测试,可以提高测试结果的准确性,提高测试效率。
70.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
71.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
72.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
73.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
74.以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献