一种版本兼容测试方法和装置的制造方法

文档序号:9217114阅读:245来源:国知局
一种版本兼容测试方法和装置的制造方法
【技术领域】
[0001]本发明属于代码测试领域,尤其涉及一种版本兼容测试方法和装置。
【背景技术】
[0002]目前,移动终端所使用的应用程序,均是通过软件开发工具包(SoftwareDevelopment Kit, SDK)而开发的,例如:由谷歌公司开发的安卓Android提供的SDK ;SDK通常以开源方式供给全球手机和平板电脑等移动终端的厂商使用,这样,厂商可以自由修改定制SDK,这导致SDK的版本极为凌乱。截至目前,安卓的SDK版本已从2.1升级到4.2,达到十多种不同版本;其中,每次版本的升级都会带来一些改动,包括应用程序接口(Applicat1n Programming Interface, API)、类以及包。
[0003]进而,不同版本的SDK之间的差异,给新开发的应用程序带来兼容性问题。为了保证新开发的应用程序能够兼容不同版本的SDK,常对新开发的应用程序进行动态测试。所谓动态测试,也称作海量测试,即测试人员通过海量地在不同品牌、不同型号、已安装不同SDK版本或不同分辨率的移动终端上运行开发的应用程序,借此检测新开发的应用程序是否兼容不同SDK版本。然而动态测试存在如下的缺点:(I)动态测试是基于实体移动终端进行的测试,需要采购大量使用不同SDK版本的移动终端,需要高额的采购成本。(2)在实体移动终端上运行开发的应用程序进行测试时,发现缺陷时定位问题比较困难,即需区分出:是应用程序的兼容性问题还是设备本身的问题;(3)动态测试的测试周期长。

【发明内容】

[0004]本发明的目的在于提供一种下载的方法和装置,以解决通过动态测试对第三方开发的应用程序进行不同SDK版本的兼容性测试,存在成本高、检测定位不够精确以及效率低下的问题。
[0005]一方面,本发明提供一种版本兼容测试方法,所述版本兼容测试方法包括:
[0006]生成差异数据库,所述差异数据库记录有:至少两个不同版本的软件开发工具包SDK之间存在的差异数据;
[0007]从编写的代码文件获取代码数据;
[0008]检查所述代码数据是否包含有所述差异数据库中的任一差异数据;
[0009]根据检查结果生成兼容测试报告。
[0010]一方面,本发明还提供一种版本兼容测试装置,所述版本兼容测试装置包括:
[0011]差异数据库单元,用于生成差异数据库,所述差异数据库记录有:至少两个不同版本的软件开发工具包SDK之间存在的差异数据;
[0012]代码数据单元,用于从编写的代码文件获取代码数据;
[0013]检查单元,用于检查所述代码数据是否包含有所述差异数据库中的任一差异数据;
[0014]报告生成单元,用于根据检查结果生成兼容测试报告。
[0015]本发明的有益效果:在编写好的代码文件中,针对该代码文件中所包含的代码数据进行检查,检查该代码文件中所包含的代码数据是否包含差异数据库中的差异数据,根据检查结果生成兼容测试报告;由于该差异数据库记录的异常信息为不同SDK版本之间存在的差异,进而可根据生成的兼容性测试报告判断该代码文件是否与包含有异常信息的SDK兼容;如果兼容性测试报告没有代码文件使用异常信息的记录,则代表该代码文件与包含有差异数据的SDK兼容;如果兼容性测试报告有代码文件使用异常信息的记录,则可以修改代码文件中所包含差异数据的部分,以使得修改后的代码文件能够对差异数据所对应的SDK兼容,进而实现对与该SDK匹配的系统的兼容。
【附图说明】
[0016]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0017]图1是本发明实施例提供的版本兼容测试方法的第一种实现流程图;
[0018]图2是本发明实施例提供的版本兼容测试方法的第二种实现流程图;
[0019]图3是本发明实施例提供的版本兼容测试方法的第三种实现流程图;
[0020]图4是本发明实施例提供的适用版本兼容测试方法的系统的系统架构图;
[0021]图5是本发明实施例提供的版本兼容测试装置的第一种组成结构图;
[0022]图6是本发明实施例提供的版本兼容测试装置的第二种组成结构图。
【具体实施方式】
[0023]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
[0024]本发明实施例不再采用【背景技术】提供的动态测试,不需要大量采购移动终端。而是直接从网络服务器中获取不同版本的软件开发工具包(Software Development Kit,SDK),例如:直接从Google提供的网络服务器上下载安卓的SDK ;待下载完与需兼容的系统相对应的SDK之后,比较出已下载的、不同版本的SDK之间的差异并生成差异数据库。进而遍历开发的代码数据,判断开发的代码数据是否包含所述差异数据库所记录的差异数据,并根据检查结果生成兼容测试报告。如果开发的代码数据中包含有差异数据,则需开发人员重新修改代码数据,或者调整已开发的代码数据以兼容不同版本的SDK,进而实现新开发的应用程序与不同SDK版本的移动终端兼容。
[0025]图1示出了本发明实施例提供的版本兼容测试方法的第一种工作流程,为了便于描述,仅不出了与本发明实施例相关的部分。
[0026]本发明实施例提供的版本兼容测试方法,所述版本兼容测试方法包括:
[0027]SI,生成差异数据库,所述差异数据库记录有:至少两个不同版本的SDK之间存在的差异数据;
[0028]S2,从编写的代码文件获取代码数据;
[0029]S3,检查所述代码数据是否包含有所述差异数据库中的任一差异数据;
[0030]S4,根据检查结果生成兼容测试报告。
[0031]需说明的是,移动终端所使用的系统包括:安卓系统、旗鱼sailfish系统、塞班Symbian系统、1S系统、黑莓BlackBerry OS系统以及Windows Phone8系统等。其中,移动终端所使用的每个系统均具有一个或多个不同版本的SDK。为了兼容某一系统(具有不同版本),就必须兼容与该系统对应的不同版本的SDK。
[0032]在本实施例中,为了保证开发出的应用程序所包含的代码文件能够兼容一个或多个不同系统版本,从网络服务器中获取与需兼容的系统版本对应的一个或多个版本的SDK,例如:从直接从Google提供的网络服务器上下载一个或多个、不同版本安卓的SDK。由于不同版本的SDK存在差异,尤其是新版本的SDK会在旧版本的SDK的基础上,部分添加或删除或修改应用程序接口 AP1、构造函数、属性、类以及包等,进而,本实施例获取不同版本的SDK之间存在差异的差异数据,所述差异数据包括:应用程序接口 AP1、构造函数、属性、类以及包等。
[0033]进而,可针对开发的应用程序所包含的代码文件中的代码数据进行检查,检查该代码数据是否包含了差异数据,即开发的应用程序是否调用了该差异数据。得到检查结果,该检查结果包括:对该代码数据是否包含差异数据的匹配结果;优选的是,当代码数据中包含差异数据时,记录该差异数据,以及记录该差异数据在差异数据中的位置信息。
[0034]进而,生成兼容测试报告,在该兼容测试报告中记录:针对哪些代码数据进行的检查、检查时使用的差异数据、以及检查得到的检查结果。
[0035]这样,根据生成的兼容测试报告,可以得知开发的应用程序所包含的代码文件中的代码数据是否使用了差异数据。如果该代码文件中的代码数据未使用了差异数据,表示该代码文件中的代码数据能够对差异数据库记录的差异数据所对应的SDK进行良好兼容,进而实现对与该SDK匹配的、移动终端所使用的系统兼容。如果该代码文件中的代码数据使用了差异数据,就对代码数据中使用该差异数据的代码进行修改,以使得修改后的代码不再包含差异数据;或者如果使用了差异数据,则在代码数据中添加能够兼容差异数据的代码,以使得添加代码后的代码数据能够兼容差异数据库中的差异数据。从而,通过对开发的应用程序所包含的代码文件中的代码数据进行检查,并根据得到的兼容测试报告对代码数据进行调整,实时保证编写的代码数据能够对差异数据库记录的差异数据所对应的SDK进行良好兼容,进而实现对与该SDK匹配的、移动终端所使用的系统兼容。作为本发明一【具体实施
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1