[发明专利]代码覆盖率测试方法及系统在审
申请号: | 201710041647.2 | 申请日: | 2017-01-18 |
公开(公告)号: | CN106844209A | 公开(公告)日: | 2017-06-13 |
发明(设计)人: | 陈星 | 申请(专利权)人: | 广州唯品会信息科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 深圳市世纪恒程知识产权代理事务所44287 | 代理人: | 胡海国 |
地址: | 510000 广东省广州市荔湾区芳村*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 覆盖率 测试 方法 系统 | ||
技术领域
本发明涉及软件测试技术领域,尤其涉及一种代码覆盖率测试方法及系统。
背景技术
在软件测试中,代码覆盖率常常被拿来作为衡量测试好坏的指标,在对一个软件产品进行了单元测试、组装测试、集成测试以及接口测试等繁多的测试之后,代码覆盖率为这些测试提供了可以量化的保证,但目前的代码覆盖率测试没有形成系统,导致很多黑盒测试人员难以统计已测试代码,获取代码覆盖率困难。
发明内容
本发明的主要目的在于提供一种代码覆盖率测试方法及系统,旨在降低获取代码覆盖率的难度。
为实现上述目的,本发明提供一种代码覆盖率测试方法,所述代码覆盖率测试方法包括以下步骤:
获取被测试项目的源代码,在所述源代码中插入测试登记代码;
在测试时,接收所述测试登记代码所产生的测试登记信息;
根据测试登记信息生成测试覆盖率报告。
优选地,所述根据测试登记信息生成测试覆盖率报告包括:
持久化由单个测试终端产生的所述测试登记信息,并形成测试登记文件;
收集多个测试终端产生的所述测试登记文件,并生成所述测试覆盖率报告。
优选地,所述在测试时,接收所述测试登记代码所产生的测试登记信息包括:
接收所述测试登记信息,所述测试登记信息包括所述测试登记代码所在类的信息;
根据所述测试登记信息,标记所述测试登记代码所在类为已测试类。
优选地,所述获取被测试项目的源代码,在所述源代码中插入测试登记代码包括:
获取java格式的所述源代码;
在所述源代码中插入所述测试登记代码;
编译java格式文件生成class格式文件。
优选地,所述在所述源代码中插入所述测试登记代码包括
获取要插入代码位置的特征;
生成使用面向切面技术在所述特征的位置插入执行所述测试登记代码的java格式文件。
此外为实现上述目的,本发明提供一种代码覆盖率测试系统,所述代码覆盖率测试系统包括:
获取模块,用于获取被测试项目的源代码,在所述源代码中插入测试登记代码;
接收模块,用于在测试时,接收所述测试登记代码所产生的测试登记信息;
生成模块,用于根据测试登记信息生成测试覆盖率报告。
优选地,所述生成模块包括:
持久化单元,用于持久化由单个测试终端产生的所述测试登记信息,并形成测试登记文件;
第一生成单元,用于收集多个测试终端产生的所述测试登记文件,并生成所述测试覆盖率报告。
优选地,所述接收模块包括:
接收单元,用于接收所述测试登记信息,所述测试登记信息包括所述测试登记代码所在类的信息;
标记单元,用于根据所述测试登记信息,标记所述测试登记代码所在类为已测试类。
优选地,所述获取模块包括:
第一获取单元,用于获取java格式的所述源代码;
插入模块,用于在所述源代码中插入所述测试登记代码;
编译单元,用于编译java格式文件生成class格式文件。
优选地,所述插入模块包括
第二获取单元,用于获取要插入代码位置的特征;
第二生成单元,用于生成使用面向切面技术在所述特征的位置插入执行所述测试登记代码的java格式文件。
本发明通过根据通过获取被测试项目的源代码,在所述源代码中插入测试登记代码;在测试时,接收所述测试登记代码所产生的测试登记信息;根据测试登记信息生成测试覆盖率报告。本发明通过在执行代码中加入测试登记代码,使得测试测中,只要运行测试代码,在被插入所述测试代码内部的测试登记代码会自动进行登记,标记出已测试项目,方便的获取到代码覆盖率。
附图说明
图1为本发明代码覆盖率测试方法第一实施例的流程示意图;
图2为本发明代码覆盖率测试方法第二实施例中根据测试登记信息生成测试覆盖率报告步骤的细化流程示意图;
图3为本发明代码覆盖率测试方法第三实施例中在测试时,接收所述测试登记代码所产生的测试登记信息步骤的细化流程示意图;
图4为本发明代码覆盖率测试方法第四实施例中获取被测试项目的源代码,在所述源代码中插入测试登记代码步骤的细化流程示意图;
图5为本发明代码覆盖率测试方法第五实施例中在所述源代码中插入所述测试登记代码步骤的细化流程示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州唯品会信息科技有限公司,未经广州唯品会信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710041647.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种自动分料距机构
- 下一篇:一种卫生巾用的堆垛包装设备