首页 / 专利库 / 专利权 / 第I章 / 受理局 / 形式要求 / 缺陷 / 一种获取性能缺陷信息的方法及装置

一种获取性能缺陷信息的方法及装置

阅读:43发布:2021-06-11

专利汇可以提供一种获取性能缺陷信息的方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 实施例 公开了一种获取性能 缺陷 信息的方法及装置,属于计算机技术领域。所述方法包括:获取被测程序的被测模 块 的 电池 输出瞬间 电流 ,根据所述电池输出瞬间电流和电池额定容量生成电池消耗时间;当所述电池消耗时间大于预定消耗时间时,将测试程序载入被测程序的被测模块并打开方法追踪功能,生成 跟踪 轨迹文件;根据所述跟踪轨迹文件获取所述被测模块中所有方法的占用CPU时间百分比,在所有方法中,确定占用CPU时间百分比大于预定百分比的方法,获取所述确定的方法的性能缺陷信息。本发明实施例使得手机应用程序性能测试的精确度提高。,下面是一种获取性能缺陷信息的方法及装置专利的具体信息内容。

1.一种获取性能缺陷信息的方法,其特征在于,包括:
获取被测程序的被测模电池输出瞬间电流,根据所述电池输出瞬间电流和电池额定容量生成电池消耗时间;
当所述电池消耗时间大于预定消耗时间时,将测试程序载入被测程序的被测模块并打开方法追踪功能,生成跟踪轨迹文件;
根据所述跟踪轨迹文件获取所述被测模块中所有方法的占用CPU时间百分比,在所有方法中,确定占用CPU时间百分比大于预定百分比的方法,获取所述确定的方法的性能缺陷信息。
2.根据权利要求1所述的方法,其特征在于,所述获取被测程序的被测模块的电池输出瞬间电流包括:
执行测试程序,记录第一电池输出瞬间电流;
将所述测试程序载入被测程序的被测模块,对所述被测模块执行测试,记录第二电池输出瞬间电流;
将所述第二电池输出瞬间电流与所述第一电池输出瞬间电流执行差值运算,得到所述被测程序的被测模块的电池输出瞬间电流。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述跟踪轨迹文件获取所述被测模块中所有方法的占用CPU时间百分比包括:
根据所述跟踪轨迹文件生成方法追踪数据信息;
根据所述方法追踪数据信息获取所述被测模块中所有方法的占用CPU时间百分比。
4.根据权利要求1所述的方法,其特征在于,所述测试程序为基于Android开发平台的应用程序。
5.根据权利要求1所述的方法,其特征在于,当所述被测模块为显示插件时,所述预定消耗时间为2个小时;当所述被测模块为交互插件时,所述预定消耗时间为7个小时;当所述被测模块为底层插件时,所述预定消耗时间为0.5个小时。
6.根据权利要求1所述的方法,其特征在于,所述性能缺陷信息包括:所述确定的方法的调用次数和所述确定的方法的占用CPU时间。
7.根据权利要求1所述的方法,其特征在于,所述预定百分比为5%。
8.一种获取性能缺陷信息的装置,其特征在于,包括:
获取生成模块,用于获取被测程序的被测模块的电池输出瞬间电流,根据所述电池输出瞬间电流和电池额定容量生成电池消耗时间;
文件生成模块,用于当所述电池消耗时间大于预定消耗时间时,将测试程序载入被测程序的被测模块并打开方法追踪功能,生成跟踪轨迹文件;
获取模块,用于根据所述跟踪轨迹文件获取所述被测模块中所有方法的占用CPU时间百分比,在所有方法中,确定占用CPU时间百分比大于预定百分比的方法,获取所述确定的方法的性能缺陷信息。
9.根据权利要求8所述的装置,其特征在于,所述获取生成模块包括:
第一测试记录单元,用于执行测试程序,记录第一电池输出瞬间电流;
第二测试记录单元,用于将所述测试程序载入被测程序的被测模块,对所述被测模块执行测试,记录第二电池输出瞬间电流;
电流获取单元,用于将所述第二电池输出瞬间电流与所述第一电池输出瞬间电流执行差值运算,得到所述被测程序的被测模块的电池输出瞬间电流。
10.根据权利要求8或9所述的装置,其特征在于,所述获取模块包括:
展示表生成单元,用于根据所述跟踪轨迹文件生成方法追踪数据信息;
百分比获取单元,用于根据所述方法追踪数据信息获取所述被测模块中所有方法的占用CPU时间百分比。
11.根据权利要求8所述的装置,其特征在于,当所述被测模块为显示插件时,所述预定消耗时间为2个小时;当所述被测模块为交互插件时,所述预定消耗时间为7个小时;当所述被测模块为底层插件时,所述预定消耗时间为0.5个小时。

说明书全文

一种获取性能缺陷信息的方法及装置

技术领域

[0001] 本发明涉及计算机技术领域,特别涉及一种获取性能缺陷信息的方法及装置。

背景技术

[0002] 目前智能手机用户量越来越大,其中基于Android平台的智能手机层出不穷;随着智能手机处理器性能越来越强,对电池电量的消耗也越来越大,于是轻、快、好、省的手机应用程序越来越受到用户的欢迎;随之而来的,对手机应用程序的性能测试的需求也变得越来越大。
[0003] 现有技术中,对于手机应用程序的性能测试而言,一般只对手机应用程序中的某个APP(Application Program,应用程序)的整体进行性能测试,从而获取所述某个APP整体的性能消耗和性能缺陷,使得手机应用程序性能测试的精确度降低。

发明内容

[0004] 为了提高手机应用程序性能测试的精确度,本发明实施例提供了一种获取性能缺陷信息的方法及装置。所述技术方案如下:
[0005] 一种获取性能缺陷信息的方法,包括:
[0006] 获取被测程序的被测模的电池输出瞬间电流,根据所述电池输出瞬间电流和电池额定容量生成电池消耗时间;
[0007] 当所述电池消耗时间大于预定消耗时间时,将测试程序载入被测程序的被测模块并打开方法追踪功能,生成跟踪轨迹文件;
[0008] 根据所述跟踪轨迹文件获取所述被测模块中所有方法的占用CPU时间百分比,在所有方法中,确定占用CPU时间百分比大于预定百分比的方法,获取所述确定的方法的性能缺陷信息。
[0009] 一种获取性能缺陷信息的装置,包括:
[0010] 获取生成模块,用于获取被测程序的被测模块的电池输出瞬间电流,根据所述电池输出瞬间电流和电池额定容量生成电池消耗时间;
[0011] 文件生成模块,用于当所述电池消耗时间大于预定消耗时间时,将测试程序载入被测程序的被测模块并打开方法追踪功能,生成跟踪轨迹文件;
[0012] 获取模块,用于根据所述跟踪轨迹文件获取所述被测模块中所有方法的占用CPU时间百分比,在所有方法中,确定占用CPU时间百分比大于预定百分比的方法,获取所述确定的方法的性能缺陷信息。
[0013] 本发明实施例提供的技术方案带来的有益效果是:通过获取被测程序的被测模块的电池输出瞬间电流;根据所述电池输出瞬间电流生成电池消耗时间,当所述电池消耗时间大于预定消耗时间时,将所述测试程序载入被测程序的被测模块并打开方法追踪功能,经过相应处理后获取所述被测模块中的性能缺陷信息;相比较现有技术只能测试出某个应用程序APP整体的性能消耗和性能缺陷而言,本实施例使得性能测试的精确度提高,能测试出测试程序中被测模块的某部分的性能缺陷信息。附图说明
[0014] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0015] 图1是本发明实施例1提供的一种获取性能缺陷信息的方法实施例的流程图
[0016] 图2是本发明实施例2提供的一种获取性能缺陷信息的方法实施例的流程图;
[0017] 图3是本发明实施例2提供的Method Profiling数据显示界面示意图;
[0018] 图4是本发明实施例3提供的一种获取性能缺陷信息的装置实施例的结构示意图。

具体实施方式

[0019] 本发明实施例提供一种获取性能缺陷信息的方法及装置。
[0020] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0021] 实施例1
[0022] 参考图1,图1是本发明实施例1提供的一种获取性能缺陷信息的方法实施例的流程图;所述获取性能缺陷信息的方法包括:
[0023] S101:获取被测程序的被测模块的电池输出瞬间电流,根据所述电池输出瞬间电流和电池额定容量生成电池消耗时间。
[0024] S102:当所述电池消耗时间大于预定消耗时间时,将测试程序载入被测程序的被测模块并打开方法追踪功能,生成跟踪轨迹文件。
[0025] S103:根据所述跟踪轨迹文件获取所述被测模块中所有方法的占用CPU时间百分比,在所有方法中,确定占用CPU时间百分比大于预定百分比的方法,获取所述确定的方法的性能缺陷信息。
[0026] 进一步地,所述获取被测程序的被测模块的电池输出瞬间电流包括:
[0027] 执行测试程序,记录第一电池输出瞬间电流;
[0028] 将所述测试程序载入被测程序的被测模块,对所述被测模块执行测试,记录第二电池输出瞬间电流;
[0029] 将所述第二电池输出瞬间电流与所述第一电池输出瞬间电流执行差值运算,得到所述被测程序的被测模块的电池输出瞬间电流。
[0030] 进一步地,所述根据所述跟踪轨迹文件获取所述被测模块中所有方法的占用CPU时间百分比包括:
[0031] 根据所述跟踪轨迹文件生成方法追踪数据信息;
[0032] 根据所述方法追踪数据信息获取所述被测模块中所有方法的占用CPU时间百分比。
[0033] 进一步地,所述测试程序为基于Android开发平台的应用程序。
[0034] 进一步地,当所述被测模块为显示插件时,所述预定消耗时间为2个小时;当所述被测模块为交互插件时,所述预定消耗时间为7个小时;当所述被测模块为底层插件时,所述预定消耗时间为0.5个小时。
[0035] 进一步地,所述性能缺陷信息包括:所述确定的方法的调用次数和所述确定的方法的占用CPU时间。
[0036] 进一步地,所述预定百分比为5%。
[0037] 本实施例中,首先获取被测程序的被测模块的电池输出瞬间电流;根据所述电池输出瞬间电流生成电池消耗时间,当所述电池消耗时间大于预定消耗时间时,将所述测试程序载入被测程序的被测模块并打开方法追踪功能,经过相应处理后获取所述被测模块中的性能缺陷信息;相比较现有技术只能测试出某个应用程序APP整体的性能消耗和性能缺陷而言,本实施例使得手机应用程序性能测试的精确度提高,能测试出测试程序中被测模块的某部分的性能缺陷信息。
[0038] 实施例2
[0039] 参考图2,图2是本发明实施例2提供的一种获取性能缺陷信息的方法实施例的流程图;所述获取性能缺陷信息的方法包括:
[0040] S201:执行测试程序,记录第一电池输出瞬间电流。
[0041] 实际应用中,所述测试程序可以是基于Android开发平台的任一APP;只要是层次分离比较清楚的APP都可以作为测试程序,所述测试程序为低耦合程序。
[0042] 本实施例中,测试工具通过执行所述测试程序的指定测试用例来记录第一电池输出瞬间电流。所述第一电池输出瞬间电流可以以报表的形式存储。
[0043] S202:将所述测试程序载入被测程序的被测模块,对所述被测模块执行测试,记录第二电池输出瞬间电流。
[0044] 所述将所述测试程序载入被测程序的被测模块,具体为:测试工具通过所述测试程序调用被测程序的被测模块的java类来实现测试程序的载入;测试工具对所述被测模块的java类执行指定测试用例,并记录第二电池输出瞬间电流;所述第二电池输出瞬间电流也可以以报表的形式存储。
[0045] 本实施例中的被测模块可以是插件,但是并不局限于此。
[0046] S203:将所述第二电池输出瞬间电流与所述第一电池输出瞬间电流执行差值运算,得到被测程序的被测模块的电池输出瞬间电流。
[0047] 实际应用中,将所述第二电池输出瞬间电流减去所述第一电池输出瞬间电流,得到的差值即为所述被测程序的被测模块的电池输出瞬间电流。
[0048] S204:电池额定容量除以所述被测模块的电池输出瞬间电流,生成电池消耗时间。
[0049] 手机电池都具有电池额定容量,其单位是mAh(毫安时),电池额定容量直接反映手机电池的性能;所述被测模块的电池输出瞬间电流的单位是mA(毫安)。
[0050] 所述电池消耗时间为所述被测模块的电池消耗时间。
[0051] S205:当所述电池消耗时间大于预定消耗时间时,将所述测试程序载入被测程序的被测模块并打开方法追踪功能,生成跟踪轨迹文件。
[0052] 所述预定消耗时间与被测模块的功能属性有关系,且所述预定消耗时间为经验值。当所述被测模块为显示插件时,所述预定消耗时间为2个小时;其中,所述显示插件表示具有显示功能的插件都属于显示插件。当所述被测模块为交互插件时,所述预定消耗时间为7个小时,其中所述交互插件包括游戏和微博,但是并不局限于此,只要有互相交互功能的插件都属于交互插件。当所述被测模块为底层插件时,所述预定消耗时间为0.5个小时;其中所述底层插件可以是Android系统的底层插件,例如具有逻辑功能的插件就属于底层插件,但是并不局限于此。
[0053] 如果所述电池消耗时间大于所述预定消耗时间,说明被测模块的电池消耗时间过多,被测模块性能存在缺陷,有待优化。此时,需要再将所述测试程序载入被测程序的被测模块中,并打开Method Profiling(方法追踪)功能,生成trace file(跟踪轨迹文件)。具体的,可以通过代码编写的方式实现打开Method Profiling(方法追踪)功能;其中,Method Profiling是谷歌做的一个免费和公开的工具,在此不再赘述,具体可参见现有技术相关描述。
[0054] S206:根据所述跟踪轨迹文件获取所述被测模块中所有方法的占用CPU时间百分比。
[0055] 实际应用中,根据所述跟踪轨迹文件,运行脚本,生成Method Profiling数据;
[0056] 将所述Method Profiling数据通过Method Profiling数据显示界面进行显示。
[0057] 参考图3,图3是本发明实施例2提供的Method Profiling数据显示界面示意图;所述Method Profiling数据显示界面中的Method Profiling数据信息包括Name、Incl%、Inclusive、Excl%、Exclusive和Calls+Rec,其中所述Name表示被测模块中方法和类的名称,所述Incl%表示被测模块中每个方法自身和所述方法中所有子方法的总和的占用CPU时间百分比;所述Inclusive表示被测模块中每个方法自身和所述方法中所有子方法的总和的占用CPU时间;所述Excl%表示被测模块中每个方法的占用CPU时间百分比;所述Exclusive表示被测模块中每个方法的占用CPU时间;Calls+Rec表示所述方法的主动调用次数+被动调用次数。
[0058] 根据所述Method Profiling数据显示界面中显示的Method Profiling数据,获取所述被测模块中每个方法的占用CPU时间百分比,即获取所述Method Profiling数据中的Excl%数值。
[0059] S207:在所有方法中,确定占用CPU时间百分比大于预定百分比的方法,获取所述确定的方法的性能缺陷信息。
[0060] 获取所述被测模块中所有方法在运行中的占用CPU时间百分比后,在所有方法中,确定占用CPU时间百分比大于预定百分比的方法,获取所述确定的方法的性能缺陷信息;其中所述预定百分比是经验值,例如所述预定百分比可以为5%,参考图3所示的Excl%数值可知,方法4(Excl%数值为53.2%)、方法8(Excl%数值为8.5%)和方法10(Excl%数值为6.3%)的占用CPU时间百分比大于预定百分比5%,从而可以获取被测模块中方法4、方法8和方法10的性能缺陷信息。
[0061] 其中,所述性能缺陷信息包括但不局限于:所述确定的方法的调用次数Calls+Rec和所述确定的方法的占用CPU时间Exclusive,其中所述确定的方法的调用次数包括所述确定的方法的主动调用次数Calls和所述确定的方法的被动调用次数Rec。
[0062] 本实施例中获取所述被测模块的性能缺陷信息后,便可获取所述被测模块中哪些方法存在性能缺陷,有待优化;后续的,需要结合所述存在性能缺陷的方法的属性信息和所述存在性能缺陷的方法的性能缺陷信息进行综合分析处理,最终获取真正存在性能缺陷且可以实现优化的方法,从而对所述方法进行优化处理,降低资源的消耗。
[0063] 本实施例中,在S201中,还可以记录第一网络流量和第一占用CPU时间,相应的,S202中也可以记录第二网络流量和第二占用CPU时间;从而在S203中获取所述被测程序的被测模块的网络流量和所述被测程序的被测模块的占用CPU时间,其中,所述被测模块的网络流量通过第二网络流量减去第一网络流量得到,所述被测模块的占用CPU时间通过第二占用CPU时间减去第一占用CPU时间得到。所述被测模块的网络流量和所述被测模块的电池瞬间输出电流成正比,所述被测模块的占用CPU时间与所述被测模块的电池瞬间输出电流成正比。
[0064] 所述被测模块的网络流量和所述被测模块的占用CPU时间可以以报表的形式存储。
[0065] 所述被测模块的网络流量与业务直接相关,所述被测模块的占用CPU时间与程序自身直接相关;如果根据所述被测模块的电池瞬间输出电流生成的电池消耗时间大于预定消耗时间时,可以参考一下所述被测模块的网络流量与被测模块的占用CPU时间;具体地,此时如果被测模块的网络流量没有超过第一预定值,而所述被测模块的占用CPU时间超过第二预定值,说明被测模块的性能缺陷有可能是因为程序编写方面的原因,于是,在后续对性能缺陷信息进行分析处理时,可以综合考虑一下所述被测模块的占用CPU时间;其中所述第一预定值和所述第二预定值为经验值。此处只是列举了一个例子而已,本发明实施例并不局限于此。
[0066] 本实施例中,首先获取所述被测模块的电池输出瞬间电流;根据所述电池输出瞬间电流生成电池消耗时间,当所述电池消耗时间大于预定消耗时间时,将所述测试程序载入被测程序的被测模块并打开方法追踪功能,经过相应处理后获取所述被测模块中的性能缺陷信息;相比较现有技术只能测试出某个应用程序APP整体的性能消耗和性能缺陷而言,本实施例使得手机应用程序性能测试的精确度提高,能测试出测试程序中被测模块的某部分的性能缺陷信息。
[0067] 此外,本实施例中获取所述缺陷性能信息后,综合存在性能缺陷方法的属性信息、存在性能缺陷的方法的性能缺陷信息、被测模块的网络流量和被测模块的占用CPU时间等因素进行综合分析处理,最终获取真正存在性能缺陷并且可以实现优化的方法,从而对所述方法进行优化处理,使得资源的消耗降低。
[0068] 实施例3
[0069] 参考图4,图4是本发明实施例3提供的一种获取性能缺陷信息的装置实施例的结构示意图;所述获取性能缺陷信息的装置包括:
[0070] 获取生成模块401,用于获取被测程序的被测模块的电池输出瞬间电流,根据所述电池输出瞬间电流和电池额定容量生成电池消耗时间。
[0071] 文件生成模块402,用于当所述电池消耗时间大于预定消耗时间时,将测试程序载入被测程序的被测模块并打开方法追踪功能,生成跟踪轨迹文件。
[0072] 获取模块403,用于根据所述跟踪轨迹文件获取所述被测模块中所有方法的占用CPU时间百分比,在所有方法中,确定占用CPU时间百分比大于预定百分比的方法,获取所述确定的方法的性能缺陷信息。
[0073] 其中,所述获取生成模块401包括:
[0074] 第一测试记录单元,用于执行测试程序,记录第一电池输出瞬间电流;
[0075] 第二测试记录单元,用于将所述测试程序载入被测程序的被测模块,对所述被测模块执行测试,记录第二电池输出瞬间电流;
[0076] 电流获取单元,用于将所述第二电池输出瞬间电流与所述第一电池输出瞬间电流执行差值运算,得到所述被测程序的被测模块的电池输出瞬间电流。
[0077] 所述获取模块403包括:
[0078] 展示表生成单元,用于根据所述跟踪轨迹文件生成方法追踪数据信息;
[0079] 百分比获取单元,用于根据所述方法追踪数据信息获取所述被测模块中所有方法的占用CPU时间百分比。
[0080] 进一步地,当所述被测模块为显示插件时,所述预定消耗时间为2个小时;当所述被测模块为交互插件时,所述预定消耗时间为7个小时;当所述被测模块为底层插件时,所述预定消耗时间为0.5个小时。
[0081] 本实施例中获取模块403获取所述被测模块的性能缺陷信息后,便可获取所述被测模块中哪些方法存在性能缺陷,有待优化;后续的,需要结合所述存在性能缺陷的方法的属性信息和所述存在性能缺陷的方法的性能缺陷信息进行综合分析处理,最终获取真正存在性能缺陷且可以实现优化的方法,从而对所述方法进行优化处理,降低资源的消耗。
[0082] 本实施例中,首先获取所述被测模块的电池输出瞬间电流;根据所述电池输出瞬间电流生成电池消耗时间,当所述电池消耗时间大于预定消耗时间时,将所述测试程序载入被测程序的被测模块并打开方法追踪功能,经过相应处理后获取所述被测模块中的性能缺陷信息;相比较现有技术只能测试出某个应用程序APP整体的性能消耗和性能缺陷而言,本实施例使得手机应用程序性能测试的精确度提高,能测试出测试程序中被测模块的某部分的性能缺陷信息。
[0083] 需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0084] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0085] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0086] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈