目标版本之间的执行函数变更记录可以包括以下种类:执行函数新增记录、执行函数删除记录、执行函数修改记录等。可选的,变更记录获取模块404获取所述存在执行函数变更记录的执行函数中新增的执行函数或经过修改的执行函数。上述执行函数修改记录可以包括执行函数中类、变量、参数等的变化产生的执行函数修改记录,也可以是用某一执行函数替代另一执行函数产生的执行函数修改记录。
[0093]具体实现中,可以将目标版本的被测应用和参考版本的被测应用输入一个用于比较不同版本应用测试差异的单元,得到测试版本的被测应用相对于参考版本的被测应用所有执行函数变更记录各自对应的执行函数的代码起始行和代码终止行,以及每个执行函数变更记录的种类,变更记录获取模块404提取执行函数变更记录的种类为执行函数新增记录和执行函数修改记录的执行函数。
[0094]疑点函数确定模块405,用于根据所述执行函数变更记录,从所述第一执行函数集合中确定性能疑点执行函数。
[0095]疑点函数确定模块405根据所述执行函数变更记录,将函数集合获取模块403获取的所述第一执行函数集合中存在变更记录的执行函数确定为性能疑点执行函数。具体实现中,分别判断所述第一执行函数集合中每个执行函数是否是变更记录获取模块404得到的新增的执行函数或经过修改的执行函数,将判断结果为是的执行函数确定为疑点执行函数。例如,函数集合获取模块403获取的第一执行函数集合包括执行函数A、执行函数B、执行函数C、执行函数D、执行函数E和执行函数F,变更记录获取模块404获取的执行函数变更记录为:执行函数A,新增记录;执行函数C,新增记录;执行函数F,修改记录;执行函数G,删除记录。则疑点函数确定模块405将执行函数A、执行函数C和执行函数F确定为性能疑点执行函数。
[0096]本发明实施例根据被测应用从参考版本至目标版本之间的执行函数变更记录,从目标版本各个执行函数的执行时间与参考版本对应执行函数的执行时间的时间差值有异常的执行函数中确定性能疑点执行函数,实现了被测应用中执行函数CPU占用时间异常的准确检测,提高了发现性能疑点执行函数的效率和命中率。
[0097]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机应用来指令相关的硬件来完成,所述的应用可存储于一计算机可读取存储介质中,该应用在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。
[0098]以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
【主权项】
1.一种应用测试方法,其特征在于,所述方法包括: 分别获取目标版本的被测应用和参考版本的被测应用运行指定测试用例的函数执行耗时信息,所述函数执行耗时信息包括所述对应版本的被测应用中的多个执行函数在运行指定测试用例过程中的执行时间; 通过比较目标版本对应的函数执行耗时信息和参考版本对应的函数执行耗时信息,获取目标版本对应的函数执行耗时信息中各个执行函数的执行时间与于在参考版本对应的函数执行耗时信息中对应执行函数的执行时间的时间差值; 根据所述时间差值,获取所述目标版本的被测应用中的第一执行函数集合; 获取被测应用从参考版本至目标版本之间的执行函数变更记录; 根据所述执行函数变更记录,从所述第一执行函数集合中确定性能疑点执行函数。2.如权利要求1所述的应用测试方法,其特征在于,所述根据所述时间差值,获取所述目标版本的被测应用中的第一执行函数集合包括: 将目标版本的被测应用的执行函数中时间差值最高的预设个数的执行函数组成所述第一执行函数集合。3.如权利要求1所述的应用测试方法,其特征在于,所述根据所述执行函数变更记录,从所述第一执行函数集合中确定性能疑点执行函数包括: 根据所述执行函数变更记录,将所述第一执行函数集合中存在变更记录的执行函数确定为性能疑点执行函数。4.如权利要求3所述的应用测试方法,其特征在于,所述存在变更记录的执行函数包括新增的执行函数或经过修改的执行函数。5.如权利要求1所述的应用测试方法,其特征在于,所述获取目标版本的被测应用运行指定测试用例的函数执行耗时信息包括: 获取所述目标版本的被测应用运行指定测试用例的运行追踪文件,所述运行追踪文件包括目标版本的被测应用运行指定测试用例的函数执行耗时信息。6.如权利要求1所述的应用测试方法,其特征在于,所述获取目标版本对应的函数执行耗时信息中各个执行函数的执行时间与于在参考版本对应的函数执行耗时信息中对应执行函数的执行时间的时间差值包括: 根据执行函数的包名,从目标版本对应的函数执行耗时信息中筛选出所述被测应用的自身执行函数的执行时间; 获取目标版本对应的函数执行耗时信息中各个自身执行函数的执行时间与于在参考版本对应的函数执行耗时信息中对应执行函数的执行时间的时间差值; 所述根据所述时间差值,获取所述目标版本的被测应用中的第一执行函数集合包括:将目标版本的被测应用的自身执行函数中时间差值最高的预设个数的自身执行函数组成所述第一执行函数集合。7.一种应用测试装置,其特征在于,所述方法包括: 执行耗时获取模块,用于分别获取目标版本的被测应用和参考版本的被测应用运行指定测试用例的函数执行耗时信息,所述函数执行耗时信息包括所述对应版本的被测应用中的多个执行函数在运行指定测试用例过程中的执行时间; 执行耗时比较模块,用于通过比较目标版本对应的函数执行耗时信息和参考版本对应的函数执行耗时信息,获取目标版本对应的函数执行耗时信息中各个执行函数的执行时间与于在参考版本对应的函数执行耗时信息中对应执行函数的执行时间的时间差值; 函数集合获取模块,用于根据所述时间差值,获取所述目标版本的被测应用中的第一执行函数集合; 变更记录获取模块,用于获取被测应用从参考版本至目标版本之间的执行函数变更记录; 疑点函数确定模块,用于根据所述执行函数变更记录,从所述第一执行函数集合中确定性能疑点执行函数。8.如权利要求7所述的应用测试装置,其特征在于,所述函数集合获取模块用于: 将目标版本的被测应用的执行函数中时间差值最高的预设个数的执行函数组成所述第一执行函数集合。9.如权利要求7所述的应用测试装置,其特征在于,所述疑点函数确定模块用于: 根据所述执行函数变更记录,将所述第一执行函数集合中存在变更记录的执行函数确定为性能疑点执行函数。10.如权利要求9所述的应用测试装置,其特征在于,所述存在变更记录的执行函数包括新增的执行函数或经过修改的执行函数。11.如权利要求7所述的应用测试装置,其特征在于,所述执行耗时获取模块用于: 获取所述目标版本的被测应用运行指定测试用例的运行追踪文件,所述运行追踪文件包括目标版本的被测应用运行指定测试用例的函数执行耗时信息。12.如权利要求7所述的应用测试装置,其特征在于,所述执行耗时比较模块包括: 函数筛选单元,用于根据执行函数的包名,从目标版本对应的函数执行耗时信息中筛选出所述被测应用的自身执行函数的执行时间; 时间比较单元,用于获取目标版本对应的函数执行耗时信息中各个自身执行函数的执行时间与于在参考版本对应的函数执行耗时信息中对应执行函数的执行时间的时间差值; 所述函数集合获取模块用于: 将目标版本的被测应用的自身执行函数中时间差值最高的预设个数的自身执行函数组成所述第一执行函数集合。
【专利摘要】本发明实施例公开了一种应用测试方法,所述方法包括:分别获取目标版本的被测应用和参考版本的被测应用运行指定测试用例的函数执行耗时信息;通过比较目标版本对应的函数执行耗时信息和参考版本对应的函数执行耗时信息,获取目标版本对应的函数执行耗时信息中各个执行函数的执行时间与于在参考版本对应的函数执行耗时信息中对应执行函数的执行时间的时间差值;根据所述时间差值,获取所述目标版本的被测应用中的第一执行函数集合;获取被测应用从参考版本至目标版本之间的执行函数变更记录;根据所述执行函数变更记录,从所述第一执行函数集合中确定性能疑点执行函数。采用本发明,可提高发现性能疑点执行函数的效率和命中率。
【IPC分类】G06F11/36
【公开号】CN105701004
【申请号】CN201410709913
【发明人】黄闻欣, 谭力
【申请人】深圳市腾讯计算机系统有限公司
【公开日】2016年6月22日
【申请日】2014年11月28日