The invention discloses a method and a device for generating test reports. Among them, the method includes: inserting the target file to get the file after inserting the pile, in which the target file is compiled by the source code of the application to be tested; packaging the file after inserting the pile to get the installation package of the application to be tested, in which the installation package includes the class file after inserting the pile. Class files after piling are used to indicate the code to be tested in the source code; test the installation package to generate test instructions files, where the test instructions file is used to indicate the code actually tested in the source code during testing; at least according to the test instructions file and class files after piling are generated Test reports, in which the test reports are at least used to indicate the comparison between the code to be tested and the code to be actually tested. The invention solves the technical problems of low collection efficiency of test coverage in related technologies.
【技术实现步骤摘要】
测试报告的生成方法及装置
本专利技术涉及通信领域,具体而言,涉及一种测试报告的生成方法及装置。
技术介绍
现有测试覆盖率收集方法(例如,对安卓系统进行测试)主要有Emma、cobertura、JaCoCo等。目前,大部分对测试覆盖率进行收集的技术方案只是实现了通过手动测试执行收集到测试覆盖率,测试覆盖率的收集效率较低。另一方面,现有技术方案主要为全量覆盖率的收集,生成的覆盖率报告主要为全量覆盖率,无法进行只包含改动代码的差异覆盖率分析。当需要分析某部分改动代码的覆盖率时,不能高效地进行分析,分析效率较低。例如,基于emma收集覆盖率,无法进行分支覆盖率分析,分析不全面。针对相关技术中的测试覆盖率收集效率低的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术实施例提供了一种测试报告的生成方法及装置,以至少解决相关技术中测试覆盖率收集效率低的技术问题。根据本专利技术实施例的一个方面,提供了一种测试报告的生成方法,包括:对目标文件进行插桩操作,得到插桩后的文件,其中,所述目标文件通过对待测试应用的源代码进行编译得到;对所述插桩后的文件进行打包操作,得到所述待测试应用的安装包,其中,所述安装包中包括插桩后的类文件,所述插桩后的类文件用于指示所述源代码中需要被测试到的代码;对所述安装包进行测试,生成测试指示文件,其中,所述测试指示文件用于指示在进行所述测试的过程中所述源代码中被实际测试到的代码;至少根据所述测试指示文件和所述插桩后的类文件生成测试报告,其中,所述测试报告至少用于指示所述需要被测试到的代码与所述被实际测试到的代码之间的比对关系。根据本专利技术实施 ...
【技术保护点】
1.一种测试报告的生成方法,其特征在于,包括:对目标文件进行插桩操作,得到插桩后的文件,其中,所述目标文件通过对待测试应用的源代码进行编译得到;对所述插桩后的文件进行打包操作,得到所述待测试应用的安装包,其中,所述安装包中包括插桩后的类文件,所述插桩后的类文件用于指示所述源代码中需要被测试到的代码;对所述安装包进行测试,生成测试指示文件,其中,所述测试指示文件用于指示在进行所述测试的过程中所述源代码中被实际测试到的代码;至少根据所述测试指示文件和所述插桩后的类文件生成测试报告,其中,所述测试报告至少用于指示所述需要被测试到的代码与所述被实际测试到的代码之间的比对关系。
【技术特征摘要】
1.一种测试报告的生成方法,其特征在于,包括:对目标文件进行插桩操作,得到插桩后的文件,其中,所述目标文件通过对待测试应用的源代码进行编译得到;对所述插桩后的文件进行打包操作,得到所述待测试应用的安装包,其中,所述安装包中包括插桩后的类文件,所述插桩后的类文件用于指示所述源代码中需要被测试到的代码;对所述安装包进行测试,生成测试指示文件,其中,所述测试指示文件用于指示在进行所述测试的过程中所述源代码中被实际测试到的代码;至少根据所述测试指示文件和所述插桩后的类文件生成测试报告,其中,所述测试报告至少用于指示所述需要被测试到的代码与所述被实际测试到的代码之间的比对关系。2.根据权利要求1所述的方法,其特征在于,至少根据所述测试指示文件和所述插桩后的类文件生成测试报告包括:对所述插桩后的类文件和所述测试指示文件进行比较,得到比较结果,其中,所述比较结果至少用于指示所述需要被测试到的代码中未被实际测试到的代码;生成至少包括所述比较结果的测试报告。3.根据权利要求2所述的方法,其特征在于,在对所述插桩后的类文件和所述测试指示文件进行比较,得到比较结果之后、且在生成至少包括所述比较结果的测试报告之前,还包括:在所述源代码中标记出所述被实际测试到的代码和所述未被实际测试到的代码;生成至少包括所述比较结果的测试报告包括:生成所述测试报告,其中,所述测试报告至少包括所述比较结果以及完成了所述标记的所述源代码。4.根据权利要求1所述的方法,其特征在于,对目标文件进行插桩操作,得到插桩后的文件包括:获取插桩前的类文件的位置,其中,所述目标文件包括所述插桩前的类文件;调用第一接口函数、根据所述插桩前的类文件的位置对所述目标文件进行插桩操作,其中,所述第一接口函数用于将注入代码插入到所述位置所指示的插桩前的类文件中,所述注入代码用于检测所述源代码中所述需要被测试到的代码是否被实际测试到。5.根据权利要求1所述的方法,其特征在于,对所述安装包进行测试,生成测试指示文件包括:调用第二接口函数获取内存中的测试指示数据,其中,所述测试指示数据用于指示在进行所述测试的过程中所述源代码中所述被实际测试到的代码;生成包含所述测试指示数据的所述测试指示文件。6.根据权利要求1至5中任一项所述的方法,其特征在于,在对所述安装包进行测试,生成测试指示文件之前,所述方法还包括:调用第三接口函数清除内存中的测试指示数据。7.根据权利要求1至5中任一项所述的方法,其特征在于,所述源代码中需要被测试到的代码包括:所述源代码从修改前到修改后所...
【专利技术属性】
技术研发人员:刘洋,刘楚蓉,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。