CN114676050A - 测试方法、装置、设备和计算机可读存储介质 - Google Patents
测试方法、装置、设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN114676050A CN114676050A CN202210282097.4A CN202210282097A CN114676050A CN 114676050 A CN114676050 A CN 114676050A CN 202210282097 A CN202210282097 A CN 202210282097A CN 114676050 A CN114676050 A CN 114676050A
- Authority
- CN
- China
- Prior art keywords
- package
- packet
- test
- original
- test object
- 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
Images
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/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例涉及一种测试方法、装置、设备和计算机可读存储介质,其中该方法包括:根据版本源码编译获取第一测试对象的第一原始包,并复制第一原始包获取第一原始包副本;获取第二测试对象的第一配置属性数据,并根据第一配置属性数据更改第一原始包副本中的配置属性值以获取第二原始包;获取与第二原始包对应的第二升级包,并根据第二升级包生成第二测试对象的第一升级差分包;根据第一升级差分包获取第二测试对象的测试数据。由此,以一个测试对象编译出的原始包为基础,可以得到其他测试对象的差分包和整包,无需单独为其他测试对象单独制作原始包,降低了升级包的生成成本,且提升了测试效率。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种测试方法、装置、计算机设备和计算机可读存储介质。
背景技术
使用有关厂商提供的无线下载信息中心GOTA实现空中下载技术(Over-the-AirTechnology,OTA)升级,是目前比较常用的一种OTA升级方式,在具有GOTA更新功能的终端设备中,可以通过数据流量下载和WIFI下载升级两种模式实现OTA升级。
相关技术中,GOTA提供升级服务时,基于一个版本对应一个GOTA原始包,GOTA升级通过GOTA服务器配置基于GOTA原始包制作出来差分包、整包等,终端设备联网下载GOTA升级包以更新升级设备。
然而,目前GOTA升级编译版本只会编译一个GOTA原始包、编译一个整包,而实际上一套源码对应于同一个版本的不同测试对象的界面信息和功能等,比如,一套源码不但对应安卓系统的界面信息和功能,同时也对应与其他操作系统的界面信息和功能等,而由于GOTA升级编译版本只会编译一个GOTA原始包、编译一个整包,因此,只能实现对其中一个测试对象的测试,若要实现对其他测试对象的测试,则需要GOTA服务器基于多套代码来定制多个静态的GOTA原始包等,导致升级包的生成成本较高。
发明内容
基于此,有必要针对上述技术问题,提供一种能够降低升级包的生成成本的测试方法、装置、设备和计算机可读存储介质。
本申请实施例提供了一种测试方法,所述方法包括:根据版本源码编译获取第一测试对象的第一原始包,并复制所述第一原始包获取第一原始包副本;获取第二测试对象的第一配置属性数据,并根据所述第一配置属性数据更改所述第一原始包副本中的配置属性值以获取第二原始包;获取与所述第二原始包对应的第二升级包,并根据所述第二升级包生成所述第二测试对象的第一升级差分包;根据所述第一升级差分包获取所述第二测试对象的测试数据。
在一个实施例中,所述根据所述第一配置属性数据更改所述第一原始包副本中的配置属性值以获取第二原始包,包括:提取所述第一配置属性数据中的升级包属性数据和身份属性数据;确定所述第一原始包副本中的升级包属性文件和身份属性文件;根据所述升级包属性数据替换所述升级包属性文件中的当前升级包属性数据;根据所述身份属性数据替换所述身份属性文件中的当前身份属性数据,以获取第二原始包。
在一个实施例中,所述获取与所述第二原始包对应的第二升级包,包括:获取所述第二测试对象所在设备的升级重启请求;根据所述升级重启请求,执行预设的脚本获取所述第二原始包的所述第二升级包。
在一个实施例中,所述根据所述第二升级包生成所述第二测试对象的第一升级差分包,包括:获取所述第二测试对象的历史版本的第三升级包;根据所述第三升级包和所述第二升级包生成所述第二测试对象的第一升级差分包。
在一个实施例中,所述根据所述第一升级差分包获取所述第二测试对象的测试数据包括:获取所述第三升级包的历史测试结果数据;运行所述第一升级差分包获取差分测试结果数据;根据所述历史测试结果数据和所述差分测试结果数据获取所述第二测试对象的测试数据。
在一个实施例中,还包括:复制所述第一原始包获取第二原始包副本;获取第三测试对象的第二配置属性数据,并根据所述第二配置属性数据更改所述第二原始包副本中的配置属性值以获取第三原始包;获取与所述第三原始包对应的第四升级包,并根据所述第四升级包生成所述第三测试对象的第二升级差分包;根据所述第二升级差分包获取所述第三测试对象的测试数据。
本申请实施例提供了一种测试装置,所述装置包括:第一获取模块,用于根据版本源码编译获取第一测试对象的第一原始包;复制模块,用于复制所述第一原始包获取第一原始包副本;第二获取模块,用于获取第二测试对象的第一配置属性数据;第三获取模块,用于根据所述第一配置属性数据更改所述第一原始包副本中的配置属性值以获取第二原始包;生成模块,用于获取与所述第二原始包对应的第二升级包,并根据所述第二升级包生成所述第二测试对象的第一升级差分包;测试处理模块,用于根据所述第一升级差分包获取所述第二测试对象的测试数据。
在一个实施例中,所述第三获取模块,具体用于:提取所述第一配置属性数据中的升级包属性数据和身份属性数据;确定所述第一原始包副本中的升级包属性文件和身份属性文件;根据所述升级包属性数据替换所述升级包属性文件中的当前升级包属性数据;根据所述身份属性数据替换所述身份属性文件中的当前身份属性数据,以获取第二原始包。
本申请实施例提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现本申请任意实施例所提供的测试方法的步骤。
本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本申请任意实施例所提供的测试方法的步骤。
本申请实施例所提供的测试方法、装置、计算机设备和计算机可读存储介质,利用测试方法,以一个测试对象为基础,基于版本源码编译出该测试对象的原始包后,通过修改配置文件等克隆出其他产品的测试对象的原始包,以便于基于原始包编译其他测试对象的升级包等,无需单独为每个测试对象设置原始包等,并且基于生成的升级包编译得到对应的测试对象的差分包,基于差分包进行测试大大降低了测试成本。
附图说明
图1为一个实施例中测试的应用场景图;
图2为一个实施例中测试方法的流程示意图;
图3为另一个实施例中测试方法步骤的流程示意图;
图4为一个实施例中测试场景示意图;
图5为另一个实施例中测试场景示意图;
图6为另一个实施例中测试场景示意图;
图7为一个实施例中测试装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的测试方法,可以应用于如图1所示的应用环境中。该应用环境包括PC端的GOTA升级用户,该GOTA升级用户创建出用户对第一测试对象的OTA原始包,可以使用“shell”指令等获取每个版本的指纹,基于指纹信息得到OTA原始包等,将OTA原始包上传到运行信息中心界面的OTA服务器,进而,OTA服务器会先确认设备上具有相符合版本的指纹,然后才会允许设备下载OTA升级包,进而,验证OTA升级包并安装更新。
在本实施例中,为了提高其他测试对象的测试效率,基于第一测试对象的OTA原始包克隆其他测试对象的OTA原始包(图中仅示出了第一测试对象的升级过程),从而,基于克隆的OTA原始包可以自动获取其他测试对象的OTA升级包和差分包等,大大降低了对其他测试对象的OTA升级包的生成成本等。
其中,设备可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种测试方法。本实施例主要以该方法应用于图1中的PC端来举例说明。在说明之前,对本申请实施例涉及的几个定义进行解释如下:
测试对象:可以理解为同一套版本源码对应的多个产品版本,每个产品系统看作一个测试对象,不同的产品版本对应于不同的操作系统,操作系统包括但不限于安卓系统、IOS系统等,其中,不同的操作系统之间界面信息和部分基本功能具有差别,同时也包含了大量的相同的功能部分等。
原始包:可以理解为OTA升级场景中的GOTA Target包,主要包含了对应测试对象的版本信息、编译时间等属性信息;
升级包:可以理解为OTA升级场景中的GOTA整包等。
步骤201,根据版本源码编译获取第一测试对象的第一原始包,并复制第一原始包获取第一原始包副本。
其中,若是第一测试对象为安卓系统,则对应的版本源码可以为Android源码等,在本实施例中,基于版本源码可以通过make otapakcage编译出第一原始包。比如,当第一测试对象为一个具体的例子,针对QNX系统(Quick UNIX系统),在将源码文件编译为IMAGE文件的情况下,可以通过调用下述编译命令来对版本源码执行编译操作:
mksysimage.bat-vvvvvvv-o”%WORKSPACE%\image\%BUILD_NUMBER%”jacinto6evm.external。
其中,mksysimage.bat为QNX系统中的用于形成IMAGE文件的编译命令名vvvvvvv为编译命令参数;%WORKSPACE%\image\表示编译形成的IMAGE文件的存储路径;%BUILD_NUMBER%为针对元部件(如车辆的仪表系统或者中控系统等)对应版本源码的编译顺序号(如针对仪表系统的第100次编译),且该顺序号是由编译服务器自动生成的;jacinto6evm.external表示与CPU相关的参数。
利用上述编译命令生成的IMAGE文件可以包括:Base.img,Data.img以及Boot.img等。本实施例不限制编译命令的具体表现形式以及调用编译命令所生成的当前编译文件的具体表现形式。
在获取第一原始包后,为了在无需配置版本源码的情况下获取其他测试对象的原始包,首先复制第一原始包获取第一原始包副本,其即并不在第一原始包的基础上进行修改,保留第一测试对象的第一原始包。
步骤202,获取第二测试对象的第一配置属性数据,并根据第一配置属性数据更改第一原始包副本中的配置属性值以获取第二原始包。
应当理解的是,不同的测试对象所对应的配置属性数据不同,其中,该配置属性数据包括care_map.pb文件的属性值,该care_map.pb文件的属性值主要用于验证获取的对应测试对象的升级包是否完整,该配置属性数据还包括metadata文件对应分区里build.prop配置属性,该build.prop配置属性主要用于验证第二测试对象对应的设备信息,保证发放的升级包与设备信息匹配。
其中,build.prop的属性包括但不限于版本号,build.prop位于SYSTEM文件夹下,版本号字段是约定好的,可通过shell脚本将版本号改成第二测试对象需要升级的版本号,另外,也可以在此加上其他修改,如编译时间,型号名等,最终生成新的版本号,也就是属性信息被修改后的第一原始包副本。
正如以上所提到的,在进行OTA升级时,需要验证升级包是否完整以及设备上是否具有对应版本的指纹信息等,因此,需要对升级包和设备的身份信息均进行验证。
在本申请的一个实施例中,获取第二测试对象的第一配置属性数据后,根据第一配置属性数据更改第一原始包副本中的配置属性值以获取第二原始包。在本实施例中,提取第一配置属性数据中的升级包属性数据和身份属性数据,该升级包属性数据可以包括上述提到的第二测试对象的版本号等数据,身份属性数据包括第二测试对象所在终端的设备号等身份信息。
进而,确定第一原始包副本中的升级包属性文件和身份属性文件,其中,升级包属性文件可以为上述提到的care_map.pb文件,身份属性文件可以为上述metadata文件等。
在本实施例中,根据所述升级包属性数据替换所述升级包属性文件中的当前升级包属性数据,根据身份属性数据替换所述身份属性文件中的当前身份属性数据,以获取第二原始包。比如,解压第一原始包副本,修改android分区System,System_ext,vendor,product各分区build.prop文件,改成第二测试对象的第二原始包care_map.pb文件需要属性值,删除解压后第一原始包副本的IMAGES目录下对应的镜像,重新执行android脚本打包镜像脚本生成第二测试对象的第二原始包需要的META/care_map.pb文件。替换第一原始包副本的压缩包中的care_map.pb文件,修改metadata文件对应分区里build.prop配置属性即可得到对应的第二原始包。
步骤203,获取与第二原始包对应的第二升级包,并根据第二升级包生成第二测试对象的第一升级差分包。
在本实施例中,由于第二原始包中包含了第二测试对象所需要的配置信息,因此,获取与第二原始包对应的第二升级包,比如可以通过执行android脚本得到与第二原始包对应的第二升级包,该升级包可以理解为第二测试对象的整包。
在一些可能的实施例中,可以先通过第一测试对象的升级包刷机,之后在第二测试对象的设备重启的时候,基于第二原始包得到第二升级包进行系统升级等。
在另一些可能的实施例中,获取所述第二测试对象所在设备的升级重启请求,根据升级重启请求,执行预设的脚本获取第二原始包的第二升级包,其中,基于预设的脚本是执行第二原始包可以得到第二升级包。
进一步地,为了提升测试效率,仅仅针对升级的新增功能或者是变化的功能等进行测试,根据第二升级包生成第二测试对象的第一升级差分包。
需要说明的是,在不同的应用场景中,根据第二升级包生成第二测试对象的第一升级差分包的方式不同,示例如下:
在一种可能的实施例中,获取第二测试对象的历史版本的第三升级包,可以通过预设的存储路径获取第三升级包等,其中,历史版本可以是在生成第二原始包中的配置属性中指定的,也可以是默认的第二测试对象在更新之前的版本,比如第三升级包和第二升级包,以得到第二测试对象的第一升级差分包。其中,第一升级差分包也可以通过对第二升级包和对应的第三升级包执行android源生差分脚本得到等。
在另一种可能的实施例中,考虑到第一测试对象和第二测试对象仅仅具有一些功能上的差异,为了复用第一测试对象的测试结果,在本实施例中,获取第一升级差分包的版本号,查询预设对应关系确定与该版本号对应的第一测试对象的升级包和第二测试对象的升级包的差分包,作为第一升级差分包。
步骤204,根据第一升级差分包获取第二测试对象的测试数据。
在本实施例中,根据第一升级差分包获取第二测试对象的测试数据,本次测试仅仅针对第一升级差分包进行测试,而不是对第二升级包的整包进行测试,大大节约了测试时间,降低了测试成本。
需要说明的是,在不同的应用场景中,根据第一升级差分包获取第二测试对象的测试数据的方式不同,示例说明如下:
在本申请的一个实施例中,如图3所示,根据所述第一升级差分包获取所述第二测试对象的测试数据包括:
步骤301,获取第三升级包的历史测试结果数据。
其中,可以获取第三升级包的升级包标识等信息,基于该标识信息查询预设数据库以获取第三升级包的历史测试结果数据。
步骤302,运行第一升级差分包获取差分测试结果数据。
由于第一升级差分包对应于第二测试对象变化或者新增的功能,因此,运行第一升级差分包以获取差分测试结果数据,其中,该差分测试结果数据包括但不限于功能运行界面信息、功能运行时长等。
步骤303,根据历史测试结果数据和差分测试结果数据获取第二测试对象的测试数据。
在本实施例中,将历史测试结果数据和差分测试结果数据作为第二测试对象的测试数据,由此,复用了第三升级包的历史测试结果数据,大大降低了测试成本。
在本申请的另一个实施例中,获取第一测试对象的升级包和第一升级包的第二升级差分包,运行第二升级差分包获取差分测试结果数据,将第一测试对象的升级包的历史测试结果数据和差分测试结果数据作为第二测试对象的测试数据,由此,复用了第一升级包的历史测试结果数据,大大降低了测试成本。
由此,整个测试过程中,如图4所示,根据版本源码得到第一测试对象的第一原始包后,基于对第一原始包的克隆得到第二测试对象的第二原始包,从而,第二测试对象无需构建单独的版本源码即可进行升级和测试。
在实际执行过程中,还在OTA服务器上部署每个测试对象对应的整包和差分包,从而支持不同的测试对象的升级,其中,参照图5,OTA服务器可以创建多个名称标签等用于上传每个测试对象的整包和差分包等,其中,图中的A可以为某个测试对象的名称标签,a1a2分贝为A对应的升级包整包和差分包,以便于设备端在OTA服务器下载对应的整包和差分包进行系统升级等。
当然,上述实施例中提到的第二测试对象仅仅是一种示例,在实际操作时,以第一测试对象的第一原始包为核心,如图6所示(图中示出第二测试对象和第三测试对象,其中,第三测试对象的整包和原始包分别为第二升级包和第三原始包),可以得到任意其他测试对象的差分包和升级包的整包等,即可以在对应的OTA服务器中部署得到的多个测试对象的差分包和整包,其中,与克隆第二测试对象的第二原始包的过程相同,在克隆其他测试对象的原始包即Target包时候不能删除第一原始包的压缩包IMAGES下的镜像,以保持多个测试对象的镜像一致。只替换压缩包配置文件属性和文件,使整包和差分包制作出来只有GOTA包配置文件不一样,升级的镜像文件一致。满足客户需求减少研发成本和测试人力成本,只需要重点验证一个测试独享,其他产品只需要验证基本功能即可。
下面以对第三测试对象的整包和差分包的获取过程为例进行说明。在本实施例中,复制第一原始包获取第二原始包副本,即保留第一原始包的镜像等,获取第三测试对象的第二配置属性数据,并根据所述第二配置属性数据更改所述第二原始包副本中的配置属性值以获取第三原始包,其中,第三原始包的获取过程参照第二原始包的获取过程,其实现原理类似,在此不再赘述。
进而,运行有关android脚本编译第三原始包得到第四升级包,根据第四升级包得到第三测试对象的第二升级差分包,根据第二升级差分包获取第三测试对象的测试数据。由此,第三测试对象的第四升级包和其他测试对象对应的升级包也仅仅是配置文件不同,升级镜像文件一致,因此,提升了升级包获取效率,降低了测试成本。
综上,本申请实施例的测试方法,在根据版本源码获取第一测试对象的第一原始包后,复制第一原始包获取第一原始包副本,获取第二测试对象的第一配置属性数据,并根据第一配置属性数据更改第一原始包副本中的配置属性值以获取第二原始包,进而,获取与第二原始包对应的第二升级包,并根据第二升级包生成第二测试对象的第一升级差分包,最后,根据第一升级差分包获取第二测试对象的测试数据。由此,以一个测试对象编译出的原始包为基础,可以得到其他测试对象的差分包和整包,无需单独为其他测试对象单独制作原始包,降低了升级包的生成成本,且提升了测试效率。
应该理解的是,虽然图2-图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
施例中,如图7所示,提供了一种测试装置,包括:第一获取模块701、复制模块702、第二获取模块703、第三获取模块704、生成模块705和测试处理模块706,其中:
第一获取模块701,用于根据版本源码编译获取第一测试对象的第一原始包;
复制模块702,用于复制第一原始包获取第一原始包副本;
第二获取模块703,用于获取第二测试对象的第一配置属性数据;
第三获取模块704,用于根据第一配置属性数据更改第一原始包副本中的配置属性值以获取第二原始包;
生成模块705,用于获取与第二原始包对应的第二升级包,并根据第二升级包生成第二测试对象的第一升级差分包;
测试处理模块706,用于根据第一升级差分包获取第二测试对象的测试数据。
在一些可能的实施例中,第三获取模块704,具体用于:
提取第一配置属性数据中的升级包属性数据和身份属性数据;
确定第一原始包副本中的升级包属性文件和身份属性文件;
根据升级包属性数据替换升级包属性文件中的当前升级包属性数据;
根据身份属性数据替换身份属性文件中的当前身份属性数据,以获取第二原始包。
在一些可能的实施例中,生成模块705,具体用于:
获取第二测试对象所在设备的升级重启请求;
根据升级重启请求,执行预设的脚本获取第二原始包的第二升级包。
在一些可能的实施例中,生成模块705,具体用于:
获取第二测试对象的历史版本的第三升级包;
根据第三升级包和第二升级包生成第二测试对象的第一升级差分包。
在一些可能的实施例中,测试处理模块706,具体用于:
获取第三升级包的历史测试结果数据;
运行第一升级差分包获取差分测试结果数据;
根据历史测试结果数据和差分测试结果数据获取第二测试对象的测试数据。
在一些可能的实施例中,还包括:
原始包复制模块,用于复制第一原始包获取第二原始包副本;
原始包获取模块,用于获取第三测试对象的第二配置属性数据,并根据第二配置属性数据更改第二原始包副本中的配置属性值以获取第三原始包;
差分包生成模块,用于获取与第三原始包对应的第四升级包,并根据第四升级包生成第三测试对象的第二升级差分包;
测试数据获取模块,用于根据第二升级差分包获取第三测试对象的测试数据。
综上,本申请实施例的测试装置,在根据版本源码获取第一测试对象的第一原始包后,复制第一原始包获取第一原始包副本,获取第二测试对象的第一配置属性数据,并根据第一配置属性数据更改第一原始包副本中的配置属性值以获取第二原始包,进而,获取与第二原始包对应的第二升级包,并根据第二升级包生成第二测试对象的第一升级差分包,最后,根据第一升级差分包获取第二测试对象的测试数据。由此,以一个测试对象编译出的原始包为基础,可以得到其他测试对象的差分包和整包,无需单独为其他测试对象单独制作原始包,降低了升级包的生成成本,且提升了测试效率。
关于测试装置的具体限定可以参见上文中对于测试方法的限定,在此不再赘述。上述测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、近场通信(NFC)或其他技术实现。该计算机程序被处理器执行时以实现一种测试方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的测试装置可以实现为一种计算机程序的形式,计算机程序可在如图8所示的计算机设备上运行。计算机设备的存储器中可存储组成该XX装置的各个程序模块,比如,图7所示的第一获取模块701、复制模块702、第二获取模块703、第三获取模块704、生成模块705和测试处理模块706。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的测试方法中的步骤。
例如,图8所示的计算机设备可以通过如图7所示的测试装置中的第一获取模块执行根据版本源码编译获取第一测试对象的第一原始包。计算机设备可通过复制模块执行复制第一原始包获取第一原始包副本。计算机设备可通过第二获取模块执行获取第二测试对象的第一配置属性数据。计算机设备可通过第三获取模执行根据第一配置属性数据更改第一原始包副本中的配置属性值以获取第二原始包。计算机设备可通过生成模块执行获取与第二原始包对应的第二升级包,并根据第二升级包生成第二测试对象的第一升级差分包。计算机设备可通过测试处理模块执行根据第一升级差分包获取第二测试对象的测试数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:提取第一配置属性数据中的升级包属性数据和身份属性数据;
确定第一原始包副本中的升级包属性文件和身份属性文件;
根据升级包属性数据替换升级包属性文件中的当前升级包属性数据;
根据身份属性数据替换身份属性文件中的当前身份属性数据,以获取第二原始包。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取第二测试对象所在设备的升级重启请求;
根据升级重启请求,执行预设的脚本获取第二原始包的第二升级包。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取第二测试对象的历史版本的第三升级包;
根据第三升级包和第二升级包生成第二测试对象的第一升级差分包。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取第三升级包的历史测试结果数据;
运行第一升级差分包获取差分测试结果数据;
根据历史测试结果数据和差分测试结果数据获取第二测试对象的测试数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:复制第一原始包获取第二原始包副本;
获取第三测试对象的第二配置属性数据,并根据第二配置属性数据更改第二原始包副本中的配置属性值以获取第三原始包;
获取与第三原始包对应的第四升级包,并根据第四升级包生成第三测试对象的第二升级差分包;
根据第二升级差分包获取第三测试对象的测试数据。
本申请实施例的计算机设备,在根据版本源码获取第一测试对象的第一原始包后,复制第一原始包获取第一原始包副本,获取第二测试对象的第一配置属性数据,并根据第一配置属性数据更改第一原始包副本中的配置属性值以获取第二原始包,进而,获取与第二原始包对应的第二升级包,并根据第二升级包生成第二测试对象的第一升级差分包,最后,根据第一升级差分包获取第二测试对象的测试数据。由此,以一个测试对象编译出的原始包为基础,可以得到其他测试对象的差分包和整包,无需单独为其他测试对象单独制作原始包,降低了升级包的生成成本,且提升了测试效率。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
根据版本源码编译获取第一测试对象的第一原始包,并复制第一原始包获取第一原始包副本;
获取第二测试对象的第一配置属性数据,并根据第一配置属性数据更改第一原始包副本中的配置属性值以获取第二原始包;
获取与第二原始包对应的第二升级包,并根据第二升级包生成第二测试对象的第一升级差分包;
根据第一升级差分包获取第二测试对象的测试数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
提取第一配置属性数据中的升级包属性数据和身份属性数据;
确定第一原始包副本中的升级包属性文件和身份属性文件;
根据升级包属性数据替换升级包属性文件中的当前升级包属性数据;
根据身份属性数据替换身份属性文件中的当前身份属性数据,以获取第二原始包。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取第二测试对象所在设备的升级重启请求;
根据升级重启请求,执行预设的脚本获取第二原始包的第二升级包。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取第二测试对象的历史版本的第三升级包;
根据第三升级包和第二升级包生成第二测试对象的第一升级差分包。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取第三升级包的历史测试结果数据;
运行第一升级差分包获取差分测试结果数据;
根据历史测试结果数据和差分测试结果数据获取第二测试对象的测试数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:复制第一原始包获取第二原始包副本;
获取第三测试对象的第二配置属性数据,并根据第二配置属性数据更改第二原始包副本中的配置属性值以获取第三原始包;
获取与第三原始包对应的第四升级包,并根据第四升级包生成第三测试对象的第二升级差分包;
根据第二升级差分包获取第三测试对象的测试数据。
本申请实施例的升级包的计算机存储介质,在根据版本源码获取第一测试对象的第一原始包后,复制第一原始包获取第一原始包副本,获取第二测试对象的第一配置属性数据,并根据第一配置属性数据更改第一原始包副本中的配置属性值以获取第二原始包,进而,获取与第二原始包对应的第二升级包,并根据第二升级包生成第二测试对象的第一升级差分包,最后,根据第一升级差分包获取第二测试对象的测试数据。由此,以一个测试对象编译出的原始包为基础,可以得到其他测试对象的差分包和整包,无需单独为其他测试对象单独制作原始包,降低了升级包的生成成本,且提升了测试效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,比如静态随机存取存储器(Static Random Access Memory,SRAM)和动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种测试方法,其特征在于,所述方法包括:
根据版本源码编译获取第一测试对象的第一原始包,并复制所述第一原始包获取第一原始包副本;
获取第二测试对象的第一配置属性数据,并根据所述第一配置属性数据更改所述第一原始包副本中的配置属性值以获取第二原始包;
获取与所述第二原始包对应的第二升级包,并根据所述第二升级包生成所述第二测试对象的第一升级差分包;
根据所述第一升级差分包获取所述第二测试对象的测试数据。
2.如权利要求1所述的方法,其特征在于,所述根据所述第一配置属性数据更改所述第一原始包副本中的配置属性值以获取第二原始包,包括:
提取所述第一配置属性数据中的升级包属性数据和身份属性数据;
确定所述第一原始包副本中的升级包属性文件和身份属性文件;
根据所述升级包属性数据替换所述升级包属性文件中的当前升级包属性数据;
根据所述身份属性数据替换所述身份属性文件中的当前身份属性数据,以获取第二原始包。
3.如权利要求1所述的方法,其特征在于,所述获取与所述第二原始包对应的第二升级包,包括:
获取所述第二测试对象所在设备的升级重启请求;
根据所述升级重启请求,执行预设的脚本获取所述第二原始包的所述第二升级包。
4.如权利要求1-3任一所述的方法,其特征在于,所述根据所述第二升级包生成所述第二测试对象的第一升级差分包,包括:
获取所述第二测试对象的历史版本的第三升级包;
根据所述第三升级包和所述第二升级包生成所述第二测试对象的第一升级差分包。
5.如权利要求4所述的方法,其特征在于,所述根据所述第一升级差分包获取所述第二测试对象的测试数据,包括:
获取所述第三升级包的历史测试结果数据;
运行所述第一升级差分包获取差分测试结果数据;
根据所述历史测试结果数据和所述差分测试结果数据获取所述第二测试对象的测试数据。
6.如权利要求1-3任一所述的方法,其特征在于,还包括:
复制所述第一原始包获取第二原始包副本;
获取第三测试对象的第二配置属性数据,并根据所述第二配置属性数据更改所述第二原始包副本中的配置属性值以获取第三原始包;
执行预设脚本获取与所述第三原始包对应的第四升级包,并根据所述第四升级包生成所述第三测试对象的第二升级差分包;
根据所述第二升级差分包获取所述第三测试对象的测试数据。
7.一种测试装置,其特征在于,所述装置包括:
第一获取模块,用于根据版本源码编译获取第一测试对象的第一原始包;
复制模块,用于复制所述第一原始包获取第一原始包副本;
第二获取模块,用于获取第二测试对象的第一配置属性数据;
第三获取模块,用于根据所述第一配置属性数据更改所述第一原始包副本中的配置属性值以获取第二原始包;
生成模块,用于获取与所述第二原始包对应的第二升级包,并根据所述第二升级包生成所述第二测试对象的第一升级差分包;
测试处理模块,用于根据所述第一升级差分包获取所述第二测试对象的测试数据。
8.如权利要求7所述的装置,其特征在于,所述第三获取模块,具体用于:
提取所述第一配置属性数据中的升级包属性数据和身份属性数据;
确定所述第一原始包副本中的升级包属性文件和身份属性文件;
根据所述升级包属性数据替换所述升级包属性文件中的当前升级包属性数据;
根据所述身份属性数据替换所述身份属性文件中的当前身份属性数据,以获取第二原始包。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述测试方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210282097.4A CN114676050A (zh) | 2022-03-21 | 2022-03-21 | 测试方法、装置、设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210282097.4A CN114676050A (zh) | 2022-03-21 | 2022-03-21 | 测试方法、装置、设备和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114676050A true CN114676050A (zh) | 2022-06-28 |
Family
ID=82074907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210282097.4A Pending CN114676050A (zh) | 2022-03-21 | 2022-03-21 | 测试方法、装置、设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114676050A (zh) |
-
2022
- 2022-03-21 CN CN202210282097.4A patent/CN114676050A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108845812B (zh) | 插件更新方法、装置、计算机设备和存储介质 | |
CN105511911A (zh) | 系统固件升级包的生成方法及装置 | |
CN107239309B (zh) | 补丁生成方法及装置、更新方法、电子设备、存储介质 | |
CN109669692B (zh) | 源码共享方法、服务器、计算机可读存储介质及系统 | |
CN114531477B (zh) | 功能组件的配置方法、装置、计算机设备和存储介质 | |
CN111857777A (zh) | 基于双芯智能电表的系统更新方法、装置和计算机设备 | |
CN111949529B (zh) | 系统调试方法、装置、计算机设备和存储介质 | |
CN110989986B (zh) | 基于软件模板的软件生成方法、装置和计算机设备 | |
CN112685091A (zh) | 基于大数据的业务请求处理方法、装置、设备和介质 | |
CN106293790B (zh) | 基于Firefox操作系统的应用程序升级方法和装置 | |
CN110597552A (zh) | 项目持续集成流水线的配置方法、装置、设备及存储介质 | |
CN110837391A (zh) | 应用程序的热更新方法及装置、存储介质及电子设备 | |
CN109766084B (zh) | 支付应用的定制开发方法、装置、计算机设备和存储介质 | |
CN111949262A (zh) | 前端项目的构建方法、装置、计算机设备和存储介质 | |
CN112068820A (zh) | 微服务的配置处理方法、装置、计算机设备和存储介质 | |
CN108536444B (zh) | 插件编译方法、装置、计算机设备和存储介质 | |
CN114676050A (zh) | 测试方法、装置、设备和计算机可读存储介质 | |
CN116048609A (zh) | 配置文件更新方法、装置、计算机设备和存储介质 | |
CN113535182B (zh) | 项目工程的构建方法、装置、计算机设备和存储介质 | |
CN112527377B (zh) | 应用程序生成处理方法、装置、计算机设备和存储介质 | |
CN114721681A (zh) | 配置文件更新方法、装置、设备及存储介质 | |
CN112162743A (zh) | 驱动程序生成方法、装置、计算机设备和存储介质 | |
CN112564979A (zh) | 构建任务的执行方法、装置、计算机设备和存储介质 | |
US20240152387A1 (en) | Method, apparatus, electronic device and storage medium for application launch | |
CN113010199B (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 |