CN102521376A - 一种软件测试用例集的精简方法 - Google Patents
一种软件测试用例集的精简方法 Download PDFInfo
- Publication number
- CN102521376A CN102521376A CN2011104283129A CN201110428312A CN102521376A CN 102521376 A CN102521376 A CN 102521376A CN 2011104283129 A CN2011104283129 A CN 2011104283129A CN 201110428312 A CN201110428312 A CN 201110428312A CN 102521376 A CN102521376 A CN 102521376A
- Authority
- CN
- China
- Prior art keywords
- test case
- test
- dimension
- sammon
- software
- 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.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开一种软件测试用例集的精简方法,包括如下步骤:步骤一,将高维空间的测试用例集降至有效的低维参数空间中;以及步骤二,在步骤一的基础上,利用k均值聚类方法选取聚类中心的测试数据作为被测软件系统的测试用例,以构成精简后的测试用例集;本发明克服了目前其他方法中需要先验知识来指导样本集的精简不足之处,通过本发明能够设计出较为合理的测试用例集,从而简化测试工作的复杂度,提高测试效率。
Description
技术领域
本发明涉及一种软件测试用例集的精简方法,特别是涉及一种以流形学习为基础的软件测试用例集的精简方法。
背景技术
一个成功的测试用例集首先应该满足充分性,即待测软件在这个有限的测试用例集上的行为,应该充分体现该软件在输入空间的整体行为。无论理论研究还是实验结果都表明,对于相同数量的测试用例,结合了机器学习方法所产生的精简测试用例集,在发现错误的能力方面明显要高于随机性所产生的测试用例。因此,现有技术中D.Cohen等提出了一种数据启发方法,根据某种启发性原则来选取测试用例集,其中启发性原则的好坏直接影响测试的结果,并开发了相应的测试数据自动生成系统——AETG。此外,遗传算法在软件测试领域也是一个非常有前途的学习算法,如针对不同的测试目标,研究者们提出了一系列的适应度值构造方法,可用于语句与分支的覆盖。典型的,M.Poper等提出了一种基于程序流程图的适应度函数构造方法,适应于语句覆盖与分支覆盖。R.Weichselbaum等提出了一种新的进化测试方法,可用于语句、分支与条件覆盖。
但是,从测试角度看,某些软件系统功能庞大,参数复杂,满足测试要求的测试用例具有数量大,维数高的特点。解决这类软件系统的测试用例精简问题一般难度都比较大。比如采用遗传算法如何设计适应度函数,采用启发式方法如何确定启发性信息的等等,都给软件测试带来了一定的难度。
综上所述,可知先前技术之软件测试技术存在测试用例精简难度较大的问题,因此实有必要提出改进的技术手段,来解决此一问题
发明内容
为克服上述现有软件测试技术存在测试用例精简难度较大的问题,本发明的主要目的在于提供一种软件测试用例集精简方法,其利用流形学习方法,直接从具有高维特征的测试用例中,发现它们之间存在的内在规律和性质,并在此基础上生成精简的测试用例,在测试过程中最大程度的覆盖测试路径,达到测试用例集精简的目的,降低了测试成本。
为达上述及其它目的,本发明提供一种软件测试用例集的精简方法,包括如下步骤:
步骤一,将高维空间的测试用例集降至有效的低维参数空间中;以及
步骤二,在步骤一的基础上,利用k均值聚类方法选取聚类中心的测试数据作为被测软件系统的测试用例,以构成精简后的测试用例集;
其中k值为该低维参数空间的维数。
进一步地,步骤一采用等度规映射方法或局部线性嵌套方法将该测试用例集降至有效的低维参数空间中。
进一步地,步骤一包括如下步骤:
为系统参数赋初值,该系统参数包括邻域值、嵌入维数以及Sammon系数;
固定嵌入维数,改变该邻域值的大小,并执行该局部线性嵌套方法,计算出Sammon系数值,并绘制该Sammon系数随该邻域值改变而变化的曲线图;
判断该Sammon系数随该邻域值改变而变化的曲线图的曲线改变方式是否已固定;
若曲线改变方式已固定,则终止并估计出该低维参数空间。
进一步地,若曲线改变方式未固定,则改变该嵌入维数,并继续进行该固定嵌入维数的步骤。
进一步地,于步骤二中,令该嵌入维数作为聚类中心点的数目,对所有测试用例集合进行K-均值聚类,选取该聚类中心点的测试样例为该测试用例,而将该聚类中心点附近的测试样例为冗余样例。
进一步地,步骤二中仅删除该聚类中心点附近的少数冗余样例数,而对该测试用例集继续进行精简操作,直到该测试用例集为空为止。
进一步地,该Sammon系数定义如下:
与现有技术相比,本发明一种软件测试用例集的精简方法以Sammon系数结合流形学习的手段,来对测试用例集合的内在维数大小进行近似估计,以获得精简后测试用例的维数大小,进一步指导最有效测试用例的选取,本发明克服了目前其他方法中需要先验知识来指导样本集的精简不足之处,利用本发明能够设计出较为合理的测试用例集,从而简化测试工作的复杂度,提高测试效率。
附图说明
图1为本发明一种软件测试用例集精简方法的步骤流程图;
图2为本发明中当n=3,且每个参数只有三个取值情况下的解空间树的示意图;
图3则为图2中Sammon系数随k和d参数变化曲线图;
图4为本发明一种软件测试用例集的精简方法之较佳实施例的步骤流程图。
具体实施方式
以下通过特定的具体实例并结合附图说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。
从感知的角度来看,流形是认知的基础,任何一个高维流形一般存在于一个非线性低维流形上,认知过程在很大程度上是通过这种非线性低维流形表示来识别事物的。也就是说,无论流形结构有多么的复杂,人们都可以通过少数几个“本质”参数去迅速的认识它,同理,被测软件的测试用例集合也可以通过这些“关键”参数来认识其内在规律和性质。
因此,利用流形学习的方法来进行软件测试用例集精简,其目标就是从在高维空间里具有“流形”分布的全体测试用例集中选择出“最具代表性”的测试用例集,以达到有效精简测试用例集的目的。
图1为本发明一种软件测试用例集精简方法的步骤流程图。本发明主要利用流形学习来指导测试用例集的精简,其包括如下步骤:
第一步,首先将测试用例集降至有效的低维参数空间中。
此步骤地原理是:高维空间的测试用例集中,必定存在着一个低维的结构,流形学习的目的就是找出这个低维结构。举一个例子进一步说明,假设待测软件对外接口有n个参数P1,P2,...Pn,向量Pam[n]记录了每个参数P的等价类个数(也是取值个数),则可将待测软件的解空间定义成一颗解空间树,树的高度为n+1,其中,第一层的根节点有Pam[1]条边,分别表示参数P1的Pam[1]个等价类个数,每条边被分别标记为1,2,...,Pam[1];第二层的每个结点都有Pam[2]条边,分别表示参数P1的Pam[2]个等价类个数,每条边被分别标记为1,2,...,Pam[2];...,第n层的每个结点都有Pam[n]条边,分别表示参数P1的Pam[n]个等价类个数,每条边被分别标记为1,2,...,Pam[n]。图2则展示了当n=3,且每个参数只有三个取值情况下的解空间树T。
从上述解空间树的定义可以看出,解空间树T的解就是一条从根结点到叶子结点的路径,解空间树所有解的集合对应于待测软件的测试数据总集Tall,Tall的大小可以得出等于27条路径。
定义1:t1=(V1,V2,...Vn)和t2=(W1,W2,...Wn)是待测软件系统的两个测试用例,如果这两个测试用例在某C个位置上对应值相等,则称这两个测试用例的重叠系数为C,可知:C=|{I|Vi=Wi}|。
那么,通过观察可以在图1中标出9条路径(111,122,133,212,223,231,313,321,332)组成一个测试用例集合,它不仅满足任意两条路径的重叠系数不超过1,并且还满足最大限度的覆盖各个参数间的组合对。由此可见,上述用例集可认为是精简后的测试用例集。
从27条路径降至9条路径,不只是数量上的减少,在某种程度上它也反映出了该测试总集在高维空间的内在维数和本质特征,这9条路径上对用的测试用例是“最具代表性”的用例,而在它们附近的用例都可看成是冗余用例。因此,第一步就是利用流形学习得到降维后测试用例的低维参数空间维数。
第二步,对测试用例集进行测试用例选择,以获得精简后的测试用例集。
在第一步的基础上,通过K均值聚类方法,其中k值为精简后的低维参数空间维数,来获取聚类中心的测试数据作为被测软件系统的“最具代表性”的测试用例,以构成测试用例集。这种选取测试用例集的方法是提高测试效率的一种有效的手段。
以下将分别具体介绍两步骤的具体方法。
1、利用流形学习算法来有效估计出低维参数空间的方法,主要集中在等度规映射(ISOMAP)和局部线性嵌套(LLE)两个方法上,本发明则以LLE算法为例。LLE是一种依赖于局部线性的算法,它的待定参数很少,一个是近邻点值k。近邻点值k的大小反映了用若干个近邻点的线性组合去逼近低维流形上某个点的程度,近邻点过少时,由于逼近程度太低而显得毫无意义;反之,则产生不必要的冗余而使得计算代价过高。因此,一个适中的k值就显得非常重要。
在LLE算法中的另一个待定参数就是嵌入维数d,同理,如果嵌入维数d过低,低维流形的局部结构与高维流形的局部结构间差异也会过大,而使得局部几何结构在降维过程中不能得到很好的保护;反之,则降维的意义没有得到很好的体现。
同时,k与d它们之间又相互影响,相互制约。为此,本发明引入Sammon系数作为衡量二者取值标准的判断,并通过二者有机的结合,从而获得真正意义上的低维参数空间大小。Sammon系数是一项关于衡量N个数据点从L空间转换到d空间过程中,点之间几何结构变形程度大小的标准。Sammon系数定义如下公式(1)所示:
Sammon系数分别计算两个不同空间里点之间的距离比值,并以此作为误差函数的定义。通过点间距的变化程度来衡量N个数据点在映射前后几何结构变形程度的大小。而LLE算法的前提条件是尽量维护低维流形局部几何结构的不变性,故此,LLE算法应尽量调节d空间的配置,以使得误差值逐步减小,即Sammon系数应呈现逐步减小的趋势。
以上述图2所示的案例(n=3)为例说明Sammon系数与k、d之间的关系。图3则为图2之Sammon系数随k和d参数变化曲线图。图3中的每一幅小图表示,在固定嵌入维数d的前提条件下,Sammon系数随着邻域值k(横坐标)的从小到大改变而改变的情况,即纵坐标为根据公式(1)计算得到的Sammon系数,简称为K-Sammon系数图。从图中可以看出,每一个对象的K-Sammon系数图,从左到右随着嵌入维数d由小到大改变,Sammon系数随邻域值k的改变而改变的过程开始逐渐呈现出一定的规律性,反映出这样一种结论,即当嵌入维数达到某一固定值的时候,邻接点的大小对Sammon系数的影响呈现固定趋势,即其变化趋势已与嵌入维数d的取值大小无关。我们称这一固定值为“低维空间维数”,它代表了测试用例高维空间中内在维数的大小。以下图为例,当d=6时,sammon系数的变化呈现固定趋势,由此可以得出结论:该样本集合的低维空间维数大小为6.
2、在本发明中,第二步对测试用例的选择采用K均值聚类方法。低维空间维数大小值d值可以作为K-均值聚类的聚类依据。以d值作为聚类中心点的数目,对测试样例集合进行聚类操作,将测试用例集从较高维空间降至有效的低维空间中。选取聚类中心点的测试样例为“最具代表性”的测试用例,而将其附近的测试样例看成是冗余样例。
但是,有时为了降低遗漏有效测试样例的风险,只删除中心点附近的少数冗余样例数ε(ε值的大小可根据经验值来确定),而对余下的样例集合继续进行上述操作,直到测试样本集合为空为止。
图4为本发明一种软件测试用例集的精简方法之较佳实施例的步骤流程图。以下将配合图4通过一具体的例子来说明本发明之软件测试用例集的精简方法。
步骤401,为各个系统参数赋初值:邻域值k=1,嵌入维数d=1,Sammon系数=0;
步骤402,固定嵌入维数d,改变邻接点k的大小,并执行LLE算法,根据公式(1)计算Sammon系数值,并绘制Sammon系数随邻域值k改变而变化的曲线图;
步骤403,判断K-Sammon系数图的曲线改变方式是否已固定,即当d达到某一固定值D后,其变化趋势已与嵌入维数d的取值大小无关,无论d再如何增加,K-Sammon系数图的曲线变化趋势保持恒定不变;
步骤404,若K-Sammon系数图的曲线改变方式已固定,则终止并估计出低维参数空间D;否则,d+1,并转向步骤402。
步骤405,令d=聚类中心点数,对全体测试用例集合进行K-均值聚类,得到“最具代表性”的用例集合;
步骤406,根据ε值大小去除中心点附近的冗余样例,并判断样本集合是否为空;
步骤407,若样本集合不为空,则转向步骤401继续精简测试样例;若为空,则使本次算法流程结束。
综上所述,本发明一种软件测试用例集的精简方法以Sammon系数结合流形学习的手段,来对测试用例集合的内在维数大小进行近似估计,以获得精简后测试用例的维数大小,进一步指导最有效测试用例的选取,本发明克服了目前其他方法中需要先验知识来指导样本集的精简不足之处,利用本发明能够设计出较为合理的测试用例集,从而简化测试工作的复杂度,提高测试效率。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。
Claims (7)
1.一种软件测试用例集的精简方法,包括如下步骤:
步骤一,将高维空间的测试用例集降至有效的低维参数空间中;以及
步骤二,在步骤一的基础上,利用k均值聚类方法选取聚类中心的测试数据作为被测软件系统的测试用例,以构成精简后的测试用例集;
其中k值为该低维参数空间的维数。
2.如权利要求1所述的一种软件测试用例集的精简方法,其特征在于:步骤一采用等度规映射方法或局部线性嵌套方法将该测试用例集降至有效的低维参数空间中。
3.如权利要求2所述的一种软件测试用例集的精简方法,其特征在于,步骤一包括如下步骤:
为系统参数赋初值,该系统参数包括邻域值、嵌入维数以及Sammon系数;
固定嵌入维数,改变该邻域值的大小,并执行该局部线性嵌套方法,计算出Sammon系数值,并绘制该Sammon系数随该邻域值改变而变化的曲线图;
判断该Sammon系数随该邻域值改变而变化的曲线图的曲线改变方式是否已固定;
若曲线改变方式已固定,则终止并估计出该低维参数空间。
4.如权利要求3所述的一种软件测试用例集的精简方法,其特征在于:若曲线改变方式未固定,则改变该嵌入维数,并继续进行该固定嵌入维数的步骤。
5.如权利要求4所述的一种软件测试用例集的精简方法,其特征在于:于步骤二中,令该嵌入维数作为聚类中心点的数目,对所有测试用例集合进行K-均值聚类,选取该聚类中心点的测试样例为该测试用例,而将该聚类中心点附近的测试样例为冗余样例。
6.如权利要求5所述的一种软件测试用例集的精简方法,其特征在于:步骤二中仅删除该聚类中心点附近的少数冗余样例数,而对该测试用例集继续进行精简操作,直到该测试用例集为空为止。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104283129A CN102521376A (zh) | 2011-12-20 | 2011-12-20 | 一种软件测试用例集的精简方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104283129A CN102521376A (zh) | 2011-12-20 | 2011-12-20 | 一种软件测试用例集的精简方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102521376A true CN102521376A (zh) | 2012-06-27 |
Family
ID=46292289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011104283129A Pending CN102521376A (zh) | 2011-12-20 | 2011-12-20 | 一种软件测试用例集的精简方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102521376A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103218297A (zh) * | 2013-05-15 | 2013-07-24 | 百度在线网络技术(北京)有限公司 | 测试数据的筛选方法及装置 |
CN104360945A (zh) * | 2014-11-18 | 2015-02-18 | 电信科学技术第十研究所 | 一种测试用例筛选的计算机实现的方法、计算机及系统 |
CN105138450A (zh) * | 2015-07-31 | 2015-12-09 | 北京金山安全软件有限公司 | 软件稳定性测试方法及装置 |
CN105184281A (zh) * | 2015-10-12 | 2015-12-23 | 上海电机学院 | 基于高维流形学习的人脸特征库构建方法 |
CN106503633A (zh) * | 2016-10-10 | 2017-03-15 | 上海电机学院 | 一种视频图像中人脸特征库的建立方法 |
CN107463766A (zh) * | 2017-06-23 | 2017-12-12 | 深圳市中识创新科技有限公司 | 血糖预测模型的生成方法、装置及计算机可读存储介质 |
CN107957944A (zh) * | 2017-11-24 | 2018-04-24 | 浙江大学 | 面向用户数据覆盖率的测试用例自动生成方法 |
CN108958890A (zh) * | 2018-07-25 | 2018-12-07 | 北京奇艺世纪科技有限公司 | 容器镜像检测方法、装置及电子设备 |
CN110704322A (zh) * | 2019-09-30 | 2020-01-17 | 上海中通吉网络技术有限公司 | 软件测试方法和系统 |
CN111367782A (zh) * | 2018-12-25 | 2020-07-03 | 中国移动通信集团浙江有限公司 | 回归测试数据自动生成的方法及装置 |
US11036623B2 (en) * | 2017-03-07 | 2021-06-15 | Advantest Corporation | Test apparatus and method for characterizing a device under test |
CN113535594A (zh) * | 2021-09-17 | 2021-10-22 | 广州裕睿信息科技有限公司 | 业务场景测试用例的生成方法、装置、设备和存储介质 |
-
2011
- 2011-12-20 CN CN2011104283129A patent/CN102521376A/zh active Pending
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103218297B (zh) * | 2013-05-15 | 2018-05-04 | 百度在线网络技术(北京)有限公司 | 测试数据的筛选方法及装置 |
CN103218297A (zh) * | 2013-05-15 | 2013-07-24 | 百度在线网络技术(北京)有限公司 | 测试数据的筛选方法及装置 |
CN104360945A (zh) * | 2014-11-18 | 2015-02-18 | 电信科学技术第十研究所 | 一种测试用例筛选的计算机实现的方法、计算机及系统 |
CN104360945B (zh) * | 2014-11-18 | 2017-07-07 | 电信科学技术第十研究所 | 一种测试用例筛选的计算机实现的方法、计算机及系统 |
CN105138450A (zh) * | 2015-07-31 | 2015-12-09 | 北京金山安全软件有限公司 | 软件稳定性测试方法及装置 |
CN105184281A (zh) * | 2015-10-12 | 2015-12-23 | 上海电机学院 | 基于高维流形学习的人脸特征库构建方法 |
CN106503633A (zh) * | 2016-10-10 | 2017-03-15 | 上海电机学院 | 一种视频图像中人脸特征库的建立方法 |
US11036623B2 (en) * | 2017-03-07 | 2021-06-15 | Advantest Corporation | Test apparatus and method for characterizing a device under test |
CN107463766A (zh) * | 2017-06-23 | 2017-12-12 | 深圳市中识创新科技有限公司 | 血糖预测模型的生成方法、装置及计算机可读存储介质 |
CN107957944A (zh) * | 2017-11-24 | 2018-04-24 | 浙江大学 | 面向用户数据覆盖率的测试用例自动生成方法 |
CN107957944B (zh) * | 2017-11-24 | 2020-08-25 | 浙江大学 | 面向用户数据覆盖率的测试用例自动生成方法 |
CN108958890A (zh) * | 2018-07-25 | 2018-12-07 | 北京奇艺世纪科技有限公司 | 容器镜像检测方法、装置及电子设备 |
CN111367782A (zh) * | 2018-12-25 | 2020-07-03 | 中国移动通信集团浙江有限公司 | 回归测试数据自动生成的方法及装置 |
CN111367782B (zh) * | 2018-12-25 | 2023-08-15 | 中国移动通信集团浙江有限公司 | 回归测试数据自动生成的方法及装置 |
CN110704322A (zh) * | 2019-09-30 | 2020-01-17 | 上海中通吉网络技术有限公司 | 软件测试方法和系统 |
CN110704322B (zh) * | 2019-09-30 | 2023-03-10 | 上海中通吉网络技术有限公司 | 软件测试方法和系统 |
CN113535594A (zh) * | 2021-09-17 | 2021-10-22 | 广州裕睿信息科技有限公司 | 业务场景测试用例的生成方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102521376A (zh) | 一种软件测试用例集的精简方法 | |
Patel et al. | Agricultural growth and land use land cover change in peri-urban India | |
Rodriguez-Galiano et al. | Random Forest classification of Mediterranean land cover using multi-seasonal imagery and multi-seasonal texture | |
Peng et al. | Modeling soil organic carbon at regional scale by combining multi-spectral images with laboratory spectra | |
Chiarucci et al. | Spatially constrained rarefaction: incorporating the autocorrelated structure of biological communities into sample-based rarefaction | |
CN101308544A (zh) | 一种基于栅格的空间异质模式识别方法及分层方法 | |
CN105404753A (zh) | 基于面向对象-随机森林分类法和中等分辨率遥感影像的沼泽湿地制图的方法 | |
Chen | Mapping mangrove in Dongzhaigang, China using Sentinel-2 imagery | |
CN113010620B (zh) | 基于地理多级网格的自然资源数据索引统计方法及系统 | |
CN102324047A (zh) | 基于稀疏核编码skr的高光谱图像地物识别方法 | |
CN104318611B (zh) | 一种基于激光扫描点云的三维树木重建方法 | |
CN106709989B (zh) | 基于面向对象影像特征的地理本体建模与语义推理方法 | |
Bui et al. | From land cover map to land use map: A combined pixel-based and object-based approach using multi-temporal landsat data, a random forest classifier, and decision rules | |
CN112633401B (zh) | 一种高光谱遥感图像分类方法、装置、设备及存储介质 | |
CN102903114A (zh) | 一种基于改进型层次聚类的高光谱遥感数据降维方法 | |
CN105574265B (zh) | 面向模型检索的装配体模型定量描述方法 | |
CN111222536A (zh) | 一种基于决策树分类的城市绿色空间信息提取方法 | |
CN104794335A (zh) | 一种通用多级空间抽样方法 | |
Ngo et al. | Application of multispectral UAV to estimate mangrove biomass in Vietnam: A case study in Dong Rui commune, Quang Ninh Province | |
CN103268633A (zh) | 一种栅格数据的等值面构造方法 | |
CN101349553A (zh) | 一种普通罗盘仪或经纬仪测量林木混交度方法 | |
Villoslada et al. | Reindeer control over shrubification in subarctic wetlands: spatial analysis based on unoccupied aerial vehicle imagery | |
CN106778738A (zh) | 一种基于决策理论粗糙集的地物特征提取方法 | |
CN102208027B (zh) | 基于间隙度维数的土地利用空间格局评价方法 | |
Tian et al. | Spatio-temporal changes and driving force analysis of wetlands in Jiaozhou Bay |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120627 |