CN104932973A - 一种版本兼容测试方法和装置 - Google Patents

一种版本兼容测试方法和装置 Download PDF

Info

Publication number
CN104932973A
CN104932973A CN201410108070.9A CN201410108070A CN104932973A CN 104932973 A CN104932973 A CN 104932973A CN 201410108070 A CN201410108070 A CN 201410108070A CN 104932973 A CN104932973 A CN 104932973A
Authority
CN
China
Prior art keywords
code
data
sdk
variance data
code data
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
Application number
CN201410108070.9A
Other languages
English (en)
Other versions
CN104932973B (zh
Inventor
张光华
朱轶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201410108070.9A priority Critical patent/CN104932973B/zh
Publication of CN104932973A publication Critical patent/CN104932973A/zh
Application granted granted Critical
Publication of CN104932973B publication Critical patent/CN104932973B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明适用于代码测试领域,提供了一种版本兼容测试方法和装置;生成差异数据库,所述差异数据库记录有:至少两个不同版本的软件开发工具包SDK之间存在的差异数据;从编写的代码文件获取代码数据;检查所述代码数据是否包含有所述差异数据库中的任一差异数据;根据检查结果生成兼容测试报告。这样,通过从官方的网络服务器直接获取不同版本的SDK以生成差异数据库,使用该差异数据库对代码数据进行兼容性测试并得到兼容测试报告,这样,如果该兼容测试报告表示所述代码数据中包含有差异数据,可以对代码数据中包含差异数据的部分进行修改,直到修改后的代码数据能够兼容上述不同版本的SDK。

Description

一种版本兼容测试方法和装置
技术领域
本发明属于代码测试领域,尤其涉及一种版本兼容测试方法和装置。
背景技术
目前,移动终端所使用的应用程序,均是通过软件开发工具包(SoftwareDevelopment Kit,SDK)而开发的,例如:由谷歌公司开发的安卓Android提供的SDK;SDK通常以开源方式供给全球手机和平板电脑等移动终端的厂商使用,这样,厂商可以自由修改定制SDK,这导致SDK的版本极为凌乱。截至目前,安卓的SDK版本已从2.1升级到4.2,达到十多种不同版本;其中,每次版本的升级都会带来一些改动,包括应用程序接口(Application ProgrammingInterface,API)、类以及包。
进而,不同版本的SDK之间的差异,给新开发的应用程序带来兼容性问题。为了保证新开发的应用程序能够兼容不同版本的SDK,常对新开发的应用程序进行动态测试。所谓动态测试,也称作海量测试,即测试人员通过海量地在不同品牌、不同型号、已安装不同SDK版本或不同分辨率的移动终端上运行开发的应用程序,借此检测新开发的应用程序是否兼容不同SDK版本。然而动态测试存在如下的缺点:(1)动态测试是基于实体移动终端进行的测试,需要采购大量使用不同SDK版本的移动终端,需要高额的采购成本。(2)在实体移动终端上运行开发的应用程序进行测试时,发现缺陷时定位问题比较困难,即需区分出:是应用程序的兼容性问题还是设备本身的问题;(3)动态测试的测试周期长。
发明内容
本发明的目的在于提供一种下载的方法和装置,以解决通过动态测试对第三方开发的应用程序进行不同SDK版本的兼容性测试,存在成本高、检测定位不够精确以及效率低下的问题。
一方面,本发明提供一种版本兼容测试方法,所述版本兼容测试方法包括:
生成差异数据库,所述差异数据库记录有:至少两个不同版本的软件开发工具包SDK之间存在的差异数据;
从编写的代码文件获取代码数据;
检查所述代码数据是否包含有所述差异数据库中的任一差异数据;
根据检查结果生成兼容测试报告。
一方面,本发明还提供一种版本兼容测试装置,所述版本兼容测试装置包括:
差异数据库单元,用于生成差异数据库,所述差异数据库记录有:至少两个不同版本的软件开发工具包SDK之间存在的差异数据;
代码数据单元,用于从编写的代码文件获取代码数据;
检查单元,用于检查所述代码数据是否包含有所述差异数据库中的任一差异数据;
报告生成单元,用于根据检查结果生成兼容测试报告。
本发明的有益效果:在编写好的代码文件中,针对该代码文件中所包含的代码数据进行检查,检查该代码文件中所包含的代码数据是否包含差异数据库中的差异数据,根据检查结果生成兼容测试报告;由于该差异数据库记录的异常信息为不同SDK版本之间存在的差异,进而可根据生成的兼容性测试报告判断该代码文件是否与包含有异常信息的SDK兼容;如果兼容性测试报告没有代码文件使用异常信息的记录,则代表该代码文件与包含有差异数据的SDK兼容;如果兼容性测试报告有代码文件使用异常信息的记录,则可以修改代码文件中所包含差异数据的部分,以使得修改后的代码文件能够对差异数据所对应的SDK兼容,进而实现对与该SDK匹配的系统的兼容。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的版本兼容测试方法的第一种实现流程图;
图2是本发明实施例提供的版本兼容测试方法的第二种实现流程图;
图3是本发明实施例提供的版本兼容测试方法的第三种实现流程图;
图4是本发明实施例提供的适用版本兼容测试方法的系统的系统架构图;
图5是本发明实施例提供的版本兼容测试装置的第一种组成结构图;
图6是本发明实施例提供的版本兼容测试装置的第二种组成结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
本发明实施例不再采用背景技术提供的动态测试,不需要大量采购移动终端。而是直接从网络服务器中获取不同版本的软件开发工具包(SoftwareDevelopment Kit,SDK),例如:直接从Google提供的网络服务器上下载安卓的SDK;待下载完与需兼容的系统相对应的SDK之后,比较出已下载的、不同版本的SDK之间的差异并生成差异数据库。进而遍历开发的代码数据,判断开发的代码数据是否包含所述差异数据库所记录的差异数据,并根据检查结果生成兼容测试报告。如果开发的代码数据中包含有差异数据,则需开发人员重新修改代码数据,或者调整已开发的代码数据以兼容不同版本的SDK,进而实现新开发的应用程序与不同SDK版本的移动终端兼容。
图1示出了本发明实施例提供的版本兼容测试方法的第一种工作流程,为了便于描述,仅示出了与本发明实施例相关的部分。
本发明实施例提供的版本兼容测试方法,所述版本兼容测试方法包括:
S1,生成差异数据库,所述差异数据库记录有:至少两个不同版本的SDK之间存在的差异数据;
S2,从编写的代码文件获取代码数据;
S3,检查所述代码数据是否包含有所述差异数据库中的任一差异数据;
S4,根据检查结果生成兼容测试报告。
需说明的是,移动终端所使用的系统包括:安卓系统、旗鱼sailfish系统、塞班Symbian系统、IOS系统、黑莓BlackBerry OS系统以及Windows Phone8系统等。其中,移动终端所使用的每个系统均具有一个或多个不同版本的SDK。为了兼容某一系统(具有不同版本),就必须兼容与该系统对应的不同版本的SDK。
在本实施例中,为了保证开发出的应用程序所包含的代码文件能够兼容一个或多个不同系统版本,从网络服务器中获取与需兼容的系统版本对应的一个或多个版本的SDK,例如:从直接从Google提供的网络服务器上下载一个或多个、不同版本安卓的SDK。由于不同版本的SDK存在差异,尤其是新版本的SDK会在旧版本的SDK的基础上,部分添加或删除或修改应用程序接口API、构造函数、属性、类以及包等,进而,本实施例获取不同版本的SDK之间存在差异的差异数据,所述差异数据包括:应用程序接口API、构造函数、属性、类以及包等。
进而,可针对开发的应用程序所包含的代码文件中的代码数据进行检查,检查该代码数据是否包含了差异数据,即开发的应用程序是否调用了该差异数据。得到检查结果,该检查结果包括:对该代码数据是否包含差异数据的匹配结果;优选的是,当代码数据中包含差异数据时,记录该差异数据,以及记录该差异数据在差异数据中的位置信息。
进而,生成兼容测试报告,在该兼容测试报告中记录:针对哪些代码数据进行的检查、检查时使用的差异数据、以及检查得到的检查结果。
这样,根据生成的兼容测试报告,可以得知开发的应用程序所包含的代码文件中的代码数据是否使用了差异数据。如果该代码文件中的代码数据未使用了差异数据,表示该代码文件中的代码数据能够对差异数据库记录的差异数据所对应的SDK进行良好兼容,进而实现对与该SDK匹配的、移动终端所使用的系统兼容。如果该代码文件中的代码数据使用了差异数据,就对代码数据中使用该差异数据的代码进行修改,以使得修改后的代码不再包含差异数据;或者如果使用了差异数据,则在代码数据中添加能够兼容差异数据的代码,以使得添加代码后的代码数据能够兼容差异数据库中的差异数据。从而,通过对开发的应用程序所包含的代码文件中的代码数据进行检查,并根据得到的兼容测试报告对代码数据进行调整,实时保证编写的代码数据能够对差异数据库记录的差异数据所对应的SDK进行良好兼容,进而实现对与该SDK匹配的、移动终端所使用的系统兼容。作为本发明一具体实施方式,每次根据得到的兼容测试报告对代码数据进行调整之后,都重新使用差异数据库对修改后的代码数据进行兼容性测试并生成兼容测试报告,直到通过新生成的兼容测试报告得知代码数据未使用差异数据为止。
在本发明另一实施例中,所述差异数据库中,采用可扩展标记语言(EXtensible Markup Language,XML)记录差异数据。这样便于对差异数据进行标记,以及对同类型的差异数据进行同一统计;例如:使用“r”标识“已删除”,使用“c”标识“已修改”,使用“mt”标识“API”,进而使用“<mt type=c><name>getdata</name>”表示:“getdata”这个API已被修改。
图2示出了本发明实施例提供的版本兼容测试方法的第二种工作流程,为了便于描述,仅示出了与本发明实施例相关的部分。
在本发明另一实施例中,所述获取代码数据的步骤,具体为:
S21,获取当前版本的代码文件相比于上个版本的代码文件所改动的代码数据,所述当前版本的代码文件包含本次编写的代码数据,所述上个版本的代码文件包含上次编写的代码数据。
在本实施例中,对于不能一次性地完成代码编写的代码文件,即需要多次进行代码编写,每次进行的代码编写都是基于上一次部分编写完成的代码文件,直到完成。为了提供对代码文件的兼容性测试效率,将基于上次部分完成代码编写出的代码文件作为一个版本,也将基于上次编写的代码文件而本次继续编写出的代码文件作为一个版本,这样,在完成一个代码文件的最终编写的过程中,会不断地进行版本更新,得到多个依次版本更新的代码文件。进而在每次得到一个新版本的代码文件(本次编写出的代码文件)时,都会针对新版本的代码文件相对于上个版本的代码文件而修改和/或新添的代码数据进行检查,生成针对新版本的代码文件的兼容测试报告。
具体地,用所述当前版本的代码文件表示本次编写出的代码文件,用所述上个版本的代码文件表示上一次编写出的代码文件。这样,在本次编写完代码文件时,仅针对在当前版本的代码文件基础上修改的和/或添加的代码数据进行检查,检查修改和/或添加的代码数据是否包含差异数据库中的差异数据并生成兼容测试报告。
这样,针对每次编写的代码文件所包含的、修改和/或添加的代码数据进行检查,生成针对新版本的代码文件的兼容测试报告,如果该兼容测试报告有使用差异数据库中的差异数据的纪录,则对代码文件中新编写的代码数据所包含差异数据的部分进行修改,以使得修改后的代码文件能够对差异数据库记录的差异数据所对应的SDK进行良好兼容,进而实现对与该SDK匹配的系统的兼容。
在本发明另一实施例中,所述差异数据库记录的差异数据包括:在至少两个不同版本的SDK之间存在差异的API。
在本实施例中,由于应用程序的开发,都是在调用SDK中的API的基础上而进行的二次开发。为了提高节省时间和成本,本实施例仅针对不同版本SDK中存在差异的API进行重点检查。因此,所述差异数据库中的差异数据仅包括:API。
在本发明另一实施例中,获取的所述代码数据为:一个或多个版本的代码文件所包含的代码数据;
所述根据检查结果生成兼容测试报告的步骤,具体为:
对于针对不同版本的代码文件所得到的每份检查结果,分别生成一份对应的兼容测试报告。
在本实施例中,对于完整的代码文件的整个开发过程中,会在某个开发阶段中不断修改和/或添加代码,依次更新代码文件的版本;为了检测该个开发阶段中不同版本的代码文件是否对与所述差异数据库所包含的差异数据匹配的SDK能够良好地兼容,将该个开发阶段中的一个或多个不同版本的代码文件所包含的代码数据都作为检测对象,使用所述差异数据库对该检测对象进行检查并分别生成一份检查结果。进而针对每份检查结果,生成一份对应的兼容性测试报告。这样,用户可根据每个版本所对应的兼容性测试报告,判断该个开发阶段中不同版本的代码文件是否对与所述差异数据库所包含的差异数据匹配的SDK能够良好地兼容。
另外,对于已开发的具有不同版本的应用程序,由于不同版本的应用程序所要求的使用场景不同,从而要求其包含的代码文件能够兼容的SDK也不同;进而在选用不同版本的应用程序时,也需要针对不同版本应用程序所包含的代码文件使用本实施例提供的差异数据库进行兼容性测试,选择出与所述差异数据库所包含的差异数据匹配的SDK能够兼容的应用程序,以选择出兼容移动终端所用的系统的应用程序。
图3示出了本发明实施例提供的版本兼容测试方法的第三种工作流程,为了便于描述,仅示出了与本发明实施例相关的部分。
在本发明另一实施例中,所述版本兼容测试方法还包括:
S5,生成白名单信息库,所述白名单信息库记录有:一个或多个所述差异数据;
相应地,所述检查所述代码数据是否包含有所述差异数据库中的任一差异数据的步骤,具体为:
S31,检查所述代码数据是否包含有待检差异数据并得到检查结果,所述待检差异数据包含于所述差异数据库,所述待检差异数据不包含于所述白名单信息库。
在本实施例中,针对个别情况,可能不需要对某个SDK的差异数据进行检查,进而可以将该个SDK的差异数据设置在白名单信息库中。这样,在进行检查时,仅使用包含于所述差异数据库而不包含于所述白名单信息库的所述待检差异数据对代码文件中的代码数据进行检查,根据检查结果生成兼容测试报告。
作为本发明一具体实施方式,可以根据对差异数据库进行自定义调整,在差异数据库中添加需要重点检查的API、构造函数、属性、类以及包等,在差异数据库中去掉不需检查的API、构造函数、属性、类以及包等。这样,可针对开发的应用程序而提出的不同兼容条件,对差异数据库中的差异数据进行自定义调整,提高检查效率,也提高生产的兼容测试报告的可用性和针对性。
图4示出了本发明实施例提供的适用版本兼容测试方法的系统的系统架构,为了便于描述,仅示出了与本发明实施例相关的部分。
作为本发明一具体实施方式,使用版本管理工具(subversion,SVN)对每次部分编写完成的代码文件进行代码数据的管理,每一次部分编写得到的代码文件均为一个版本的代码文件。其中,后一次的代码文件是在前一次的代码文件的基础上进行代码修改和/或代码添加得到的,进而相对于前一次的代码文件,后一次的代码文件是新版本的代码文件。
同时,通过代码扫描引擎执行检查;具体地,代码扫描引擎从差异数据库中获取差异数据,从SVN中获取代码数据(后一次的代码文件相对于前一次的代码文件而修改和/或代码添加的代码数据),检查修改和/或代码添加的代码数据中是否包含有所述差异数据库中的任一差异数据,并根据检查结果生成兼容测试报告。
作为本发明一优选实施方式,代码扫描引擎的工作模式是可以配置的。
将代码扫描引擎配置为全量扫描的工作模式时,在SVN中保存本次编写完成的代码文件之后,代码扫描引擎会从SVN获取本次编写完成的代码文件中的全部代码数据,对全部的代码数据进行检查并生成兼容测试报告。
将代码扫描引擎配置为增量扫描的工作模式时,在SVN中保存本次编写完成的代码文件之后,代码扫描引擎会从SVN获取本次编写完成的代码文件相对于前一次的代码文件而修改和/或添加的代码数据,仅针对修改和/或代码添加的代码数据进行是否包含有所述差异数据库中的任一差异数据的检查,并根据检查结果生成兼容测试报告。
作为本发明另一优选实施方式,通过报告生成模块生成兼容测试报告。具体地,代码扫描引擎的检查结果会发送给报告生成模块,报告生成模块将检查结果存储在相应的数据库中,进而对不同时间完成的代码文件以不同版本的方式存储在数据库中,以便于后期针对不同版本代码文件所匹配的检查结果进行横向比较,将比较结果用于对整个项目(编写整个应用程序的代码文件的开发项目)进行分析。
另外,报告生成模块还会记录每次检查所使用的差异数据库;进而,报告生成模块在生成的兼容测试报告会记录:针对哪个代码文件进行的检查,检查时所使用的差异数据库,以及检查结果(包含差异数据时,会记录所包含的差异数据在该代码文件中的位置信息)。
在本发明一具体实施例中,待对代码扫描引擎的工作模式完成配置之后,在兼容性测试平台(已添加代码扫描引擎)新建检查任务。继而,代码扫描引擎预先从差异数据库获取差异数据,该差异数据为:在需要兼容的SDK之间,存在差异的API、构造函数、属性、类以及包等。然后,代码扫描引擎从SVN中获取最新版本代码文件相对于上一版本代码文件所修改和/或添加的代码数据。代码扫描引擎检查最新版本代码文件中修改和/或添加的代码数据是否包含有差异数据库中的任一差异数据并得出检查结果,代码扫描引擎将得出的检查结果发送给报告生成模块;进而,报告生成模块根据使用的差异数据库、代码扫描引擎的工作模式以及检查结果生成兼容性测试报告,该兼容性测试报告记录了:最新版本代码文件中修改和/或添加的代码数据,对哪些API、构造函数、属性、类、包等差异数据不兼容。进而用户可根据生成的兼容性测试报告对最新版本代码文件中包含差异数据的部分进行代码修改或调整,以修改或调整后的代码文件能够通过兼容性测试。
在本发明另一实施例中,所述SDK为安卓的SDK。
本实施例针对使用安卓的SDK而开发的应用程序,预先从Google提供的网络服务器上下载安卓系统所包含的、一个或多个不同版本的SDK;对不同版本的SDK进行差异比较,只要其中一个版本的SDK所包含的数据(包括:API、构造函数、属性、类以及包等)与其它版本的SDK所包含的数据(包括:API、构造函数、属性、类以及包等)存在不同,将该不同的数据作为差异数据,并将该差异数据添加到差异数据库中。
使用该差异数据库对每次开发的代码文件进行检查,根据检测结果而生成的兼容测试报告;进而能够根据该兼容测试报告,对代码文件中的代码数据进行调整,实现对差异数据库记录的差异数据所对应的SDK的良好兼容,进而实现对与使用该不同版本的SDK的系统兼容。
本领域普通技术人员还可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,包括ROM/RAM、磁盘、光盘等。
需要说明的是,本发明实施例提供的版本兼容测试装置与本发明实施例提供的版本兼容测试方法相互适用。
图5示出了本发明实施例提供的版本兼容测试装置的第一种组成结构,为了便于描述,仅示出了与本发明实施例相关的部分。
本实施例提供的版本兼容测试装置,所述版本兼容测试装置包括:
差异数据库单元51,用于生成差异数据库,所述差异数据库记录有:至少两个不同版本的软件开发工具包SDK之间存在的差异数据;
代码数据单元52,用于从编写的代码文件获取代码数据;
检查单元53,用于检查所述代码数据是否包含有所述差异数据库中的任一差异数据;
报告生成单元54,用于根据检查结果生成兼容测试报告。
在本发明另一实施例中,所述代码数据单元52,具体用于:
获取当前版本的代码文件相比于上个版本的代码文件所改动的代码数据,所述当前版本的代码文件包含本次编写的代码数据,所述上个版本的代码文件包含上次编写的代码数据。
在本发明另一实施例中,所述差异数据库记录的差异数据包括:在至少两个不同版本的SDK之间存在差异的应用程序接口API。
图6示出了本发明实施例提供的版本兼容测试装置的第二种组成结构,为了便于描述,仅示出了与本发明实施例相关的部分。
在本发明另一实施例中,所述版本兼容测试装置还包括:
白名单单元55,用于生成白名单信息库,所述白名单信息库记录有:一个或多个所述差异数据;
所述检查单元53,具体用于检查所述代码数据是否包含有待检差异数据并得到检查结果,所述待检差异数据包含于所述差异数据库,所述待检差异数据不包含于所述白名单信息库。
在本发明另一实施例中,所述SDK为安卓的SDK。
本发明实施例还提供一种移动终端,所述移动终端包括本实施例提供的版本兼容测试装置。
本领域技术人员可以理解为本分实施例提供的版本兼容测试装置所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下做出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明由所提交的权利要求书确定的专利保护范围。

Claims (12)

1.一种版本兼容测试方法,其特征在于,所述版本兼容测试方法包括:
生成差异数据库,所述差异数据库记录有:至少两个不同版本的软件开发工具包(SDK)之间的差异数据;
从编写的代码文件获取代码数据;
检查所述代码数据是否包含有所述差异数据库中的任一差异数据;
根据检查结果生成兼容测试报告。
2.如权利要求1所述的版本兼容测试方法,其特征在于,所述获取代码数据的步骤,具体为:
获取当前版本的代码文件相比于上个版本的代码文件所改动的代码数据。
3.如权利要求1或2所述的版本兼容测试方法,其特征在于,所述差异数据库记录的差异数据包括:在至少两个不同版本的SDK之间存在差异的应用程序接口(API)。
4.如权利要求1所述的版本兼容测试方法,其特征在于,获取的所述代码数据为:一个或多个版本的代码文件所包含的代码数据;
所述根据检查结果生成兼容测试报告的步骤,具体为:
对于针对不同版本的代码文件所得到的每份检查结果,分别生成一份对应的兼容测试报告。
5.如权利要求1所述的版本兼容测试方法,其特征在于,所述版本兼容测试方法还包括:
生成白名单信息库,所述白名单信息库记录有:一个或多个所述差异数据;
所述检查所述代码数据是否包含有所述差异数据库中的任一差异数据的步骤,具体为:
检查所述代码数据是否包含有待检差异数据并得到检查结果,所述待检差异数据包含于所述差异数据库,所述待检差异数据不包含于所述白名单信息库。
6.如权利要求1所述的版本兼容测试方法,其特征在于,所述SDK为安卓的SDK。
7.一种版本兼容测试装置,其特征在于,所述版本兼容测试装置包括:
差异数据库单元,用于生成差异数据库,所述差异数据库记录有:至少两个不同版本的软件开发工具包(SDK)之间存在的差异数据;
代码数据单元,用于从编写的代码文件获取代码数据;
检查单元,用于检查所述代码数据是否包含有所述差异数据库中的任一差异数据;
报告生成单元,用于根据检查结果生成兼容测试报告。
8.如权利要求7所述的版本兼容测试装置,其特征在于,所述代码数据单元,具体用于:
获取当前版本的代码文件相比于上个版本的代码文件所改动的代码数据。
9.如权利要求7或8所述的版本兼容测试装置,其特征在于,所述差异数据库记录的差异数据包括:在至少两个不同版本的SDK之间存在差异的应用程序接口API。
10.如权利要求7所述的版本兼容测试方法,其特征在于,获取的所述代码数据为:一个或多个版本的代码文件所包含的代码数据;
所述报告生成单元,具体用于:
对于针对不同版本的代码文件所得到的每份检查结果,分别生成一份对应的兼容测试报告。
11.如权利要求7所述的版本兼容测试装置,其特征在于,所述版本兼容测试装置还包括:
白名单单元,用于生成白名单信息库,所述白名单信息库记录有:一个或多个所述差异数据;
所述检查单元,具体用于检查所述代码数据是否包含有待检差异数据并得到检查结果,所述待检差异数据包含于所述差异数据库,所述待检差异数据不包含于所述白名单信息库。
12.如权利要求7所述的版本兼容测试装置,其特征在于,所述SDK为安卓的SDK。
CN201410108070.9A 2014-03-21 2014-03-21 一种版本兼容测试方法和装置 Active CN104932973B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410108070.9A CN104932973B (zh) 2014-03-21 2014-03-21 一种版本兼容测试方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410108070.9A CN104932973B (zh) 2014-03-21 2014-03-21 一种版本兼容测试方法和装置

Publications (2)

Publication Number Publication Date
CN104932973A true CN104932973A (zh) 2015-09-23
CN104932973B CN104932973B (zh) 2019-03-15

Family

ID=54120145

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410108070.9A Active CN104932973B (zh) 2014-03-21 2014-03-21 一种版本兼容测试方法和装置

Country Status (1)

Country Link
CN (1) CN104932973B (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106980679A (zh) * 2017-03-30 2017-07-25 广东电网有限责任公司信息中心 一种信息系统国产数据库迁移改造方法及装置
CN107122294A (zh) * 2017-03-17 2017-09-01 惠州Tcl移动通信有限公司 一种测试参数文件兼容性的方法、终端及装置
CN107301126A (zh) * 2017-06-21 2017-10-27 努比亚技术有限公司 应用接口检测方法、设备和计算机可读存储介质
CN107341106A (zh) * 2017-06-21 2017-11-10 努比亚技术有限公司 应用程序兼容性检测方法、开发终端及存储介质
CN107894948A (zh) * 2016-12-30 2018-04-10 上海亿账通互联网科技有限公司 分辨率兼容性测试的方法及装置
CN107918592A (zh) * 2017-11-30 2018-04-17 郑州云海信息技术有限公司 一种兼容高版本接口的方法
CN107977223A (zh) * 2017-11-20 2018-05-01 杭州迪普科技股份有限公司 一种配置兼容性检查方法及装置
CN108563578A (zh) * 2018-04-20 2018-09-21 平安科技(深圳)有限公司 Sdk兼容性检测方法、装置、设备及可读存储介质
CN109324964A (zh) * 2018-08-31 2019-02-12 广州牧云网络科技有限公司 基于系统多个版本的压力测试方法及装置
CN109815111A (zh) * 2018-12-13 2019-05-28 深圳壹账通智能科技有限公司 灰度测试方法、装置、计算机设备及存储介质
CN110688300A (zh) * 2019-08-13 2020-01-14 平安科技(深圳)有限公司 兼容性测试方法、装置、设备及存储介质
CN111159045A (zh) * 2019-12-31 2020-05-15 中国银行股份有限公司 一种兼容性问题检测方法、装置及存储介质
CN111241455A (zh) * 2020-01-22 2020-06-05 北京字节跳动网络技术有限公司 数据处理装置、计算机设备及存储介质
CN111813693A (zh) * 2020-07-31 2020-10-23 南方科技大学 一种软件兼容性检测方法、智能终端及存储介质
CN114547085A (zh) * 2022-03-22 2022-05-27 中国铁塔股份有限公司 一种数据处理方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100333068A1 (en) * 2009-06-25 2010-12-30 Kenji Niimura Compatibility evaluation apparatus, compatibility evaluation method, and recording medium
CN102567198A (zh) * 2010-12-30 2012-07-11 中国移动通信集团公司 对应用程序在物理系统环境中进行测试的系统及其方法
CN103077059A (zh) * 2013-01-07 2013-05-01 北京播思软件技术有限公司 判断应用程序是否匹配的方法
US20130174133A1 (en) * 2011-12-30 2013-07-04 Oracle International Corporation Adaptive selection of programming language versions for compilation of software programs
CN103440337A (zh) * 2013-09-09 2013-12-11 百度在线网络技术(北京)有限公司 Api兼容性扫描方法和api兼容性扫描装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100333068A1 (en) * 2009-06-25 2010-12-30 Kenji Niimura Compatibility evaluation apparatus, compatibility evaluation method, and recording medium
CN102567198A (zh) * 2010-12-30 2012-07-11 中国移动通信集团公司 对应用程序在物理系统环境中进行测试的系统及其方法
US20130174133A1 (en) * 2011-12-30 2013-07-04 Oracle International Corporation Adaptive selection of programming language versions for compilation of software programs
CN103077059A (zh) * 2013-01-07 2013-05-01 北京播思软件技术有限公司 判断应用程序是否匹配的方法
CN103440337A (zh) * 2013-09-09 2013-12-11 百度在线网络技术(北京)有限公司 Api兼容性扫描方法和api兼容性扫描装置

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107894948A (zh) * 2016-12-30 2018-04-10 上海亿账通互联网科技有限公司 分辨率兼容性测试的方法及装置
CN107122294A (zh) * 2017-03-17 2017-09-01 惠州Tcl移动通信有限公司 一种测试参数文件兼容性的方法、终端及装置
CN106980679A (zh) * 2017-03-30 2017-07-25 广东电网有限责任公司信息中心 一种信息系统国产数据库迁移改造方法及装置
CN107301126A (zh) * 2017-06-21 2017-10-27 努比亚技术有限公司 应用接口检测方法、设备和计算机可读存储介质
CN107341106A (zh) * 2017-06-21 2017-11-10 努比亚技术有限公司 应用程序兼容性检测方法、开发终端及存储介质
CN107341106B (zh) * 2017-06-21 2021-06-15 努比亚技术有限公司 应用程序兼容性检测方法、开发终端及存储介质
CN107977223B (zh) * 2017-11-20 2020-12-04 杭州迪普科技股份有限公司 一种配置兼容性检查方法及装置
CN107977223A (zh) * 2017-11-20 2018-05-01 杭州迪普科技股份有限公司 一种配置兼容性检查方法及装置
CN107918592A (zh) * 2017-11-30 2018-04-17 郑州云海信息技术有限公司 一种兼容高版本接口的方法
WO2019200721A1 (zh) * 2018-04-20 2019-10-24 平安科技(深圳)有限公司 Sdk 兼容性检测方法、装置、设备及可读存储介质
CN108563578A (zh) * 2018-04-20 2018-09-21 平安科技(深圳)有限公司 Sdk兼容性检测方法、装置、设备及可读存储介质
CN109324964A (zh) * 2018-08-31 2019-02-12 广州牧云网络科技有限公司 基于系统多个版本的压力测试方法及装置
CN109815111A (zh) * 2018-12-13 2019-05-28 深圳壹账通智能科技有限公司 灰度测试方法、装置、计算机设备及存储介质
CN110688300A (zh) * 2019-08-13 2020-01-14 平安科技(深圳)有限公司 兼容性测试方法、装置、设备及存储介质
CN111159045A (zh) * 2019-12-31 2020-05-15 中国银行股份有限公司 一种兼容性问题检测方法、装置及存储介质
CN111159045B (zh) * 2019-12-31 2024-04-19 中国银行股份有限公司 一种兼容性问题检测方法、装置及存储介质
CN111241455A (zh) * 2020-01-22 2020-06-05 北京字节跳动网络技术有限公司 数据处理装置、计算机设备及存储介质
CN111241455B (zh) * 2020-01-22 2023-08-25 抖音视界有限公司 数据处理装置、计算机设备及存储介质
CN111813693A (zh) * 2020-07-31 2020-10-23 南方科技大学 一种软件兼容性检测方法、智能终端及存储介质
CN111813693B (zh) * 2020-07-31 2023-06-06 南方科技大学 一种软件兼容性检测方法、智能终端及存储介质
CN114547085A (zh) * 2022-03-22 2022-05-27 中国铁塔股份有限公司 一种数据处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN104932973B (zh) 2019-03-15

Similar Documents

Publication Publication Date Title
CN104932973A (zh) 一种版本兼容测试方法和装置
CN105511911B (zh) 系统固件升级包的生成方法及装置
CN105144088A (zh) 元数据与源代码的关联以及基于其的应用和服务
US10354031B2 (en) Information processing by interpenetrating signal transmission channel in design for testability of chip
CN104077140A (zh) 用于持续集成的自动化编译方法和编译装置
CN104407980A (zh) 移动应用自动化测试装置和方法
CN106909510A (zh) 一种获取测试用例的方法以及服务器
CN101382914B (zh) 软件更新文件的测试方法和装置
CN107832059B (zh) 一种基于Makefile的代码静态分析方法和装置
CN103970659A (zh) 基于插桩技术的安卓应用软件自动化测试方法
CN105487907A (zh) 一种差分包的制作方法和装置
CN105446868A (zh) 系统兼容性测试方法、测试用例管理方法及相关装置
CN103761189A (zh) 一种测试用例管理方法及系统
CN106095501A (zh) 一种应用部署方法及装置
CN110674047A (zh) 软件测试方法、装置及电子设备
CN103186463B (zh) 确定软件的测试范围的方法和系统
CN103995774A (zh) 软件安装包检测方法及装置
US10990507B2 (en) System and method for provisioning a virtual machine test environment
CN105630661A (zh) 用于自动化跨系统程序调试的方法和装置
CN106990974B (zh) 一种app应用更新方法、装置及电子设备
CN101673200B (zh) 用户输入模型的检测方法及装置
CN116893960A (zh) 代码质量检测方法、装置、计算机设备和存储介质
CN104166541A (zh) 用于更新被测控件库的方法和装置
CN114546823B (zh) 用于重现逻辑系统设计的调试场景的方法及相关设备
CN104881455B (zh) 一种基于mysql的结构差异处理方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant