[发明专利]一种选取路径的方法及装置有效
申请号: | 201210150054.7 | 申请日: | 2012-05-07 |
公开(公告)号: | CN102681939A | 公开(公告)日: | 2012-09-19 |
发明(设计)人: | 宫云战;王雅文;王思岚;黄俊飞;金大海 | 申请(专利权)人: | 北京邮电大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京派特恩知识产权代理事务所(普通合伙) 11270 | 代理人: | 张颖玲;任媛 |
地址: | 100876 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 选取 路径 方法 装置 | ||
技术领域
本发明涉及软件测试领域中的单元测试技术,尤其涉及一种选取路径的方法及装置。
背景技术
单元测试是软件测试中最低级别的测试活动,通过使用单元测试技术,能够发现被测试软件中的大部分错误。所述单元测试为通过测试路径来进行测试的方法,具体为:为目标覆盖元素选定测试路径;基于该测试路径生成测试用例,运行测试用例测试单元中的所有元素。
但是,上述方法中为目标覆盖元素选定测试路径后,不再进行路径重选,如此,当初次选取的测试路径为不可达路径时,就会在进行单元测试时无法覆盖测试路径内的所有元素,从而影响单元测试的覆盖率。
可见,现有的单元测试中选取路径的方法,由于没有为目标覆盖元素进行路径重选,导致影响单元测试的覆盖率。
发明内容
有鉴于此,本发明的目的在于提供一种选取路径的方法及装置,能为目标覆盖元素进行路径重选,提高单元测试的覆盖率。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种选取路径的方法,该方法包括:
当确定为目标覆盖元素选取的初始路径为不可达路径,并且确定目标覆盖元素的重选路径为不可达路径时,利用保存的不可达路径为目标覆盖元素选出子路径,若检测出该子路径可达,则确定该子路径为目标覆盖元素的可达路径。
上述方案中,所述确定为目标覆盖元素选取的初始路径为不可达路径,包括:为目标覆盖元素选取初始路径,检测初始路径是否为不可达路径,如果是,则确定为目标覆盖元素选取的初始路径为不可达路径;否则,确定初始路径作为目标覆盖元素的可达路径。
上述方案中,所述确定为目标覆盖元素选取的初始路径为不可达路径之后,该方法还包括:为目标覆盖元素重选路径,检测重选路径是否为不可达路径,如果是,则确定重选路径为不可达路径;否则,将重选路径作为目标覆盖元素的可达路径。
上述方案中,所述为目标覆盖元素重选路径,包括:
从初始路径中找到判定节点或交换节点作为当前节点,根据所述当前节点选出入口分支;
判断所述入口分支中是否包含目标覆盖元素,如果包含,则选出当前节点到出口节点之间不包括可替换节点的路径片段,将选出的路径片段补充到入口分支得到完整路径作为重选路径;
如果不包含,则判断是否存在不包括可替换位置的路径片段能够覆盖入口分支及目标覆盖元素,如果存在,则将入口分支更新为所述路径片段,选出所述路径片段最后一个节点到出口节点之间的路径片段,将选出的路径片段补充到入口分支得到完整路径作为重选路径;
如果不存在,则判断是否能够根据所述当前节点选出另一条入口分支,如果不能,则继续从初始路径中查找判定节点或交换节点作为当前节点;否则,选出另一条入口分支,继续判断所述入口分支中是否包含目标覆盖元素。
上述方案中,所述利用保存的不可达路径为目标覆盖元素选出子路径,若检测出该子路径可达,则确定该子路径作为目标覆盖元素的可达路径,包括:
从保存的不可达路径中选出不可达路径,利用该不可达路径,得到从该不可达路径中的第一个节点到目标覆盖元素组成的子路径;
检测该子路径是否为不可达路径,如果不是,则确定该子路径作为目标覆盖元素的可达路径,结束处理流程;
否则,判断当前是否仍保存有不可达路径,如果没有,则结束子路径选取,确定无可达路径,结束处理流程;否则,继续从保存的不可达路径中选出不可达路径。
本发明还提供了一种选取路径的装置,该装置包括:路径选取模块、路径检测模块和存储模块;其中,
路径选取模块,用于当确定为目标覆盖元素选取的初始路径为不可达路径,并且确定目标覆盖元素的重选路径为不可达路径时,利用存储模块保存的不可达路径为目标覆盖元素选出子路径,将子路径发送给路径检测模块,以及接收路径检测模块返回的检测结果,若检测结果为该子路径为可达路径,则确定该子路径为目标覆盖元素的可达路径;
路径检测模块,用于接收路径选取模块发来的子路径,检测该子路径是否为不可达路径,向路径选取模块发送检测结果;
存储模块,用于为路径检测模块提供保存的不可达路径。
上述方案中,所述路径选取模块,还用于为目标覆盖元素选取初始路径,将初始路径发送给路径检测模块,以及接收路径检测模块发来的检测结果,如果检测结果为该路径为不可达路径,则确定初始路径为不可达路径,否则,确定初始路径作为目标覆盖元素的可达路径;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京邮电大学,未经北京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210150054.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:多节绞龙连接件
- 下一篇:水准尺倾斜的校正装置