[发明专利]一种面向对象软件的类簇测试方法有效
申请号: | 201610021303.0 | 申请日: | 2016-01-13 |
公开(公告)号: | CN105528296B | 公开(公告)日: | 2018-10-23 |
发明(设计)人: | 于海;王莹;朱志良;赵玉丽;张伟 | 申请(专利权)人: | 东北大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 沈阳东大知识产权代理有限公司 21109 | 代理人: | 胡晓男 |
地址: | 110819 辽宁*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 对象 软件 测试 方法 | ||
本发明提供一种面向对象软件的类簇测试方法,将待测试软件系统构建为有向环路网络;遍历有向环路网络中的所有类节点计算测试重要度;遍历有向环路网络中的所有强连通分量,计算各环路中的各条边所对应的测试桩复杂度;对环路中的每一条边赋予权值并进行移除环路操作;生成类级集成测试序列对待测试软件系统进行类簇测试。本发明将软件系统中容易出错的类以及发生错误后波及范围较大的类视为重要测试节点,将类的复杂性和类的错误传播影响力结合起来,以尽早发现软件缺陷和有效控制错误的传播范围为测试目标,结合类的测试重要度打破软件系统网络的环路,生成集成测试序列,既保证测试重要度值高的节点优先被测试,又降低了测试桩总体复杂度。
技术领域
本发明涉及软件可靠性研究领域,特别涉及一种面向对象软件的类簇测试方法。
背景技术
集成测试序列是指在面向对象软件的类簇测试中,由于类之间的依赖关系所决定的类被先后测试的顺序。按照测试序列进行集成测试的主要思想是确保先测试不依赖于其他类的类节点,然后测试那些依赖于已经测试完毕的类的类节点,这样可以有效减少测试桩和测试驱动器的构建,从而达到降低测试成本的目的。如果软件系统的类间依赖关系不存在环路,则可以直接通过逆向拓扑排序生成集成测试序列。但在实际操作过程中,软件的复杂性使得测试人员需要通过删除类间的依赖关系来进行破环操作,同时引入软件测试桩来模拟两个类之间的对象交互行为,给待测试的类提供调用的属性和方法。为保证尽量做到模拟的类和实际功能执行过程中用到的真实类一致,测试桩中的输入值和期望输出值需要预先设定,由此可见,构造一个测试桩的代价是相当大的。为降低测试成本,传统的类级集成测试顺序研究策略大多围绕如何减少构建测试桩数量和降低测试桩总体复杂度两个方面。
Kung等人1996年在《On regression testing of object-oriented programs》首次提出了对象关系图的概念用于表示对象之间的有向依赖关系;并提出了其重要的观点——在继承、聚合和关联关系中,关联关系属于弱链接关系,在破环操作时可以考虑移除。他的观点对集成测试顺序的研究有着深远影响和意义,被运用于研究人员的集成测试策略中。Le Traon等人采用基于测试依赖图模型的方法进行集成测试,在不区分边依赖类型的情况下,减少测试桩的数量。但是该方法在生成测试顺序是具有不确定性,导致不同的检索方式下,构造的测试桩数目差异较大。Briand等人利用遗传方法,提出了生成测试序列的方法,并基于类间的耦合度量给出了估算测试桩复杂度的公式。Zhang等人提了一种新的度量测试桩复杂度的计算方法,同时考虑类间的属性、方法调用关系,传递参数个数以及返回参数类型。以确保测试桩复杂度最小为前提,基于图论的启发式方法打破环路,最终生成集成测试序列。
复杂性高的潜在故障率较高,若将这样的类排在较后位置测试,则会导致错误延迟被发现,影响软件的测试效率。而软件故障并非均匀分布,一些简单的代码片段也可能包含错误,且如果其在系统运行时被多处、多次直接或间接调用,则会导致整个系统的崩溃。因此考虑类节点的传播影响性问题,可以及早降低系统的风险。上述研究在生成测试序列的同时,均未考虑测试的高效性和风险问题,具有一定的局限性。一组高效的集成测试序列的生成方法在软件测试领域具有重要的研究价值。
发明内容
针对现有技术存在的不足,本发明提供一种面向对象软件的类簇测试方法,在移除环路操作时,同时考虑类节点的测试重要性和需要构建的测试桩的复杂度,在节约测试成本的前提下,保证测试的高效性。
一种面向对象软件的类簇测试方法,包括:
步骤1:以类为节点、以类间依赖关系为边,将待测试软件系统构建为有向环路网络;
步骤2:遍历有向环路网络中的所有类节点,根据每个类节点的拓扑结构特征计算描述该类节点的复杂程度与影响程度的测试重要度;
步骤3:遍历有向环路网络中的所有强连通分量,计算各强连通分量内各环路中的各条边所对应的测试桩复杂度,即为该条边的起始类节点模拟终止类节点构造的测试桩的难易程度;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东北大学,未经东北大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610021303.0/2.html,转载请声明来源钻瓜专利网。