[发明专利]覆盖率检测的启动方法、装置和启动设备在审

专利信息
申请号: 201611083726.1 申请日: 2016-11-30
公开(公告)号: CN106776296A 公开(公告)日: 2017-05-31
发明(设计)人: 衣建中 申请(专利权)人: 网易(杭州)网络有限公司
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 北京同立钧成知识产权代理有限公司11205 代理人: 杨泽,刘芳
地址: 310052 浙江省杭州*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 覆盖率 检测 启动 方法 装置 设备
【说明书】:

技术领域

发明涉及计算机技术领域,尤其涉及一种覆盖率检测的启动方法、装置和启动设备。

背景技术

代码覆盖率测试,是软件测试过程中最重要的测试方法和测试效果衡量标准之一,覆盖率指的是源代码执行过程中被测试所覆盖到代码的比例和程度,通常用百分比表示。

对不同的编程语言来说,都有相应的检测代码覆盖率的方法。在针对游戏服务器的python代码覆盖率检测的过程中,通常使用的技术方案是利用python自带的sys.settrace函数进行数据收集和处理,在停止采集之后,一次性地导出覆盖率数据报告。由于代码覆盖率检测的实时性要求,随着游戏规模的增大和项目的发展,需要测试的代码量越来越高,如何更好地维护和存储覆盖率测试中获取的覆盖率数据成为了必须解决的问题。一般来说,覆盖率数据,包括了文件覆盖率数据和目录覆盖率数据,每个文件的已执行过的代码行号集合,该文件总的可执行代码行号集合等等,而每当有新的覆盖率数据到来,比如某个文件的一些代码被执行,那么就需要重新计算当前文件、当前文件所在的目录甚至于总体的覆盖率数据。目前一种具体的获取覆盖率数据的方式是利用python的sys模块中提供settrace函数,跟踪代码的执行情况,将覆盖率数据存储到Collector中的Stack中。每当开始采集时,Collector不断执行入栈操作,停止采集时,通过出栈操作即可获取已采集的覆盖率数据。

然而,每次启动覆盖率检测,都需要读取所有代码的目录结构,并且需要解析每个文件的可执行代码行总数,因此当项目规模和代码量较大时,启动这一步骤会带来极大的性能和时间消耗,而代码又在不断地迭代开发中,启动操作十分频繁。

发明内容

本发明实施例提供一种覆盖率检测的启动方法、装置和启动设备,用于解决每次启动覆盖率检测,都需要读取所有代码的目录结构,并且需要解析每个文件的可执行代码行总数,因此当项目规模和代码量较大时,启动这一步骤会带来极大的性能和时间消耗的问题。

本发明第一方面提供一种覆盖率检测的启动方法,包括:

当获取到覆盖率检测启动指令时,根据所述覆盖率检测启动指令中的待检测文件和所述待检测文件的待检测版本号码,检测本地存储的文件目录数据中是否存在所述待检测文件的所述待检测版本号码对应的数据;

若不存在,则根据差异获取函数将所述文件目录数据中所述待检测文件的当前目录数据更新为所述待检测版本号码对应的新的目录数据,得到新的文件目录数据;

将所述新的文件目录数据发送至覆盖率服务器。

可选的,所述方法还包括:

若存在,则将所述文件目录数据发送至所述覆盖率服务器。

可选的,所述方法还包括:

所述文件目录数据用于由覆盖率服务器计算得到所述待检测文件的代码覆盖率。

可选的,所述根据所述覆盖率检测启动指令中的待检测文件和所述待检测文件的待检测版本号码,检测本地存储的文件目录数据中是否存在所述待检测文件的所述待检测版本号码对应的数据之前,所述方法包括:

当本地不存在文件目录数据时,根据每个文件的文件名称和目录信息生成树形存储结构的所述文件目录数据;其中,所述树形存储结构的根节点下包括至少一层以目录信息以及文件名称逐层建立的子节点;每个节点的目录数据包括其下层子节点的目录数据的集合。

可选的,所述根据差异获取函数将所述文件目录数据中所述待检测文件的当前目录数据更新为所述待检测版本号码对应的新的目录数据,得到新的文件目录数据,包括:

获取所述待检测文件的最新一次更新的版本号码对应的目录数据;

根据所述待检测版本号码和所述文件目录数据中所述待检测文件的最新一次更新的版本号码,采用所述差异获取函数,获取所述待检测文件发生的变化;

若所述变化为修改和或添加,对所述发生变化的代码进行代码解析,得到所述新的目录数据;

若所述变化为删除,则直接删除所述待检测文件当前目录数据中被删除的部分,得到所述新的目录数据。

本发明第二方面提供一种覆盖率检测的启动装置,包括:

获取模块,用于获取到覆盖率检测启动指令;

处理模块,用于当所述获取模块获取到覆盖率检测启动指令时,根据所述覆盖率检测启动指令中的待检测文件和所述待检测文件的待检测版本号码,检测本地存储的文件目录数据中是否存在所述待检测文件的所述待检测版本号码对应的数据;

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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