版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本申请提供了一种确定增量测试覆盖信息定目标代码版本文件相对原代码版本文件的增从至少一个测试结果文件中解析出全量测试覆可以获得软件版本文件中增量代码的测试覆盖2确定待测试的目标代码版本文件以及原代码版本文件,所述目确定所述目标代码版本文件相对所述原代码版本文件的增量代获得代码编辑编译器测试所述目标代码版本文件所得到的至少述至少一个测试结果文件为采用与所述代码编辑编译器自身对应的设定协议格式的文件;调用并运行文件解析程序,并通过所述文件解析程序解通过所述增量覆盖子程序依据所述至少一条增量代码的信息以及所述全量测试覆盖试所述目标代码版本文件并输出所述目标代码版本文件的测试调用比较程序比对所述目标代码版本文件与所述原代码版从所述至少一条差异代码的信息中提取出属于增量代码的增获得待测试的目标代码版本文件的第一文件标识以及原代码版本文件的第二文件标调用并运行增量分析程序,所述增量分析程序配置有通过所述增量分析程序调用所述比较程序,并将所述第一文件标识、通过所述增量分析程序从所述至少一条差异代码的信息中提取出属于增量代码的增3在所述通过所述增量分析程序从所述至少一条差异代码的信息中提取出属于增量代通过所述增量分析程序将所述增量代码信息转换为符合指定编辑语言对应的数据存在所述通过所述增量覆盖子程序依据所述至少一条增量代码的信息以及所述全量测程序从所述输出路径对应的存储空间获得所通过所述文件解析程序将所述增量代码信息由所述符合指定编辑语言对应的数据存所述增量代码的信息包括:增量代码所属的代码文件的文件名以及所述已测试代码的信息包括:已测试代码所属的代码文件的文件所述通过所述增量覆盖子程序依据所述至少一条增量代码的信息以及所述全量测试基于所述增量代码信息中各条增量代码所属代码文件的文件名和各条增量代码的行基于各代码文件中增量代码的总数以及被测试的增量代码的数量文件确定装置,用于确定待测试的目标代码版本文件以增量代码确定单元,用于确定所述目标代码版本文件相对测试结果获得单元,用于获得代码编辑编译器测试所述析所述设定协议格式的文件以得到全量测试覆盖信息的原全量覆盖确定单元,用于调用并运行文件解析程序,并通过所述4述原始解析程序中增设增量覆盖子程序得到增量覆盖确定单元,用于通过所述增量覆盖子程序依据测试指示单元,用于在所述获得代码编辑编译器测试示所述代码编辑编译器测试所述目标代码版本文件并输出所述目标代码版本文件的测试文件比较单元,用于调用比较程序比对所述目标代码版本文件与所述原代码版本文件相对所述原代码版本文件存在差异的至少一条增量提取单元,用于从所述至少一条差异代码的信息中分析程序调用单元,用于调用并运行增量分析程序,所所述增量提取单元,具体用于通过所述增量分析程序从所述至少信息存储单元,用于所述增量提取单元提取出增量代码信信息获取单元,用于在所述增量覆盖确定单元确定增量代格式转换单元,用于通过所述文件解析程序将所述增量代码信息由5所述增量代码的信息包括:增量代码所属的代码文件的文件名以及所述已测试代码的信息包括:已测试代码所属的代码文件的文件数量确定单元,用于基于所述增量代码信息中各条增量代码所属覆盖率确定单元,用于基于各代码文件中增量代码的总数所述处理器用于执行所述程序,所述程序被执行时,具体用于实现如权利要求1至6任意一项所述的确定增量测试覆盖6[0009]获得代码编辑编译器测试所述目标代码版本文件所得到的至少一个测试结果文[0011]通过所述文件解析程序依据所述至少一条增量代码的信息以及所述全量测试覆[0013]所述文件解析程序为通过在所述原始解析程序中增设增量覆盖子程序得到的程[0014]所述通过所述文件解析程序依据所述至少一条增量代码的信息以及所述全量测7[0015]通过所述增量覆盖子程序依据所述至少一条增量代码的信息以及所述全量测试[0020]获得待测试的目标代码版本文件的第一文件标识以及原代码版本文件的第二文[0025]通过所述增量分析程序从所述至少一条差异代码的信息中提取出属于增量代码8[0039]图2示出了本申请实施例提供的确定增量测试覆盖信息的方法的一种流程示意[0040]图3示出了本申请实施例提供的确定增量测试覆盖信息的方法的又一种流程示意[0041]图4示出了本申请实施例提供的增量分析程序确定增量代码信息的一种原理示意[0042]图5示出了本申请提供的确定增量测试覆盖信息的方法的一种实现原理框架示意[0043]图6示出了本申请实施例提供的确定增量测试覆盖信息的方法应用于一具体应用[0044]图7示出了本申请实施例提供的文件解析程序在一具体应用场景中的功能模块组[0045]图8示出了本申请实施例提供的确定增量测试覆盖信息的装置的一种组成结构示9[0047]本申请的方案适用于任意需要确定软件版本中增量代码被测试覆盖的测试覆盖少一台计算机设备中运行有代码编辑编译器以及本申请中用于确定增量测试覆盖信息的储主控程序确定增量覆盖信息过程中所产生的[0058]该存储设备还可以用于存储测试平台所涉及到的各个软软件版本文件包括至少一个代码文件,每个代码文件包括至少一条(或者说至少一行)代[0065]如图2所示,其示出了本申请一种确定增量测试覆盖信息的方法的一种流程示意待测试的目标代码版本文件的信息以及原代码请仅仅关注目标代码版本文件相对原代码版本文件新增少一个测试结果文件为采用设定协议格式的件的选项。使得文件解析程序具备解析代码编辑编译器得到的测试结量代码所在的代码文件的文件名以及该增量代[0097]对比全量测试覆盖信息和增量代码信息可知,文件1中行号18到行号20的增量代以在该原始解析程序中增设增量覆盖子程序,从而使得文件解析程序包括增量覆盖子程在llvm-cov原有功能的基础上增加分析增量测试覆盖信息的分析代码,并将改进后的[0102]在此基础上,基于改进后的llvm-cov可以对Xcode对目标代码版本文件单元测试管理工具中的比较命令(diff命令)可以执行对目标代码版本文件与原代码版本文件的比[0110]可以理解的是,差异代码可以是相对原代码版本文件存在新增或者修改等的代该至少一条差异代码的信息中提取出属于增量代[0122]该代码变更信息包括目标代码版本文件相对原代码版本文件存在差异的至少一本实施例是以比较程序为代码管理工具中的比较程序为码路径信息可以查询到被测试的目标代码软件版本和原代[0134]代码管理工具的信息中可以配置该增量分析程序支持的代码管理工具的信息,SVN对应分支为虚线。可以理解的是,通过配置文件可以灵活配置所需使用的代码管理工[0136]在图4中主函数表示增量分析程序,主函数可以在测试平台中主控程序向其发送代码版本文件的标识和原代码版本文件的标识以及代码路径信息作为diff命令的输入参储格式可以为JSON(JavaScriptObjectNotation,JS对象简谱)格式,JSON是一种轻量级[0143]在本实施例是以测试平台获得该至少一个测试结果文件的文件存储地址为例说[0145]该增量覆盖分析命令可以携带有该至少一个测试结果文件的文件存储地址和该量代码信息的输出路径以及该至少一个测试结果文件的文件存储地址也同样适用于本实[0147]如图5所示,其示出了本申请实施例确定增量代码的测试覆盖信息的一种实现原[0148]由图5可以看出,增量分析程序确定出的增量代码信息以及代码编辑编译器测试[0149]文件解析程序基于增量代码信息和该至少一个测试结果文件会确定出目标代码代码信息由符合指定编辑语言对应的数据存储格式转换为设定的[0155]例如,文件解析程序中转换出的增量代码信息可以包括如下表1中两类结构体形[0159]类似的,增量代码的测试覆盖信息同样可以是采用设定的结构体形式表示的数据。例如增量代码的测试覆盖信息所涉及到的数据可以采用如下表2中提到的几类结构体类型string;“diffLineCount”表示增量代码的总行数,其数据类型为整数型(int);“excecuteDiffLineCount”表示被测试[0164]为了便于理解本申请的方案,下面代码编辑编译器为Xcode工具为例说明,相应的,本申请可以基于Xcode对目标代码版本文件的测试结果文件来确定目标代码版本文件[0165]如图6所示,其示出了本申请确定增量测试覆盖信息的方法在一种应用场景的一序发送该目标代码版本文件的第一标识和原代码[0174]该差异代码信息可以包括目标代码版本文件与原代码版本文件存在差异的至少码信息拼装为JSON格式的文件,并基于配置文件中配置的输出路径存储该JSON格式的文[0179]如,Xcode工具基于该第一标识信息可以从测试平台存储的代码文件中获得该目[0184]可以理解的是,由于Xcode工具中集成有开源的llvm,llvm为开源的编译器,而llvm中包含有llvm-cov程序,llvm-cov程序可以解析出Xcode工具中输出的测试结果文件是是是是是[0189]其中,开源的llvm-cov程序中支持表3中前5种功能的调用,而本申请更改后的析程序实际上是复用了llvm-cov程序中该部分功能得到CodeCoverageTool内部使用run函数做参数解析分发器。在分发器解析器确定出需要调用这三个原命令之后,通过调用代码覆盖工具CodeCoverageTool::load()方法加载测试结[0195]对于更改后的llvm-cov程序确定全量测试覆盖信息的过程与开源的llvm-cov程[0196]S610,文件解析程序通过增量覆盖子程序基于全量测试覆盖信息和增量代码信[0198]由图6可以看出,主控程序中的文件解析程序可以是对开源的更改后的llvm-cov[0200]如图8所示,其示出了本申请一种确定增量测试覆盖信息的装置的一种组成架构[0202]增量代码确定单元802,用于确定该目标代码版本文件相对该原代码版本文件的[0203]测试结果获得单元803,用于获得代码编辑编译器测试该目标代码版本文件所得[0205]增量覆盖确定单元805,用于通过该文件解析程序依据该至少一条增量代码的信[0207]该全量覆盖确定单元调用的文件解析程序为通过在该原始解析程序中增设增量命令用于指示该代码编辑编译器测试该目标代码版本文件并输出该目标代码版本文件的[0212]文件比较单元,用于调用比较
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 居民小区高空坠物安全排查预案
- 关于2026年年度销售目标的商讨函件(3篇)
- 物理专业低温物理实验技术操作手册
- 2026年餐饮服务技能测试题及答案
- 企业人力资源优化与绩效考核指南
- 小学六年级英语下册第一次月考含答案及解析
- 催办合同盖章签字催办函(3篇)范文
- 外研版八年级英语上册第一次月考含答案及解析
- 营销活动合作意向确认函(4篇范文)
- 一元一次不等式(第3课时利用一元一次不等式解决实际问题)(教学课件)数学新教材人教版七年级下册
- 2025年下半年浙江杭州市萧山区国有企业招聘人员笔试历年参考题库附带答案详解
- 2026年70周岁以上驾驶人三力测试模拟题
- 2026年4月23日四川省宜宾市五方面人员选拔笔试真题及答案深度解析
- GB/T 17498.6-2026室内固定式健身器材第6部分:跑步机附加的特殊安全要求和试验方法
- 国家义务教育质量监测四年级英语模拟试题(2套含解析)
- 《低空经济应用技术》课件全套 第1-15章 低空经济概论-智慧城市
- 新沪科版九年级上册物理第14章单元测试卷(了解电路)
- 小学音乐人教版 六年级下册爱我中华1 课件
- 深圳珠宝参展商名录
- 学校教学楼装饰改造工程施工组织设计方案
- 同等学力英语高频重点词汇表(共36页)
评论
0/150
提交评论