[发明专利]测试程序代码路径覆盖率的方法以及装置在审

专利信息
申请号: 201610852995.3 申请日: 2016-09-27
公开(公告)号: CN107870853A 公开(公告)日: 2018-04-03
发明(设计)人: 郝旭;李金萍;朱月飞 申请(专利权)人: 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 中原信达知识产权代理有限责任公司11219 代理人: 张一军,姜劲
地址: 100195 北京市海淀区杏石口路6*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 测试 程序代码 路径 覆盖率 方法 以及 装置
【说明书】:

技术领域

发明涉及计算机及其软件技术领域,特别地涉及一种测试程序代码路径覆盖率的方法以及装置。

背景技术

在整个软件开发生命周期过程中,代码实现后,需要对软件进行代码层面上的单元测试,测试代码中的每个方法、每个函数的覆盖率是否达标。代码覆盖率(Code Coverage)是反映测试用例对被测软件覆盖程度的重要指标,也是衡量测试工作进展情况的重要指标,它也是对测试工作进行量化的重要指标之一。根据其覆盖内容的不同,又可以细分为:语句覆盖、分支覆盖、条件覆盖以及路径覆盖。在理想状态下,一个完美的软件,其语句覆盖率、分支覆盖率、条件覆盖率、路径覆盖率均需达到100%,这样的软件才够健壮。然而在现实状态下,往往由于技术要求、代码复杂度、完成时间节点、测试工具等各方面原因的限制,无法做到尽善尽美,这样也为软件留下了潜在的风险。

语句覆盖率:又称行覆盖(Line Coverage),段覆盖(Segment Coverage),基本块覆盖(Basic Block Coverage),这是最常用也是最常见的一种覆盖方式,即度量被测代码中每个可执行语句是否被执行到了。

分支覆盖率:又称判定覆盖(Decision Coverage),它度量程序中每一个判定的分支是否都被测试到了。

条件覆盖率:它度量判定语句中的每个子表达式的结果true和false是否被测试到。

路径覆盖率:它度量了函数的每一个分支是否都被执行了,就是所有可能的分支都执行一遍;有多个分支嵌套时,需要对多个分支进行排列组合。路径覆盖率=覆盖的路径数/总路径数。

现有的代码覆盖率统计工具往往都只关注语句覆盖率、分支覆盖率和条件覆盖率,基本忽略了路径覆盖率,对于代码较复杂,各种路径的排列组合较多的程序,软件存在潜在的风险。目前的代码覆盖率的测试以及显示方法可以参考图1,具体包括如下步骤:(1)搭建被测试对象的测试工程;(2)编写测试用例;(3)接着进行插桩;(4)接着Mock被调用类;(5)执行测试用例;(6)查看被测试对象的执行情况,未执行语句或分支以红色字体标出,未覆盖的条件以黄色字体标出,已覆盖的部分以绿色字体标出;(7)再次编写测试用例,覆盖未执行部分,继续执行;(8)查看语句、分支和条件覆盖率的统计结果;(9)达到覆盖率要求,测试结束。

由上可知,传统的覆盖率统计是基于代码行,未执行的语句和分支标红显示,未执行的条件标黄显示,对于语句、分支、条件均已覆盖,但各种路径的排列组合尚未完全覆盖的情况,无任何特殊标记,无法区分,不能查看到当前已覆盖和未覆盖路径的情况,不便于测试人员有针对性的编写路径覆盖测试用例;对于整个被测试程序的语句、分支、条件和路径没有整体的形象化的显示,不利于对程序整体方向上的掌控和分析。

发明内容

有鉴于此,本发明提供一种稳定可靠、用户体验良好的方法以及系统。

为实现上述目的,根据本发明的一个方面,提供了一种测试程序代码路径覆盖率的方法。

本发明的测试程序代码路径覆盖率的方法包括:按照被测程序控制流关系和预先设置的绘图规则,绘制所述被测程序的可视化串并联结构图;根据所述可视化串并联结构图确定所述被测程序的具体路径总数量;枚举所述被测程序的所有具体路径以得到具体路径总列表;根据所述具体路径总列表确定所述被测程序当前已完成具体路径数量,然后根据所述当前已完成具体路径数量和所述具体路径总数量计算路径覆盖率。

可选地,在所述按照被测程序控制流关系和预先设置的绘图规则,绘制所述被测程序的可视化串并联结构图的步骤之前,还包括:对所述被测程序的源代码进行关键字插桩,然后进行词法分析和语法分析,以得到所述被测程序控制流关系。

可选地,所述预先设置的绘图规则包括:根据循环结构绘制进入循环和不进入循环的两个并联分支;根据判断结构绘制肯定和否定的两个并联分支;根据分支结构绘制多个并联分支;根据赋值结构或调用结构,将嵌套内容绘制成串联连接形式。

可选地,所述枚举所述被测程序的所有具体路径的步骤包括:根据程序可视化串并联结构图,基于各个串联节点相互关联、各个并联节点相互独立的原则对路径片段进行排列组合,记录所述程序可视化串并联结构图上显示的所有具体路径。

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

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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