【技术实现步骤摘要】
应用程序的测试方法及装置
本专利技术涉及应用程序领域,具体而言,涉及一种应用程序的测试方法及装置。
技术介绍
将一段能够实现某个特定功能的代码注入到某个应用程序中之后,运行该应用程序得到的应用进程具有该功能,举例来说,假设目标代码的作用是拦截广告,那么将目标代码注入到应用程序A中之后,在运行应用程序A时,就能够实现对广告的拦截。但是将目标代码注入到应用程序A之后,有可能会影响应用程序A运行的稳定性。因此,需要对应用程序A进行测试,以判断目标代码的注入对应用程序A的运行产生的影响的强弱。现有技术中主要根据信号处理器来监控注入的代码对应用进程的稳定性的影响。具体过程为:Android中的应用程序可以处于两种运行状态:native和Java虚拟机。Native和普通的Linux程序一样,而Java虚拟机则是运行的Java字节码。当native的代码运行发生错误时,内核会发送信号给进程,并调用进程的信号处理器来处理后默认的处理结果是进程异常退出。在Java虚拟机也有类似的机制,当发生异常而应用代码没有捕获时,虚拟机会调用线程的异常处理器来处理,默认处理结果也是进程异常退出。两种状态下,应用都可以注册自己处理器来替换默认处理器接收这类异常消息,从而可以在进程退出前做一些善后的工作:例如记录日志等。利用这个技术特点可以监控应用进程自身的异常情况。现有技术中方法主要的缺点是只能监控单个应用自身的异常退出,无法同时知道应用的正常退出和异常退出情况,因此测试应用程序的准确度低。针对上述的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术实施例提供了一种应用程序的测试方 ...
【技术保护点】
一种应用程序的测试方法,其特征在于,包括:运行目标应用程序,其中,所述目标应用程序是待测试的应用程序,所述目标应用程序中注入有目标代码,在运行所述目标应用程序的过程中产生了目标应用进程;监控所述目标应用进程的运行数据,其中,所述运行数据包括所述目标应用进程的正常退出数据和异常退出数据;根据所述正常退出数据和所述异常退出数据确定所述目标应用进程的稳定性参数;判断所述稳定性参数是否满足预设条件;在判断出所述稳定性参数不满足所述预设条件的情况下,从所述目标应用程序中删除所述目标代码。
【技术特征摘要】
1.一种应用程序的测试方法,其特征在于,包括:运行目标应用程序,其中,所述目标应用程序是待测试的应用程序,所述目标应用程序中注入有目标代码,在运行所述目标应用程序的过程中产生了目标应用进程;监控所述目标应用进程的运行数据,其中,所述运行数据包括所述目标应用进程的正常退出数据和异常退出数据;根据所述正常退出数据和所述异常退出数据确定所述目标应用进程的稳定性参数;判断所述稳定性参数是否满足预设条件;在判断出所述稳定性参数不满足所述预设条件的情况下,从所述目标应用程序中删除所述目标代码。2.根据权利要求1所述的方法,其特征在于,所述运行数据包括第一退出数据,所述监控所述目标应用进程的运行数据包括:在所述目标应用进程中创建第一对象,其中,所述第一对象随所述目标应用进程的退出而被销毁;监控所述第一对象是否被销毁;在监控到所述第一对象被销毁时确定所述目标应用进程退出,其中,所述目标应用进程退出包括异常退出和正常退出;将所述目标应用进程退出时产生的数据作为所述第一退出数据。3.根据权利要求2所述的方法,其特征在于,监控所述第一对象是否被销毁包括:注册所述第一对象的第一通知,其中,所述第一通知用于指示所述第一对象所在的进程已退出;判断是否检测到所述第一通知;在检测到所述第一通知的情况下,确定所述第一对象被销毁。4.根据权利要求1所述的方法,其特征在于,所述监控所述目标应用进程的运行数据包括:获取所述目标应用进程的异常退出数据,其中,在所述目标应用进程异常退出的情况下,会产生所述异常退出数据;获取所述目标应用进程的第一退出数据,其中,在所述目标应用进程正常退出和异常退出两种情况下,都会产生所述第一退出数据;根据所述异常退出数据和所述第一退出数据获取所述正常退出数据。5.根据权利要求1所述的方法,其特征在于,所述监控所述目标应用进程的运行数据包括:根据读取到的墓碑文件目录判断所述墓碑文件目录是否发生了改变;如果所述墓碑文件目录发生了改变,则确定所述目标应用进程发生了异常退出;将所述目标应用进程发生异常退出时产生的运行数据作为所述异常退出数据。6.根据权利要求5所述的方法,其特征在于,根据读取到的墓碑文件目录判断所述墓碑文件目录是否发生了改变包括:创建目录修改事件监听器,其中,在创建所述目录修改事件监听器之后,如果有应用进程发生异常退出,系统会生成墓碑文件;判断所述系统是否生成了所述墓碑文件;在所述系统生成了所述墓碑文件的情况下,确定所述墓碑文件目录发生了改变,将所述目标应用进程发生异常退出时产生的运行数据作为所述异常退出数据包括:解析所述墓碑文件,得到所述异常退出数据。7.根据权利要求1所述的方法,其特征在于,所述监控所述目标应用进程的运行数据包括:运行调试程序,其中,运行所述调试程序的过程中产生了第一进程;检测所述第一进程是否创建了墓碑文件;在检测到所述第一进程创建了所述墓碑文件的情况下,确定所述目标应用进程发生了异常退出;将所述目标应用进程发生异常退出时产生的运行数据作为所述异常退出数据。8.一种应用程序的测试装置,其特征在于,包括:运行单元,用于运行目标应用程序,其中,所述目标应用程序是待测试的应用程序,所述目标应用程序中...
【专利技术属性】
技术研发人员:彭威,陈奋,黄泽丰,王庆,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。