【技术实现步骤摘要】
确定测试代码覆盖率的方法、装置和电子设备
[0001]本申请属于计算机信息处理领域,具体涉及一种确定测试代码覆盖率的方法、装置和电子设备。
技术介绍
[0002]代码覆盖(Code coverage)是软件测试中的一种度量,描述程序中源代码被测试的比例和程度,所得比例称为代码覆盖率。代码覆盖率是衡量测试质量的一个重要指标。在软件产品开发过程中,需要通过对产品代码覆盖率进行测试,以验证软件产品的质量。如果测试结果表明仅覆盖了代码的一小部分,那么无法保证软件产品质量是有保证的;相反,如果测试覆盖到了软件的绝大部分代码,才能够确保软件产品的测试是有效的。
[0003]目前,一般使用开源的覆盖率工具jacoco统计测试白盒覆盖率,获取应用代码的覆盖率情况,但现有技术中如果应用代码只修改了一部分,在每次覆盖率测试时仍需要全部重新测试所有应用,比较浪费时间;另外,目前对覆盖率的测试需要基于同一环境执行,不能分布式从多套环境中获取覆盖率数据,需要分别进行不同环境中的覆盖率测试,效率较低。
[0004]因此,目前亟需一种确定测试代码覆盖率的方法及系统,以提高获取测试覆盖率的效率。
技术实现思路
[0005]本申请实施例的目的是提供一种确定测试代码覆盖率的方法、装置和电子设备,能够提高获取测试覆盖率的效率。
[0006]第一方面,提供一种确定测试代码覆盖率的方法,包括:获取覆盖测试任务的轨迹文件,所述覆盖测试任务包括对多个应用进行覆盖测试的任务,所述轨迹文件中包括所述多个应用分别在对应的服务器中 ...
【技术保护点】
【技术特征摘要】
1.一种确定测试代码覆盖率的方法,其特征在于,包括:获取覆盖测试任务的轨迹文件,所述覆盖测试任务包括对多个应用进行覆盖测试的任务,所述轨迹文件中包括所述多个应用分别在对应的服务器中进行覆盖测试得到的代码覆盖标记,一个应用对应至少一个服务器;确定所述多个应用中各目标应用对应的测试版本代码与各目标应用对应的基准版本代码之间的差异代码;根据所述多个应用中各目标应用对应的差异代码和所述轨迹文件,确定所述覆盖测试任务的测试覆盖率。2.根据权利要求1所述的方法,其特征在于,所述多个应用中目标应用的代码覆盖标记包括目标应用的加入的字节码增强技术所存储的执行信息数据;所述获取覆盖测试任务的轨迹文件,包括:获取所述多个应用中目标应用的端口信息和目标应用所属服务器的地址信息;根据所述多个应用中各目标应用的端口信息和各目标应用对应的服务器的地址信息,分别建立与所述多个应用中各目标应用的长连接;分别通过所述多个应用中各目标应用对应的长连接,获取所述多个应用中各目标应用加入的字节码增强技术所存储的执行信息数据;根据所述多个应用中各目标应用的加入的字节码增强技术所存储的执行信息数据,生成所述轨迹文件。3.根据权利要求2所述的方法,其特征在于,在通过所述多个应用中的任一个目标应用对应的长链接,获取目标应用的加入的字节码增强技术所存储的执行信息数据之前,所述方法还包括:向所述多个应用中的目标应用对应的服务器上传目标应用对应的覆盖率工具包,其中,目标应用对应的覆盖率工具包用于对目标应用进行覆盖率测试。4.根据权利要求1所述的方法,其特征在于,根据所述多个应用中各应用对应的差异代码和所述轨迹文件,确定所述覆盖测试任务的测试覆盖率,包括:根据所述多个应用中目标应用对应的差异代码,以及所述轨迹文件中目标应用对应的测试代码标记,确定目标应用的测试版本代码相对于基准版本代码的增量测试覆盖率;根据所述多个应用中各目标应用的增量测试覆盖率及各目标应用的基准版本代码的全量测试覆盖率,确定根据所述多个应用中各目标应用的测试版本代码的全量测试覆盖率,其中,所述覆盖测试任务的测试覆盖率为全量测试覆盖率;或者根据所述多个应用中目标应用对应的差异代码,以及所述轨迹文件中目标应用对应的测试代码标记,确定目标应用的测试版本代码相对于基准版本代码的增量测试覆盖率,其中,所述覆盖测试任务的测试覆盖率为增量测试覆盖率。5.根据权利要求4所述的方法,其特征在于,所述确定所述多个应用中各目标应用对应的测试版本代码与各目标应用对应的基准版本代码之间的差异代码,包括:使用版本差异工具对所述多个目标应用的测试版本代码与所述目标应用的基准版本代码进行比较,以生成各所述目标应用对应的差异数组,所述差异素组中存储目标应用的测试版本代码与基准版本代码之间的差异代码对应的差异代
码标识和差异类型;根据所述多个应用中目标应用对应的差异代码,以及所述轨迹文件...
【专利技术属性】
技术研发人员:陈学涛,周林,孙磊,吴海英,吴鹏,刘洪政,
申请(专利权)人:马上消费金融股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。