【技术实现步骤摘要】
基于版本分支的覆盖率统计方法及装置
[0001]本申请涉及程序开发领域,可应用于金融领域和其他领域,尤指一种基于版本分支的覆盖率统计方法及装置。
技术介绍
[0002]程序覆盖率是指运行项目中的测试方法后,能够执行的语句和所有语句的比值,程序覆盖率反映代码的被测试情况,是软件测试中种衡量代码质量一种指标。
[0003]目前覆盖率的统计流程:使用持续集成调试工具Jenkins,驱动测试工具Junit或Testng跑测试案例,使用Jacoco覆盖率工具生成覆盖率结果,把覆盖率结果文件推送到代码质量平台Sonarqube展示并统计结果。执行全量的程序案例,对覆盖的代码进行标识,与全行可覆盖率的代码对比,可得到覆盖率。全量覆盖率=被覆盖率代码/需要覆盖的代码。把代码行根据当前的变更情况标识为是否当期版本变更的程序,如果为当期版本变更,则标识为变更代码行,新增代码行中。变更程序覆盖率反映当期版本修改程序被测试代码的覆盖率,代码修改后存在风险,需要重点关注。变更代码覆盖率=变更代码中被覆盖的代码行/变更代码中需要覆盖的代码行。在 ...
【技术保护点】
【技术特征摘要】
1.一种基于版本分支的覆盖率统计方法,其特征在于,所述方法包含:根据预设周期版本分支模型通过项目的投产时间批次创建版本分支,根据程序记录提交信息对应的版本信息将所述程序记录提交信息按所述版本分支登记至变更程序清单;根据流水线覆盖率统计任务获得待统计覆盖率项目的版本信息,根据所述版本信息调取对应的版本库,并根据版本信息对应的版本分支获得版本库内对应分支构建时的初始时间信息;根据所述初始时间信息利用代码扫描获取版本库在原始状态下的基准版本数据,并根据所述变更程序清单对最新状态下的版本库进行单元测试和代码扫描获得测试覆盖率结果和当前版本数据;根据当前版本数据和基准版本数据的比较结果获得变更行信息,根据变更行信息对所述测试覆盖率结果进行行信息处理计算获得变更行覆盖率,根据所述变更行覆盖率和所述测试覆盖率结果获得覆盖率统计结果。2.根据权利要求1所述的基于版本分支的覆盖率统计方法,其特征在于,根据预设周期版本分支模型通过项目的投产时间批次创建版本分支包含:根据git代码管理工具通过预设周期的版本分支模型利用项目的投产批次构建一个或多个版本分支。3.根据权利要求1所述的基于版本分支的覆盖率统计方法,其特征在于,根据程序记录提交信息对应的版本信息将所述程序记录提交信息按所述版本分支登记至变更程序清单包含:根据程序记录提交信息对应的版本信息将所述程序记录提交信息区分为当前版本修改程序或上周期版本并行开发的同步归并程序;根据区分结果生成对应的标识信息,将所述标识信息与所述程序记录提交信息绑定后,按版本分支登记至变更程序清单。4.根据权利要求3所述的基于版本分支的覆盖率统计方法,其特征在于,根据所述初始时间信息利用代码扫描获取版本库在原始状态下的基准版本数据包含:通过所述初始时间信息将版本库的状态切换到未修改代码的原始状态;对切换后的版本库进行代码扫描获得基准版本数据。5.根据权利要求4所述的基于版本分支的覆盖率统计方法,其特征在于,根据所述变更程序清单对最新状态下的版本库进行单元测试和代码扫描获得测试覆盖率结果和当前版本数据包含:将所述版本库状态切换回当前时间对应的最新状态;根据所述变更程序清单对最新状态下的版本库进行单元测试和代码扫描获得测试覆盖率结果和当前版本数据。6.根据权利要求5所述的基于版本分支的覆盖率统计方法,其特征在于,根据程序记录提交信息对应的版本信息将所述程序记录提交信息按所述版本分支登记至变更程序清单还包含:根据程序记录提交信息获取程序的业务类别,根据所述业务类别中不带业务逻辑的程序信息生成覆盖率白名单;将所述覆盖率白名单补入所述变更程序清单。7.根据权利要求6所述的基于版本分支的覆盖率统计方法,其特征在于,根据所述变更
程序...
【专利技术属性】
技术研发人员:欧建斌,温建波,雷卓敏,李学优,
申请(专利权)人:中国工商银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。