一种应用程序的测试方法和装置制造方法

文档序号:6634905阅读:194来源:国知局
一种应用程序的测试方法和装置制造方法
【专利摘要】本发明实施例公开了一种应用程序的测试方法和装置,涉及通信领域,用以解决当终端的操作系统升级后,对未升级的应用程序进行重复测试的问题。在本发明实施例中,获取预先生成的终端应用程序列表的最新记录和历史记录,最新记录记录运行于当前版本操作系统中的每个应用程序的包名和版本信息,历史记录记录运行于历史版本操作系统中的每个应用程序的包名和版本信息;对比终端应用程序列表的最新记录和历史记录,确定最新记录中与历史记录相同包名且版本信息不同的应用程序和/或新增的应用程序为目标应用程序;从而解决了上述问题。
【专利说明】一种应用程序的测试方法和装置

【技术领域】
[0001] 本发明涉及通信领域,尤其涉及一种应用程序的测试方法和装置。

【背景技术】
[0002] 目前大部分的终端采用Android (安卓)操作系统,而Android系统的开源特性决 定了终端中的应用程序具有多样性且数量众多,随着终端功能的愈加复杂,终端中的应用 程序的数量也不断增加。
[0003] 目前对终端进行测试时,需要对安装在终端中的每一个应用程序进行测试,当安 装在终端中的应用程序越来越多时,这就导致了终端的测试时间不断延长。现有技术中的 测试方法可以使用Android自带的或是通过二次开发形成的自动化测试框架对应用程序 进行测试,但是这类测试方法大多是针对终端的基本功能、性能和稳定性进行测试。
[0004] 当终端的操作系统升级后,安装在该终端中的应用程序有可能也发生了变化(如 删除、新增或升级),使用现有技术中的测试方法对升级后的终端进行测试时,会对多个应 用程序重新进行测试,而其中某些未升级的应用程序可能在升级前的版本上已经进行过测 试,这就导致了大量的重复测试工作,增加了测试时间。


【发明内容】

[0005] 本发明实施例提供一种应用程序的测试方法和装置,当终端的操作系统升级后, 可以避免对未升级的应用程序进行重复测试。
[0006] 本发明实施例提供一种应用程序的测试方法,该方法包括:
[0007] 获取预先生成的终端应用程序列表的最新记录和历史记录,所述最新记录记录运 行于当前版本操作系统中的每个应用程序的包名和版本信息,所述历史记录记录运行于历 史版本操作系统中的每个应用程序的包名和版本信息;
[0008] 对比所述终端应用程序列表的最新记录和历史记录,确定所述最新记录中与历史 记录相同包名且版本信息不同的应用程序和/或新增的应用程序为目标应用程序;
[0009] 对所述目标应用程序进行测试。
[0010] 本发明实施例还提供一种应用程序测试装置,该装置包括:
[0011] 记录获取单元,用于获取预先生成的终端应用程序列表的最新记录和历史记录, 所述最新记录记录运行于当前版本操作系统中的每个应用程序的包名和版本信息,所述历 史记录记录运行于历史版本操作系统中的每个应用程序的包名和版本信息;
[0012] 判断单元,用于对比所述终端应用程序列表的最新记录和历史记录,确定所述最 新记录中与历史记录相同包名且版本信息不同的应用程序和/或新增的应用程序为目标 应用程序;
[0013] 测试单元,用于对所述目标应用程序进行测试。
[0014] 从上述技术方案可以看出,当某一终端的操作系统由历史版本升级到当前版本 时,本发明实施例能够获取到终端中的终端应用程序列表的最新记录(即,在当前版本下 的终端应用程序列表),还能获取到终端中的终端应用程序列表的历史记录(即,在历史版 本下的终端应用程序列表),由于终端的操作系统的升级可能造成应用程序的变化(如删 除、新增或升级),本发明实施例能够获取并对比同一应用程序在最新记录和历史记录中的 版本信息,从而确定出最新记录中与历史记录相同包名且版本信息不同的应用程序,并进 一步只对确定出的目标应用程序进行测试;本发明实施例还能够确定出新增的应用程序, 并进一步对确定出的新增的应用程序进行测试;从而避免了对版本信息相同的同一应用进 行重复测试,节省了测试时间,提高了测试效率。

【专利附图】

【附图说明】
[0015] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本 领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其 他的附图。
[0016] 图I (a)为本发明实施例提供的由网络侧和终端组成的系统构架的示意图;
[0017] 图1(b)为本发明实施例提供的由服务器、PC端和智能电视组成的系统构架的示 意图;
[0018] 图2为本发明实施例提供的一种应用程序的测试方法的流程示意图;
[0019] 图3为本发明实施例提供的智能电视测试方法的流程示意图;
[0020] 图4为本发明实施例提供的应用程序信息对比筛选过程的示意图;
[0021] 图5为本发明实施例提供的一种应用程序测试装置的结构示意图。

【具体实施方式】
[0022] 为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进 一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施 例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的 所有其它实施例,都属于本发明保护的范围。
[0023] 本发明实施例可以应用于由网络侧和终端组成的系统构架中,图1(a)示出了本 发明实施例提供的由网络侧和终端组成的系统构架的示意图,其中,网络侧11至少包括服 务器设备,终端12可以是智能手机、智能电视或平板电脑等设备;特别的,图I (b)示出了本 发明实施例提供的由服务器、PC端和智能电视组成的系统构架的示意图,如图1(b)所示, 本发明实施例还适用于由服务器13、PC端14和智能电视15组成的系统构架中,其中,PC 端与智能电视进行信息交互、PC端与服务器进行信息交互。具体的,PC端用于获取智能电 视中的应用程序信息等并根据获取到的信息生成终端应用程序列表,还用于将已生成的终 端应用程序列表的最新记录上传到服务器;服务器用于接收PC端上传的终端应用程序列 表的最新记录,并保存终端应用程序列表的历史记录。
[0024] 图2示出了本发明实施例提供的一种应用程序的测试方法的流程示意图,如图2 所示,该方法包括:
[0025] 步骤21 :获取预先生成的终端应用程序列表的最新记录和历史记录。
[0026] 具体的,上述最新记录记录运行于当前版本操作系统中的每个应用程序的包名和 版本信息,上述历史记录记录运行于历史版本操作系统中的每个应用程序的包名和版本信 息。
[0027] 步骤22 :对比上述终端应用程序列表的最新记录和历史记录,确定上述最新记录 中与历史记录相同包名且版本信息不同的应用程序和/或新增的应用程序为目标应用程 序。
[0028] 步骤23 :对上述目标应用程序进行测试。
[0029] 可选的,在上述步骤21?步骤22中,应用程序的版本信息至少包括应用程序的版 本校验码。
[0030] 一般来说,应用程序的版本校验码通过预设的数学关系得到唯一标识码,终端的 应用程序系统内部可以预先设置根据预设的校验方法所导出的校验公式编制成的校验程 序,也可以通过其他终端携带的效验程序记录待测终端的应用程序的效验码。
[0031] 可选的,在上述步骤中,通过如下步骤生成终端应用程序列表的最新记录:检测到 上述终端的操作系统升级后获取每个应用程序的包名和代码路径;根据上述代码路径生成 对应的应用程序的版本校验码;根据获取到的每个应用程序的包名和版本校验码,生成终 端应用程序列表的最新记录。
[0032] 可选的,在上述步骤中,在根据获取到的每个应用程序的包名和版本校验码的步 骤之后,将操作系统升级前的终端应用程序列表的最新记录作为终端应用程序列表的一条 历史记录进行保存。
[0033] 可选的,在上述步骤中,在上述确定上述最新记录中与历史记录相同包名且版本 信息不同的应用程序和/或新增的应用程序为目标应用程序的步骤之后还包括:获取升级 应用程序在上述最新记录中的版本号和在上述历史记录中的版本号,上述升级应用程序为 上述具有相同包名且版本信息不同的应用程序;判断上述升级应用程序在最新记录中的版 本号和上述历史记录中的版本号是否相同,若相同,则将上述升级应用程序的测试优先级 确定为低;若不同,则将上述升级应用程序的测试优先级确定为高。
[0034] 下面对本发明实施例进行详细描述。
[0035] 当终端(如智能电视)的操作系统(如Android操作系统)由版本4. 0升级到版 本5. 0时,安装于终端中的APP可能发生变化,如APP版本升级、APP删除或新增。通常的, 当终端的操作系统升级后,测试人员会对升级后的操作系统中的APP逐一进行测试,然而, 使用现有技术需要对每一个APP进行测试,实际上,虽然终端的操作系统升级了,但是升级 后的终端中的APP也可能未发生变化,如果对未发生变化的APP进行测试,相当于对同一 APP的同一版本进行了重复测试,浪费了测试时间和资源。针对上述问题,本发明实施例能 够检测出发生变化的APP,并仅对发生变化的APP进行测试,从而节省了测试时间,提高了 测试效率。
[0036] 在本发明实施例中,应用程序(APP)的版本信息可以包括各种可以标识该应用程 序的版本的信息,例如:版本标识、版本号、版本校验码等等信息。其中,版本号主要由开发 人员填写的开发版本;版本效验码例如MD5 (Message Digest Algorithm MD5,消息摘要算 法第五版)值是需要经过哈希算法处理后获取到每一个APP的唯一标识码。一般来说,如 果APP的数据进行了升级或修改,该APP的MD5 -定会发生变化,但是版本号未必发生变 化。本发明实施例对于同一 APP,能够区分该APP在终端操作系统升级前和升级后的MD5值 和版本号是否相同,若MD5发生变化,则表明该APP -定发生变化,则需要对该APP进行测 试;当MD5发生变化时,并不代表版本号一定发生变化,若版本号发生了变化,则表明该APP 改变幅度较大,此时需要加大对该APP的测试力度,若版本号未发生变化,则表明该APP改 变幅度不大,此时对该APP的测试优先级可以降低。如果MD5未发生变化,则表明该APP没 有任何变化,也就是说在终端操作系统未升级到该版本之前,已经对该APP进行过测试了, 那么此时无需再对该APP进行重复测试。对于新增加的APP进行重点测试,对于已删除的 APP无需测试,并作为系统告知用户的信息。这样,能够避免对同一版本的APP进行重复测 试而浪费的测试时间。可见,本发明实施例的主要测试对象是安装于终端中的部分APP。需 要说明的是,本发明实施例仅以MD5作为某一应用程序的唯一标识码为例,在实际应用时, 应用程序的唯一标识码还可以使用其他能够唯一标识该应用程序的标识码。
[0037] 本发明实施例将智能电视作为被测试终端为例进行具体描述。智能电视在开发过 程中会发布多个版本系统,集成在智能电视上的应用数量庞大,种类繁多,测试人员在测试 每个版本系统的应用上花费很多时间。可以通过本发明实施例,对比出有变化的应用程序, 向测试人员提供需要测试应用程序列表。图3示出了本发明实施例提供的智能电视测试方 法的流程示意图,如图3所示,该方法可以包括:
[0038] 步骤31 :PC端建立与智能电视的通信链路上的连接,并建立与服务器的通信链路 上的连接。
[0039] 步骤32 :PC端生成并向智能电视发送用于获取运行于该智能电视中的全部应用 程序的包名的第一指令,并接收智能电视返回的包名。
[0040] 具体实现时,PC端通过向智能电视发送第一指令(如系统应用数据收集命令)的 方式,获取智能电视中全部的应用程序的包名,或者获取智能电视中的包名列表。PC端接收 智能电视返回的包名或包名列表。
[0041] 步骤33 :PC端根据在步骤32中接收到的包名,依次生成用于获取每个包名所对应 的应用程序的版本号和路径代码的第二指令,接收终端返回的每个应用程序的版本号和路 径代码。
[0042] 具体实现时,PC端根据在步骤32中接收到的包名,依次对每个包名所对应的应用 程序生成并发送用于获取该应用程序详细信息的第二指令,应用程序详细信息可以具体包 括:应用程序的版本号和路径代码(path code)等信息。
[0043] 步骤34 :PC端根据在步骤33中接收到的每个应用程序的path code,依次生成用 于获取每个应用程序的MD5值的第三指令,并接收智能电视返回的每个应用程序的MD5值。
[0044] 具体实现时,PC端将在步骤33中接收到的每个应用程序的path code发送给智 能电视,智能电视在接收到path code之后,根据path code计算出该应用程序的MD5值, 并将计算出的MD5值返回给PC端。
[0045] 在上述步骤32?步骤33中,PC端还可以判断是否获取到智能电视中的全部应用 程序的信息,若是,则继续执行步骤35 ;否则,重新执行步骤32?步骤34,直到PC端获取到 智能电视中的全部应用程序的信息。
[0046] 步骤35 :PC端根据接收到的每个应用程序对应的包名、版本号和MD5值,生成终端 应用程序列表的最新记录;并将已生成的终端应用程序列表的最新记录上传给服务器进行 保存。
[0047] 具体实现时,PC端获取到当前智能电视中的所有应用程序的包名、版本信息、详细 信息等信息后,生成端应用程序列表的最新记录;在生成最新记录后,还可以通过http协 议将生成的应用程序列表的最新记录上传给服务器,服务器解析出每段字符串的含义,存 储到服务器的数据库相应字段中。其中,相关字段中的App (应用程序)字段所存储的内容 可以如表1所示:
[0048] 表 1
[0049]

【权利要求】
1. 一种应用程序的测试方法,其特征在于,该方法包括: 获取预先生成的终端应用程序列表的最新记录和历史记录,所述最新记录记录运行于 当前版本操作系统中的每个应用程序的包名和版本信息,所述历史记录记录运行于历史版 本操作系统中的每个应用程序的包名和版本信息; 对比所述终端应用程序列表的最新记录和历史记录,确定所述最新记录中与历史记录 相同包名且版本信息不同的应用程序和/或新增的应用程序为目标应用程序; 对所述目标应用程序进行测试。
2. 如权利要求1所述的方法,其特征在于,所述应用程序的版本信息至少包括应用程 序的版本校验码。
3. 如权利要求2所述的方法,其特征在于,通过如下步骤生成所述终端应用程序列表 的最新记录: 检测到所述终端的操作系统升级后获取每个应用程序的包名和代码路径; 根据所述代码路径生成对应的应用程序的版本校验码; 根据获取到的每个应用程序的包名和版本校验码,生成终端应用程序列表的最新记 3?〇
4. 如权利要求3所述的方法,其特征在于,在根据获取到的每个应用程序的包名和版 本校验码,生成终端应用程序列表的最新记录的步骤之后还包括: 将操作系统升级前的终端应用程序列表的最新记录作为终端应用程序列表的一条历 史记录进行保存。
5. 如权利要求4所述的方法,其特征在于,在所述确定所述最新记录中与历史记录相 同包名且版本信息不同的应用程序和/或新增的应用程序为目标应用程序的步骤之后还 包括: 获取升级应用程序在所述最新记录中的版本号和在所述历史记录中的版本号,所述升 级应用程序为所述具有相同包名且版本信息不同的应用程序; 判断所述升级应用程序在最新记录中的版本号和所述历史记录中的版本号是否相同, 若相同,则将所述升级应用程序的测试优先级确定为低;若不同,则将所述升级应用程序的 测试优先级确定为局; 所述对所述目标应用程序进行测试,具体包括: 根据所述目标应用程序的测试优先级,对所述目标应用程序进行测试。
6. -种应用程序的测试装置,其特征在于,该装置包括: 记录获取单元,用于获取预先生成的终端应用程序列表的最新记录和历史记录,所述 最新记录记录运行于当前版本操作系统中的每个应用程序的包名和版本信息,所述历史记 录记录运行于历史版本操作系统中的每个应用程序的包名和版本信息; 判断单元,用于对比所述终端应用程序列表的最新记录和历史记录,确定所述最新记 录中与历史记录相同包名且版本信息不同的应用程序和/或新增的应用程序为目标应用 程序; 测试单元,用于对所述目标应用程序进行测试。
7. 如权利要求6所述的装置,其特征在于,所述应用程序的版本信息至少包括应用程 序的版本校验码。
8. 如权利要求7所述的装置,其特征在于,该装置还包括: 生成单元,用于检测到所述终端的操作系统升级后获取每个应用程序的包名和代码路 径;根据所述代码路径生成对应的应用程序的版本校验码;根据获取到的每个应用程序的 包名和版本校验码,生成终端应用程序列表的最新记录。
9. 如权利要求8所述的装置,其特征在于,所述生成单元还用于: 在根据获取到的每个应用程序的包名和版本校验码,生成终端应用程序列表的最新记 录之后,将操作系统升级前的终端应用程序列表的最新记录作为终端应用程序列表的一条 历史记录进行保存。
10. 如权利要求9所述的装置,其特征在于,所述判断单元还用于: 在所述确定所述最新记录中与历史记录相同包名且版本信息不同的应用程序和/或 新增的应用程序为目标应用程序之后,获取升级应用程序在所述最新记录中的版本号和在 所述历史记录中的版本号,所述升级应用程序为所述具有相同包名且版本信息不同的应用 程序;判断所述升级应用程序在最新记录中的版本号和所述历史记录中的版本号是否相 同,若相同,则将所述升级应用程序的测试优先级确定为低;若不同,则将所述升级应用程 序的测试优先级确定为高; 所述测试单元具体用于;根据所述目标应用程序的测试优先级,对所述目标应用程序 进行测试。
【文档编号】G06F11/36GK104461873SQ201410665437
【公开日】2015年3月25日 申请日期:2014年11月19日 优先权日:2014年11月19日
【发明者】洪旭, 朱建坤, 秦曙光, 王兆庆 申请人:青岛海信电器股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1