[发明专利]一种发现大型面向对象软件系统关键测试函数的方法有效
申请号: | 201510381534.8 | 申请日: | 2015-07-02 |
公开(公告)号: | CN105022689B | 公开(公告)日: | 2017-11-28 |
发明(设计)人: | 胡昌振;赵小林;张奇;高佳童;胡晶晶 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京理工大学专利中心11120 | 代理人: | 付雷杰,杨志兵 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 发现 大型 面向 对象 软件 系统 关键 测试 函数 方法 | ||
1.一种发现大型面向对象软件系统关键测试函数的方法,其特征在于,包括如下步骤:
步骤1,绘制软件系统的类协作网络:以类为节点,类之间的函数调用为弧绘制软件的类协作网络图,其中,若B类调用了A类,则弧<A,B>由A类指向B类,A为弧尾、B为弧头;并定义一条弧的重要度为:在类协作网络中以该弧为起始弧、可以遍历到的弧的数量;
步骤2,计算类协作网络图中每条弧的重要度,计算方法为:弧<i,j>的重要度Wij为从该弧的弧头节点j出发、所有可以遍历到的弧的总数Sj,即可达弧总数;
步骤3,弧<i,j>的可达弧总数即为弧头节点j的可达弧总数;对所有类节点按可达弧总数由大到小进行排序,选择前20%的类节点,以这些类节点为弧头的弧即为关键弧;
步骤4,根据关键弧的弧头类节点和弧尾类节点信息定位到软件系统中的对应的两个类,构成两个类之间耦合关系的函数调用关系即为关键测试函数。
2.如权利要求1所述的发现大型面向对象软件系统关键测试函数的方法,其特征在于,步骤2中类协作网络图中任意一条弧<i,j>的重要度计算方法如下:
步骤2.1,设置一个container容器存储以弧<i,j>弧头节点j为起始节点遍历类协作网络图时所经过的弧;初始为空;
步骤2.2,以弧<i,j>的弧头节点j为起始节点对类协作网络图按遍历规则进行遍历,遍历过程中每经过一条弧,将该弧与container容器存储的弧进行比较:如果container容器中未存储该弧,则将该弧存入container容器中,继续遍历;如果container容器中已经存储了该弧,则不再存储,按遍历规则从下一个可遍历节点继续遍历,直至遍历结束;
步骤2.3,遍历结束后,容器container存储的弧的总数Sj即为弧<i,j>的重要度Wij。
3.如权利要求1所述的发现大型面向对象软件系统关键测试函数的方法,其特征在于,步骤2中类协作网络图中任意一条弧<i,j>的重要度计算方法如下:
步骤2.1,设置一个数组用于存储类协作网络图中的所有类节点的标示;类节点的标示为两种:“F”表示该节点未被访问过;“T”表示已被访问过;初始状态,所有类节点标示为“F”;设置一个计数器,初始状态为0;
步骤2.2,以弧<i,j>的弧头节点j为起始节点对类协作网络图按遍历规则进行遍历,遍历过程中每经过一条弧,计数器数值加1,同时判断该弧弧头节点在数组中的标示是否为“F”,如 果是,则将其标记修改为“T”,表明已被访问,然后继续遍历;如果不是,则表明该节点已被访问,按遍历规则从下一个可遍历节点继续遍历,直至遍历结束;
步骤2.3,遍历结束后,计数器的数值Sj即为弧<i,j>的重要度Wij。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510381534.8/1.html,转载请声明来源钻瓜专利网。