CN109240936A - 应用程序的兼容性测试方法、终端设备及介质 - Google Patents
应用程序的兼容性测试方法、终端设备及介质 Download PDFInfo
- Publication number
- CN109240936A CN109240936A CN201811211231.1A CN201811211231A CN109240936A CN 109240936 A CN109240936 A CN 109240936A CN 201811211231 A CN201811211231 A CN 201811211231A CN 109240936 A CN109240936 A CN 109240936A
- Authority
- CN
- China
- Prior art keywords
- program file
- program
- file
- compatibility test
- change information
- 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.)
- Pending
Links
- 238000010998 test method Methods 0.000 title claims abstract description 18
- 238000012360 testing method Methods 0.000 claims abstract description 143
- 230000008859 change Effects 0.000 claims abstract description 102
- 238000013515 script Methods 0.000 claims abstract description 53
- 238000000034 method Methods 0.000 claims abstract description 26
- 238000004590 computer program Methods 0.000 claims description 14
- 239000000284 extract Substances 0.000 claims description 3
- 230000009467 reduction Effects 0.000 claims description 3
- 238000012549 training Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 16
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 12
- 230000004048 modification Effects 0.000 description 11
- 238000012986 modification Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/368—Test management for test version control, e.g. updating test cases to a new software version
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明适用于测试技术领域,提供了一种应用程序的兼容性测试方法、终端设备及介质,该方法包括:获取待测试的第一程序文件以及已发布的第二程序文件;其中,第一程序文件以及第二程序文件属于同一应用程序,且第一程序文件与第二程序文件的版本编号不同;将第一程序文件以及第二程序文件进行比对,确定应用程序的版本变更信息;根据版本变更信息所对应的变更类型,获取与第一程序文件匹配的兼容性测试脚本,兼容性测试脚本与预设的测试项目对应;运行兼容性测试脚本,对第一程序文件进行兼容性测试。本发明仅执行与其版本变更信息相关联的测试项目,避免了需要遍历所有的兼容测试流程,因此,在保证兼容性测试准确性的同时,大大缩短了测试时间。
Description
技术领域
本发明属于测试技术领域,尤其涉及一种应用程序的兼容性测试方法、终端设备及计算机可读存储介质。
背景技术
应用程序的版本更新一般会涉及功能的改进以及漏洞的修复等。各类应用程序在开发完成后,在对其进行版本更新发布之前,通常均需要经过兼容性测试处理。兼容性测试是指应用程序与指定的各类硬件、软件之间的兼容性的测试。
现有技术中,应用程序的兼容性测试过程包含有多个层级,每个层级对应不同的测试项目。当检测到应用程序的版本出现更新时,需要遍历完成各个层级的测试项目,该过程往往会耗费较长的测试时间,由此使得应用程序的版本发布速度受到了一定的影响,降低了应用程序的更新速度。
发明内容
有鉴于此,本发明实施例提供了一种会计期间的切换方法、终端设备及计算机可读存储介质,以解决现有技术中因会计期间无法及时切换而导致财务数据的结算准确率较为低下的问题。
本发明实施例的第一方面提供了一种应用程序的兼容性测试方法,包括:
获取待测试的第一程序文件以及已发布的第二程序文件;其中,所述第一程序文件以及所述第二程序文件属于同一应用程序,且所述第一程序文件与所述第二程序文件的版本编号不同;
将所述第一程序文件以及所述第二程序文件进行比对,确定所述应用程序的版本变更信息;
根据所述版本变更信息所对应的变更类型,获取与所述第一程序文件匹配的兼容性测试脚本,所述兼容性测试脚本与预设的测试项目对应;
运行所述兼容性测试脚本,对所述第一程序文件进行兼容性测试。
本发明实施例的第二方面提供了一种终端设备,包括存储器以及处理器,所述存储器存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
获取待测试的第一程序文件以及已发布的第二程序文件;其中,所述第一程序文件以及所述第二程序文件属于同一应用程序,且所述第一程序文件与所述第二程序文件的版本编号不同;
将所述第一程序文件以及所述第二程序文件进行比对,确定所述应用程序的版本变更信息;
根据所述版本变更信息所对应的变更类型,获取与所述第一程序文件匹配的兼容性测试脚本,所述兼容性测试脚本与预设的测试项目对应;
运行所述兼容性测试脚本,对所述第一程序文件进行兼容性测试。
本发明实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
获取待测试的第一程序文件以及已发布的第二程序文件;其中,所述第一程序文件以及所述第二程序文件属于同一应用程序,且所述第一程序文件与所述第二程序文件的版本编号不同;
将所述第一程序文件以及所述第二程序文件进行比对,确定所述应用程序的版本变更信息;
根据所述版本变更信息所对应的变更类型,获取与所述第一程序文件匹配的兼容性测试脚本,所述兼容性测试脚本与预设的测试项目对应;
运行所述兼容性测试脚本,对所述第一程序文件进行兼容性测试。
本发明实施例中,由于待测试的第一程序文件与已发布的第二程序文件的版本编号不同,故通过将第一程序文件与第二程序文件进行比对,能够快速确定出应用程序的版本变更信息;由于本发明实施例中预先生成有多类兼容性测试脚本,且不同的兼容性测试脚本与不同的测试项目相对应,因而在根据版本变更信息所对应的变更类型,获取并运行与待测试的第一程序文件相匹配的兼容性测试脚本后,可保证第一程序文件在兼容性测试的过程中,能够针对性地仅执行与其版本变更信息相关联的测试项目,避免了需要遍历所有的兼容测试流程,因此,在保证兼容性测试准确性的同时,大大地缩短了测试时间。基于快速完成的兼容性测试,可尽快对外发布新版本的应用程序,因此,本发明实施例也提高了应用程序的版本发布速度以及更新速度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的应用程序的兼容性测试方法的实现流程图;
图2是本发明另一实施例提供的应用程序的兼容性测试方法的实现流程图;
图3是本发明实施例提供的应用程序的兼容性测试方法S101的具体实现流程图;
图4是本发明实施例提供的应用程序的兼容性测试方法S101的具体实现流程图;
图5是本发明又一实施例提供的应用程序的兼容性测试方法的实现流程图;
图6是本发明实施例提供的应用程序的兼容性测试装置的结构框图;
图7是本发明实施例提供的终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图1示出了本发明实施例提供的应用程序的兼容性测试方法的实现流程,该方法流程包括步骤S101至S104。各步骤的具体实现原理如下:
S101:获取待测试的第一程序文件以及已发布的第二程序文件;其中,所述第一程序文件以及所述第二程序文件属于同一应用程序,且所述第一程序文件与所述第二程序文件的版本编号不同。
在各个不同的时间阶段,根据接收到的代码更改指令,应用程序将具有不同的程序功能。因此,将满足用户某阶段功能需求的应用程序确定为一个程序文件。其中,程序文件的包头信息中携带有用于标识该阶段应用程序的版本编号。每一个应用程序在对外进行发布之前,均需要对其程序文件进行兼容性测试。
本发明实施例中,对于已执行代码更新操作的应用程序,获取待测试的该应用程序的第一程序文件以及获取在当前时刻之前所发布的该应用程序的第二程序文件。上述第一程序文件以及第二程序文件可由客户端上传,也可根据用户的输入指令来获得。
特别地,在获取待测试的第一程序文件之后,获取与该第一程序文件关联的第二程序文件。即,根据第一程序文件的第一版本编号,从预先存储的各个第二程序文件中,读取版本编号与上述第一版本编号之前,且与第一版本编号最接近的第二程序文件。
例如,若待测试的第一程序文件的版本编号为103,则所需获取的与第一程序文件关联的第二程序文件为版本编号为102的第二程序文件。
S102:将所述第一程序文件以及所述第二程序文件进行比对,确定所述应用程序的版本变更信息。
通过预设的比对算法,将第一程序文件以及第二程序文件的程序代码进行比对,以输出第一程序文件相对于第二程序文件所变更的内容,包括代码增加、删除、修改以及合并的内容等。将得到的输出结果确定为待测试的第一程序文件在当前时刻的版本变更信息。
S103:根据所述版本变更信息所对应的变更类型,获取与所述第一程序文件匹配的兼容性测试脚本,所述兼容性测试脚本与预设的测试项目对应。
本发明实施例中,对上述版本变更信息进行解析,确定与该版本变更信息对应的变更类型。
具体地,在确定出版本变更信息后,可以在待测试的第一程序文件中标记出该版本变更信息所对应的代码段,从而定位出关联其中各个变更代码段的进程。基于各个进程的接口信息以及运行参数信息,确定上述版本变更信息所对应的变更类型。变更类型包括但不限于一级页面配色展示、页面跳转信息变更、功能及业务逻辑变更、前端重构、后端重构、系统控件调用变更以及用户界面(User Interface,UI)适配变更等。
其中,对于程序文件的不同变更类型,对程序文件进行兼容性测试时所需执行的测试项目也不同。例如,若第一程序文件的变更类型为UI适配变更,则通常来说兼容性测试的重点在于页面展示和布局的适配效果,以确定其是否能够覆盖所有的页面,因此,所需执行的测试项目为页面布局效果测试;若第一程序文件的变更类型为功能及业务逻辑变更,则兼容性测试的重点应当在于保证应用程序的执行流程能够覆盖到各个页面及操作,而不需要覆盖全量案例,因此,所需执行的测试项目为基本功能遍历测试项目。
本发明实施例中,每一个测试项目对应有一套兼容性测试脚本。当检测到兼容性测试脚本被执行时,在兼容性测试过程中,执行与该兼容性测试脚本对应的测试项目。因此,在获取待测试的第一程序文件之前,根据开发人员发出的设置指令,将每一种变更类型与兼容性测试脚本的对应关系预存储于信息表,由此保证了在确定出第一程序文件的版本变更信息所对应的变更类型时,可从上述信息表中查找出与该变更类型匹配的兼容性测试脚本。
S104:运行所述兼容性测试脚本,对所述第一程序文件进行兼容性测试。
本发明实施例中,对查找出的兼容性测试脚本执行运行操作,则根据该兼容性测试脚本所包含的页面代码,完成对第一程序文件的兼容性测试流程。
本发明实施例中,由于待测试的第一程序文件与已发布的第二程序文件的版本编号不同,故通过将第一程序文件与第二程序文件进行比对,能够快速确定出应用程序的版本变更信息;由于本发明实施例中预先生成有多类兼容性测试脚本,且不同的兼容性测试脚本与不同的测试项目相对应,因而在根据版本变更信息所对应的变更类型,获取并运行与待测试的第一程序文件相匹配的兼容性测试脚本后,可保证第一程序文件在兼容性测试的过程中,能够针对性地仅执行与其版本变更信息相关联的测试项目,避免了需要遍历所有的兼容测试流程,因此,在保证兼容性测试准确性的同时,大大地缩短了测试时间。基于快速完成的兼容性测试,可尽快对外发布新版本的应用程序,因此,本发明实施例也提高了应用程序的版本发布速度以及更新速度。
作为本发明的另一个实施例,如图2所示,在上述S101之前,还包括:
S105:若存在已发布的多个所述第二程序文件,则根据所述第二程序文件的发布时间,对各个所述第二程序文件进行排序,得到程序文件序列,并将其中所述发布时间最早的所述第二程序文件识别为基准程序文件。
本发明实施例中,在获取已发布的应用程序的第二程序文件之前,判断历史发布信息表中是否存在一个以上的第二程序文件。若判断结果为是,则读取其中各个第二程序文件的发布时间。根据发布时间的先后顺序,依次对各个第二程序文件进行排序。本发明实施例中,将排序最前的第二程序文件识别为基准程序文件,将包含依序排列的多个第二程序文件的集合识别为程序文件序列。
S106:对于所述程序文件序列中相邻的两个所述第二程序文件,确定排序在后的第二程序文件相对于排序在前的第二程序文件的所述版本变更信息,并记录所述排序在后的第二程序文件的版本编号与所述版本变更信息的对应关系。
本发明实施例中,读取程序文件序列中相邻的任意两个第二程序文件,并基于预设的比对算法,识别出确定排序在后的第二程序文件相对于排序在前的第二程序文件的版本变更信息。
为了对每相邻的两个第二程序文件之间的版本变更信息进行记录,以两个第二程序文件中排序灾后的第二程序文件的版本编号为标识,在预设的程序文件字典中,创建与该标识对应的数据记录,并将该版本变更信息存储于该条数据记录中。
本发明实施例中未提到的步骤实现原理与其他各个实施例中所提到的步骤实现原理相同,因此不再一一赘述。
S107:创建依序包含所述基准程序文件以及各个所述版本变更信息的程序文件字典。
当程序文件序列中存在N(N为大于1的整数)个第二程序文件时,获取得到的每两个第二程序文件之间的版本变更信息将会有N-1条。若检测到N-1>1,则在记录上述N-1条版本变更信息的过程中,需要对该N-1条版本变更信息进行排序。具体地,根据步骤S106中与每一条版本变更信息对应的版本编号,将版本编号在前的版本变更信息排在版本编号在后的版本变更信息中。
本发明实施例中,创建一程序文件字典,以用于存储上述确定出的基准程序文件,并依照各版本变更信息的排列顺序,依次存储每一条版本变更信息。
作为本发明的一个实施例,图3示出了本发明实施例提供的应用程序的兼容性测试方法S101的具体实现流程,详述如下:
S1011:获取任意一个所述第二程序文件的所述版本编号。
本发明实施例中,接收用户发出的版本编号输入指令,并从该版本编号输入指令中解析出用户所需调用的第二程序文件的版本编号。
S1012:在所述程序文件字典中,查找与所述版本编号对应的所述版本变更信息,并将排序在该版本变更信息之前的其余各个所述版本变更信息进行选取。
根据上述分析可知,程序文件字典中,每一条版本变更信息均存储于以版本编号为标识的一条数据记录中。因此,基于上述获取得到的第二程序文件的版本编号,可从该程序文件字典中查找出与该版本编号对应的数据记录,并读取该数据记录中的版本变更信息。
本发明实施例中,根据读取出的版本变更信息在程序文件字典中的排列顺序,检测并读取排序在该版本变更信息之前的其余各个版本变更信息。
S1013:基于所述基准程序文件以及选取出的各个所述版本变更信息,还原已发布的所述第二程序文件。
对于预存储的基准程序文件,将其与读取到的各个版本变更信息进行整合处理。具体地,根据读取出的各个版本变更信息在程序文件字典中的排列顺序,依次遍历各个版本变更信息。在遍历第一个版本变更信息时,将其与该版本变更信息进行整合处理,输出得到更新后的基准程序文件;此后,遍历下一个版本变更信息,将更新后的基准程序文件与该版本变更信息进行整合处理,如此类推,直至读取到的各个版本变更信息均遍历整合完成时,输出第二程序文件。可见,该第二程序文件为与上述S1011中所获得的版本编号相对应的第二程序文件。
本发明实施例中,通过为待测试的应用程序建立一个程序文件字典,并在程序文件字典中存储基准程序文件以及依序排列的各版本变更信息,保证了在需要获取一个用于与待测试的第一程序文件作对比的第二程序文件时,可基于该程序文件字典,灵活、快速地还原任一版本编号所匹配的第二程序文件。在应用程序已发布版本较多的情况之下,由于直接存储完整的第二程序文件会增大终端存储压力,因此,通过采用仅存储基准程序文件以及版本变更信息的方式,实现了增量存储的功能,降低了终端存储压力。并且,由于程序文件字典记载的是任意两个第二程序文件之间的版本变更信息,故基于该程序文件字典,能够快速确定不同版本之间的差异,保证在了获取得到任一第二程序文件时,也能够实现其在各个版本之间的快速回滚。
作为本发明的一个实施例,图4示出了本发明实施例提供的应用程序的兼容性测试方法S101的另一具体实现流程,详述如下:
S1014:获取待测试的第一程序文件,并确定所述第一程序文件所属的所述应用程序。
本发明实施例中,对于接收到的待测试的第一程序文件,对该第一程序文件的包头信息进行解析,以获取其所对应的应用程序的版本编号。根据版本编号中的特征字符,确定与该特征字符对应的应用程序。
例如,若版本编号中所包含的特征字符为“Wechat”,则根据预设的对应关系表,可确定出与该特征字符对应的应用程序为“微信”;若版本编号中所包含的特征字符为“Note”,则根据预设的对应关系表,可确定出与该特征字符对应的应用程序为“记事本”。
可选地,每一程序文件的版本编号包括主编码号以及子编码号,且主编码号与子编码号之间通过预设标识符来连接。其中,主编码号用于确定程序文件所属应用程序的种类;子编码号用于确定该程序文件在应用程序中所匹配的具体版本号。因此,通过定位第一程序文件的版本编号中的预设标识符,并读取出出现于该标识符之前的字符串,可获取对应该字符串的应用程序。
S1015:判断是否存在已发布且属于所述应用程序的第二程序文件。
对于第一程序文件所属的应用程序,在其对应的历史发布信息表中,检测是否存在有任意一个第二程序文件。若检测结果为否,则执行步骤S1016;若检测结果为是,则执行步骤S1017。
S1016:若不存在已发布且属于所述应用程序的第二程序文件,则依次运行预先存储的各类所述兼容性测试脚本,对所述第一程序文件进行兼容性测试。
若历史发布信息表中未检测出任意一个第二程序文件,则表示该应用程序目前并未发布过任何程序文件,当前待检测的第一程序文件为该应用程序的首版本程序文件。此时,加载预先存储的各类兼容性测试脚本,并基于各类兼容性测试脚本的优先级高低顺序,依次执行上述各类兼容性测试脚本,以遍历完成各个兼容性测试过程中的各个测试项目。
S1017:若存在已发布且属于所述应用程序的第二程序文件,则获取所述已发布的第二程序文件。
若历史发布信息表中检测出任意一个第二程序文件,则表示当前待检测的第一程序文件并非应用程序的首版本程序文件,因此,获取该应用程序已发布的任意一个第二程序文件;或者,根据接收到的版本编号输入指令,获取对应的第二程序文件。
本发明实施例中,由于在应用程序的兼容性测试过程中,只对其首个版本的第一程序文件遍历所有的测试项目,而在后续需要对新版本的第一程序文件进行兼容性测试时,根据其与已发布的第二程序文件之间的版本变更信息,进行针对该变更内容对应的兼容测试,因而能够大大程度地缩短测试时间,提高了应用程序的兼容性测试效率。
作为本发明的又一实施例,如图5所示,在上述S101之后,还包括:
S108:读取所述第一程序文件的包头信息,并提取所述包头信息中的主编码号以及子编码号。
S109:判断所述子编码号是否包含于与所述主编码号对应的编码集中。
本发明实施例中,每一应用程序在进行漏洞修复或者功能升级等变更操作后,均为输出一更新后的程序文件,并为该程序文件分配新的子编码号。为了便于管理每一应用程序所对应的各个版本的程序文件,将已发布的第二程序文件的子编码号记录于该应用程序的编码集中。由于主编码号用于确定第一程序文件所属的应用程序,故已发布的各个子编码号均包含于与该主编码号对应的编码集中。
通过对待测试的第一程序文件的主编码号以及子编码号进行读取,可查找出对应该主编码号的编码集。本发明实施例中,判断该编码集中是否包含该第一程序文件的子编码号。
S110:若所述子编码号包含于与所述主编码号对应的编码集,则确定所述第一程序文件已完成发布。
若第一程序文件的子编码号存在于主编码号所对应的编码集中,则表示该第一程序文件为已发布过的程序文件,故该第一程序文件在上一次发布的过程中肯定已经配置过对应的兼容性测试项目,因此,无需再次进行后续的兼容性测试项目的识别过程。
若第一程序文件的子编码号不存在于主编码号所对应的编码集中,则表示该第一程序文件为未发布过的程序文件,因此,执行上述步骤S102至S104。
S111:在历史版本信息库中,获取与所述包头信息对应的所述兼容性测试脚本,并基于该兼容性测试脚本,对所述第一程序文件进行兼容性测试;其中,所述历史版本信息库用于存储已发布的各个程序文件在兼容性测试过程中所应用的所述兼容性测试脚本。
根据第一程序文件所属的应用程序,确定与该应用程序关联的历史版本信息库。其中,历史版本信息库用于存储该应用程序已发布的各个程序文件在兼容性测试过程中所应用的兼容性测试脚本。因此,通过在该历史版本信息库中查找出与第一程序文件的子编码号匹配的程序文件,可获取该第一程序文件所适应的兼容性测试脚本,进而执行兼容性测试操作。
本发明实施例中,在获取到第一程序文件之后,通过识别第一程序文件所属的应用程序,确定第一程序文件是否为该应用程序的已发布程序文件,并在第一程序文件为已发布程序文件的情况之下,直接读取历史版本信息库中所匹配的兼容性测试脚本,保证了无需重复为已发布过的程序文件执行兼容性测试方案的判断流程,故提高了兼容性测试脚本的获取效率,进而也提高了应用程序的兼容性测试效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
对应于上文实施例所述的应用程序的兼容性测试方法,图6示出了本发明实施例提供的应用程序的兼容性测试装置的结构框图。为了便于说明,仅示出了与本发明实施例相关的部分。
参照图6,该装置包括:
第一获取单元61,用于获取待测试的第一程序文件以及已发布的第二程序文件;其中,所述第一程序文件以及所述第二程序文件属于同一应用程序,且所述第一程序文件与所述第二程序文件的版本编号不同。
比对单元62,用于将所述第一程序文件以及所述第二程序文件进行比对,确定所述应用程序的版本变更信息。
第二获取单元63,用于根据所述版本变更信息所对应的变更类型,获取与所述第一程序文件匹配的兼容性测试脚本,所述兼容性测试脚本与预设的测试项目对应。
第一测试单元64,用于运行所述兼容性测试脚本,对所述第一程序文件进行兼容性测试。
可选地,所述应用程序的兼容性测试装置还包括:
排序单元,用于若存在已发布的多个所述第二程序文件,则根据所述第二程序文件的发布时间,对各个所述第二程序文件进行排序,得到程序文件序列,并将其中所述发布时间最早的所述第二程序文件识别为基准程序文件。
记录单元,用于对于所述程序文件序列中相邻的两个所述第二程序文件,确定排序在后的第二程序文件相对于排序在前的第二程序文件的所述版本变更信息,并记录所述排序在后的第二程序文件的版本编号与所述版本变更信息的对应关系。
创建单元,用于创建依序包含所述基准程序文件以及各个所述版本变更信息的程序文件字典。
可选地,所述第一获取单元61包括:
第一获取子单元,用于获取任意一个所述第二程序文件的所述版本编号。
查找子单元,用于在所述程序文件字典中,查找与所述版本编号对应的所述版本变更信息,并将排序在该版本变更信息之前的其余各个所述版本变更信息进行选取。
还原子单元,用于基于所述基准程序文件以及选取出的各个所述版本变更信息,还原已发布的所述第二程序文件。
可选地,所述第一获取单元61包括:
第二获取子单元,用于获取待测试的第一程序文件,并确定所述第一程序文件所属的所述应用程序。
判断子单元,用于判断是否存在已发布且属于所述应用程序的第二程序文件。
测试子单元,用于若不存在已发布且属于所述应用程序的第二程序文件,则依次运行预先存储的各类所述兼容性测试脚本,对所述第一程序文件进行兼容性测试。
第三获取子单元,用于若存在已发布且属于所述应用程序的第二程序文件,则获取所述已发布的第二程序文件。
可选地,所述应用程序的兼容性测试装置还包括:
读取单元,用于读取所述第一程序文件的包头信息,并提取所述包头信息中的主编码号以及子编码号。
判断单元,用于判断所述子编码号是否包含于与所述主编码号对应的编码集中。
确定单元,用于若所述子编码号包含于与所述主编码号对应的编码集,则确定所述第一程序文件已完成发布。
第二测试单元,用于在历史版本信息库中,获取与所述包头信息对应的所述兼容性测试脚本,并基于该兼容性测试脚本,对所述第一程序文件进行兼容性测试。
其中,所述历史版本信息库用于存储已发布的各个程序文件在兼容性测试过程中所应用的所述兼容性测试脚本。
图7是本发明一实施例提供的终端设备的示意图。如图7所示,该实施例的终端设备7包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72,例如应用程序的兼容性测试程序。所述处理器70执行所述计算机程序72时实现上述各个应用程序的兼容性测试方法实施例中的步骤,例如图1所示的步骤101至104。或者,所述处理器70执行所述计算机程序72时实现上述各装置实施例中各模块/单元的功能,例如图5所示单元61至64的功能。
示例性的,所述计算机程序72可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器71中,并由所述处理器70执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在所述终端设备7中的执行过程。
所述终端设备7可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是终端设备7的示例,并不构成对终端设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器70可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71可以是所述终端设备7的内部存储单元,例如终端设备7的硬盘或内存。所述存储器71也可以是所述终端设备7的外部存储设备,例如所述终端设备7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述终端设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种应用程序的兼容性测试方法,其特征在于,包括:
获取待测试的第一程序文件以及已发布的第二程序文件;其中,所述第一程序文件以及所述第二程序文件属于同一应用程序,且所述第一程序文件与所述第二程序文件的版本编号不同;
将所述第一程序文件以及所述第二程序文件进行比对,确定所述应用程序的版本变更信息;
根据所述版本变更信息所对应的变更类型,获取与所述第一程序文件匹配的兼容性测试脚本,所述兼容性测试脚本与预设的测试项目对应;
运行所述兼容性测试脚本,对所述第一程序文件进行兼容性测试。
2.如权利要求1所述的兼容性测试方法,其特征在于,在所述获取待测试的第一程序文件以及已发布的第二程序文件之前,还包括:
若存在已发布的多个所述第二程序文件,则根据所述第二程序文件的发布时间,对各个所述第二程序文件进行排序,得到程序文件序列,并将其中所述发布时间最早的所述第二程序文件识别为基准程序文件;
对于所述程序文件序列中相邻的两个所述第二程序文件,确定排序在后的第二程序文件相对于排序在前的第二程序文件的所述版本变更信息,并记录所述排序在后的第二程序文件的版本编号与所述版本变更信息的对应关系;
创建依序包含所述基准程序文件以及各个所述版本变更信息的程序文件字典。
3.如权利要求2所述的兼容性测试方法,其特征在于,所述获取已发布的第二程序文件,包括:
获取任意一个所述第二程序文件的所述版本编号;
在所述程序文件字典中,查找与所述版本编号对应的所述版本变更信息,并将排序在该版本变更信息之前的其余各个所述版本变更信息进行选取;
基于所述基准程序文件以及选取出的各个所述版本变更信息,还原已发布的所述第二程序文件。
4.如权利要求2所述的兼容性测试方法,其特征在于,所述获取待测试的第一程序文件以及已发布的第二程序文件,包括:
获取待测试的第一程序文件,并确定所述第一程序文件所属的所述应用程序;
判断是否存在已发布且属于所述应用程序的第二程序文件;
若不存在已发布且属于所述应用程序的第二程序文件,则依次运行预先存储的各类所述兼容性测试脚本,对所述第一程序文件进行兼容性测试;
若存在已发布且属于所述应用程序的第二程序文件,则获取所述已发布的第二程序文件。
5.如权利要求1所述的兼容性测试方法,其特征在于,还包括:
读取所述第一程序文件的包头信息,并提取所述包头信息中的主编码号以及子编码号;
判断所述子编码号是否包含于与所述主编码号对应的编码集中;
若所述子编码号包含于与所述主编码号对应的编码集,则确定所述第一程序文件已完成发布;
在历史版本信息库中,获取与所述包头信息对应的所述兼容性测试脚本,并基于该兼容性测试脚本,对所述第一程序文件进行兼容性测试;
其中,所述历史版本信息库用于存储已发布的各个程序文件在兼容性测试过程中所应用的所述兼容性测试脚本。
6.一种终端设备,包括存储器以及处理器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如下步骤:
获取待测试的第一程序文件以及已发布的第二程序文件;其中,所述第一程序文件以及所述第二程序文件属于同一应用程序,且所述第一程序文件与所述第二程序文件的版本编号不同;
将所述第一程序文件以及所述第二程序文件进行比对,确定所述应用程序的版本变更信息;
根据所述版本变更信息所对应的变更类型,获取与所述第一程序文件匹配的兼容性测试脚本,所述兼容性测试脚本与预设的测试项目对应;
运行所述兼容性测试脚本,对所述第一程序文件进行兼容性测试。
7.如权利要求6所述的终端设备,其特征在于,所述处理器执行所述计算机程序时还实现如下步骤:
若存在已发布的多个所述第二程序文件,则根据所述第二程序文件的发布时间,对各个所述第二程序文件进行排序,得到程序文件序列,并将其中所述发布时间最早的所述第二程序文件识别为基准程序文件;
对于所述程序文件序列中相邻的两个所述第二程序文件,确定排序在后的第二程序文件相对于排序在前的第二程序文件的所述版本变更信息,并记录所述排序在后的第二程序文件的版本编号与所述版本变更信息的对应关系;
创建依序包含所述基准程序文件以及各个所述版本变更信息的程序文件字典。
8.如权利要求7所述的终端设备,其特征在于,所述获取已发布的第二程序文件,具体包括:
获取任意一个所述第二程序文件的所述版本编号;
在所述程序文件字典中,查找与所述版本编号对应的所述版本变更信息,并将排序在该版本变更信息之前的其余各个所述版本变更信息进行选取;
基于所述基准程序文件以及选取出的各个所述版本变更信息,还原已发布的所述第二程序文件。
9.如权利要求7所述的终端设备,其特征在于,所述获取待测试的第一程序文件以及已发布的第二程序文件,具体包括:
获取待测试的第一程序文件,并确定所述第一程序文件所属的所述应用程序;
判断是否存在已发布且属于所述应用程序的第二程序文件;
若不存在已发布且属于所述应用程序的第二程序文件,则依次运行预先存储的各类所述兼容性测试脚本,对所述第一程序文件进行兼容性测试;
若存在已发布且属于所述应用程序的第二程序文件,则获取所述已发布的第二程序文件。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811211231.1A CN109240936A (zh) | 2018-10-17 | 2018-10-17 | 应用程序的兼容性测试方法、终端设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811211231.1A CN109240936A (zh) | 2018-10-17 | 2018-10-17 | 应用程序的兼容性测试方法、终端设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109240936A true CN109240936A (zh) | 2019-01-18 |
Family
ID=65053078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811211231.1A Pending CN109240936A (zh) | 2018-10-17 | 2018-10-17 | 应用程序的兼容性测试方法、终端设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109240936A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110032509A (zh) * | 2019-03-04 | 2019-07-19 | 广州华多网络科技有限公司 | 一种切换本地列表中实验的方法、装置、系统及存储介质 |
CN113722201A (zh) * | 2020-05-25 | 2021-11-30 | 中移(苏州)软件技术有限公司 | 一种API一致性检测方法及PaaS平台 |
CN113835730A (zh) * | 2021-09-24 | 2021-12-24 | 支付宝(杭州)信息技术有限公司 | 一种更新审核程序的方法、装置、设备及介质 |
CN117707936A (zh) * | 2023-11-28 | 2024-03-15 | 海通证券股份有限公司 | 多系统多版本全链路测试方法、装置、设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070244905A1 (en) * | 2006-04-14 | 2007-10-18 | Fujitsu Limited | Computer-readable recording medium containing application management program, and method and apparatus for application management |
CN105446868A (zh) * | 2014-08-25 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 系统兼容性测试方法、测试用例管理方法及相关装置 |
CN106557419A (zh) * | 2015-09-29 | 2017-04-05 | 腾讯科技(深圳)有限公司 | 程序的测试方法及装置 |
CN107203461A (zh) * | 2016-03-16 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 兼容性测试方法及装置 |
CN107894895A (zh) * | 2017-11-06 | 2018-04-10 | 网易(杭州)网络有限公司 | 代码更新的处理方法、装置、存储介质、处理器及服务器 |
-
2018
- 2018-10-17 CN CN201811211231.1A patent/CN109240936A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070244905A1 (en) * | 2006-04-14 | 2007-10-18 | Fujitsu Limited | Computer-readable recording medium containing application management program, and method and apparatus for application management |
CN105446868A (zh) * | 2014-08-25 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 系统兼容性测试方法、测试用例管理方法及相关装置 |
CN106557419A (zh) * | 2015-09-29 | 2017-04-05 | 腾讯科技(深圳)有限公司 | 程序的测试方法及装置 |
CN107203461A (zh) * | 2016-03-16 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 兼容性测试方法及装置 |
CN107894895A (zh) * | 2017-11-06 | 2018-04-10 | 网易(杭州)网络有限公司 | 代码更新的处理方法、装置、存储介质、处理器及服务器 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110032509A (zh) * | 2019-03-04 | 2019-07-19 | 广州华多网络科技有限公司 | 一种切换本地列表中实验的方法、装置、系统及存储介质 |
CN113722201A (zh) * | 2020-05-25 | 2021-11-30 | 中移(苏州)软件技术有限公司 | 一种API一致性检测方法及PaaS平台 |
CN113835730A (zh) * | 2021-09-24 | 2021-12-24 | 支付宝(杭州)信息技术有限公司 | 一种更新审核程序的方法、装置、设备及介质 |
CN113835730B (zh) * | 2021-09-24 | 2024-07-05 | 支付宝(杭州)信息技术有限公司 | 一种更新审核程序的方法、装置、设备及介质 |
CN117707936A (zh) * | 2023-11-28 | 2024-03-15 | 海通证券股份有限公司 | 多系统多版本全链路测试方法、装置、设备和存储介质 |
CN117707936B (zh) * | 2023-11-28 | 2024-06-11 | 海通证券股份有限公司 | 多系统多版本全链路测试方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109240936A (zh) | 应用程序的兼容性测试方法、终端设备及介质 | |
CN110765770B (zh) | 一种合同自动生成方法及装置 | |
KR101889120B1 (ko) | 데이터 패턴 정보 생성 | |
CN109388675A (zh) | 数据分析方法、装置、计算机设备及存储介质 | |
CN103914507B (zh) | 文件管理装置以及文件管理方法 | |
CN109144548A (zh) | 一种基于git实现的多组件软件升级方法、装置及服务器 | |
US20100235814A1 (en) | Apparatus and a method for generating a test case | |
CN109783346B (zh) | 基于关键字驱动的自动化测试方法、装置及终端设备 | |
CN109783365A (zh) | 自动化测试方法、装置、计算机设备及存储介质 | |
CN110362481A (zh) | 自动测试方法及终端设备 | |
CN111666201A (zh) | 回归测试方法、装置、介质及电子设备 | |
CN111290785A (zh) | 评估深度学习框架系统兼容性的方法、装置、电子设备以及存储介质 | |
CN113592605A (zh) | 基于相似产品的产品推荐方法、装置、设备及存储介质 | |
CN111309586A (zh) | 一种命令测试方法、装置及其存储介质 | |
CN114168565B (zh) | 业务规则模型的回溯测试方法、装置、系统及决策引擎 | |
JP6761197B2 (ja) | 情報処理システム、情報処理方法、プログラム | |
US20210318946A1 (en) | Generation of code coverage information during testing of a code sequence | |
CN103914508B (zh) | 文件管理装置以及文件管理方法 | |
CN109634569A (zh) | 基于注解的流程实现方法、装置、设备及可读存储介质 | |
CN107368500A (zh) | 数据抽取方法及系统 | |
CN112882956A (zh) | 一种通过数据组合计算自动生成全场景自动化测试案例的方法、装置、存储介质及电子设备 | |
CN109582347B (zh) | 一种获取前端代码的方法及装置 | |
CN115185833A (zh) | 异常代码处理方法、装置、计算机设备以及存储介质 | |
CN107783904A (zh) | 单元测试桩去重方法、装置、计算机可读存储介质及设备 | |
CN113254352A (zh) | 测试案例的测试方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |