CN110647461B - 多信息融合的回归测试用例排序方法及系统 - Google Patents

多信息融合的回归测试用例排序方法及系统 Download PDF

Info

Publication number
CN110647461B
CN110647461B CN201910762227.2A CN201910762227A CN110647461B CN 110647461 B CN110647461 B CN 110647461B CN 201910762227 A CN201910762227 A CN 201910762227A CN 110647461 B CN110647461 B CN 110647461B
Authority
CN
China
Prior art keywords
test case
test
sequenced
test cases
cases
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
Application number
CN201910762227.2A
Other languages
English (en)
Other versions
CN110647461A (zh
Inventor
黄如兵
徐银银
周雨楠
陈锦富
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu University
Original Assignee
Jiangsu University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jiangsu University filed Critical Jiangsu University
Priority to CN201910762227.2A priority Critical patent/CN110647461B/zh
Publication of CN110647461A publication Critical patent/CN110647461A/zh
Application granted granted Critical
Publication of CN110647461B publication Critical patent/CN110647461B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了多信息融合的回归测试用例排序方法及系统,随机选取一个测试用例作为优化后的第一个测试用例;根据测试用例的抽象层次信息和具体层次信息利用不同的融合方法进行融合,使用基于相似性的测试用例排序方法进行排序,使用相似性度量和距离度量方法分别计算抽象测试用例之间的相似性与具体测试用例之间的距离,并将这两个层次的信息相融合得到各个测试用例之间的相似性,计算出待排序测试用例集中所有测试用例和优化后测试用例之间的距离,以此在待排序用例集中选取下一个测试用例并添加到已优化的测试用例序列中,直到所有测试用例被挑选。本发明已实现三种融合方法,在时间复杂度不变的情况下,有效提高测试用例的错误检测率。

Description

多信息融合的回归测试用例排序方法及系统
技术领域
本发明属于软件测试领域,涉及多信息融合的回归测试用例排序方法及系统。
背景技术
信息时代的来临不断推动着科技的发展,大量的软件出现在人们的日常生活中,软件在现代社会中也变得举足轻重起来,因此人们对软件的质量需求也越来越高,由此需要一定的手段来解决软件质量问题,软件测试便是其中之一。
软件开发时会投入大量的金钱、人力和物力,但是开发的软件质量低下会使得在后期维护时投入更多的资源,导致了人力物力巨大的浪费,甚至在某些方面还会带来一系列信息安全方面的问题,现在软件开发的速度远不及时代前进的步伐,软件问题日益突出,所以高效的软件测试就显得尤为重要。但是对于被测软件来说,运行其所有的测试用例来说是不可行的,这种方案时间消耗巨大且浪费资源,因此我们需要在有限的测试用例中,尽可能先的发现错误才能更有效的进行软件测试。
为了缩减软件测试的开销,尽可能的节约资源,学术界提出了一系列的测试技术,其中包括测试用例优先级排序技术TCP(Test Case Prioritization),测试用例选择技术TCS(Test Case Selection)和测试用例缩减技术TCM(Test Case Minimization)等。然而在一些情况下,一些测试用例被缩减后,某些漏洞就不会被检测到,很可能一些会引发重大安全事故的漏洞因为测试用例的缩减而没有被检测出来,所以这种方法在一定程度上来说存在着一定的风险,测试用例优先级排序技术(Test Case Prioritization)是软件测试研究领域的热点研究内容,如果一个测试用例可以更快的发现更多的错误,那这个测试用例应该在其他测试用例之前运行,其目的是将测试用例按照优先级的高低进行排序,以提高软件测试的效率。
测试用例优先级排序的方法有很多,主要是基于源代码、历史执行信息、需求、以及模型等,现有的优先级排序方法中包括有抽象测试用例优先级排序,具体测试用例优先级排序方法等,具体测试用例将测试用例之间的距离作为度量将测试用例进行优先级排序,抽象测试用例将测试用例之间的相似度作为度量进行测试用例优先级排序,本发明将两者信息相融合后的距离作为度量标准,使得在时间复杂度不变的情况下,提高了测试用例的错误检测率。
发明内容
针对现有技术中存在的缺陷和不足,本发明提供了多信息融合的回归测试用例排序方法,有效的提高了用例集的错误检测效果,提供了该方法的仿真实验,得到的数据证实了该方法的有效性。本发明的技术方案包括如下:
多信息融合的回归测试用例排序方法包括如下步骤:
步骤1,对待排序测试用例集S,分别计算其抽象测试用例的相似性矩阵以及具体测试用例的距离矩阵。
步骤2,使用多信息融合方法对上述步骤得到的两个矩阵进行融合,并基于融合信息进行测试用例排序。步骤3,根据上述步骤2得到的已排序测试用例集计算其评估值,并与两种经典的单一数据排序方法进行比较。
上述步骤1的具体步骤如下:
步骤1.1,将有n个测试用例的待排序测试用例集S=(P1,P2,···,Pn)转换为抽象测试用例集,每个测试用例有k个参数,使用Goodall3相似性度量,计算该抽象测试用例集的相似性矩阵AM,其中Goodall3的计算公式如下:
(1)fi(x)代表用例集S中参数Pi取值为x的测试用例个数,如果
Figure BDA0002170676320000021
则fi(x)=0;
(2)
Figure BDA0002170676320000022
是S中参数Pi取值为x的概率,即/>
Figure BDA0002170676320000023
其中N是用例集中用例个数。
(3)simi(Xi,Yi)是参数Pi的对应参数值之间的相似性度量,其中Xi,Yi∈Pi,即
Figure BDA0002170676320000024
(4)simi(X,Y):测试用例X与Y之间的相似性,即
Figure BDA0002170676320000025
其中,/>
Figure BDA0002170676320000026
X=(X1,X2,···,XK),Y=(Y1,Y2,···,Yk),且X,Y∈S。
步骤1.2,将待排序测试用例集S转换为具体测试用例集,使用曼哈顿具体度量,计算该抽象测试用例集的距离矩阵CM,其中曼哈顿的计算公式如下:
Figure BDA0002170676320000027
xi是字符串x第i个字符的ASCII码,yi是字符串y第i个字符的ASCII码,当较短字符串长度不够时,以char(0)补全。
上述步骤2的多信息融合方法可以采用Add_dis算法实现,具体步骤如下:
步骤2.1.1,将步骤1.1获得的抽象测试用例相似性矩阵AM转换为相应的距离矩阵ASM,具体将矩阵中的每一个元素取反加1,使其每一个元素值均在(0,1)之间,其转换公式如下:
si′(ts,tp)=1-si(ts,tp)
其中si(ts,tp)表示为两个测试用例之间的相似度,则si′(ts,tp)代表用例之间通过相似度转换的距离。
步骤2.1.2,将步骤1.2获得的具体测试用例具体矩阵CM进行归一化,将其转换为归一化距离矩阵CSM,使其每一个元素值均在(0,1)之间,其归一化公式如下:
Figure BDA0002170676320000031
其中d′(ts,tp)是将曼哈顿距离经过归一化处理后的距离,tp为优化后的测试用例序列P中的一个测试用例,ts为待排序测试用例序列S中的测试用例,d(ts,tp)表示为两个用例之间的曼哈顿距离,A[i]表示测试用例ts中第i个字符的ASCII码,B[i]表示测试用例tp中第i个字符的ASCII码,若字符长度不够,用char(0)补位。
步骤2.1.3,将上述两个步骤得到的ASM和CSM矩阵进行融合,具体对各个位置进行距离相加,得到最终的信息融合距离矩阵Plus_SM,其公式如下:
d(ts′,tp′)add=d′(ts,tp)+si′(ts,tp)
其中d(ts′,tp′)add为两个测试用例之间的最终距离。
步骤2.1.4,根据上述步骤得到的融合矩阵Plus_SM进行测试用例排序,首先随机挑选第一个测试用例,将其加入到已排序测试用例集P,之后在待排序测试用例中选择与已排序测试用例集距离最大的测试用例,将其加入到已排序测试用例集,直到所有测试用例均排序结束,其中待排序测试用例与已排序测试用例集的距离公式为:
Figure BDA0002170676320000032
上述步骤2的多信息融合方法还可以采用Com_dis算法实现,具体步骤如下:
步骤2.2.1,将步骤1.1获得的抽象测试用例相似性矩阵AM转换为相应的距离矩阵ASM,具体将矩阵中的每一个元素取反加1,使其每一个元素值均在(0,1)之间,其转换公式如下。
si′(ts,tp)=1-si(ts,tp)
步骤2.2.2,将步骤1.2获得的具体测试用例具体矩阵CM进行归一化,将其转换为归一化距离矩阵CSM,使其每一个元素值均在(0,1)之间,其归一化公式如下。
Figure BDA0002170676320000041
步骤2.2.3,将上述两个步骤得到的ASM和CSM矩阵进行融合,具体对各个位置进行距离比较,得到最终的信息融合距离矩阵Comp_SM,其公式如下:
d(ts′,tp′)com=max[d′(ts,tp),si′(ts,tp)]
其中d(ts′,tp′)com为两个测试用例之间的最终距离。
步骤2.2.4,根据上述步骤得到的融合矩阵Comb_SM进行测试用例排序,首先随机挑选第一个测试用例,将其加入到已排序测试用例集P,之后在待排序测试用例中选择与已排序测试用例集距离最大的测试用例,将其加入到已排序测试用例集,直到所有测试用例均排序结束,其中待排序测试用例与已排序测试用例集的距离公式为:
Figure BDA0002170676320000042
上述步骤2的多信息融合方法还可以采用Add_loc算法实现,具体步骤如下:
步骤2.3.1,根据步骤1.1获得的抽象测试用例相似性矩阵AM进行测试用例排序,并输出已排序用例集AS。
步骤2.3.2,将步骤1.2获得的具体测试用例具体矩阵CM进行测试用例排序,并输出已排序用例集CS。
步骤2.3.3,将上述两个步骤得到的已排序测试用例集AS和CS进行融合,具体得到各个测试用例在AS和CS中的位置,然后对两个测试用例的位置进行相加,作为该测试用例融合后的评估值,对其进行排序得到已排序测试用例集。
上述步骤3的具体步骤如下:
步骤3.1,将测试用例在测试程序上运行,执行200次,并使用故障检测百分比(APFD,Average Percentage of Fault Detection)来表示测试用例集的故障检测率,其评估值公式为:
Figure BDA0002170676320000043
其中n代表测试用例数量、m代表程序中错误数量,TFi代表检测到第i个错误的第一个测试用例在排序中的执行次序;
步骤3.2,将结果以图形化的方式显示,更适合直观的看出各个算法的优势,还使用效应量分析具体观察数据结果。
进一步,本发明还设计实现了多信息融合的回归测试用例排序方法的原型测试系统,所述测试系统主要包括三个模块,参数设置模块,算法选择模块和文件结果输出模块,其中参数设置模块主要是对仿真实验的配置,分为两个部分,一部分包括具体测试用例输入路径选择,抽象测试用例输入路径选择,以及各自排序后结果保存的路径,另一部分包括试验运行次数设置。算法选择模块是用来选择使用的算法,包括Add_dis算法,Com_dis算法,Add_loc算法等来对数据进行处理。文件结果输出模块主要是选择输出文件的路径,结果中包括APFD的平均值以及其盒图,还包括效应量分析的结果。
本发明的有益效果:
1、本发明实现了多信息融合的回归测试用例排序方法,将测试用例集进行优先级排序,使之在时间复杂度不变的前提下,能够提高测试用例集的错误检测率,从而提高软件测试的效率。
2、本发明主要度量标准是通过抽象测试用例使用的相似度标准和具体测试用例使用的距离标准相融合,将距离进行归一化处理同时将相似度转化为距离,使得度量信息更加丰富,测试用例的错误检测率也得到了有效的提高。本发明与原有的抽象测试用例优先级排序和具体测试用例优先级排序进行了对比,计算出的APFD结果明显说明本发明中三种算法得优越性。
3、本发明在实现了多信息融合的回归测试用例排序方法的基础上,提出了仿真实验的原型系统,可以实现Add_dis算法,Com_dis算法,Add_loc算法三种算法对测试用例进行排序,同时导出实验结果,获得错误检测率并且进行图形化显示。
附图说明
图1是多信息融合的回归测试用例排序方法流程图。
图2是基于多信息融合方法一Add_dis的算法流程图。
图3是基于多信息融合方法二Com_dis的算法流程图。
图4是基于多信息融合方法三Add_loc的算法流程图。
图5是实现该方法的原型系统图流程图。
图6是原型系统的界面图。
图7是本方法在五个被测程序下的APFD值。
图8是本方法在五个被测程序下的时间开销。
具体实施方式
本发明原理如下:
随机选取一个测试用例,将这个随机选取的测试用例作为优化后的第一个测试用例;利用测试用例的抽象层次信息和具体层次信息设计用不同的融合方法进行融合,并基于融合信息使用基于相似性的测试用例排序方法进行排序。具体而言,使用相似性度量和距离度量方法分别计算抽象测试用例之间的相似性与具体测试用例之间的距离,并设计相应的融合方法将这两个层次的信息相融合得到各个测试用例之间的相似性,然后通过此方法计算出待排序测试用例集中的所有测试用例和优化后测试用例集之间的距离,以此在待排序用例集中选取下一个测试用例并添加到已经优化的测试用例序列中,直到所有测试用例均被挑选。本发明已实现三种多信息融合方法,并在时间复杂度不变的情况下,测试用例的错误检测率能得到有效的提高。此外,本发明设计并实现了仿真系统工具,很好的实现了这三种基于多信息融合的测试用例排序方法,同时实现了两种经典的单一数据回归测试用例排序方法,通过实验对比上述两种经典策略并进行统计分析,如图8所示为Con_alg和Abs_alg这两种经典算法与基于多信息融合的Add_dis,Com_dis和Add_loc这三种算法在各个实验程序上的时间开销的比较,虽然基于多信息融合的三种算法时间开销略微较多,但是通过图7所示的APFD数据可以看出,与原来两种经典的回归测试排序方法Con_alg与Abs_alg相比较,Add_dis算法,Com_dis算法,Add_loc算法都有明显的提高,尤其是在make程序上尤为明显,表明三种基于多信息融合排序方法相对于单一数据排序方法都有效的提高了用例集的错误检测率。
下面结合附图和实施案例对本发明作进一步说明,应指出的是,所描述的实施案例仅旨在便于对本发明的理解,而对其不起任何限定作用。
本发明以提高测试用例集的错误检测率为目的,提供了多信息融合的回归测试用例排序方法,有效的提高了用例集的错误检测效果,提供了该方法的仿真实验,证实了该方法的有效性。
定义1测试用例:一个测试用例可以表示为(l1,l2,···,lk)的k元组,其中li∈Li(i=1,2,···,k)。如果满足所有CTP约束(C),则称测试用例有效。
定义2测试用例优先级排序:给定一个测试用例集T和其所有可能排列的集合PT,测试用例优先级排序技术旨在找到一个排列P∈PT′对于
Figure BDA0002170676320000061
使得P″∈PT,f(P′)≥f(P″)(P″≠P′)。
定义3抽象测试用例,一些类似于配置、特性、组件等因素或者参数会对测试对象造成一定的影响,通常情况下,每个参数的可能取值是固定的并且对于各个参数之间也存在一定的约束,会造成一些取值是不符合规定的,我们通过这些定义输入参数模型即抽象测试用例用于对测试对象建模。
定义4具体测试用例,在本发明中,可以将测试用例等同于字符串,通常情况下,可以将输入的测试用例转化为字符串,因为这些输入只是输入模型需要的值。
定义5曼哈顿距离,例如在平面上,坐标(x1,y1)的i点与坐标(x2,y2)的j点的曼哈顿距离为:
d(i,j)=|X1-X2|+|Y1-Y2|
本发明中使用的字符串测试用例,每个字符都有对应的ASCII码,由此可以计算出测试用例之间的曼哈顿距离。
如图1所示,本发明实现了多信息融合的回归测试用例排序方法,包括:
如下步骤:
步骤1,对待排序测试用例集S,分别计算其抽象测试用例的相似性矩阵以及具体测试用例的距离矩阵。
步骤2,使用多信息融合方法一Add_dis算法(算法流程如图2所示)对上述步骤得到的两个矩阵进行融合,并基于融合信息进行测试用例排序。
步骤3,使用多信息融合方法二Com_dis算法(算法流程如图3所示)对上述步骤得到的两个矩阵进行融合,并基于融合信息进行测试用例排序。
步骤4,使用多信息融合方法三Add_loc算法(算法流程如图4所示)对上述步骤得到的两个矩阵进行融合,并基于融合信息进行测试用例排序。
步骤5,根据上述三个步骤得到的已排序测试用例集计算其评估值,并与两种经典的单一数据排序方法进行比较。
所述步骤1的具体过程如下:
步骤1.1,将有n个测试用例的待排序测试用例集S=(P1,P2,···,Pn)转换为抽象测试用例集,每个测试用例有k个参数,使用Goodall3相似性度量,计算该抽象测试用例集的相似性矩阵AM,其中Goodall3的计算公式如下:
(1)fi(x)代表用例集S中参数Pi取值为x的测试用例个数,如果
Figure BDA0002170676320000071
则fi(x)=0;
(2)
Figure BDA0002170676320000072
是S中参数Pi取值为x的概率,即/>
Figure BDA0002170676320000073
其中N是用例集中用例个数。
(3)simi(Xi,Yi)是参数Pi的对应参数值之间的相似性度量,其中Xi,Yi∈Pi,即
Figure BDA0002170676320000081
(4)simi(X,Y):测试用例X与Y之间的相似性,即
Figure BDA0002170676320000082
其中,/>
Figure BDA0002170676320000083
X=(X1,X2,···,XK),Y=(Y1,Y2,···,Yk),且X,Y∈S。
步骤1.2,将待排序测试用例集S转换为具体测试用例集,使用曼哈顿具体度量,计算该抽象测试用例集的距离矩阵CM,其中曼哈顿的计算公式如下:
Figure BDA0002170676320000084
xi是字符串x第i个字符的ASCII码,yi是字符串y第i个字符的ASCII码,当较短字符串长度不够时,以char(0)补全。
所述步骤2的具体过程如下:
步骤2.1,将步骤1.1获得的抽象测试用例相似性矩阵AM转换为相应的距离矩阵ASN,具体将矩阵中的每一个元素取反加1,使其每一个元素值均在(0,1)之间,其转换公式如下:
si′(ts,tp)=1-si(ts,tp)
其中si(ts,tp)表示为两个测试用例之间的相似度,则si′(ts,tp)代表用例之间通过相似度转换的距离。
步骤2.2,将步骤1.2获得的具体测试用例具体矩阵CM进行归一化,将其转换为归一化距离矩阵CSM,使其每一个元素值均在(0,1)之间,其归一化公式如下:
Figure BDA0002170676320000085
其中d′(ts,tp)是将曼哈顿距离经过归一化处理后的距离,tp为优化后的测试用例序列P中的一个测试用例,ts为待排序测试用例序列S中的测试用例,d(ts,tp)表示为两个用例之间的曼哈顿距离,A[i]表示测试用例ts中第i个字符的ASCII码,B[i]表示测试用例tp中第i个字符的ASCII码,若字符长度不够,用char(0)补位。
步骤2.3,将上述两个步骤得到的ASM和CSM矩阵进行融合,具体对各个位置进行距离相加,得到最终的信息融合距离矩阵Plus_SM,其公式如下:
d(ts′,tp′)add=d′(ts,tp)+si′(ts,tp)
其中d(ts′,tp′)add为两个测试用例之间的最终距离。
步骤2.4,根据上述步骤得到的融合矩阵Plus_SM进行测试用例排序,首先随机挑选第一个测试用例,将其加入到已排序测试用例集P,之后在待排序测试用例中选择与已排序测试用例集距离最大的测试用例,将其加入到已排序测试用例集,直到所有测试用例均排序结束,其中待排序测试用例与已排序测试用例集的距离公式为:
Figure BDA0002170676320000091
所述步骤3的具体过程如下:
步骤3.1,将步骤1.1获得的抽象测试用例相似性矩阵AM转换为相应的距离矩阵ASM,具体将矩阵中的每一个元素取反加1,使其每一个元素值均在(0,1)之间,其转换公式如下。
si′(ts,tp)=1-si(ts,tp)
步骤3.2,将步骤1.2获得的具体测试用例具体矩阵CM进行归一化,将其转换为归一化距离矩阵CSM,使其每一个元素值均在(0,1)之间,其归一化公式如下。
Figure BDA0002170676320000092
步骤3.3,将上述两个步骤得到的ASM和CSM矩阵进行融合,具体对各个位置进行距离比较,得到最终的信息融合距离矩阵Comp_SM,其公式如下:
d(ts′,tp′)com=max[d′(ts,tp),si′(ts,tp)]
其中d(ts′,tp′)com为两个测试用例之间的最终距离。
步骤3.4,根据上述步骤得到的融合矩阵Comb_SM进行测试用例排序,首先随机挑选第一个测试用例,将其加入到已排序测试用例集P,之后在待排序测试用例中选择与已排序测试用例集距离最大的测试用例,将其加入到已排序测试用例集,直到所有测试用例均排序结束,其中待排序测试用例与已排序测试用例集的距离公式为:
Figure BDA0002170676320000093
/>
所述步骤4的具体过程如下:
步骤4.1,根据步骤1.1获得的抽象测试用例相似性矩阵AM进行测试用例排序,其并输出已排序用例集AS。
步骤4.2,将步骤1.2获得的具体测试用例具体矩阵CM进行进行测试用例排序,其并输出已排序用例集CS。
步骤4.3,将上述两个步骤得到的已排序测试用例集AS和CS进行融合,具体得到各个测试用例在AS和CS中的位置,然后对两个测试用例的位置进行相加,作为该测试用例融合后的评估值,对其进行排序得到已排序测试用例集。
所述步骤5的具体过程如下:
步骤5.1,将测试用例在测试程序上运行,执行200次,并使用故障检测百分比(APFD,Average Percentage of Fault Detection)来表示测试用例集的故障检测率,其评估值公式为:
Figure BDA0002170676320000101
其中n代表测试用例数量、m代表程序中错误数量,TFi代表检测到第i个错误的第一个测试用例在排序中的执行次序;
步骤5.2,将结果以图形化的方式显示,更适合直观的看出各个算法的优势,还使用效应量分析具体观察数据结果。
进一步,本发明还设计实现了多信息融合的回归测试用例排序方法的原型测试系统,原型系统流程图如图5所示,根据流程实现了如图6所示的原型系统。
所述测试系统主要包括三个模块,参数设置模块,算法选择模块和文件结果输出模块,其中参数设置模块主要是对仿真实验的配置,分为两个部分,一部分包括具体测试用例输入路径选择,抽象测试用例输入路径选择,以及各自排序后结果保存的路径,另一部分包括试验运行次数设置。算法选择模块是用来选择使用的算法,包括Add_dis算法,Com_dis算法,Add_loc算法等来对数据进行处理。文件结果输出模块主要是选择输出文件的路径,结果中包括APFD的平均值以及其盒图,还包括效应量分析的结果。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。

Claims (7)

1.多信息融合的回归测试用例排序方法,其特征在于,包括如下步骤:
步骤1,对待排序测试用例集S,分别计算其抽象测试用例的相似性矩阵以及具体测试用例的距离矩阵;
步骤2,使用多信息融合方法对上述步骤1得到的两个矩阵进行融合,并基于融合信息进行测试用例排序;
所述步骤1的具体实现方法包括如下:
步骤1.1,将有n个测试用例的待排序测试用例集S=(S1,S2,…,Sn)转换为抽象测试用例集,每个测试用例有k个参数,使用Goodall3相似性度量,计算该抽象测试用例集的相似性矩阵AM,其中Goodall3的计算公式如下:
(1)fi(x):S中参数Pi取值为x的测试用例个数,如果
Figure FDA0003941050160000011
则fi(x)=0;
(2)
Figure FDA0003941050160000012
S中参数Pi取值为x的概率,即/>
Figure FDA0003941050160000013
其中N是用例集中用例个数;
(3)simi(Xi,Yi):参数Pi的对应参数值之间的相似性度量,其中Xi,Yi∈Vi,即
Figure FDA0003941050160000014
(4)simi(X,Y):测试用例X与Y之间的相似性,即
Figure FDA0003941050160000015
其中,/>
Figure FDA0003941050160000016
X=(X1,X2,…,XK),Y=(Y1,Y2,…,Yk),且X,Y∈S;
步骤1.2,将待排序测试用例集S转换为具体测试用例集,使用曼哈顿具体度量,计算该抽象测试用例集的距离矩阵CM,其中曼哈顿的计算公式如下:
Figure FDA0003941050160000017
xi是字符串x第i个字符的ASCII码,yi是字符串y第i个字符的ASCII码,当较短字符串长度不够时,以char(0)补全。
2.根据权利要求1所述的多信息融合的回归测试用例排序方法,其特征在于,所述步骤2的多信息融合方法采用Add_dis算法实现,具体如下:
步骤2.1.1,将步骤1.1获得的抽象测试用例相似性矩阵AM转换为相应的距离矩阵ASM,具体将矩阵中的每一个元素取反加1,使其每一个元素值均在(0,1)之间,其转换公式如下:
si′(ts,tp)=1-si(ts,tp)
其中si(ts,tp)表示为两个测试用例之间的相似度;
步骤2.1.2,将步骤1.2获得的具体测试用例具体矩阵CM进行归一化,将其转换为归一化距离矩阵CSM,使其每一个元素值均在(0,1)之间,其归一化公式如下:
Figure FDA0003941050160000021
其中tp为优化后的测试用例序列P中的一个测试用例,ts为待排序测试用例序列S中的测试用例,d(ts,tp)表示为两个用例之间的曼哈顿距离,A[i]表示测试用例ts中第i个字符的ASCII码,B[i]表示测试用例tp中第i个字符的ASCII码,若字符长度不够,用char(0)补位;
步骤2.1.3,将上述两个步骤得到的ASM和CSM矩阵进行融合,具体对各个位置进行距离相加,得到最终的信息融合距离矩阵Plus_SM,其公式如下:
d(ts′,tp′)add=d′(ts,tp)+si′(ts,tp)
步骤2.1.4,根据上述步骤得到的融合矩阵Plus_SM进行测试用例排序,首先随机挑选第一个测试用例,将其加入到已排序测试用例集P,之后在待排序测试用例中选择与已排序测试用例集距离最大的测试用例,将其加入到已排序测试用例集,直到所有测试用例均排序结束,其中待排序测试用例与已排序测试用例集的距离公式为:
d(ts,P)add=min1≤i≤n[d(ts′,tp′)add]。
3.根据权利要求1所述的多信息融合的回归测试用例排序方法,其特征在于,所述步骤2的多信息融合方法采用Com_dis算法实现,具体如下:
步骤2.2.1,将步骤1.1获得的抽象测试用例相似性矩阵AM转换为相应的距离矩阵ASM,具体将矩阵中的每一个元素取反加1,使其每一个元素值均在(0,1)之间,其转换公式如下:
si′(ts,tp)=1-si(ts,tp)
步骤2.2.2,将步骤1.2获得的具体测试用例具体矩阵CM进行归一化,将其转换为归一化距离矩阵CSM,使其每一个元素值均在(0,1)之间,其归一化公式如下:
Figure FDA0003941050160000022
步骤2.2.3,将上述两个步骤得到的ASM和CSM矩阵进行融合,具体对各个位置进行距离比较,得到最终的信息融合距离矩阵Comp_SM,其公式如下:
d(ts′,tp′)com=max[d′(ts,tp),si′(ts,tp)]
步骤2.2.4,根据上述步骤得到的融合矩阵Comb_SM进行测试用例排序,首先随机挑选第一个测试用例,将其加入到已排序测试用例集P,之后在待排序测试用例中选择与已排序测试用例集距离最大的测试用例,将其加入到已排序测试用例集,直到所有测试用例均排序结束,其中待排序测试用例与已排序测试用例集的距离公式为:
d(ts,P)com=min1≤i≤n[d(ts′,tp′)com]。
4.根据权利要求1所述的多信息融合的回归测试用例排序方法,其特征在于,所述步骤2的多信息融合方法采用Add_loc算法实现,具体如下:
步骤2.3.1,根据步骤1.1获得的抽象测试用例相似性矩阵AM进行测试用例排序,并输出已排序用例集AS;
步骤2.3.2,将步骤1.2获得的具体测试用例具体矩阵CM进行测试用例排序,其步并输出已排序用例集CS;
步骤2.3.3,将上述两个步骤得到的已排序测试用例集AS和CS进行融合,具体得到各个测试用例在AS和CS中的位置,然后对两个测试用例的位置进行相加,作为该测试用例融合后的评估值,对其进行排序得到已排序测试用例集。
5.根据权利要求1所述的多信息融合的回归测试用例排序方法,其特征在于,还包括步骤3:根据上述步骤2得到的已排序测试用例集,计算其评估值,并与其他单一数据排序方法进行比较。
6.根据权利要求5所述的多信息融合的回归测试用例排序方法,其特征在于,所述步骤3的具体过程如下:
步骤3.1,将测试用例在测试程序上运行,执行200次,并使用故障检测百分比APFD,来表示测试用例集的故障检测率,其评估值公式为:
Figure FDA0003941050160000031
其中n代表测试用例数量、m代表程序中错误数量,TFi,i=1,2,3,...,m,代表检测到第i个错误的第一个测试用例在排序中的执行次序;
步骤3.2,将结果以图形化的方式显示,更适合直观的看出各个算法的优势,还使用效应量分析具体观察数据结果。
7.用于权利要求1-6任一项所述多信息融合的回归测试用例排序方法的测试系统,其特征在于,包括参数设置模块、算法选择模块和文件结果输出模块;其中参数设置模块用于对仿真实验的配置,分为两个部分,一部分包括具体测试用例输入路径选择,抽象测试用例输入路径选择,以及各自排序后结果保存的路径,另一部分包括试验运行次数设置;算法选择模块是用来选择使用的算法,包括Add_dis算法、Com_dis算法、Add_loc算法来对数据进行处理;文件结果输出模块用于选择输出文件的路径,所述结果包括APFD的平均值以及其盒图、效应量分析的结果。
CN201910762227.2A 2019-08-19 2019-08-19 多信息融合的回归测试用例排序方法及系统 Active CN110647461B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910762227.2A CN110647461B (zh) 2019-08-19 2019-08-19 多信息融合的回归测试用例排序方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910762227.2A CN110647461B (zh) 2019-08-19 2019-08-19 多信息融合的回归测试用例排序方法及系统

Publications (2)

Publication Number Publication Date
CN110647461A CN110647461A (zh) 2020-01-03
CN110647461B true CN110647461B (zh) 2023-03-28

Family

ID=68990124

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910762227.2A Active CN110647461B (zh) 2019-08-19 2019-08-19 多信息融合的回归测试用例排序方法及系统

Country Status (1)

Country Link
CN (1) CN110647461B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111367790B (zh) * 2020-02-14 2023-05-12 重庆邮电大学 一种基于混合模型的元启发式测试用例排序方法
CN113742206A (zh) * 2020-05-27 2021-12-03 南京大学 一种基于项目特征的测试用例优先级算法的选择方法
CN113342683B (zh) * 2021-06-29 2024-04-09 深圳前海微众银行股份有限公司 一种测试案例处理方法、装置、平台及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8527813B2 (en) * 2011-12-19 2013-09-03 Siemens Aktiengesellschaft Dynamic reprioritization of test cases during test execution
CN105528289B (zh) * 2015-12-04 2017-12-08 中国矿业大学 一种基于分支覆盖与相似性的回归测试用例优先排序方法
CN107844427A (zh) * 2017-11-29 2018-03-27 郑州云海信息技术有限公司 一种基于测试资源感知的测试用例排序方法
CN108073519B (zh) * 2018-01-31 2021-02-12 百度在线网络技术(北京)有限公司 测试用例生成方法和装置
CN110134588B (zh) * 2019-04-16 2023-10-10 江苏大学 一种基于代码和组合覆盖的测试用例优先级排序方法及测试系统

Also Published As

Publication number Publication date
CN110647461A (zh) 2020-01-03

Similar Documents

Publication Publication Date Title
CN112148577B (zh) 数据异常检测方法、装置、电子设备及存储介质
CN110647461B (zh) 多信息融合的回归测试用例排序方法及系统
CN111652280B (zh) 基于行为的目标物数据分析方法、装置及存储介质
CN104391934A (zh) 数据校验方法和装置
CN112102959B (zh) 一种服务器、数据处理方法、装置及可读存储介质
CN113221960B (zh) 一种高质量漏洞数据收集模型的构建方法及收集方法
CN112380343A (zh) 问题解析方法、装置、电子设备及存储介质
CN112686301A (zh) 基于交叉验证的数据标注方法及相关设备
CN114066073A (zh) 电网负荷预测方法
CN112035345A (zh) 一种基于代码片段分析的混合深度缺陷预测方法
CN111310918B (zh) 一种数据处理方法、装置、计算机设备及存储介质
CN115577858A (zh) 基于区块链的碳排放量预测方法、装置及电子设备
CN116523284A (zh) 基于机器学习的业务操作流程自动化评估方法、系统
CN105184403A (zh) 基于机器学习和统计模型检验的工作流最优配置寻优方法
CN112131587B (zh) 一种智能合约伪随机数安全检验方法、系统、介质和装置
CN113472860A (zh) 大数据和数字化环境下的业务资源分配方法及服务器
CN115438190B (zh) 一种配电网故障辅助决策知识抽取方法及系统
CN117235527A (zh) 端到端容器化的大数据模型构建方法、装置、设备及介质
CN115954019A (zh) 一种融合自注意力和卷积操作的环境噪声识别方法及系统
CN113515591B (zh) 文本不良信息识别方法、装置、电子设备及存储介质
CN115080386A (zh) 基于自动驾驶功能要求的场景有效性分析方法与设备
CN108830302A (zh) 一种图像分类方法、训练方法、分类预测方法及相关装置
CN113190154A (zh) 模型训练、词条分类方法、装置、设备、存储介质及程序
CN111949867A (zh) 跨app的用户行为分析模型训练方法、分析方法及相关设备
CN114238768A (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