一种覆盖安装测试方法及装置制造方法

文档序号:6624628阅读:195来源:国知局
一种覆盖安装测试方法及装置制造方法
【专利摘要】本发明公开了一种覆盖安装测试方法及装置,所述方法包括:运行具有第一版本信息的第一应用,对所述第一应用执行预设的操作,记录所述第一应用的数据库信息;覆盖安装具有第二版本信息的第二应用并运行,对第二应用执行所述预设的操作,记录所述第二应用的数据库信息;比较所述第一应用的数据库信息与所述第二应用的数据库信息,得到第一比较结果;根据所述第一比较结果,确定所述第二应用中相关功能是否正常。
【专利说明】一种覆盖安装测试方法及装置

【技术领域】
[0001]本发明涉及软件测试技术,尤其涉及一种覆盖安装测试方法及装置。

【背景技术】
[0002]本申请发明人在实现本申请实施例技术方案的过程中,至少发现相关技术中存在如下技术问题:
[0003]目前,电子设备的操作系统(OS,Operating System)繁多,目前最具代表性的OS包括安卓(Android)操作系统、苹果公司的1S操作系统;现在很多操作系统中的软件安装包(Package)都可采用覆盖安装的方式,例如,某应用程序(以下简称应用)A最开始发布的1.0、现在的最新版本为1.5版本,该应用的版本依次为1.0、1.1、1.2、1.3、1.4和1.5 ;假设分别有Al、A2、A3、A4和A5这5个用户,他们分别安装的应用A的版本为1.0、1.1、1.2、1.3和1.4,现在他们都想安装最新版本的应用A,那么A1、A2、A3、A4和A5这5个用户下载到最新的1.6版本的安装包后,无需卸载他们电子设备上之前的老版本,直接执行覆盖安装操作,则安装到最新版本15的应用A。
[0004]覆盖安装是一种类似于修复的安装方式,覆盖安装极大的方便了用户的使用,但是对于应用的提供商,后台在测试最新版本的应用时工作量是相当巨大的,现有的软件安装包的覆盖安装测试一般采用大面积的覆盖安装在很多电子设备上;然后人工验证数据库数据等在覆盖安装后是否正常。继续以前述的例子,应用提供商为了保证最新发布的应用A是正常的,不得不覆盖安装之前所有的老版本,从版本1.0到版本1.4,然后测试工程师采用人工验证的方式,对每一个老版本进行测试,以保证不同的用户在覆盖安装后应用A是正常可用的。通过上述的例子可以看出,现有覆盖安装测试采用人工验证的方式工作量大且相当耗时,本发明人旨在提供一种省时省力的覆盖安装测试法。


【发明内容】

[0005]有鉴于此,本发明实施例为解决现有技术中存在的问题而提供一种覆盖安装测试方法及装置,能够快速测试覆盖安装后的应用是否正常,具有省时省力的优点。
[0006]本发明实施例的技术方案是这样实现的:
[0007]第一方面,本发明实施例提供一种覆盖安装测试方法,所述方法包括:
[0008]运行具有第一版本信息的第一应用,对所述第一应用执行预设的操作,记录所述第一应用的数据库信息;
[0009]覆盖安装具有第二版本信息的第二应用并运行,对第二应用执行所述预设的操作,记录所述第二应用的数据库信息;
[0010]比较所述第一应用的数据库信息与所述第二应用的数据库信息,得到第一比较结果;
[0011]根据所述第一比较结果,确定所述第二应用中相关功能是否正常。
[0012]第二方面,本发明实施例再提供一种覆盖安装测试方法,所述方法包括:
[0013]运行具有第一版本信息的第一应用,对所述第一应用执行预设的操作,记录所述第一应用的用户配置信息;
[0014]覆盖安装具有第二版本信息的第二应用并运行,对第二应用执行所述预设的操作,记录所述第二应用的用户配置信息;
[0015]比较所述第一应用的用户配置信息与第二应用的用户配置信息,得到第三比较结果;
[0016]根据所述第三比较结果,确定所述第二应用中相关功能是否正常。
[0017]第三方面,本发明实施例提供一种覆盖安装测试装置,所述装置包括第一处理单元、第二处理单元、第一比较单元和第一确定单元,其中:
[0018]所述第一处理单元,用于运行具有第一版本信息的第一应用,对所述第一应用执行预设的操作,记录所述第一应用的数据库信息;
[0019]所述第二处理单元,用于覆盖安装具有第二版本信息的第二应用并运行,对第二应用执行所述预设的操作,记录所述第二应用的数据库信息;
[0020]所述第一比较单元,用于比较所述第一应用的数据库信息与所述第二应用的数据库信息,得到第一比较结果;
[0021]所述第一确定单元,用于根据所述第一比较结果,确定所述第二应用中相关功能是否正常。
[0022]第四方面,本发明实施例再提供一种覆盖安装测试装置,所述装置包括第三处理单元、第四处理单元、第二比较单元和第二确定单元,其中:
[0023]所述第三处理单元,用于运行具有第一版本信息的第一应用,对所述第一应用执行预设的操作,记录所述第一应用的用户配置信息;
[0024]所述第四处理单元,用于覆盖安装具有第二版本信息的第二应用并运行,对第二应用执行所述预设的操作,记录所述第二应用的用户配置信息;
[0025]所述第二比较单元,用于比较所述第一应用的用户配置信息与第二应用的用户配置信息,得到第三比较结果;
[0026]所述第二确定单元,用于根据所述第三比较结果,确定所述第二应用中相关功能是否正常。
[0027]本发明实施例提供的覆盖安装测试方法及装置,其中,运行具有第一版本信息的第一应用,对所述第一应用执行预设的操作,记录所述第一应用的数据库信息;覆盖安装具有第二版本信息的第二应用并运行,对第二应用执行所述预设的操作,记录所述第二应用的数据库信息;比较所述第一应用的数据库信息与所述第二应用的数据库信息,得到第一比较结果;根据所述第一比较结果,确定所述第二应用中相关功能是否正常,如此,本发明实施例提供的技术方案,能够快速测试覆盖安装后的应用是否正常,具有省时省力的优点。

【专利附图】

【附图说明】
[0028]图1-1为本发明实施例一覆盖安装测试方法的实现流程示意图一;
[0029]图1-2为本发明实施例一中步骤104的实现流程示意图一;
[0030]图1-3为本发明实施例一中步骤104的实现流程示意图二 ;
[0031]图1-4为本发明实施例一覆盖安装测试方法的实现流程示意图二 ;
[0032]图1-5为本发明实施例一覆盖安装测试方法的实现流程示意图三;
[0033]图2-1为本发明实施例二覆盖安装测试方法的实现流程示意图一;
[0034]图2-2为本发明实施例二覆盖安装测试方法的实现流程示意图二 ;
[0035]图2-3为本发明实施例二中步骤204的实现流程示意图;
[0036]图3-1为本发明实施例三自动化测试程序的实现流程示意图;
[0037]图3-2为本发明实施例三应用与自动化测试程序的关系示意图;
[0038]图4-1为本发明实施例四覆盖安装测试装置的组成结构示意图一;
[0039]图4-2为本发明实施例四覆盖安装测试装置的组成结构示意图二 ;
[0040]图4-3为本发明实施例四中第一确定单元的组成结构示意图一;
[0041]图4-4为本发明实施例四中第一确定单元的组成结构示意图二 ;
[0042]图5-1为本发明实施例五覆盖安装测试装置的组成结构示意图一;
[0043]图5-2为本发明实施例五覆盖安装测试装置的组成结构示意图二 ;
[0044]图5-3为本发明实施例五中第二确定单元的组成结构示意图。

【具体实施方式】
[0045]针对于上述现有的覆盖安装测试采用人工验证的方式工作量大且相当耗时的问题,本申请的发明人对操作系统中的覆盖安装技术进行深入学习,得出一些共有的结论,现以Android操作系统为例进行说明;安卓操作系统的软件安装包(APK, Android Package,简称安卓安装包)可以采用覆盖安装的方式,在安卓操作系统中,覆盖安装一般具有下列的结论:
[0046]I)覆盖安装APK文件后,用户配置信息不会丢失,数据库表中的数据也不会丢失;其中,在安卓操作系统中,用户配置信息是指sharecLprefs中的数据;
[0047]2)升级数据库的方法米用 “public void onUpgrade (SQLiteDatabase db, intoldVers1n, int newVers1n) ”指令,一般来说,这条指令会在对数据库做任何的数据库操作之前执行,换句话说,任何数据库操作之前都会先升级数据库,再进行操作。其中所述数据库操作包括插入数据、删除数据、修改数据库表的字段等等。
[0048]一般来说,覆盖安装引起问题的原因包括:(I),数据库表结构的变动包括增加一个字段、减少一个字段或者甚至是新表的建立,数据库结构修改必须升级数据库版本,并对相应版本进行处理。此外,任何在发布新版本之前修改数据库表结构的行为都是不可取的,即使是很简单的逻辑。(2),数据与当前版本的不匹配例如数据超出上限或下限,会引发逻辑出错、数组越界等问题。上述两个原因从另一方面来讲,如果数据库以及sharecLprefs的结构没有变化,那么用户数据包括数据库中的数据和sharecLprefs中的数据就不会丢失,正是新版本对老版本的数据库和/或sharecLprefs进行了更新,因此,对数据库表的字段或sharecLprefs中的字段等可能会进行修改就增删,所以会造成用户数据信息的丢失。
[0049]通过以上得出的结论,本申请的发明人提供一种省时省力的覆盖安装测试法及装置,主要是检测数据库是否有变化以及用户配置信息即sharecLprefs中各种配置信息是否有变化;从而,大大的减少覆盖安装测试的场景,达到减少测试时间和人力消耗。
[0050]下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。
[0051]实施例一
[0052]本发明实施例提供一种覆盖安装测试方法,应用于应用提供商在后台服务器上对覆盖安装后数据是否正常的测试,这里覆盖安装后的数据包括用户配置数据和/或数据库表中的数据;在本申请中用户配置数据与用户配置信息是指代同一对象,数据库中的数据与数据库信息是指代同一对象。其中:
[0053]数据库中的数据主要是指数据库信息,所述数据库信息包括:用户账号、密码、以及与应用的功能相关的信息。由于数据库信息中包括用户账号信息与密码信息,因此数据库信息又称为用户信息。其中与应用的功能相关的信息是指下面一类信息,下面举例说明,针对于安装电子设备上的浏览器应用,与浏览器应用的功能相关的信息包括用户保存的书签、访问历史、阅读的小说、观看的视频等;针对于安装在电子设备上的即时聊天应用如QQ、微信(Wechat),与即时聊天应用的功能相关的信息包括聊天记录等。
[0054]用户配置数据主要是指用户配置信息,用户配置信息是指用户在使用应用提供的各种功能的设置时所所记录的信息。比如,针对于电子设备上安装的浏览器应用,浏览器会为用户提供更换皮肤、设置搜索引擎、设置日夜间模式等相关的设置,用户在使用时例如会将浏览器的皮肤设置为天蓝色,将搜索引擎设置为谷歌,将日夜间模式设置为白天,那么用户配置信息包括:用户在更换皮肤设置中设置的天蓝色、在搜索引擎设置中设置的谷歌搜索引擎地址、在日夜间模式设置中设置的白天等信息等。
[0055]本发明以下实施例中,覆盖安装测试方法中覆盖安装测试的对象为应用提供商待发布的新版本的安装包,由于采用的是覆盖安装的方式,因此,还需要应用以前发布的老版本的安装包。本发明以下实施例提供的覆盖安装测试方法的部分通过测试工具或框架来实现,因此本发明以下实施例提供的覆盖安装测试方法可以通过编写自动化测试程序来完成,其中针对每一步骤可以通过自动化测试脚本来实现。一般来说,不同的操作系统一般使用不同的测试工具或框架,即使是同一操作系统,针对不同的用途测试工具或框架也不同,即使是相同的用途采用的测试工具或框架也可以不同。以安卓操作系统为例,安卓操作系统的测试工具或框架包括 Activity Instrumentat1n、DroidPilot、Monkey Runner>Robotium、以及Robolectric等。本发明的以下实施例将针对覆盖安装后的数据库数据和用户配置数据是否有变化,以确定应用的相关功能是否正常,从而实现对新发布的版本的测试。
[0056]图1-1为本发明实施例一覆盖安装测试方法的实现流程示意图一,如图1-1所示,该方法包括:
[0057]步骤101,运行具有第一版本信息的第一应用,对所述第一应用执行预设的操作,记录所述第一应用的数据库信息;
[0058]这里,步骤101之前,所述方法还可以包括:安装具有第一版本信息的安装包;步骤101之后,所述方法还可以包括:退出第一应用;
[0059]这里,所述第一以及下面所使用的第二、第三、第四等仅仅是为区别,并没有其他的含义,例如第一版本信息与第二版本信息不同,其中第一版本信息可以是vers1n 2.0,第二版本信息可以是vers1n 2.1 ;其中,vers1n 2.0的安装包文件与vers1n 2.1的安装包文件不同,这种安装包文件不同往往应用提供商对应用bug的修复或功能的增加等等,其中,应用bug是指应用中隐藏的一些未被发现的缺陷或问题。需要说明的是,这里的第一应用与下面第二应用是为了区别,这种区别仅仅是版本上不同,以即时聊天应用QQ为例,vers1n 2.0的安装包在电子设备上之后,该vers1n 2.0的QQ应用可称为第一应用;vers1n 2.1的安装包在电子设备上之后,该vers1n 2.1的QQ应用可称为第二应用;可见第一应用和第二应用都是即时聊天应用QQ,只是版本上的不同。
[0060]这里,所述预设的操作与测试的应用所提供的功能有关,通过对应用进行操作,以使用应用所提供的功能;之所以对应用执行预设的操作,是因为应用数据库中的有些数据信息是需要使用到特定的功能的时候才会创建的,比如浏览器的小说书架的数据库就是在使用过小说书架后才创建的。具体地对于浏览器应用,预设的操作可能包括查阅书签、根据访问历史记录访问页面、点击保存的小说等等;具体地对于即时聊天应用,预设的操作可能包括输入账号和密码以登陆聊天应用,以及向好友发送消息。
[0061]步骤102,覆盖安装具有第二版本信息的第二应用并运行,对第二应用执行所述预设的操作,记录所述第二应用的数据库信息;
[0062]这里,所述步骤102具体包括:在安装的所述第一版本信息的安装包的基础上,覆盖安装具有第二版本信息的安装包;运行所述第二应用程序,对所述第二应用程序执行预设的操作,记录所述第二应用程序的数据库信息,第二应用程序为所述第二版本信息对应的应用程序;
[0063]这里,所述步骤102可以参见上述的步骤101,因此不再赘述。
[0064]步骤103,比较所述第一应用的数据库信息与所述第二应用的数据库信息,得到第一比较结果;
[0065]步骤104,根据所述第一比较结果,确定所述第二应用中相关功能是否正常。
[0066]本发明实施例中,所述第二版本信息为应用的新版本信息即待发布的版本信息,而第一版本信息为应用的较旧的版本信息,换句话说,第二版本比第一版本新,第二版本为待发布版本,而第一版本为老版本,因此,第二版本的安装包可以在第一版本的安装包上进行覆盖安装。
[0067]本发明实施例中,运行具有第一版本信息的第一应用,对所述第一应用执行预设的操作,记录所述第一应用的数据库信息;覆盖安装具有第二版本信息的第二应用并运行,对第二应用执行所述预设的操作,记录所述第二应用的数据库信息;比较所述第一应用的数据库信息与所述第二应用的数据库信息,得到第一比较结果;根据所述第一比较结果,确定所述第二应用中相关功能是否正常;如此,本发明实施例提供的技术方案,能够快速测试覆盖安装后的应用是否正常,具有省时省力的优点。
[0068]本发明实施例中,在步骤102之后,所述方法还可以包括:退出第二应用。
[0069]这里,如图1-2所示,所述步骤104包括:
[0070]步骤141,解析所述第一比较结果;
[0071]步骤142,当所述第一比较结果表明所述第一版本信息的数据库信息与所述第二版本信息的数据库信息之间没有差异时,确定所述第二应用中相关功能为正常;
[0072]步骤143,当所述第一比较结果表明所述第一版本信息的数据库信息与所述第二版本信息的数据库信息之间的有差异时,确定所述第二应用中相关功能为异常。
[0073]图1-2所示的实施例所提供的技术方案,通过比较两个版本的关于用户信息的数据库有没有变化,则可以判断用户信息有没有丢失,通过用户信息来判断第二应用是否是正常。具体地,当数据库中的数据发生没有变化时,则说明用户信息没有丢失,则覆盖安装后的第二应用是正常的;当数据库中的数据发生变化时,则说明用户信息丢失或者发生变化了,则覆盖安装后的第二应用是异常的,当数据库中的数据发生变化时,需要进一步进行分析,判断数据库中数据的变化对第二应用产生的影响,关于数据库中数据的变化对第二应用产生的影响,下面图1-3所示的实施例将进行进一步地说明。
[0074]在上述步骤143之后,如图1-3所示,所述步骤104还可以包括:
[0075]步骤144,定位数据库信息的差异点;
[0076]步骤145,根据数据库信息的差异点对所述第二应用中相关功能进行测试,以完成对覆盖安装的测试。
[0077]其中,所述数据库信息的差异点至少包括以下差异点之一:
[0078]数据库的增加或删除;
[0079]数据库表格的增加或删除;
[0080]数据库表格中字段的增加、删除或变化。
[0081]本发明实施例中,为了容易比较第一版本信息的数据库信息与所述第二版本信息的数据库信息之间的差异,可以采用哈希表来记录数据库信息,具体地,如图1-4所示,所述方法包括:
[0082]步骤101,运行具有第一版本信息的第一应用,对所述第一应用执行预设的操作,记录所述第一应用的数据库信息;
[0083]步骤S11,将所述第一版本信息的数据库信息记录到第一哈希表;
[0084]步骤102,覆盖安装具有第二版本信息的第二应用并运行,对第二应用执行所述预设的操作,记录所述第二应用的数据库信息;
[0085]步骤S12,将所述第二版本信息的数据库信息记录到第二哈希表;
[0086]步骤103,比较所述第一哈希表与所述第二哈希表,得到第一比较结果;
[0087]步骤104,根据所述第一比较结果,确定所述第二应用中相关功能是否正常。
[0088]上述图1-4所示的实施例中的步骤101、步骤102、步骤103以及步骤104,可以参见图1-1,这里不再赘述。
[0089]本发明实施例中,如图1-5所示,所述方法还包括:
[0090]步骤107,卸载所述第二应用;
[0091]步骤108,安装具有第三版本信息的安装包,运行并对第三应用执行所述预设的操作,记录所述第三应用的数据库信息,所述第三应用为所述第三版本信息对应的应用;
[0092]步骤109,覆盖安装具有第二版本信息的第二应用并运行,对第二应用执行所述预设的操作,记录所述第二应用的数据库信息;
[0093]步骤110,比较所述第三应用的数据库信息与所述第二应用的数据库信息,得到第二比较结果;
[0094]步骤111,根据所述第二比较结果,确定所述第二应用中相关功能的正常性。
[0095]本发明实施例中,所述方法还包括:
[0096]所述对所述第一应用执行所述预设的操作后,记录所述第一应用的用户配置信息;
[0097]在对所述第二应用执行所述预设的操作后,记录所述第二应用的用户配置信息;
[0098]比较所述第一版本信息的用户配置信息与所述第二版本信息的用户配置信息,得到第三比较结果;
[0099]根据所述第三比较结果,确定所述第二应用中相关功能是否正常。
[0100]实施例二
[0101]基于上述的实施例一,本发明实施例提供一种覆盖安装测试方法,图2-1为本发明实施例二覆盖安装测试方法的实现流程示意图一,如图2-1所示,该方法包括:
[0102]步骤201,运行具有第一版本信息的第一应用,对所述第一应用执行预设的操作,所述第一应用的用户配置信息;
[0103]这里,步骤201之前,所述方法还可以包括:安装具有第一版本信息的安装包;步骤201之后,所述方法还可以包括:退出第一应用;
[0104]这里,所述第一以及下面所使用的第二、第三、第四等仅仅是为区别,并没有其他的含义,例如第一版本信息与第二版本信息不同,其中第一版本信息可以是vers1n 2.0,第二版本信息可以是vers1n 2.1 ;其中,vers1n 2.0的安装包文件与vers1n 2.1的安装包文件不同,这种安装包文件不同往往应用提供商对应用bug的修复或功能的增加等等,其中,应用bug是指应用中隐藏的一些未被发现的缺陷或问题。需要说明的是,这里的第一应用与下面第二应用是为了区别,这种区别仅仅是版本上不同,以即时聊天应用QQ为例,vers1n 2.0的安装包在电子设备上之后,该vers1n 2.0的QQ应用可称为第一应用;vers1n 2.1的安装包在电子设备上之后,该vers1n 2.1的QQ应用可称为第二应用;可见第一应用和第二应用都是即时聊天应用QQ,只是版本上的不同。
[0105]这里,所述预设的操作与测试的应用所提供的功能有关,通过对应用进行操作,以使用应用所提供的功能;之所以对应用执行预设的操作,是因为应用数据库中的有些数据信息是需要使用到特定的功能的时候才会创建的,比如浏览器的小说书架的数据库就是在使用过小说书架后才创建的。具体地对于浏览器应用,预设的操作可能包括查阅书签、根据访问历史记录访问页面、点击保存的小说等等;具体地对于即时聊天应用,预设的操作可能包括输入账号和密码以登陆聊天应用,以及向好友发送消息。
[0106]步骤202,覆盖安装具有第二版本信息的第二应用并运行,对第二应用执行所述预设的操作,记录所述第二应用的用户配置信息;
[0107]这里,所述步骤202具体包括:在安装的所述第一版本信息的安装包的基础上,覆盖安装具有第二版本信息的安装包;运行所述第二应用程序,对所述第二应用程序执行预设的操作,记录所述第二应用程序的用户配置信息,第二应用程序为所述第二版本信息对应的应用程序;
[0108]这里,所述步骤202可以参见上述的步骤201,因此不再赘述。
[0109]步骤203,比较所述第一应用的用户配置信息与第二应用的用户配置信息,得到第一比较结果;
[0110]步骤204,根据所述第一比较结果,确定所述第二应用中相关功能是否正常。
[0111]本发明实施例中,如图2-2所示,所述方法还包括:
[0112]步骤205,卸载所述第二应用;
[0113]步骤206,安装具有第三版本信息的安装包,运行并对第三应用执行所述预设的操作,记录所述第三应用的用户配置信息,所述第三应用为所述第三版本信息对应的应用;
[0114]步骤207,覆盖安装具有第二版本信息的第二应用并运行,对第二应用执行所述预设的操作,记录所述第二应用的用户配置信息;
[0115]步骤208,比较所述第三应用的用户配置信息与第二应用的用户配置信息,得到第四比较结果;
[0116]步骤209,根据所述第四比较结果,确定所述第二应用中相关功能是否正常。
[0117]本发明实施例中,如图2-3所示,所述步骤204包括:
[0118]步骤241,解析所述第三比较结果;
[0119]步骤242,当所述第三比较结果表明所述第一版本信息的用户配置信息与所述第二版本信息的用户配置信息之间没有差异时,确定所述第二应用中相关功能为正常。
[0120]步骤243,当所述第三比较结果表明所述第一版本信息的用户配置信息与所述第二版本信息的用户配置信息之间的有差异时,定位关于用户配置信息的差异点;
[0121]步骤244,当所述用户配置信息的差异点不是由第二应用所引起时,确定所述第二应用中的相关功能为异常。
[0122]在上述步骤243之后,所述方法还可以包括:当所述用户配置信息的差异点不是由第二应用所引起时,根据所述差异点对所述第二应用中相关功能进行测试,以完成对覆盖安装的测试。
[0123]实施例三
[0124]基于上述的实施例二,本发明实施例提供的一种覆盖安装测试方法,可以连续地测试多个覆盖安装后的数据是否正常。在测试之前,先准备好需要被覆盖安装的老版本的安装包以及需要测试的待发布的新版本的安装包,这里准备是指将老版本的安装包和新版本的安装包放置在指定的路径下。如前述所举的例子,老版本的安装包包括vers1n 1.0、vers1n 1.1、vers1n 1.2、vers1n 1.3、vers1n 1.4 一共 5 个版本,和待发布的新版本vers1n 1.6。然后,设置循环变量i控制循环次数,其中,i从I开始且i〈m,所述m为自动化测试程序获取被覆盖的老版本的个数;
[0125]如上所述,本发明实施例提供的覆盖安装测试方法是通过测试工具来实现的,那么测试时,运行预先编写好的自动化测试程序,记录新版本的数据库信息和各老版本的数据库信息,然后比较新新版本的数据库信息与每一个老版本的数据库信息之间有没有差异,通过比较新老版本之间的差异,来判断新版本的安装包在覆盖安装老版本的安装包后,新版本的应用是不是正常的。其中数据库信息之间的差异包括数据库的添加和删除、及数据库表的添加、删除和改变,以及数据表中字段的添加、删除和改变;
[0126]测试时,运行编写好的自动化测试程序,记录新版本的用户配置信息和各老版本的用户配置信息,当操作系统为安卓操作系统时,用户配置信息是指sharecLprefs中数据。然后比较新新版本的用户配置信息与每一个老版本的用户配置信息之间有没有差异,通过比较新老版本之间的差异,来判断新版本的安装包在覆盖安装老版本的安装包后,新版本的应用是不是正常的。
[0127]测试开始前,测试工程师设置循环变量i控制循环次数,其中i从I开始且i〈m,所述m为自动化测试程序获取被覆盖的老版本的个数;这里,m为大于等于I的自然数,举例来说,上述需要覆盖的老版本包括 vers1n 1.0、vers1n 1.Uvers1n 1.2、vers1n 1.3、vers1n 1.4 一共5个版本,所以这里的m为5。
[0128]下面详细说明一下自动化测试程序的执行过程,图3-1为本发明实施例三自动化测试程序的实现流程示意图,图3-2为本发明实施例三应用与自动化测试程序的关系示意图,如图3_1和图3_2所不,该流程包括:
[0129]步骤301,安装具有第i版本信息的安装包,运行应用Ai,所述应用Ai具有Ai版本信息,对所述应用Ai执行预设的操作;
[0130]这里,i为循环变量,所述A1、以及下面步骤中的HA1、PAi中的小写字母i均采用循环次数来区别,类似于上述实施例中的第一、第二等。
[0131]步骤302,记录所述应用Ai的数据库信息,将所述应用Ai的数据库信息保存到哈希表HAi,以及保存应用Ai的配置文件PAi ;
[0132]步骤303,退出所述应用Ai ;
[0133]步骤304,在所述应用Ai的基础上安装新版本信息B的安装包,运行应用B,所述应用B具有B版本信息,对所述应用B执行所述预设的操作;
[0134]步骤305,记录所述应用B的数据库信息,并保存到哈希表HB,以及保存应用B的配置文件PB ;
[0135]步骤306,卸载所述应用B ;
[0136]步骤307,判断i是否等于m,当i等于m时,结束;当i小于m时,将i+Ι的值赋值给i,并回到步骤301 ;
[0137]这里,继续承接上述的举例,步骤301a,安装vers1nl.0的安装包,运行vers1n1.0的应用,对vers1n 1.0的应用执行预设的操作,其中,vers1nl.0的安装包即为具有第I版本信息的安装包,应用Al即为vers1n 1.0的应用。需要说明的是,这里的第I版本信息是按循环变量来区别的,与上述的第一版本信息一样只是为了便于区别,但是第I版本信息与第一版本信息并不能等价,因为有时候第I版本信息与第一版本信息可能指代不同的对象。
[0138]步骤302a,记录vers1n 1.0的应用的数据库信息,将vers1n 1.0的应用的数据库信息保存到哈希表HAl,并保存vers1n 1.0的应用的配置文件PAl ;
[0139]步骤303a,退出 vers1n 1.0 的应用;
[0140]步骤304a,在vers1n 1.0的应用的基础上安装vers1n 1.5的安装包,运行vers1n 1.5的应用,对vers1n 1.5的应用执行所述预设的操作;
[0141]这里,vers1n 1.5的安装包即为待发布的新版本的安装包,vers1n 1.5的应用即为应用B ;
[0142]步骤305a,记录vers1n 1.5的应用的数据库信息,并将vers1n 1.5的应用的数据库信息保存到哈希表HB,以及保存vers1n 1.5的应用的配置文件PB ;
[0143]步骤306a,卸载 vers1n 1.5 的应用;
[0144]步骤307a,确定i小于m,因此,将2的值赋值给i,并回到步骤201 ;
[0145]本步骤307a需要说明的是,在步骤201a中假定i是从I开始的,因此在步骤207a未赋值之前,i是等于O的,而m是等于5的,因此判断i小于m,从而将2赋值给i并回到步骤201 ;
[0146]步骤301b,安装 vers1nl.3 的安装包,运行 vers1n 1.3 的应用,对 vers1n 1.3的应用执行预设的操作,其中,vers1nl.3的安装包即为具有第2版本信息的安装包,应用A2即为vers1n 1.3的应用。需要说明的是,这里的第2版本信息是按循环变量来区别的,与上述的第二版本信息一样只是为了便于区别,但是第2版本信息与第二版本信息并不能等价,因为这里的第2版本信息是指老版本信息,而上述的第二版本信息是指代待发布的最新的版本信息。
[0147]步骤302b,记录vers1n 1.3的应用的数据库信息,将vers1n 1.3的应用的数据库信息保存到哈希表HA2,并保存vers1n 1.3的应用的配置文件PA2 ;
[0148]步骤303b,退出vers1n 1.3白勺应用;
[0149]步骤304b,在vers1n 1.3的应用的基础上安装vers1n 1.5的安装包,运行vers1n 1.5的应用,对vers1n 1.5的应用执行所述预设的操作;
[0150]这里,vers1n 1.5的安装包即为待发布的新版本的安装包,vers1n 1.5的应用即为应用B ;
[0151]步骤305b,记录vers1n 1.5的应用的数据库信息,并将vers1n 1.5的应用的数据库信息保存到哈希表HB,以及保存vers1n 1.5的应用的配置文件PB ;
[0152]步骤306b,卸载 vers1n 1.5 的应用;
[0153]步骤307b,确定i = 2是小于m的,因此,将3的值赋值给i,并回到步骤201 ;
[0154]本步骤307b需要说明的是,在步骤201b中定i是等于2的,因此在步骤207b未赋值之前,i是小于m的,从而将3赋值给i并回到步骤301 ;
[0155]按照上述步骤301b至307b,继续安装其他未安装的版本如vers1n 1.Uvers1n1.2和vers1n 1.4 ;经过上述循环过程,可以得到5个老版本信息的应用与vers1n 1.5的应用之间关于数据库信息的差异,还可以得到5个老版本信息的应用与vers1n 1.5的应用之间关于数据库信息之间关于用户配置信息的差异。例如,比较vers1n 1.0的应用于vers1n 1.5的应用之间关于数据库信息之间的差异,当数据库中的数据发生没有变化时,贝1J说明用户信息没有丢失,则在vers1n 1.0的应用的基础上覆盖安装后的vers1n1.5应用是正常的;当数据库中的数据发生变化时,则说明用户信息丢失或者发生变化了,则说明在vers1n 1.0的应用上覆盖安装后的vers1n 1.5的应用是异常的,通过定位异常的数据库信息,对异常的数据库信息相关的功能进行测试,以实现对vers1n 1.5的改进。
[0156]再如,比较vers1n 1.0的应用于vers1n 1.5的应用之间关于用户配置信息之间的差异,当用户配置信息发生没有变化时,则说明用户配置信息没有丢失,则在vers1n1.0的应用的基础上覆盖安装后的vers1n 1.5应用是正常的;当用户配置信息发生变化时,通过定位异常的用户配置信息,判断所述用户配置信息的差异点是不是由vers1n1.5的应用所引起的,当是由vers1n 1.5的应用新增加的功能所引起的时候,则确定所述vers1n 1.5的应用中的相关功能为正常。当不是由vers1n 1.5的应用新增加的功能所引起的时候,则确定vers1n 1.5的应用中的相关功能为异常。当所述用户配置信息的差异点不是由vers1n 1.5的应用所引起时,根据所述差异点对所述vers1n 1.5的应用中相关功能进行测试,以完成对覆盖安装的测试。
[0157]例如,当用户配置信息有变动就需要定位这些变动会对vers1n 1.5的应用的哪些功能有影响,以即时聊天应用QQ为例,比如QQ之前的vers1n 1.0是不能发送图片的,目前即将发布的vers1n 1.5是支持图片发送的,那么相应的功能的配置信息就会增加上去,那么在比较vers1n 1.0的应用与vers1n 1.5的应用之间的用户配置信息时,vers1n 1.0的应用与vers1n 1.5的应用关于用户配置就应该是有差异的。
[0158]实施例四
[0159]本发明实施例提供一种覆盖安装测试装置,图4-1为本发明实施例四覆盖安装测试装置的组成结构示意图一,如图4-1所示,所述装置包括第一处理单元401、第二处理单元402、第一比较单元403和第一确定单元404,其中:
[0160]所述第一处理单元401,用于运行具有第一版本信息的第一应用,对所述第一应用执行预设的操作,记录所述第一应用的数据库信息;
[0161]所述第二处理单元402,用于覆盖安装具有第二版本信息的第二应用并运行,对第二应用执行所述预设的操作,记录所述第二应用的数据库信息;
[0162]所述第一比较单元403,用于比较所述第一应用的数据库信息与所述第二应用的数据库信息,得到第一比较结果;
[0163]所述第一确定单元404,用于根据所述第一比较结果,确定所述第二应用中相关功能是否正常。
[0164]如图4-2所示,所述装置还包括第一卸载单元405,用于卸载所述第二应用;
[0165]对应地,所述第一处理单元401,还用于安装具有第三版本信息的安装包,运行并对第三应用执行所述预设的操作,记录所述第三应用的数据库信息;所述第三应用为所述第三版本信息对应的应用;
[0166]所述第二处理单元402,还用于覆盖安装具有第二版本信息的第二应用并运行,对第二应用执行所述预设的操作,记录所述第二应用的数据库信息;
[0167]所述第一比较单元403,还用于比较所述第三应用的数据库信息与所述第二应用的数据库信息,得到第二比较结果;
[0168]所述第一确定单元404,用于根据所述第二比较结果,确定所述第二应用中相关功能是否正常。
[0169]如图4-3所示,所述第一确定单元404包括第一解析模块441和第一确定模块442和第二确定模块443,其中:
[0170]所述第一解析模块441,用于解析所述第一比较结果;
[0171]所述第一确定模块442,用于当所述第一比较结果表明所述第一版本信息的数据库信息与所述第二版本信息的数据库信息之间没有差异时,确定所述第二应用中相关功能为正常。
[0172]所述第二确定模块443,用于当所述第一比较结果表明所述第一版本信息的数据库信息与所述第二版本信息的数据库信息之间的有差异时,确定所述第二应用中相关功能为异常。
[0173]如图4-4所示,所述第一确定单元404还包括第一定位模块444和第一测试模块445,其中:
[0174]所述第一定位单元444,用于当所述第一比较结果表明所述第一版本信息的数据库信息与所述第二版本信息的数据库信息之间的有差异时,定位数据库信息的差异点;
[0175]所述第一测试单元445,用于根据数据库信息的差异点对所述第二应用中相关功能进行测试,以完成对覆盖安装的测试。
[0176]这里,所述数据库信息的差异点至少包括以下差异点之一:
[0177]数据库的增加或删除;
[0178]数据库表格的增加或删除;
[0179]数据库表格中字段的增加、删除或变化。
[0180]本发明实施例,所述装置还包括第一纪录单元、第二纪录单元、第二比较单元和第二确定单元,其中:
[0181]所述第一纪录单元,用于所述对所述第一应用执行所述预设的操作后,记录所述第一应用的用户配置信息;
[0182]所述第二纪录单元,用于在对所述第二应用执行所述预设的操作后,记录所述第二应用的用户配置信息;
[0183]所述第二比较单元,用于比较所述第一版本信息的用户配置信息与所述第二版本信息的用户配置信息,得到第三比较结果;
[0184]所述第二确定单元,用于根据所述第三比较结果,确定所述第二应用中相关功能是否正常。
[0185]本发明实施例中,所述装置还包括第三纪录单元和第四纪录单元,其中:
[0186]所述第三纪录单元,用于将所述第一版本信息的数据库信息记录到第一哈希表;
[0187]所述第四纪录单元,用于将所述第二版本信息的数据库信息记录到第二哈希表;
[0188]对应地,所述第一比较单元,用于比较所述第一哈希表与所述第二哈希表,得到第一比较结果。
[0189]实施例五
[0190]本发明实施例提供一种覆盖安装测试装置,图5-1为本发明实施例五覆盖安装测试装置的组成结构示意图一,如图5-1所示,所述装置包括第三处理单元501、第四处理单元502、第二比较单元503和第二确定单元504,其中:
[0191]所述第三处理单元501,用于运行具有第一版本信息的第一应用,对所述第一应用执行预设的操作,记录所述第一应用的用户配置信息;
[0192]所述第四处理单元502,用于覆盖安装具有第二版本信息的第二应用并运行,对第二应用执行所述预设的操作,记录所述第二应用的用户配置信息;
[0193]所述第二比较单元503,用于比较所述第一应用的用户配置信息与第二应用的用户配置信息,得到第三比较结果;
[0194]所述第二确定单元504,用于根据所述第三比较结果,确定所述第二应用中相关功能是否正常。
[0195]如图5-2所示,所述装置还包括第二卸载单元505,用于卸载所述第二应用;
[0196]对应地,所述第三处理单元501,用于安装具有第三版本信息的安装包,运行并对第三应用执行所述预设的操作,记录所述第三应用的用户配置信息;所述第三应用为所述第三版本信息对应的应用;
[0197]所述第四处理单元502,用于覆盖安装具有第二版本信息的第二应用并运行,对第二应用执行所述预设的操作,记录所述第二应用的用户配置信息;
[0198]所述第二比较单元503,用于比较所述第三应用的用户配置信息与第二应用的用户配置信息,得到第四比较结果;
[0199]所述第二确定单元504,用于根据所述第四比较结果,确定所述第二应用中相关功能是否正常。
[0200]如图5-3所示,所述第二确定单元504包括第二解析模块541、第三确定模块542、第二定位模块543和第四确定模块544,其中:
[0201]所述第二解析模块541,用于解析所述第三比较结果;
[0202]所述第三确定模块542,用于当所述第三比较结果表明所述第一版本信息的用户配置信息与所述第二版本信息的用户配置信息之间没有差异时,确定所述第二应用中相关功能为正常。
[0203]所述第二定位模块543,用于当所述第三比较结果表明所述第一版本信息的用户配置信息与所述第二版本信息的用户配置信息之间的有差异时,定位关于用户配置信息的差异点;
[0204]所述第四确定模块544,当所述用户配置信息的差异点不是由第二应用所引起时,确定所述第二应用中相关功能为异常。
[0205]本发明实施例中,所述第二确定单元还包括第二测试模块,其中:
[0206]所述第二测试模块,用于当所述用户配置信息的差异点不是由第二应用所引起时,根据所述差异点对所述第二应用中相关功能进行测试,以完成对覆盖安装的测试。
[0207]这里需要指出的是:实施例四和实施例五中的装置的描述,与上述方法描述是类似的,同方法的有益效果描述,不做赘述。对于本发明装置实施例中未披露的技术细节,请参照本发明方法实施例的描述。
[0208]在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0209]上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
[0210]另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0211]本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory, ROM)、随机存取存储器(Random Access Memory, RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0212]或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0213]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
【权利要求】
1.一种覆盖安装测试方法,其特征在于,所述方法包括: 运行具有第一版本信息的第一应用,对所述第一应用执行预设的操作,记录所述第一应用的数据库信息; 覆盖安装具有第二版本信息的第二应用并运行,对第二应用执行所述预设的操作,记录所述第二应用的数据库信息; 比较所述第一应用的数据库信息与所述第二应用的数据库信息,得到第一比较结果; 根据所述第一比较结果,确定所述第二应用中相关功能是否正常。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括: 卸载所述第二应用; 安装具有第三版本信息的安装包,运行并对第三应用执行所述预设的操作,记录所述第三应用的数据库信息;所述第三应用为所述第三版本信息对应的应用; 覆盖安装具有第二版本信息的第二应用并运行,对第二应用执行所述预设的操作,记录所述第二应用的数据库信息; 比较所述第三应用的数据库信息与所述第二应用的数据库信息,得到第二比较结果; 根据所述第二比较结果,确定所述第二应用中相关功能的正常性。
3.根据权利要求1所述的方法,其特征在于,根据所述第一比较结果,确定所述第二应用中相关功能是否正常,包括: 解析所述第一比较结果; 当所述第一比较结果表明所述第一版本信息的数据库信息与所述第二版本信息的数据库信息之间没有差异时,确定所述第二应用中相关功能为正常。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一比较结果,确定所述第二应用中相关功能是否正常包括: 解析所述第一比较结果; 当所述第一比较结果表明所述第一版本信息的数据库信息与所述第二版本信息的数据库信息之间的有差异时,确定所述第二应用中相关功能为异常。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:当所述第一比较结果表明所述第一版本信息的数据库信息与所述第二版本信息的数据库信息之间的有差异时,定位数据库信息的差异点; 根据数据库信息的差异点对所述第二应用中相关功能进行测试,以完成对覆盖安装的测试。
6.根据权利要求5所述的方法,其特征在于,所述数据库信息的差异点至少包括以下差异点之一: 数据库的增加或删除;数据库表格的增加或删除;数据库表格中字段的增加、删除或变化。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括: 所述对所述第一应用执行所述预设的操作后,记录所述第一应用的用户配置信息;在对所述第二应用执行所述预设的操作后,记录所述第二应用的用户配置信息;比较所述第一版本信息的用户配置信息与所述第二版本信息的用户配置信息,得到第三比较结果; 根据所述第三比较结果,确定所述第二应用中相关功能是否正常。
8.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括: 将所述第一版本信息的数据库信息记录到第一哈希表,将所述第二版本信息的数据库信息记录到第二哈希表; 对应地,所述比较所述第一应用的数据库信息与所述第二应用的数据库信息,得到第一比较结果,包括: 比较所述第一哈希表与所述第二哈希表,得到第一比较结果。
9.一种覆盖安装测试方法,其特征在于,所述方法包括: 运行具有第一版本信息的第一应用,对所述第一应用执行预设的操作,记录所述第一应用的用户配置信息; 覆盖安装具有第二版本信息的第二应用并运行,对第二应用执行所述预设的操作,记录所述第二应用的用户配置信息; 比较所述第一应用的用户配置信息与第二应用的用户配置信息,得到第三比较结果; 根据所述第三比较结果,确定所述第二应用中相关功能是否正常。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括: 卸载所述第二应用; 安装具有第三版本信息的安装包,运行并对第三应用执行所述预设的操作,记录所述第三应用的用户配置信息;所述第三应用为所述第三版本信息对应的应用; 覆盖安装具有第二版本信息的第二应用并运行,对第二应用执行所述预设的操作,记录所述第二应用的用户配置信息; 比较所述第三应用的用户配置信息与第二应用的用户配置信息,得到第四比较结果; 根据所述第四比较结果,确定所述第二应用中相关功能是否正常。
11.根据权利要求9或10所述的方法,其特征在于,所述根据所述第三比较结果确定所述第二应用中相关功能是否正常,包括: 解析所述第三比较结果; 当所述第三比较结果表明所述第一版本信息的用户配置信息与所述第二版本信息的用户配置信息之间没有差异时,确定所述第二应用中相关功能为正常。
12.根据权利要求9或10所述的方法,其特征在于,所述根据所述第三比较结果确定所述第二应用中相关功能是否正常,包括: 解析所述第三比较结果; 当所述第三比较结果表明所述第一版本信息的用户配置信息与所述第二版本信息的用户配置信息之间的有差异时,定位关于用户配置信息的差异点; 当所述用户配置信息的差异点不是由第二应用所引起时,确定所述第二应用中的相关功能为异常。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括: 当所述用户配置信息的差异点不是由第二应用所引起时,根据所述差异点对所述第二应用中相关功能进行测试,以完成对覆盖安装的测试。
14.一种覆盖安装测试装置,其特征在于,所述装置包括第一处理单元、第二处理单元、第一比较单元和第一确定单元,其中: 所述第一处理单元,用于运行具有第一版本信息的第一应用,对所述第一应用执行预设的操作,记录所述第一应用的数据库信息; 所述第二处理单元,用于覆盖安装具有第二版本信息的第二应用并运行,对第二应用执行所述预设的操作,记录所述第二应用的数据库信息; 所述第一比较单元,用于比较所述第一应用的数据库信息与所述第二应用的数据库信息,得到第一比较结果; 所述第一确定单元,用于根据所述第一比较结果,确定所述第二应用中相关功能是否正常。
15.根据权利要求14所述的装置,其特征在于,所述装置还包括第一卸载单元,用于卸载所述第二应用; 对应地,所述第一处理单元,还用于安装具有第三版本信息的安装包,运行并对第三应用执行所述预设的操作,记录所述第三应用的数据库信息;所述第三应用为所述第三版本信息对应的应用; 所述第二处理单元,还用于覆盖安装具有第二版本信息的第二应用并运行,对第二应用执行所述预设的操作,记录所述第二应用的数据库信息; 所述第一比较单元,还用于比较所述第三应用的数据库信息与所述第二应用的数据库信息,得到第二比较结果; 所述第一确定单元,用于根据所述第二比较结果,确定所述第二应用中相关功能是否正常。
16.根据权利要求14所述的装置,其特征在于,所述第一确定单元包括第一解析模块和第一确定模块,其中: 所述第一解析模块,用于解析所述第一比较结果; 所述第一确定模块,用于当所述第一比较结果表明所述第一版本信息的数据库信息与所述第二版本信息的数据库信息之间没有差异时,确定所述第二应用中相关功能为正常。
17.根据权利要求14所述的装置,其特征在于,所述第一确定单元还包括第一解析模块和第二确定模块,其中: 所述第一解析模块,用于解析所述第一比较结果; 所述第二确定模块,用于当所述第一比较结果表明所述第一版本信息的数据库信息与所述第二版本信息的数据库信息之间的有差异时,确定所述第二应用中相关功能为异常。
18.根据权利要求17所述的装置,其特征在于,所述第一确定单元还包括第一定位模块和第一测试模块,其中: 所述第一定位单元,用于当所述第一比较结果表明所述第一版本信息的数据库信息与所述第二版本信息的数据库信息之间的有差异时,定位数据库信息的差异点; 所述第一测试单元,用于根据数据库信息的差异点对所述第二应用中相关功能进行测试,以完成对覆盖安装的测试。
19.根据权利要求18所述的装置,其特征在于,所述数据库信息的差异点至少包括以下差异点之一: 数据库的增加或删除; 数据库表格的增加或删除; 数据库表格中字段的增加、删除或变化。
20.根据权利要求14至19任一项所述的装置,其特征在于,所述装置还包括第一纪录单元、第二纪录单元、第二比较单元和第二确定单元,其中: 所述第一纪录单元,用于所述对所述第一应用执行所述预设的操作后,记录所述第一应用的用户配置信息; 所述第二纪录单元,用于在对所述第二应用执行所述预设的操作后,记录所述第二应用的用户配置信息; 所述第二比较单元,用于比较所述第一版本信息的用户配置信息与所述第二版本信息的用户配置信息,得到第三比较结果; 所述第二确定单元,用于根据所述第三比较结果,确定所述第二应用中相关功能是否正常。
21.根据权利要求14至19任一项所述的装置,其特征在于,所述装置还包括第三纪录单元和第四纪录单元,其中: 所述第三纪录单元,用于将所述第一版本信息的数据库信息记录到第一哈希表; 所述第四纪录单元,用于将所述第二版本信息的数据库信息记录到第二哈希表;对应地,所述第一比较单元,用于比较所述第一哈希表与所述第二哈希表,得到第一比较结果。
22.一种覆盖安装测试装置,其特征在于,所述装置包括第三处理单元、第四处理单元、第二比较单元和第二确定单元,其中: 所述第三处理单元,用于运行具有第一版本信息的第一应用,对所述第一应用执行预设的操作,记录所述第一应用的用户配置信息; 所述第四处理单元,用于覆盖安装具有第二版本信息的第二应用并运行,对第二应用执行所述预设的操作,记录所述第二应用的用户配置信息; 所述第二比较单元,用于比较所述第一应用的用户配置信息与第二应用的用户配置信息,得到第三比较结果; 所述第二确定单元,用于根据所述第三比较结果,确定所述第二应用中相关功能是否正常。
23.根据权利要求22所述的装置,其特征在于,所述装置还包括第二卸载单元,用于卸载所述第二应用; 对应地,所述第三处理单元,用于安装具有第三版本信息的安装包,运行并对第三应用执行所述预设的操作,记录所述第三应用的用户配置信息;所述第三应用为所述第三版本信息对应的应用; 所述第四处理单元,用于覆盖安装具有第二版本信息的第二应用并运行,对第二应用执行所述预设的操作,记录所述第二应用的用户配置信息; 所述第二比较单元,用于比较所述第三应用的用户配置信息与第二应用的用户配置信息,得到第四比较结果; 所述第二确定单元,用于根据所述第四比较结果,确定所述第二应用中相关功能是否正常。
24.根据权利要求22或23所述的装置,其特征在于,所述第二确定单元包括第二解析模块和第三确定模块,其中: 所述第二解析模块,用于解析所述第三比较结果; 所述第三确定模块,用于当所述第三比较结果表明所述第一版本信息的用户配置信息与所述第二版本信息的用户配置信息之间没有差异时,确定所述第二应用中相关功能为正堂巾O
25.根据权利要求22或23所述的装置,其特征在于,所述第二确定单元包括第二解析模块、第二定位模块和第四确定模块,其中: 所述第二解析模块,用于解析所述第三比较结果; 所述第二定位模块,用于当所述第三比较结果表明所述第一版本信息的用户配置信息与所述第二版本信息的用户配置信息之间的有差异时,定位关于用户配置信息的差异点;所述第四确定模块,当所述用户配置信息的差异点不是由第二应用所引起时,确定所述第二应用中相关功能为异常。
26.根据权利要求25所述的装置,其特征在于,所述第二确定单元还包括第二测试模块,其中: 所述第二测试模块,用于当所述用户配置信息的差异点不是由第二应用所引起时,根据所述差异点对所述第二应用中相关功能进行测试,以完成对覆盖安装的测试。
【文档编号】G06F11/36GK104182344SQ201410422617
【公开日】2014年12月3日 申请日期:2014年8月25日 优先权日:2014年8月25日
【发明者】王春涛 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1