用于兼容性测试的终端应用软件的获取方法及装置制造方法
【专利摘要】本发明实施例公开一种用于兼容性测试的终端应用软件的获取方法及装置,该方法包括:侦测到获取请求时,获取终端系统所有的底层库文件集合;获取已启动的终端应用软件所调用的底层库文件集合;将所述终端系统所有的底层库文件集合与已启动的终端应用软件所调用的底层库文件集合进行匹配,获取完全匹配的调用的底层库文件集合对应的终端应用软件,供兼容性测试。本发明实施例通过比较系统底层库文件集合及应用软件启动后调用的底层库文件集合,以获取覆盖系统底层库文件的应用软件进行终端的兼容性测试,从而可以获得更全面的应用软件进行兼容性测试,提高兼容性测试的效率。
【专利说明】用于兼容性测试的终端应用软件的获取方法及装置
【技术领域】
[0001] 本发明涉及终端应用领域,尤其涉及一种用于兼容性测试的终端应用软件的获取 方法及装置。
【背景技术】
[0002] 智能终端在设计时,都需要经过兼容性测试,以便其能兼容不同版本的系统或者 兼容不同版本的终端应用。而现有技术中,一般都是测试人员根据自己的经验挑选相应的 终端应用软件进行测试,如此可能造成挑选的终端应用软件不全面而影响终端的兼容性测 试的效率。
【发明内容】
[0003] 本发明实施例的主要目的是提供一种用于兼容性测试的终端应用软件的获取方 法,旨在获取覆盖全面的终端应用软件进行兼容性测试,以提高兼容性测试的效率。
[0004] 为达到以上目的,本发明实施例提供的一种用于兼容性测试的终端应用软件的获 取方法,包括:
[0005] 侦测到获取请求时,获取终端系统所有的底层库文件集合;
[0006] 获取已启动的终端应用软件所调用的底层库文件集合;
[0007] 将所述终端系统所有的底层库文件集合与已启动的终端应用软件所调用的底层 库文件集合进行匹配,获取完全匹配的调用的底层库文件集合对应的终端应用软件,供兼 容性测试。
[0008] 本发明实施例还提供了 一种用于兼容性测试的终端应用软件的获取装置,包括:
[0009] 侦测模块,用于侦测获取请求;
[0010] 底层库文件获取模块,用于侦测到获取请求时,获取终端系统所有的底层库文件 集合;获取已启动的终端应用软件所调用的底层库文件集合;
[0011] 匹配模块,用于将所述终端系统所有的底层库文件集合与已启动的终端应用软件 所调用的底层库文件集合进行匹配,获取完全匹配的调用的底层库文件集合对应的终端应 用软件,供兼容性测试。
[0012] 本发明实施例通过比较系统底层库文件集合及应用软件启动后调用的底层库文 件集合,以获取覆盖系统底层库文件的应用软件进行终端的兼容性测试,从而可以获得更 全面的应用软件进行兼容性测试,提高兼容性测试的效率。
【专利附图】
【附图说明】
[0013] 图1是本发明用于兼容性测试的终端应用软件的获取方法一较佳实施例的流程 示意图;
[0014] 图2是本发明用于兼容性测试的终端应用软件的获取方法中获取终端系统的底 层库文件集合的流程示意图;
[0015] 图3是本发明用于兼容性测试的终端应用软件的获取方法中获取终端应用软件 启动后所调用的底层库文件集合的流程示意图;
[0016] 图4是本发明运行在PC上的用于兼容性测试的终端应用软件的获取方法的流程 示意图;
[0017] 图5是本发明用于兼容性测试的终端系统应用软件的获取装置一较佳实施例的 功能模块示意图。
[0018] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
【具体实施方式】
[0019] 以下结合说明书附图及具体实施例进一步说明本发明的技术方案。应当理解,此 处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0020] 参照图1,提出本发明一种用于兼容性测试的终端应用软件的获取方法一实施例。 该实施例包括以下步骤:
[0021] 步骤S110、侦测到获取请求时,获取系统的底层库文件集合;
[0022] 底层库文件供终端系统运行的各程序调用以实现相应的功能。本实施例将以安 卓系统为例对上述方法进行描述,但是并不限定其终端系统仅为安卓系统,其他终端系统 像塞班系统、苹果系统均可以参照实施。安卓系统的底层库文件以后缀名so"命名,并 存放在系统的lib文件夹中。不同的底层库文件供不同的程序调用,例如"\system\lib\ libaudio. so"文件用于音频处理的调用,"\system\lib\libbluetooth. so"文件用于蓝牙 组件的调用等等。而且一个程序可能调用多个底层库文件。当侦测到获取请求时,则可以 查找终端系统的文件,获取所有后缀名为so"的文件,以生成系统的底层库文件集合。其 他的终端系统,例如塞班系统、苹果系统也有其对应的底层库文件,因此也可以查找相应终 端系统上的文件,以获取其相应的底层库文件集合。
[0023] 安卓系统是开源平台,人们可以根据自己的需求开发适合自己的系统版本,例如 CM系统及tita系统。本实施例中,该系统的底层库文件集合可以预先设置,例如获取CM系 统及tita系统的底层库文件集合,然后获取两者中不重合的底层库文件,以生成系统的底 层库文件。该系统的底层库文件将存储在存储器中,每次需要使用时,再从存储器中获取。 其他实施例中,也可以在每次需要使用时再进行获取。如图2所示,上述步骤S110还包括 :
[0024] 步骤S111、侦测到获取请求时,判断该系统是否存在至少两个版本;当系统存在 至少两个版本时,则转入步骤S112 ;当系统存在一个版本时,则转入步骤S114 ;
[0025] 当该系统为安卓系统时,则可以判断该系统目前可包括CM系统和tita系统,因此 转入步骤S112。当然不局限其还会出现其他的系统。
[0026] 步骤S112、获取每个版本的系统的底层库文件集合,并转入步骤S113 ;
[0027] 分别查找终端CM系统及终端tita系统上所有后缀名为so"的文件,以生成相 应的底层库文件集合folderl及folder2。
[0028] 步骤S113、比较所有版本的系统的底层库文件集合,获取所有版本中不重合的底 层库文件,以生成系统的底层库文件集合;
[0029] 比较终端CM系统及终端tita系统上相应的底层库文件集合folderl及folder2, 将两集合中的交集去掉,保留两集合中非交集的底层库文件,生成安卓系统的底层库文件 集合。
[0030] 步骤SI 14、直接获取该系统的底层库文件集合。
[0031]当终端系统仅有一个版本,则直接查找该终端上的底层库文件,生成该系统的底 层库文件集合。
[0032] 步骤S120、获取已启动的终端应用软件所调用的底层库文件集合;
[0033] 控制终端上的应用软件启动,然后获取该启动的应用软件调用的底层库文件集 合。如图3所示,上述步骤S120具体为:
[0034] 步骤S121、获取启动的终端应用软件的进程标识;
[0035] 进程标识(Process ID,Pid)用于唯一标识一个应用程序的"一次运行",每次启动 一个进程,该进程即被赋予一个唯一的标识符。因此,在终端应用软件启动后,可以获取其 对应的进程标识。
[0036] 步骤S122、根据所述进程标识,获取终端上存储的与所述进程标识对应的进程虚 拟地址映射文件,并将所获得的进程虚拟地址映射文件重命名为与终端应用软件的名称一 致;
[0037] 每个进程都有自己的虚拟地址空间,而且终端上将对应设置一进程虚拟地址映射 文件,用于记录进程的虚拟地址空间的使用情况以及应用软件在运行过程中所调用的文 件,例如底层库文件或其他的文件。每个终端应用软件的进程虚拟地址映射文件均存在各 自的文件夹中,而且均以同一文件名命名,例如安卓系统中的maps文件。因此,在根据进程 标识获取终端上存储的与该进程标识对应的进程虚拟地址映射文件,然后将其获取的进程 虚拟地址映射文件重命名为与终端应用软件的名称一致。
[0038] 步骤S123、对重命名的进程虚拟地址映射文件进行过滤,获取所述终端应用软件 所调用的底层库文件集合。
[0039] 通过对重命名的进程虚拟地址映射文件进行过滤,或者提取进程虚拟地址映射文 件中含有底层库文件的关键字的文件,例如后缀名为so"的文件,以生成该终端应用在启 动后所调用的底层库文件集合。其中,每个启动的终端应用软件都对应生成其调用的底层 库文件集合。
[0040] 步骤S130、将所述系统的底层库文件集合与终端应用软件所调用的底层库文件集 合进行匹配,获取完全匹配的调用的底层库文件集合对应的终端应用软件,供兼容性测试。
[0041] 将系统的底层库文件集合与终端应用软件所调用的底层库文件集合进行匹配,当 终端应用软件所调用的底层库文件均存在系统的底层库文件集合中时,将获取该终端应用 软件的信息,例如名称等,以供终端的兼容性测试。
[0042] 本发明实施例通过比较系统底层库文件集合及应用软件启动后调用的底层库文 件集合,以获取覆盖系统底层库文件的应用软件进行终端的兼容性测试,从而可以获得更 全面的应用软件进行兼容性测试,提高兼容性测试的效率。
[0043] 上述用于兼容性测试的终端应用软件的获取方法可以运行在终端中,也可以运行 在与终端连接的获取终端上,例如PC。下面对以运行在PC上的终端的应用软件的获取进行 描述,如图4所示。
[0044] 步骤S101、PC向终端发起连接请求,以建立PC与终端之间的连接;
[0045] 步骤S102、建立连接成功后,PC根据用户发起的获取请求,获取终端系统的底层 库文件集合;
[0046] 步骤S103、判断终端上的应用软件是否均启动;是则转入步骤S105,否则转入步 骤 S104 ;
[0047] 步骤S104、控制终端上的应用软件启动,并转入步骤S105 ;
[0048] 步骤S105、向移动终端发起获取请求,以获取终端上启动的应用软件所调用的底 层库文件集合;
[0049] 步骤S106、将终端上启动的应用软件所调用的底层库文件集合与终端系统的底层 库文件集合进行匹配,获取完全匹配的调用的底层库文件集合对应的终端应用软件,供兼 容性测试。
[0050] PC可以与终端进行有线连接,也可以进行无线连接。在PC与终端的连接建立成功 后,PC将接收用户发起的获取请求,获取终端系统的底层库文件集合。该终端系统的底层 库文件集合可以为预先设置的,并存储在PC上或者终端上,PC根据获取请求,从PC或终端 相应的存储器中获取。该终端系统的底层库文件集合可以为PC扫描终端系统即时获得的。 例如安卓系统时,可以扫描终端系统上后缀名为so"的文件。然后PC控制终端启动至少 一个应用软件,并获取终端系统上相应的文件,该文件记录有应用软件启动后所调用的底 层库文件,对应每个应用软件形成调用的底层库文件集合。最后将终端系统的底层库文件 与应用软件启动后所调用的底层库文件进行匹配,获取完全的调用的底层库文件集合对应 的终端应用软件,供兼容性测试。
[0051] 另外,上述用于兼容性测试的终端应用软件的获取方法还可以用于获取调用修改 的底层库文件的终端应用软件。具体为:对修改的底层库文件进行标记,并将其作为终端系 统的底层库文件集合,然后利用上述方法,将终端系统的底层库文件集合与应用软件启动 后所调用的底层库文件集合进行匹配,获得完全匹配的调用的底层库文件集合对应的终端 应用软件,即可获得调用修改的底层库文件的终端应用软件。因此,上述用于兼容性测试的 终端应用软件的获取方法还可针对更换底层库的修改BUG的方式,快速地获得调用修改的 底层库文件的终端应用软件,从而能快速验证修改底层库之后终端的兼容性。
[0052] 参照图5,对应上述方法,本发明还提出了一种用于兼容性测试的终端应用软件的 获取装置,该获取装置既可以独立设置,也可以设置在终端或与终端连接的外接设备上,例 如PC。该用于兼容性测试的终端应用软件的获取装置,包括:
[0053] 侦测模块11,用于侦测获取请求;
[0054] 底层库文件获取模块12,用于侦测到获取请求时,获取终端系统所有的底层库文 件集合;获取已启动的终端应用软件所调用的底层库文件集合;
[0055] 匹配模块13,用于将所述终端系统所有的底层库文件集合与已启动的终端应用软 件所调用的底层库文件集合进行匹配,获取完全匹配的调用的底层库文件集合对应的终端 应用软件,供兼容性测试。
[0056] 进一步的,上述底层库文件获取模块12用于:侦测到获取请求时,判断该系统是 否存在多个版本;当系统存在多个版本时,获取每个版本的系统的底层库文件集合;比较 所有版本的系统的底层库文件集合,获取所有版本中均不重合的底层库文件,以生成系统 的底层库文件集合。
[0057] 进一步地,上述底层库文件获取模块13用于:获取启动的终端应用软件的进程标 识;根据所述进程标识,获取终端上存储的与所述进程标识对应的进程虚拟地址映射文件, 并将所获得的进程虚拟地址映射文件重命名为与终端应用软件的名称一致;对重命名的进 程虚拟地址映射文件进行过滤,获取所述终端应用软件所调用的底层库文件列表。
[0058] 上述功能模块的具体实现过程均可参照前面方法实施例的描述,在此不再赘述。
[0059] 本领域技术人员可以理解实施例中的系统中的模块可以按照实施例描述进行分 布于实施例的系统中,也可以进行相应变化位于不同于本实施例的一个或多个系统中。上 述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0060] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助 软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更 佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的 部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若 干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本 发明各个实施例所述的方法。
[0061] 以上所述仅为本发明的优选实施例,并非因此限制其专利范围,凡是利用本发明 说明书及附图内容所作的等效结构或等效流程变换,直接或间接运用在其他相关的技术领 域,均同理包括在本发明的专利保护范围内。
【权利要求】
1. 一种用于兼容性测试的终端应用软件的获取方法,其特征在于,包括以下步骤: 侦测到获取请求时,获取终端系统所有的底层库文件集合; 获取已启动的终端应用软件所调用的底层库文件集合; 将所述终端系统所有的底层库文件集合与已启动的终端应用软件所调用的底层库文 件集合进行匹配,获取完全匹配的调用的底层库文件集合对应的终端应用软件,供兼容性 测试。
2. 根据权利要求1所述的用于兼容性测试的终端应用软件的获取方法,其特征在于, 所述侦测到获取请求时,获取终端系统所有的底层库文件集合包括: 侦测到获取请求时,判断该系统是否存在多个版本; 当系统存在多个版本时,获取每个版本的系统的底层库文件集合; 比较所有版本的系统的底层库文件集合,获取所有版本中均不重合的底层库文件,以 生成系统的底层库文件集合。
3. 根据权利要求2所述的用于兼容性测试的终端应用软件的获取方法,其特征在于, 所述获取终端应用软件在启动后调用的底层库文件集合包括: 获取启动的终端应用软件的进程标识; 根据所述进程标识,获取终端上存储的与所述进程标识对应的进程虚拟地址映射文 件,并将所获得的进程虚拟地址映射文件重命名为与终端应用软件的名称一致; 对重命名的进程虚拟地址映射文件进行过滤,获取所述终端应用软件所调用的底层库 文件集合。
4. 根据权利要求1所述的用于兼容性测试的终端应用软件的获取方法,其特征在于, 所述系统的底层库文件集合为预先存储的。
5. -种用于兼容性测试的终端应用软件的获取装置,其特征在于,包括: 侦测模块,用于侦测获取请求; 底层库文件获取模块,用于侦测到获取请求时,获取终端系统所有的底层库文件集合; 获取已启动的终端应用软件所调用的底层库文件集合; 匹配模块,用于将所述终端系统所有的底层库文件集合与已启动的终端应用软件所调 用的底层库文件集合进行匹配,获取完全匹配的调用的底层库文件集合对应的终端应用软 件,供兼容性测试。
6. 根据权利要求5所述的用于兼容性测试的终端应用软件的获取装置,其特征在于, 所述底层库文件获取模块用于: 侦测到获取请求时,判断该系统是否存在多个版本; 当系统存在多个版本时,获取每个版本的系统的底层库文件集合; 比较所有版本的系统的底层库文件集合,获取所有版本中均不重合的底层库文件,以 生成系统的底层库文件集合。
7. 根据权利要求6所述的用于兼容性测试的终端应用软件的获取装置,其特征在于, 所述底层库文件获取模块用于: 获取启动的终端应用软件的进程标识; 根据所述进程标识,获取终端上存储的与所述进程标识对应的进程虚拟地址映射文 件,并将所获得的进程虚拟地址映射文件重命名为与终端应用软件的名称一致; 对重命名的进程虚拟地址映射文件进行过滤,获取所述终端应用软件所调用的底层库 文件集合。
8.根据权利要求5所述的用于兼容性测试的终端应用软件的获取装置,其特征在于, 所述系统的底层库文件集合为预先存储的。
【文档编号】G06F11/36GK104156304SQ201310177862
【公开日】2014年11月19日 申请日期:2013年5月14日 优先权日:2013年5月14日
【发明者】吴雪梅 申请人:腾讯科技(深圳)有限公司