CN106055469A - 一种基于代码注入的移动端应用测试系统及方法 - Google Patents
一种基于代码注入的移动端应用测试系统及方法 Download PDFInfo
- Publication number
- CN106055469A CN106055469A CN201610333630.XA CN201610333630A CN106055469A CN 106055469 A CN106055469 A CN 106055469A CN 201610333630 A CN201610333630 A CN 201610333630A CN 106055469 A CN106055469 A CN 106055469A
- Authority
- CN
- China
- Prior art keywords
- module
- application
- code
- information
- mobile terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于代码注入的移动端应用测试系统及方法,包括进程劫持模块,全自动化测试模块;进程劫持模块对系统进程进行检测,如果进程存在则获取进程的唯一标识符,对进程进行劫持,如果劫持成功,注入用于获取进程信息的代码,用于实时检测和获取进程的运行信息,如果劫持失败则返回失败码,如果进程不存在返回进程不存在码;全自动化测试模块执行循环获取图形绘制过程中帧绘制时间的信息。本发明对应用运行过程中的图形运行流畅度进行自动化的测试和分析,提高了测试的效率,而且不需要修改应用的源代码,适用于屏幕尺寸多样的移动Android设备,极大地方便了自动化测试平台和开发者对应用进行测试。
Description
技术领域
本发明属于软件测试技术领域,涉及一类移动端应用软件测试方法及一个完整的软件测试系统,特别使用代码注入技术对应用运行的图形绘制的帧率及帧绘制时间信息进行自动化获取,可应用于移动端软件的自动测试、兼容性测试及游戏视频等软件的运行流畅情况的性能测试。
背景技术
Android作为一个开放开源的平台,发展迅速,目前就应用数量和开发者人数及市场份额而言,Android已经取得了成功。据统计移动设备拥有多种屏幕尺寸和分辨率,其数量已超过百亿,而应用的数量也不计其数,它们能否在设备上运行流畅直接影响用户的体验。如果应用运行不流畅,出现屏幕撕裂、屏幕停滞甚至界面不响应现象,可能使得用户直接卸载该应用,降低开发者的收入。对应用运行流畅情况进行测试和分析非常重要。
帧率及16-ms-per-frame基准用来评估和衡量应用运行流畅情况。由于帧率的直观和数值表示,自动化测试平台常常使用帧率来量化应用的流畅性能。通常,获取帧率有两种方式:一是亲自编写一个应用,在其嵌入统计图形渲染的代码来获取帧率信息;二是对应用的安装文件(apk文件)进行反编译,获取该应用的源代码,然后嵌入相关代码以获取。虽然两种方式都可以获取帧率信息,但都需要修改应用的源代码,而且只能获取本应用的运行帧率,而不能得到其他应用的。
再者,目前Google及第三方提供了许多用于性能测试的工具,针对应用运行流畅情况的有Systrace,GPU呈现模式分析,GT和FPS Meter等。这些工具要么需要甚至修改应用的源码,要么无法获取和保留应用的帧率运行信息,如Systrace可以帮助开发者收集Android关键子系统(如SurfaceFlinger服务)的运行信息,包括将该应用的帧率渲染信息按行显示,并通过标记不同的颜色来区分处理一帧的时间有没有超过16ms等,从而帮助开发者更直观的分析系统瓶颈,改进应用的性能,但是它检测信息的同时,需要运行应用的源码。
实际中为了防止应用代码被窃取开发者会对应用做加密处理,所以应用的源码是很难拿到的,需要获取应用源码的方法或工具就很难对应用进行测试分析。另外,由于Android系统版本和设备繁多及日益增长的应用数量,对应用进行自动测试不可避免,随而涌现了许多自动化测试平台,开发者可将应用安装文件(apk文件)上传到平台上进行应用性能进行测试和分析。为了获取应用运行流畅情况,自动化测试平台常常要求开发者上传应用之前按照流程嵌入相关的开发包及相应代码以便进行测试,手续繁琐,操作麻烦,不利于进行大规模自动化测试。
发明内容
本发明技术解决问题:克服现有技术中存在的上述问题,提出了一种基于代码注入的移动端应用测试的系统及方法,极大地提高了应用测试的效率,并提供了基于代码注入技术实现的系统方法。
本发明技术解决方案:一种基于代码注入的移动端应用测试的系统及方法,包括:进程劫持模块、全自动化测试模块、链接库文件模块、文件传输模块、ShellExecute执行命令模块、Android底层库、Linux内核,其中进程劫持模块、全自动化测试模块位于顶层的应用层,链接库文件模块、文件传输模块、ShellExecute执行命令模块位于中间层,Android底层库、Linux内核位于底层:
进程劫持模块,采用代码注入技术,在移动端设备运行过程中通过调用链接库文件模块的动态链接库对系统进程(SurfaceFlinger进程)进行获取,如果进程存在,获取进程的唯一标识符并执行进程劫持,如果劫持成功则注入静态链接库到该进程,同时通过文件传输模块将检测到的进程中应用图像运行的帧率信息进行获取,如果劫持失败返回失败码,如果进程不存在返回进程不存在码,它依赖于链接库文件模块和文件传输模块;
全自动化测试模块,在不影响移动端应用运行情况下后台运行,通过ShellExecute执行命令模块的adb shell获取移动端屏幕图像帧绘制时间信息和Android底层库获取移动端设备信息,并调用文件传输模块对获取到的信息进行存储,以实现自动地获取应用运行过程中图像的帧绘制时间等详细信息,依赖于ShellExecute执行命令模块和文件传输模块。
链接库文件模块,通过Java本地接口(Java Native Interface,JNI)将C/C++文件进行调用并使用本地开发包(Native Development Kit,NDK)将这些文件编译为多个平台(armeabi,armeabi-v7a,x86)下可执行的动态链接库和静态链接库;
文件传输模块,使用Android库中的adb或http通信协议,传输数据到上层的进程劫持模块和全自动化测试模块,数据包括移动设备应用屏幕图像运行的帧率和图像的帧绘制时间信息及移动设备相关的信息;
ShellExecute执行命令模块,对ShellExecute进行了封装,循环执行adb shell命令检测和获取应用运行过程中图像帧绘制时间信息,调用文件传输模块将信息写入文件并进行格式处理;
Android底层库,底层依赖,包括OpenGL ES、SGL、Surface Manager,Android自带的基础库,为上层的链接库文件模块和文件传输模块提供基础的移动端操作接口;
Linux内核,底层依赖,作为硬件和软件之间的抽象层,为中间层(链接库文件模块,文件传输模块和ShellExecute执行命令模块)提供了依赖支持,隐藏具体硬件细节提供Android的核心系统服务。
进程劫持模块在移动端设备运行过程中将自动加载并执行链接库文件模块的静态链接库,对界面组合数据对移动端应用屏幕图像的图形交换接口进行重写并实时检测图像的帧率调用文件传输模块对其进行获取对负责图形界面呈现的帧缓冲区进行实时检测。
所述进程劫持模块代码注入技术使用内存代码注入,直接将代码写入目标进程(是任何你想注入的进程,此处为系统进程—SurfaceFlinger进程),并启动链接库文件模块的远程线程注入功能注入静态链接库远程线程对应用的运行性能进行监控。
进程劫持模块所述代码注入技术在不修改Android移动端应用的源码且不用重启Android系统的情况下可实时检测到应用运行过程中屏幕图像运行帧率及应用图像帧绘制时间信息数据进行自动化获取。
所述进程劫持模块代码注入技术用于系统升级及加固,对应用自动化测试的同时不对系统及应用产生安全威胁行为。
基于代码注入的移动端应用测试方法,其特征在实现步骤如下:
步骤1、启动服务通过adb或者http协议获取设备运行平台及设备型号信息,同时执行步骤2和步骤5;
步骤2、执行链接库文件模块中的动态链接库列出Android系统中所有进程并查询系统中是否存在用于呈现应用屏幕图形的系统进程,如果不存在返回进程不存在码;
步骤3、获取进程的唯一标识符,对进程进行跟踪,获取进程执行信息,启动远程线程将相应平台下的链接库文件模块的静态链接库注入到该进程,如果劫持进程失败,返回失败码;
步骤4、自动加载并调用重写的界面组合数据的图形交换接口,通过adb或http协议获取进程中移动端屏幕运行过程中的帧率;
步骤5、创建线程循环调用adb协议获取应用运行过程中图像的帧绘制时间信息应用运行过程中帧绘制时间信息。
本发明与现有技术相比的优点在于:
本发明使用代码注入技术实现了移动端的测试,可应用在屏幕尺寸不同、运行环境多样的各种设备中,根据设备运行的平台执行相应的测试代码,拥有非常强大的适配性,相比于传统获取应用流畅性能的测试方法,本方法不需要应用的源码,操作简单,可直接运行在多平台上获取多个应用运行的流畅情况;
本发明提出了一种基于代码注入的移动端应用流畅性能测试的方法,可以实时地对应用进行自动化检测,获取和保留应用运行过程中图形绘制帧率及帧绘制时间等信息,满足了对应用进行大规模自动化测试的需求。
本发明使用后台服务调用自动化测试流程,可以在不影响应用运行情况下实现检测应用的性能。
本发明对应用运行过程中的图形运行流畅度进行自动化的测试和分析,提高了测试的效率,而且不需要修改应用的源代码,适用于屏幕尺寸多样的移动Android设备,极大地方便了自动化测试平台和开发者对应用进行测试。
附图说明
图1为本发明的系统架构图;
图2为基于代码注入技术的系统测试的流程图;
图3为进程劫持模块采用的代码注入技术的详细流程图;
图4为进程劫持模块和全自动化测试模块部分实验结果;
图5为系统测试中运行流畅性能分析的折线图。
具体实施方式
本发明的原理:
1.代码注入技术不需要获取应用的源码更不用对应用的源码进行修改,它使用内存代码注入,直接将代码写入系统进程,可以对运行在移动端设备的多个应用进行检测和分析,相比传统方式操作更为简单,同时省时省力,准确性很高。
目前现有的分析应用流畅性能的工具,往往需要应用源码比如Systrace或者无法记录保留应用运行流畅的数据如FPS Meter。针对移动端测试过程中的特点,设计了代码注入技术,实现了不修改应用源码的情况下对应用进行实时检测并记录运行数据,极大地方便了自动化测试。
如图1所示,本发明系统的架构主要分为三层:
最底层、主要是Android底层库和Linux内核,Android底层库,底层依赖,包括OpenGL ES、SGL、Surface Manager等,Android自带的基础库,为上层的链接库文件模块和文件传输模块提供基础的移动端操作接口,Linux内核,底层依赖,为文件传输模块和ShellExecute执行命令模块提供支持,作为移动端硬件和(系统和应用)软件之间的抽象层,隐藏具体硬件细节提供Android的核心系统服务。
中间层、主要是代码注入技术实现的链接库文件模块、为进程劫持模块和全自动化模块提供获取和传输数据的文件传输模块,及为全自动化模块提供服务的ShellExecute执行命令模块,链接库文件模块,通过Java本地接口(Java Native Interface,JNI)将C/C++文件进行调用并使用本地开发包(Native Development Kit,NDK)将这些文件编译为多个平台下可执行的动态链接库和静态链接库;文件传输模块,使用Android库中的adb或http通信协议,传输数据到上层的进程劫持模块和全自动化测试模块,数据包括移动设备应用屏幕图像运行的帧率和图像的帧绘制时间信息及移动设备相关的信,ShellExecute执行命令模块,对shell命令及命令执行路径的调用执行ShellExecute进行了封装,创建线程循环执行adb shell命令检测和获取应用运行过程中图像帧绘制时间信息,调用文件传输模块将信息写入文件并进行格式处理。
应用层、主要有两个最核心的功能,基于代码注入技术的进程劫持模块,以及全自动化测试模块,进程劫持模块,采用代码注入技术,通过调用链接库文件模块的动态链接库对系统进程(SurfaceFlinger进程)进行获取,如果进程存在,获取进程的唯一标识符并执行进程劫持,如果劫持成功则注入静态链接库到该进程,同时通过文件传输模块将检测到的进程中应用图像运行的帧率信息进行获取,如果劫持失败返回失败码,如果进程不存在返回进程不存在码,它依赖于链接库文件模块和文件传输模块;全自动化测试模块,在不影响移动端应用运行情况下后台运行,通过ShellExecute执行命令模块的adb shell获取移动端屏幕图像帧绘制时间信息和移动端设备相关的信息,并调用文件传输模块对获取到的信息进行存储。
本发明的方法中,移动端应用测试系统是基于代码注入的进程劫持模块及全自动化测试模块,测试的主要流程为,启动服务调用后台服务,打开一个应用,对应用进行正常操作,后台服务将执行进程劫持模块对应用进行测试,获取设备的运行平台及设备型号信息,查询系统中是否存在目标进程,如果存在获取进程的唯一标识符对进程进行跟踪,将相应平台下的静态链接库加载到进程,自动加载并调用重写的界面组合数据的图形交换接口,检测帧缓冲区刷新信息,通过adb或http协议获取进程中移动端应用运行流畅性能信息,同时后台服务循环调用adb协议获取应用运行过程中帧绘制时间信息,如图2所示。
移动应用基于代码注入的测试模块,测试的主要流程为,测试一个应用,正常操作应用的同时后台查询并获取目标进程,跟踪目标进程,注入用于检测应用运行流畅信息的代码到进程,实时获取和记录应用运行流畅数据。代码注入的主要步骤包括(见图3)。
如图3所示,本发明基于代码注入技术主要分为三个步骤:
步骤1、执行链接库文件模块中的动态链接库列出系统中所有进程并查询移动端设备系统中是否存在用于呈现应用屏幕图形的系统进程,如果不存在返回进程不存在码;
步骤2、获取进程的唯一标识符,对进程进行跟踪,获取进程执行信息,启动远程线程将相应平台下的链接库文件模块中的静态链接库注入到该进程,静态链接库是事先写好的重写图形交换接口的代码然后经过本地编译工具编译而生成的,如果劫持进程失败,返回失败码;
步骤3、自动加载并调用重写的界面组合数据的图形交换接口,通过adb或http协议获取进程中移动端屏幕运行过程中的帧率。
提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。
部分系统实验结果
基于代码注入的系统测试见图4,保证移动终端运行在无毒干净独立真实的测试环境下,在Android手机上运行相同的测试流程,使用了一个对比试验,比较在相同的移动终端上运行不同的应用(一共5个应用,每个应用运行3次,时间限制为3分钟),分别是它们的运行过程中的问题帧百分比,平均每帧绘制的时间,帧率,以及帧绘制步骤中占时最长的步骤,可以发现测试运行过程中,代码注入技术可以执行成功,全自动化测试运行稳定,能实现测试的目标。可将部分实验数据绘制成折线图,见图5,问题帧百分比,帧绘制时间及帧率,这些都可用于量化和分析应用运行流畅度情况,进一步分析问题帧占比及平均每帧绘制的时间和帧率的关系,探讨性能指标的准确性以及帮助定位运行不流畅情况。
提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。
Claims (3)
1.一种基于代码注入的移动端应用测试系统,其特征在于:包括进程劫持模块、全自动化测试模块、链接库文件模块、文件传输模块、ShellExecute执行命令模块、Android底层库、Linux内核;其中进程劫持模块、全自动化测试模块位于顶层的应用层,链接库文件模块、文件传输模块、ShellExecute执行命令模块位于中间层,Android底层库、Linux内核位于底层;
进程劫持模块,采用代码注入技术,通过调用链接库文件模块的动态链接库对Android的系统进程进行获取,如果进程存在,获取该进程的唯一标识符并执行进程劫持,如果劫持成功则注入链接库文件模块的静态链接库到该进程,静态链接库文件将自动执行实时地检测并获取进程中应用图像运行的帧率信息,并调用文件传输模块将帧率信息数据传输并保存到指定目录的文件中,同时通过文件传输模块将检测到的进程中应用图像运行的帧率信息进行获取,如果劫持失败返回失败码,如果进程不存在返回进程不存在码,静态链接库将不被注入系统进程中,也不会调用文件传输模块获取应用运行信息;
全自动化测试模块,在不影响移动端应用运行情况下后台运行,通过ShellExecute执行命令模块的adb shell获取移动端屏幕图像帧绘制时间信息和移动端设备相关的信息,并调用文件传输模块对获取到的信息进行存储;
链接库文件模块,通过Java本地接口将C/C++文件进行调用,并使用本地开发包将这些文件编译为多个平台下可执行的动态链接库和静态链接库;
文件传输模块,使用Android库中的adb或http通信协议,传输数据到上层的进程劫持模块和全自动化测试模块,数据包括移动设备应用屏幕图像运行的帧率信息和图像的帧绘制时间信息及移动设备相关的信息;
ShellExecute执行命令模块,对ShellExecute进行了封装,循环执行adb shell命令检测和获取应用运行过程中图像帧绘制时间信息,调用文件传输模块将图像帧绘制时间信息写入文件,并进行格式处理;
Android底层库,底层依赖,包括Android自带的基础库,为上层的链接库文件模块和文件传输模块提供基础的移动端操作接口;
Linux内核,底层依赖,作为移动端Android设备硬件和Android系统及应用软件之间的抽象层,为中间层,即链接库文件模块,文件传输模块和ShellExecute执行命令模块提供了依赖支持,隐藏具体硬件细节提供Android的核心系统服务。
2.根据权利要求1所述的基于代码注入的移动端应用测试系统,其特征在于:所述代码注入技术使用内存代码注入,直接将代码写入系统进程,该系统进程作为目标进程,并启动链接库文件模块的远程线程注入功能注入静态链接库的远程线程对应用的运行性能进行监控,在不修改应用的源码且不用重启系统的情况下,可实时检测到多应用运行过程中图形运行流畅情况及对应用图形帧率数据进行自动化获取。
3.一种基于代码注入的移动端应用测试方法,其特征在于实现步骤如下:
步骤1、启动全自动化测试模块的后台运行,通过adb或者http协议获取设备运行平台及设备型号信息,同时执行步骤2和步骤5;
步骤2、执行链接库文件模块中的动态链接库列出Android系统中所有进程并查询系统中是否存在用于呈现应用屏幕图形的系统进程,如果不存在返回进程不存在码;
步骤3、获取进程的唯一标识符,对进程进行跟踪,获取进程执行信息,执行信息,包括进程执行的内存地址,启动远程线程注入功能将相应平台下的链接库文件模块中的静态链接库注入到该进程,如果劫持进程失败,返回失败码;
步骤4、注入的静态链接库文件会被目标进程自动加载并调用目标进程代码,自动加载并调用重写的移动端应用屏幕图像界面组合数据的图形交换接口,实时地通过adb或http协议获取进程中移动端屏幕运行过程中的帧率信息,并调用文件传输模块对获取到的数据保存到文件;
步骤5、创建线程循环执行ShellExecute执行命令模块获取应用运行过程中图像帧绘制时间信息,并调用文件传输模块中对获取到的数据保存到文件,调用adb协议获取应用运行过程中图像的帧绘制时间信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610333630.XA CN106055469B (zh) | 2016-05-19 | 2016-05-19 | 一种基于代码注入的移动端应用测试系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610333630.XA CN106055469B (zh) | 2016-05-19 | 2016-05-19 | 一种基于代码注入的移动端应用测试系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106055469A true CN106055469A (zh) | 2016-10-26 |
CN106055469B CN106055469B (zh) | 2018-05-18 |
Family
ID=57177253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610333630.XA Active CN106055469B (zh) | 2016-05-19 | 2016-05-19 | 一种基于代码注入的移动端应用测试系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106055469B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106874168A (zh) * | 2017-01-12 | 2017-06-20 | 北京奇虎科技有限公司 | 确定应用程序运行性能的方法、装置和移动终端 |
CN106951777A (zh) * | 2017-03-06 | 2017-07-14 | 西安电子科技大学 | 安卓应用运行时用户界面的推断方法 |
CN108073499A (zh) * | 2016-11-10 | 2018-05-25 | 腾讯科技(深圳)有限公司 | 应用程序的测试方法及装置 |
WO2018099356A1 (zh) * | 2016-11-30 | 2018-06-07 | 武汉斗鱼网络科技有限公司 | 一种用于分析Android端应用运行流畅度的方法和系统 |
CN108132876A (zh) * | 2017-12-07 | 2018-06-08 | 中国航发控制系统研究所 | 一种基于注入方式的嵌入式软件目标码单元测试方法 |
CN109032911A (zh) * | 2018-07-24 | 2018-12-18 | 网易(杭州)网络有限公司 | 用于移动设备的帧率检测方法、装置及电子设备 |
CN110362487A (zh) * | 2019-07-11 | 2019-10-22 | 腾讯科技(深圳)有限公司 | 一种应用程序的测试方法及装置 |
CN110443880A (zh) * | 2019-08-08 | 2019-11-12 | Oppo广东移动通信有限公司 | 图像渲染方法、装置、存储介质及电子设备 |
CN112131112A (zh) * | 2020-09-22 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 操作信息的获取方法和装置、存储介质及电子设备 |
CN113127282A (zh) * | 2021-04-23 | 2021-07-16 | 北京字节跳动网络技术有限公司 | 一种帧能力确定方法、装置、电子设备和存储介质 |
WO2021249308A1 (zh) * | 2020-06-08 | 2021-12-16 | 中兴通讯股份有限公司 | 数据获取方法、装置、终端及存储介质 |
CN116166491A (zh) * | 2023-04-23 | 2023-05-26 | 北京紫光青藤微系统有限公司 | 用于调试移动终端的方法、装置、系统、电子设备及介质 |
CN110362487B (zh) * | 2019-07-11 | 2024-05-10 | 腾讯科技(深圳)有限公司 | 一种应用程序的测试方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101980175A (zh) * | 2010-10-22 | 2011-02-23 | 中国科学院软件研究所 | 基于OSGi的软件构件监测方法与系统 |
CN104360938A (zh) * | 2014-10-21 | 2015-02-18 | 北京邮电大学 | 一种故障确认方法及其系统 |
CN104978227A (zh) * | 2014-04-08 | 2015-10-14 | 腾讯科技(深圳)有限公司 | 一种进程控制方法、装置,及系统 |
CN105224437A (zh) * | 2014-06-11 | 2016-01-06 | 腾讯科技(深圳)有限公司 | 一种获取移动终端上事务执行耗时的方法和装置 |
-
2016
- 2016-05-19 CN CN201610333630.XA patent/CN106055469B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101980175A (zh) * | 2010-10-22 | 2011-02-23 | 中国科学院软件研究所 | 基于OSGi的软件构件监测方法与系统 |
CN104978227A (zh) * | 2014-04-08 | 2015-10-14 | 腾讯科技(深圳)有限公司 | 一种进程控制方法、装置,及系统 |
CN105224437A (zh) * | 2014-06-11 | 2016-01-06 | 腾讯科技(深圳)有限公司 | 一种获取移动终端上事务执行耗时的方法和装置 |
CN104360938A (zh) * | 2014-10-21 | 2015-02-18 | 北京邮电大学 | 一种故障确认方法及其系统 |
Non-Patent Citations (2)
Title |
---|
张云乾、张震宇等: "基于马尔可夫模型的软件错误定位方法", 《计算机学报》 * |
赵磊、张震宇等: "基于关联挖掘的软件错误定位方法", 《计算机学报》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108073499A (zh) * | 2016-11-10 | 2018-05-25 | 腾讯科技(深圳)有限公司 | 应用程序的测试方法及装置 |
CN108073499B (zh) * | 2016-11-10 | 2020-09-29 | 腾讯科技(深圳)有限公司 | 应用程序的测试方法及装置 |
WO2018099356A1 (zh) * | 2016-11-30 | 2018-06-07 | 武汉斗鱼网络科技有限公司 | 一种用于分析Android端应用运行流畅度的方法和系统 |
CN106874168A (zh) * | 2017-01-12 | 2017-06-20 | 北京奇虎科技有限公司 | 确定应用程序运行性能的方法、装置和移动终端 |
CN106951777A (zh) * | 2017-03-06 | 2017-07-14 | 西安电子科技大学 | 安卓应用运行时用户界面的推断方法 |
CN106951777B (zh) * | 2017-03-06 | 2019-07-23 | 西安电子科技大学 | 安卓应用运行时用户界面的推断方法 |
CN108132876A (zh) * | 2017-12-07 | 2018-06-08 | 中国航发控制系统研究所 | 一种基于注入方式的嵌入式软件目标码单元测试方法 |
CN108132876B (zh) * | 2017-12-07 | 2021-03-19 | 中国航发控制系统研究所 | 一种基于注入方式的嵌入式软件目标码单元测试方法 |
CN109032911B (zh) * | 2018-07-24 | 2022-02-18 | 网易(杭州)网络有限公司 | 用于移动设备的帧率检测方法、装置及电子设备 |
CN109032911A (zh) * | 2018-07-24 | 2018-12-18 | 网易(杭州)网络有限公司 | 用于移动设备的帧率检测方法、装置及电子设备 |
CN110362487A (zh) * | 2019-07-11 | 2019-10-22 | 腾讯科技(深圳)有限公司 | 一种应用程序的测试方法及装置 |
CN110362487B (zh) * | 2019-07-11 | 2024-05-10 | 腾讯科技(深圳)有限公司 | 一种应用程序的测试方法及装置 |
CN110443880A (zh) * | 2019-08-08 | 2019-11-12 | Oppo广东移动通信有限公司 | 图像渲染方法、装置、存储介质及电子设备 |
CN110443880B (zh) * | 2019-08-08 | 2023-05-16 | Oppo广东移动通信有限公司 | 图像渲染方法、装置、存储介质及电子设备 |
WO2021249308A1 (zh) * | 2020-06-08 | 2021-12-16 | 中兴通讯股份有限公司 | 数据获取方法、装置、终端及存储介质 |
CN112131112B (zh) * | 2020-09-22 | 2021-09-10 | 腾讯科技(深圳)有限公司 | 操作信息的获取方法和装置、存储介质及电子设备 |
CN112131112A (zh) * | 2020-09-22 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 操作信息的获取方法和装置、存储介质及电子设备 |
CN113127282A (zh) * | 2021-04-23 | 2021-07-16 | 北京字节跳动网络技术有限公司 | 一种帧能力确定方法、装置、电子设备和存储介质 |
CN116166491A (zh) * | 2023-04-23 | 2023-05-26 | 北京紫光青藤微系统有限公司 | 用于调试移动终端的方法、装置、系统、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106055469B (zh) | 2018-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106055469B (zh) | 一种基于代码注入的移动端应用测试系统及方法 | |
CN107979508B (zh) | 微服务测试方法及装置 | |
US9274768B2 (en) | Runtime code hooking for print driver and functionality testing | |
CN105164644B (zh) | 钩子框架 | |
US7472378B2 (en) | Breakpoint management and reconciliation for embedded scripts in a business integration language specified program process | |
CN103593605B (zh) | 一种基于权限使用行为的安卓平台应用程序动态分析系统 | |
US20040158819A1 (en) | Run-time wait tracing using byte code insertion | |
CN103970659B (zh) | 基于插桩技术的安卓应用软件自动化测试方法 | |
US20070192700A1 (en) | Support of remote software applications | |
CN104391797A (zh) | Gui控件的识别方法和装置 | |
CN105446868B (zh) | 系统兼容性测试方法、测试用例管理方法及相关装置 | |
CN107800757B (zh) | 用户行为记录方法及装置 | |
CN103853658A (zh) | 在安卓设备中进行录制回放的自动化测试方法及安卓设备 | |
CN108664786A (zh) | 应用程序的权限配置方法、移动终端、服务器及存储介质 | |
CN103812982B (zh) | 一种跨操作系统实现计算机监控测试手机客户端的方法和系统 | |
JPH10269105A (ja) | トレースシステム、リソース解放漏れ検出システム及び記録媒体 | |
CN108228206A (zh) | 一种应用程序管理方法及装置 | |
CN109542444A (zh) | Java应用的监控方法、装置、服务器和存储介质 | |
CN110737463A (zh) | 一种关键函数源头信息的分析方法、智能终端及存储介质 | |
Späth | Pro Android with Kotlin: Developing Modern Mobile Apps | |
CN109766275A (zh) | 移动应用的自动化测试方法、系统、存储介质以及设备 | |
CN112241373A (zh) | 自动化测试方法、测试装置、处理器和测试系统 | |
CN113688031B (zh) | 一种基于字节码增强技术的测试定位方法 | |
CN111930633A (zh) | 数据测试方法、平台、电子设备及存储介质 | |
CN109901937A (zh) | 隐藏api的反射调用方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |