代码覆盖率的处理方法、装置和计算机设备制造方法及图纸

技术编号:24090520 阅读:49 留言:0更新日期:2020-05-09 07:51
本申请涉及一种代码覆盖率的处理方法、装置、计算机设备和存储介质,所述方法包括:获取应用程序第二版本第二源代码与第一版本第一源代码的代码差异信息;获取第二源代码的第二类文件及第一源代码的第一类文件;从第二源代码的代码覆盖率数据文件获取代码差异信息的第二子代码覆盖率数据以及除第二子代码覆盖率数据之外的第三子代码覆盖率数据;从第一源代码的代码覆盖率数据文件获得除代码差异信息对应代码覆盖率数据之外的第一子代码覆盖率数据;将第一子代码覆盖率数据与第三子代码覆盖率数据合并处理得到第四子代码覆盖率数据,根据第二子代码覆盖率数据和第四子代码覆盖率数据生成第三代码覆盖率数据文件。上述方法能够减少代码重复测试。

Code coverage processing methods, devices and computer equipment

【技术实现步骤摘要】
代码覆盖率的处理方法、装置和计算机设备
本申请涉及软件测试
,特别是涉及一种代码覆盖率的处理方法、装置、计算机设备和存储介质。
技术介绍
在软件测试中,通常需要对软件测试过程进行代码覆盖率的统计。代码覆盖率表征了代码在测试中能够被覆盖的程度。一般地,软件测试员通过代码覆盖率的高低决定是否需要重复执行软件测试。当下的软件测试中,一个应用程序的发布版本由N个可测的小版本组成。也即是,针对每个对外发布的版本,开发人员会向服务器提交多次小版本的软件开发包。但每个提交的小版本,由于其软件测试后编译产物的标识码不同,各小版本间测试过程得到的代码覆盖率数据并不能直接合并。如果各小版本间的覆盖率数据不能合并,直接参考当前小版本的代码覆盖率数据容易造成重复测试。例如,当前小版本和上一小版本均包含某一代码,某一代码在上一版本已测试覆盖而在当前小版本中未测试覆盖,此时参照当前小版本的代码覆盖率数据需要对该代码重新测试,因此造成了该代码的重复测试。
技术实现思路
基于此,有必要针对上述技术问题,提供一种能够对多个版本的应用程序的代码覆本文档来自技高网...

【技术保护点】
1.一种代码覆盖率的处理方法,所述方法包括:/n获取应用程序的第二版本的第二源代码相对于所述应用程序的第一版本的第一源代码的代码差异信息;/n获取测试所述第二源代码时编译得到的第二类文件以及获取测试所述第一源代码时编译得到的第一类文件;/n根据所述第二类文件获取测试所述第二源代码时生成的第二代码覆盖率数据文件,并获取第二子代码覆盖率数据和第三子代码覆盖率数据,所述第二子代码覆盖率数据为所述第二代码覆盖率数据文件中所述代码差异信息对应的代码覆盖率数据,所述第三子代码覆盖率数据为所述第二代码覆盖率数据文件中除所述第二子代码覆盖率数据之外的代码覆盖率数据;/n根据所述第一类文件获取测试所述第一源代码...

【技术特征摘要】
1.一种代码覆盖率的处理方法,所述方法包括:
获取应用程序的第二版本的第二源代码相对于所述应用程序的第一版本的第一源代码的代码差异信息;
获取测试所述第二源代码时编译得到的第二类文件以及获取测试所述第一源代码时编译得到的第一类文件;
根据所述第二类文件获取测试所述第二源代码时生成的第二代码覆盖率数据文件,并获取第二子代码覆盖率数据和第三子代码覆盖率数据,所述第二子代码覆盖率数据为所述第二代码覆盖率数据文件中所述代码差异信息对应的代码覆盖率数据,所述第三子代码覆盖率数据为所述第二代码覆盖率数据文件中除所述第二子代码覆盖率数据之外的代码覆盖率数据;
根据所述第一类文件获取测试所述第一源代码时生成的第一代码覆盖率数据文件,从所述第一代码覆盖率数据文件中筛选出除所述代码差异信息映射在所述第一代码覆盖率数据文件中的代码覆盖率数据之外的第一子代码覆盖率数据;
将所述第一子代码覆盖率数据与所述第三子代码覆盖率数据进行合并处理,得到合并后的第四子代码覆盖率数据,根据所述第二子代码覆盖率数据和所述第四子代码覆盖率数据生成所述应用程序的第二版本的第三代码覆盖率数据文件。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据所述代码差异信息确定所述第二类文件中相对于所述第一类文件存在区别的差异行代码;所述第二子代码覆盖率数据为所述第二代码覆盖率数据文件中所述差异行代码对应的代码覆盖率数据;
所述从所述第一代码覆盖率数据文件中筛选出除所述代码差异信息映射在所述第一代码覆盖率数据文件中的代码覆盖率数据之外的第一子代码覆盖率数据,包括:从所述第一代码覆盖率数据文件中筛选出除所述差异行代码映射在所述第一代码覆盖率数据文件中的代码覆盖率数据之外的第一子代码覆盖率数据。


3.根据权利要求2所述的方法,其特征在于,所述根据所述代码差异信息确定所述第二类文件中相对于所述第一类文件存在区别的差异行代码,包括:
根据所述代码差异信息获取所述第二类文件中相对于所述第一类文件存在区别的差异方法名、差异代码分支名和/或差异代码的标号;
若存在所述差异方法名,获取所述差异方法名的差异方法,获取所述差异方法中存在的所述差异行代码;
若存在所述差异代码分支名,获取所述差异代码分支名的差异代码分支,获取所述差异代码分支中存在的所述差异行代码;
若存在所述差异代码的标号,获取所述差异代码的标号对应的差异代码,根据所述差异代码获取所述差异行代码。


4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若同时存在所述差异方法名和所述差异代码分支名,获取所述差异方法名的差异方法以及获取所述差异代码分支名的差异代码分支,根据所述差异方法获取所述第二类文件中相对于所述第一类文件存在区别的第一目标行代码,根据所述差异代码分支获取所述第二类文件中相对于所述第一类文件存在区别的第二目标行代码,当所述第一目标行代码和所述第二目标行代码匹配时将所述第一目标行代码或所述第二目标行代码作为所述差异行代码,当所述第一目标行代码和所述第二目标行代码不匹配时将所述第一目标行代码和所述第二目标行代码均作为所述差异行代码;
若同时存在所述差异方法名和所述差异代码的标号,获取所述差异方法名的差异方法以及获取所述差异代码的标号对应的差异代码,根据所述差异方法获取所述第二类文件中相对于所述第一类文件存在区别的第三目标行代码,根据所述差异代码获取所述第二类文件中相对于所述第一类文件存在区别的第四目标行代码,当所述第三目标行代码和所述第四目标行代码匹配时将所述第三目标行代码或所述第四目标行代码作为所述差异行代码,当所述第三目标行代码和所述第四目标行代码不匹配时将所述第三目标行代码和所述第四目标行代码均作为所述差异行代码;
若同时存在所述差异代码分支名和所述差异代码的标号,获取所述差异代码的标号的差异代码以及获取所述差异代码分支名的差异代码分支,根据所述差异代码获取所述第二类文件中相对于所述第一类文件存在区别的第五目标行代码,根据所述差异代码分支获取所述第二类文件中相对于所述第一类文件存在区别的第六目标行代码,当所述第五...

【专利技术属性】
技术研发人员:陈策
申请(专利权)人:广州品唯软件有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1