[发明专利]覆盖率测试方法、装置及存储设备在审
申请号: | 201810237218.7 | 申请日: | 2018-03-21 |
公开(公告)号: | CN108519945A | 公开(公告)日: | 2018-09-11 |
发明(设计)人: | 林英 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 深圳翼盛智成知识产权事务所(普通合伙) 44300 | 代理人: | 黄威 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 版本代码 代码覆盖 覆盖信息 覆盖率测试 测试应用程序 差异信息 存储设备 应用程序 覆盖 映射 覆盖率 | ||
本发明实施例公开了一种覆盖率测试方法、装置及存储设备,其中覆盖率测试方法包括:获取测试应用程序的第一版本代码得到的第一覆盖信息文件,以及获取测试应用程序的第二版本代码得到的第二覆盖信息文件,所述第一覆盖信息文件中包括所述第一版本代码的代码覆盖行,所述第二覆盖信息文件中包括所述第二版本代码的代码覆盖行;对比所述第一版本代码和所述第二版本代码,得到所述第一版本代码与所述第二版本代码的代码差异信息;根据所述代码差异信息将所述第一版本代码的代码覆盖行映射至所述第二版本代码,得到所述第二版本代码的历史覆盖行;根据所述第二版本代码的历史覆盖行和所述第二版本代码的代码覆盖行,计算所述应用程序的整体覆盖率。
技术领域
本发明实施例涉及软件测试技术领域,特别是涉及一种覆盖率测试方法、装置及存储设备。
背景技术
覆盖率是软件测试中的一种度量,其描述程序中代码被执行的比例和程度。覆盖率测试是一种有效发现问题的手段,通过对代码覆盖率进行分析,可以快速定位到哪些代码是没有运行的,从而构造相应的测试用例来覆盖这些代码,以发现软件设计中存在的缺陷和错误。
目前,软件代码覆盖率测试广泛使用的是gcov工具(一款代码覆盖率检测工具),它通过编译阶段,在当前版本代码中插入探针函数(也称插桩,用来标识代码的运行次数),来记录代码是否运行,并根据记录的运行信息分析出当前版本代码的覆盖情况。
测试时,首先将探针函数的位置信息记录在一个文件中,通常将该位置信息记录在以.gcno结尾的文件中,后面简称为gcno文件。
在程序运行过程中,对代码的覆盖信息进行统计,即运行过的代码,相应的探针函数便会计数,最后将统计的覆盖信息写入一个文件中,通常将该覆盖信息记录在以.gcda结尾的文件中,后面简称为gcda文件。
将gcno文件和gcda文件置于同一目录下,测试结束时,如图1所示,采用gcov工具从gcno文件和gcda文件中收集和汇总代码的覆盖率信息,产出当前版本的覆盖率报告。
上述覆盖率检测工具只能得到单个版本的覆盖率信息,但是,在实际测试过程中,由于开发人员在不断地对应用程序进行漏洞修复、需求开发,这是一个不断迭代的过程,使得同一应用程序往往会存在多个版本,单个版本的覆盖率情况对我们的意义并不大,从产品管理的过程来看,更希望能够拿到整个测试过程中应用程序的整体的覆盖率信息。
发明内容
本发明实施例提供了一种覆盖率测试方法、装置及存储设备,能够得到应用程序的整体覆盖率。
本发明实施例提供的覆盖率测试方法,包括:
获取测试应用程序的第一版本代码得到的第一覆盖信息文件,以及获取测试所述应用程序的第二版本代码得到的第二覆盖信息文件,所述第一覆盖信息文件中包括所述第一版本代码的代码覆盖行,所述第二覆盖信息文件中包括所述第二版本代码的代码覆盖行;
对比所述第一版本代码和所述第二版本代码,得到所述第一版本代码与所述第二版本代码的代码差异信息;
根据所述代码差异信息将所述第一版本代码的代码覆盖行映射至所述第二版本代码,得到所述第二版本代码的历史覆盖行;
根据所述第二版本代码的历史覆盖行和所述第二版本代码的代码覆盖行,计算所述应用程序的整体覆盖率。
本发明实施例提供的覆盖率测试装置,包括:
获取单元,用于获取测试应用程序的第一版本代码得到的第一覆盖信息文件,以及获取测试所述应用程序的第二版本代码得到的第二覆盖信息文件,所述第一覆盖信息文件中包括所述第一版本代码的代码覆盖行,所述第二覆盖信息文件中包括所述第二版本代码的代码覆盖行;
对比单元,用于对比所述第一版本代码和所述第二版本代码,得到所述第一版本代码与所述第二版本代码的代码差异信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810237218.7/2.html,转载请声明来源钻瓜专利网。