[发明专利]一种发现大型面向对象软件系统关键测试函数的方法有效

专利信息
申请号: 201510381534.8 申请日: 2015-07-02
公开(公告)号: CN105022689B 公开(公告)日: 2017-11-28
发明(设计)人: 胡昌振;赵小林;张奇;高佳童;胡晶晶 申请(专利权)人: 北京理工大学
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 北京理工大学专利中心11120 代理人: 付雷杰,杨志兵
地址: 100081 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 发现 大型 面向 对象 软件 系统 关键 测试 函数 方法
【说明书】:

技术领域

发明涉及软件测试技术领域,具体涉及一种发现大型面向对象软件系统关键测试函数的方法。

背景技术

从图论的角度看,复杂网络是一个具有复杂拓扑特性的图,其典型特征是具有指标特征无标度分布和小世界效应。在复杂网络系统中,存在少数关键节点对整个系统起关键性控制作用,对这些节点的破坏往往导致大面积节点受到影响甚至整个系统瘫痪;而系统中的大多数节点都是受到关键节点控制而自身对系统其它部分影响较小的节点,对于这些节点的攻击,不会造成系统出现明显故障。因此,同随机网络和规则网络相比,具有复杂网络的系统面对攻击时,表现出随机性攻击的鲁棒性和针对性攻击的脆弱性(软件的鲁棒性即是计算机软件在输入错误、磁盘故障、网络过载或有意攻击情况下,能不死机、不崩溃;软件的脆弱性即是针对以上攻击或者其他类型的攻击,软件系统容易出现崩溃等异常情况)。大型面向对象的软件系统符合复杂网络模型,对随机性攻击具有较强鲁棒性,在此前提下如能提高该系统蓄意选择性攻击的抗攻击能力,将对提高大型软件系统的质量具有重大意义。

当一个软件系统进入运行阶段,其结构功能不会发生大的改变(不考虑业务需求变动),体现在拓扑图中,表现为节点与节点之间的联系较为稳定、节点的入度出度等指标较为稳定,故不能采取调整复杂网络拓扑结构改善软件系统稳定性。另一方面,在软件拓扑图中,弧表示两个类之间的耦合关系,即弧表示两个类之间的一组或多组函数调用关系,弧尾对应的类的函数被弧头对应的类的函数调用。由于在软件运行阶段和维护阶段对函数进行测试与调整是可行的,故可以从软件拓扑图的弧入手、发现关键弧并加强对节点之间的关键弧的测试来保障这些关键弧的健壮性——当弧连接的两个节点中的弧尾节点发生故障时弧头节点不进入非可控状态,以此来保障软件系统的健壮性、稳定性。因此,在大型软件网络图中,如何确定哪些弧是需要重点维护的便成为实施维护以保障软件系统的前提。

由于弧是类节点对之间的一组或多组耦合关系在软件网络拓扑图中的表示,确定了软件拓扑图中的弧也就确定了软件代码中的关键测试函数,为此下文以发现软件拓扑系统中的关键弧表示发现关键测试函数。

目前软件系统关键边的发现方式主要有两种:根据边介数确定系统的关键弧;根据关键节点确定系统的关键弧。1)根据边介数确定系统的关键弧:采用这种技术,忽略软件拓扑网络中的节点,直接从各个弧入手、计算各个弧的边介数,边介数大的弧即为关键测试弧;2)根据关键节点确定系统的关键弧:这种技术从目前研究较多的节点重要度入手,根据定义的重要度指标确定系统中的关键节点,将关键节点之间的路径视为关键测试路径,关键测试路径上的弧即为关键测试弧。其中的重要度指标目前主要根据节点度指标、节点介数指标、节点凝聚力指标中的某个或某几个组合进行确定。在有些方案中,关键测试路径为关键节点之间的最短路径,在有些方案中为关键节点之间的所有无环路径。

软件拓扑图中任意两个节点之间可能存在很多路径,每条路径的存在都为信息在两个节点之间的传播提供了可能。在软件系统的运行过程中,各个路径作为传递介质在两个节点的信息传输中使用比重与该路径长短没有必然关系,比如节点A与节点B存在多条可达路径,A与B直接相连,A又与C相连、C与B亦相连,在软件实际运行过程中B主要通过C对A发生。然而根据边介数的定义,其计算只考虑了软件网络中任意两个节点最短路径上的弧,因此采用这种方法需假设两个节点只能通过最短路径发生联系,完全忽略了一条弧不在两个节点的最短路径上却在两个节点的路径上、该弧依然能传递信息从源节点到目的节点的情形。因此这种方案得出的关键弧就存在很大的局限性,计算结果非常容易遗漏网络系统中的重要弧,造成关键路径的覆盖率过低、给软件系统维护造成隐患。

采取通过关键节点确定系统的关键弧的办法,首先面临的一个技术问题是节点重要度指标确定,度指标、介数指标、凝聚度指标等基本指标各自存在描述节点重要性的根据,但各自又缺乏对节点信息的全面覆盖从而造成描述节点重要度的片面性。研究人员之后采用几个指标组合的方式计算节点重要度,但结果只能较好的符合某些特定类型的复杂网络。其次,在确定关键节点后该方式采用关键节点之间的所有路径为关键测试路径,关键测试路径上的边为有关键弧。这种计算方式计算量大,所得关键弧数量巨大,并且难以有效量化关键边的重要度。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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