[发明专利]一种基于复杂网络理论的软件测试用例生成方法在审
| 申请号: | 201510472157.9 | 申请日: | 2015-08-04 |
| 公开(公告)号: | CN105068928A | 公开(公告)日: | 2015-11-18 |
| 发明(设计)人: | 姚奕;任正平;黄松;洪宇;郑长友;胡斌;饶莉萍;蒋园园;刘艳云;李辉 | 申请(专利权)人: | 中国人民解放军理工大学 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 江苏圣典律师事务所 32237 | 代理人: | 贺翔 |
| 地址: | 210007 *** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 复杂 网络 理论 软件 测试 生成 方法 | ||
技术领域
本发明涉及软件测试领域,尤其是一种软件测试用例的生成方法。
背景技术
随着计算机软件的快速发展,软件的计算模式、应用模式、产品形态以及盈利模式都在发生着巨大的变化,软件的系统结构变得越来越复杂,软件开发和维护的复杂性在不断上升,而软件系统的可控性却在下降。以将系统化、规范化、可度量的方法应用于软件的开发、运行和维护为目标的软件工程,也已很难应对软件系统的具大复杂性,因此软件的复杂性已成为当前“软件危机”的重要特点。
随着近年来复杂网络理论研究的兴起,复杂网络这门学科正在为软件工程的研究提供了新的数据基础和方法。复杂网络研究中,网络的拓扑性质是指不依赖于节点的具体位置和边的具体形态而表现出来的性质,相应的结构叫做网络的拓扑结构。复杂网络理论指明,系统的整体性能取决于系统的结构,要想理解整个系统就必须先理解系统的拓扑特性、成因、演化及应用。复杂网络理论给人们展示出研究软件工程的新平台。
利用复杂网络理论,可以用网络表示复杂的软件系统的拓扑结构,根据不同的标度,软件系统的组成元素可以是数据对象、服务、操作、模块、类、包、属性、子系统等。软件通过这些元素之间的信息交互和协作,完成预定的功能。将软件系统中的模块、子程序、对象、类、包、属性等元素看作节点,将其间错综复杂的交互关系(如调用、聚合、继承)看作边,那么就可以将软件系统结构抽象为一个软件结构关系网,这种从软件系统中通过关系抽取而得到的网络模型就被称为软件网络。
近几年国内外的相关工作己经通过建立软件系统的拓扑特征,揭示软件网中的一些普遍性的拓扑特性,但软件工程与复杂网络相结合的研究工作正处于起步阶段。目前研究方向大多集中在软件网络的拓扑结构分析、具有“小世界”和“无标度”特性的软件系统的形成机理和演化规律、基于复杂网络的软件系统复杂性度量和评估三个方面。但是,复杂网络对于实际指导和应用于软件开发、测试的研究与应用较少,进而无法通过提高测试效率实现软件可靠性的提高和软件质量控制。
随着软件开发需求的增加和软件复杂程度的提高,如何用尽量少的测试用例覆盖尽量多的测试路径,以提高测试效率成为急需开展的一项十分重要的课题。前文介绍了软件系统的复杂网络特性并说明了网络模型的构建,为将复杂网络理论应用于软件测试提供了有力的理论支撑。
虽然目前已有研究学者将复杂网络网络理论用于软件测试用例的生成,但这些方法虽然都以意识到基于软件关键部分产生测试用例能有效降低测试量,减少测试时间。但他们存在的共性问题是:
(1)大多方法采用单一网络特性参数作为评价节点重要性的指标;
(2)即使采用多网络参数的综合评价,但在参数选取上往往依赖主观判断,忽略了参数间的相关性。
上述问题造成一定程度的节点重要性丢失,降低了关键节点识别的合理性和准确性。故有效整合各指标,设计依赖客观权重和考虑参数关联信息的方法就成为一个亟需解决的问题。
发明内容
本发明所要解决的技术问题是为了提高软件测试的可靠性和效率,将复杂网络理论运用到软件测试中形成一种新的测试用例生成方法。
为实现上述目的,本发明采用的技术方案为:
一种基于复杂网络理论软件测试用例生成方法,其包括如下步骤:
(1)针对被测软件,基于类层次网络模型,构建出类层次的软件网络,并提取软件网络的特征参数;
(2)对步骤(1)提取的软件网络的特征参数进行归一化处理;再基于主成分分析法,计算各特征参数的权重;再基于灰色关联分析方法,利用根据主成分分析法计算得到的权重,计算各节点的关键性取值并进行排序;
(3)根据步骤(2)得到的各节点的排序,将各节点的点权设置为关键性取值,计算软件网络的关键路径,则每条关键路径就对应一个软件测试用例。
上述步骤(1)的具体过程为,基于类层次网络模型,对被测软件的源代码进行分析,统计出类名和类间依赖关系,其中类名即为类层次网络模型的节点,类间依赖关系即为类层次网络模型的有向边;随后将类名和类间依赖关系这些原始数据进行转化,得到用于生成软件网络的邻接矩阵;再利用网络图形化工具对该矩阵信息进行处理,生成直观可视的软件有向网络;之后,计算网络特征参数,得到步骤(2)中关键节点识别所需的所有特征参数。这一步主要是为后续的关键节点识别提供基础。前述网络特征参数包括统计度和度分布、接近度、偏心度、最大邻居连通度、最大邻居连通密度、平均路径长度。
上述步骤(2)中对软件网络的特征参数进行归一化处理的过程为;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军理工大学,未经中国人民解放军理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510472157.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种软件的稳定性的测试方法及装置
- 下一篇:可监护智能终端系统及其使用方法





