[发明专利]一种基于模糊聚类的多错误定位方法在审

专利信息
申请号: 201410710127.2 申请日: 2014-11-28
公开(公告)号: CN104536879A 公开(公告)日: 2015-04-22
发明(设计)人: 陈振宇;冯洋;王晨;杨浩宇;张智轶 申请(专利权)人: 南京慕测信息科技有限公司
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 南京天翼专利代理有限责任公司 32112 代理人: 奚铭
地址: 210000 江苏省南京*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 模糊 错误 定位 方法
【说明书】:

技术领域

发明属于计算机技术领域,涉及软件测试技术中的错误定位,尤其是一次性对多个错误进行定位,为一种基于模糊聚类的多错误定位方法。

背景技术

在软件的测试过程中为了找出软件中的错误,有时候开发者要人工审查大量的测试用例,判断其是否执行失败。然后通过审查执行失败的测试用例帮助找到软件中出错根源,这个过程叫做错误定位。事实上,错误定位的过程是软件测试当中最消耗时间的环节之一。

在过去的十年当中,很多技术被引入到错误定位领域,针对错误定位方法的研究取得了巨大的进展,其中最为广泛使用并且效果最好的方法是聚类分析程序执行剖面。

聚类分析是一种大量的对象发现集群的多元分析方法,如一组执行剖面。每个执行剖面的特征被一个属性值向量所标记。聚类分析的目的是划分具有很高的相似性的对象在同一集群的集群,而差异性大的对象被放置在不同的集群。

不足的是,许多错误定位技术都是基于一个不可靠的假设:程序中只有一个错误。在实际情况中,多个错误导致一个测试用例的失败的例子经常发生,这意味着一个测试用例可以定位多个错误。现有技术提到的应用在错误定位上的聚类技术都是“硬聚类”,每个元素只属于一个类簇,不仅无法对多个错误进行准确定位,而且会给错误定位结果带来误差,使得结果不准确或者遗漏错误。事实上,在多个错误存在时,“硬类聚”是不可行的。软件测试人员无法分析这种情况。传统的单错误定位方法有很大的局限性,软件测试当中非常需要一种针对多错误程序来进行错误定位的新方法。

发明内容

本发明要解决的问题是:在程序有多个错误的时候,传统意义上的错误定位技术失效,定位结果不准确。然而,在实际应用当中,经常遇到多个错误包含在一个程序当中的情况,这样的情况无法用传统的错误定位技术来定位错误。本发明要解决的就是在多错误的情况下如何进行准确的错误定位。

本发明的技术方案为:一种基于模糊聚类的多错误定位方法,程序当中存在至少一个错误,使用模糊聚类技术对程序特征信息进行聚类,然后结合缺陷定位技术,依据聚类结果对程序错误进行定位,包括以下步骤:

1)对程序运行所有测试用例,收集执行剖面,执行剖面中的每一个属性都代表程序当中的一个函数,将执行剖面用向量来表示,向量中的数值代表属性对应的函数是否被调用;

2)模糊聚类,采用FCM聚类方法,输入为由执行剖面得到的向量集合X、设定的类簇数量c和距离函数,距离函数采用欧式距离;聚类算法最终返回一个关系矩阵,所述关系矩阵的行表示某个执行剖面分别属于c个类簇的可能性,如果可能性大于设定的阈值,就认为执行剖面属于这个类簇,一个执行剖面可以属于多个类簇;

3)错误定位,使用Spectrum-Based错误定位技术来测试各个类簇,根据和测试用例相关的函数的四个覆盖参数来进行计算,四个覆盖参数分别是

anp:没有执行这个函数并且通过的测试用例个数;

anf:没有执行这个函数并且失效的测试用例个数;

aep:执行这个函数并且通过的测试用例个数;

aef:执行这个函数并且失效的测试用例个数;

四个参数之和等于测试用例集的大小,根据采用的排序指标为每一个函数计算权重,所述权重代表了函数出错可能性的大小,按照函数出错可能性从大到小排列,获取风险排列表,找出最有可能出错的位置。

在软件错误定位领域的研究中,研究人员都假设程序只有一个错误,在此前提下进行错误定位。这样的假设有助于定位方法的简化,容易得出结果。然而,实际情况是,在工业界中,当程序包含多个错误的时候,错误之间会对彼此产生影响,使用传统的单错误定位方法来定位包含多个错误的程序,会产生遗漏,造成错误定位的结果不准确,使得软件测试效率低下。可见基于程序只有一个错误这个不符合实际的假设的方法并没有给程序测试人员带来实际的帮助。本发明在现有技术基础上打破了现有错误定位方法的单错误假设,采用FCM模糊聚类方法,没有把一个执行剖面归于某个特定的类簇,而是认为一个执行剖面与很多类簇都有关系,在实现中用概率来表示这个关系的大小。多个类簇表征了程序中的多个错误,这些错误互相影响,使得一个执行剖面可能属于多个类簇,因此,本发明方法针对多错误互相影响的问题,设计了用于多错误定位的方法,而不会产生现有技术的一个执行剖面只与一个错误相关的缺陷。软件测试人员可以借助本发明方法同时有效的自动定位多个错误。本发明方法更适用于当前软件测试的实际情况,具有良好的实用性和定位精度。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京慕测信息科技有限公司;,未经南京慕测信息科技有限公司;许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410710127.2/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top