一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

软件升级自动压力测试的方法、装置、设备及存储介质与流程

2022-11-30 22:06:54 来源:中国专利 TAG:


1.本发明涉及软件升级技术领域,尤其涉及一种软件升级自动压力测试的方法、装置、设备及存储介质。


背景技术:

2.软件升级通常是指软件从一个版本向另一个版本的更新,进而使软件能够更加的适应当前的使用环境或取得更好的性能和用户体验。为了保证用户使用的软件可以正常升级,需要在实际升级之前对软件升级过程进行压力测试。
3.目前对软件升级的测试需要人工手动操作,基于网络 ota升级或者用usb 升级。网络ota升级方式仅支持单向升级,无法做压力测试,usb升级方式仅支持2个版本之间的升级测试,无法覆盖全面升级和跨版本升级情况,而且上述方法对环境及人工的依赖性强,成本高,速度慢,受人力所限也可能无法模拟出问题。


技术实现要素:

4.本发明提供一种软件升级自动压力测试的方法和装置,以实现自动的压力测试,提高软件升级测试的效率和有效性。
5.为实现上述目的,根据本发明的第一方面,提供了一种软件升级自动压力测试的方法,包括:步骤s1、获取待测试的软件和多个版本的文件,所述版本包括由低至高的第一版本、第二版本和第三版本;步骤s2、重复执行将所述软件从第一版本升级至第三版本的过程;和/或步骤s3、重复执行将所述软件从第一版本升级到第二版本,再从第二版本升级到第三版本的过程;步骤s4、记录步骤s2和/或s3中出现的问题。
6.进一步地,所述步骤s2包括重复执行下述过程,直至执行次数达到第一阈值:将所述软件从第一版本直接升级到第三版本,然后将所述软件从第三版本更新到第一版本。
7.进一步地,所述步骤s3包括重复执行下述过程,直至执行次数达到第二阈值:将所述软件从第一版本升级到第二版本,再从第二版本升级到第三版本,然后将所述软件从第三版本更新到第一版本。
8.进一步地,所述步骤s2包括:步骤s2-1、将所述软件从第一版本直接升级到第三版本,然后将所述软件从第三版本更新到第一版本;步骤s2-2、判断步骤s2-1的执行次数是否达到第一阈值,若否,则再次执行步骤s2-1,若是,则进入步骤s3或步骤s4。
9.进一步地,所述第二版本包括由低到高的多个第二版本,所述步骤s3包括:
步骤s3-1、以最低的第二版本作为当前第二版本;步骤s3-2、将所述软件从第一版本升级到当前第二版本,再升级到第三版本,然后将所述软件从第三版本更新到第一版本;步骤s3-3、判断步骤s3-2的执行次数是否达到第二阈值,若是,则执行步骤s3-4,若否,则再次执行步骤s3-2;步骤s3-4、判断是否存在比当前第二版本更高的第二版本,若是,则以该更高的第二版本作为当前第二版本,执行步骤s3-2和s3-3;若否,则执行步骤s4。
10.进一步地,所述步骤s2-1和步骤s3-1中,将所述软件从第三版本更新到第一版本包括:若所述第一版本和第三版本为同版本,则通过降级方式更新到第一版本;若所述第一版本和第三版本为跨版本,则通过烧录方式更新到第一版本。
11.进一步地,所述第一版本为初始版本,所述第二版本为中间版本,所述第三版本为最终版本。
12.根据本发明的第二方面,还提供了一种软件升级自动压力测试的装置,所述装置包括:获取模块,用于获取待测试的软件和多个版本的文件,所述版本包括由低至高的第一版本、第二版本和第三版本;第一升级模块,用于重复执行将所述软件从第一版本升级至第三版本的过程;和/或第二升级模块,用于重复执行将所述软件从第一版本升级到第二版本,再从第二版本升级到第三版本的过程;记录模块,用于记录所述过程中出现的问题。
13.根据本发明的第三方面,还提供了一种电子设备,所述电子设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有计算机程序,所述计算机程序被所述至少一个处理器执行时实现如第一方面所述的方法。
14.根据本发明的第四方面,还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的方法。
15.本发明通过获取待测试的软件和多个版本的文件,所述版本包括由低至高的第一版本、第二版本和第三版本,重复执行将所述软件从第一版本升级至第三版本的过程,重复执行将所述软件从第一版本升级到第二版本,再从第二版本升级到第三版本的过程,从而能够自动地执行软件升级压力测试,记录升级过程中出现的问题,无需人工参与,而且可以覆盖全面升级和跨版本升级等多种情况,效率高、成本低,能够更真实地模拟出可能出现的问题。
附图说明
16.图1为本发明实施例一提供的软件升级自动压力测试方法的流程示意图;图2为本发明实施例二提供的软件升级自动压力测试装置的功能模块图;图3为本发明实施例三提供的软件升级自动压力测试方法的示意图;
图4为本发明实施例四提供的软件升级自动压力测试过程的逻辑示意图;图5为本发明提供的实现所述软件升级自动压力测试方法的电子设备的结构示意图。
17.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
18.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
19.本技术实施例中,所述软件升级自动压力测试的方法的执行主体包括但不限于服务端、终端等能够被配置为执行本技术实施例提供的该方法的电子设备中的至少一种。换言之,所述软件升级自动压力测试的方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。所述服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
20.实施例一参照图1所示,为本发明实施例一提供的软件升级自动压力测试的方法的流程示意图。在本实施例中,所述软件升级自动压力测试的方法包括如下步骤:步骤s1、获取待测试的软件和多个版本的文件,所述版本包括由低至高的第一版本、第二版本和第三版本;可选地,所述待测试的软件是安卓系统中的软件。
21.可选地,所述多个版本的文件是预先存储的,可根据预设的测试配置确定并提取对应的版本的文件,以利用所述版本的文件执行后续步骤,实现版本间的升级、降级或烧录。
22.步骤s2、重复执行将所述软件从第一版本升级至第三版本的过程;可选地,步骤s2包括重复执行下述过程,直至执行次数达到第一阈值:将所述软件从第一版本直接升级到第三版本,然后将所述软件从第三版本更新到第一版本。
23.步骤s3、重复执行将所述软件从第一版本升级到第二版本,再从第二版本升级到第三版本的过程;可选地,所述步骤s3包括重复执行下述过程,直至执行次数达到第二阈值:将所述软件从第一版本升级到第二版本,再从第二版本升级到第三版本,然后将所述软件从第三版本更新到第一版本。
24.可选地,上述步骤s2和s3可以顺序执行,或者只执行步骤s2,或者只执行步骤s3。
25.步骤s4、记录步骤s2和/或s3中出现的问题。
26.可选地,在上述步骤s2和s3中,根据每次升级涉及的版本,自动地调用对应的版本的文件来执行升级操作。
27.可选地,步骤s2和s3执行过程中自动生成日志文件,在步骤s4中,基于日志文件记录出现的问题。
28.可选地,所述步骤s2包括:步骤s2-1、将所述软件从第一版本直接升级到第三版本,然后将所述软件从第三版本更新到第一版本;步骤s2-2、判断步骤s2-1的执行次数是否达到第一阈值,若否,则再次执行步骤s2-1,若是,则进入步骤s3或步骤s4。其中,若只执行步骤s2,则进入步骤s4。
29.可选地,所述第二版本包括由低到高的多个第二版本,所述步骤s3包括:步骤s3-1、以最低的第二版本作为当前第二版本;步骤s3-2、将所述软件从第一版本升级到当前第二版本,再升级到第三版本,然后将所述软件从第三版本更新到第一版本;步骤s3-3、判断步骤s3-2的执行次数是否达到第二阈值,若是,则执行步骤s3-4,若否,则再次执行步骤s3-2;步骤s3-4、判断是否存在比当前第二版本更高的第二版本,若是,则以该更高的第二版本作为当前第二版本,执行步骤s3-2和s3-3;若否,则执行步骤s4。
30.由此,可以实现全面覆盖的软件升级压力测试,并不仅限于两个版本之间的升级过程。
31.可选地,上述第一阈值和第二阈值是相同的。
32.可选地,所述步骤s2-1和步骤s3-1中,将所述软件从第三版本更新到第一版本包括:若所述第一版本和第三版本为同版本,则通过降级方式更新到第一版本;若所述第一版本和第三版本为跨版本,则通过烧录方式更新到第一版本。
33.软件的版本通过版本号进行区分,版本号包括主版本号和子版本号。“同版本”是指主版本号相同,而子版本号不同;“跨版本”是指主版本号不同。
34.由此,可以实现版本的降级从而自动重复执行,且可以实现跨版本的升级压力测试。
35.进一步地,所述第一版本为软件的初始版本,所述第二版本为软件的中间版本,所述第三版本为软件的最终版本,也即最新版本。
36.本发明实施例能够自动地执行软件升级压力测试,记录升级过程中出现的问题,无需人工参与,而且可以覆盖全面升级和跨版本升级等多种情况,效率高、成本低,能够更真实地模拟出可能出现的问题。
37.实施例二如图2所示,是本发明实施例二提供的软件升级自动压力测试装置的功能模块图。
38.本发明所述软件升级自动压力测试装置100可以安装于电子设备中。根据实现的功能,所述装置100可以包括获取模块101、第一升级模块102、第二升级模块103、记录模块104。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
39.在本实施例中,关于各模块/单元的功能如下:获取模块101,用于获取待测试的软件和多个版本的文件,所述版本包括由低至高的第一版本、第二版本和第三版本;第一升级模块102,用于重复执行将所述软件从第一版本升级至第三版本的过程;
和/或第二升级模块103,用于重复执行将所述软件从第一版本升级到第二版本,再从第二版本升级到第三版本的过程;记录模块104,用于记录所述过程中出现的问题。
40.详细地,本技术实施例中所述装置100中所述的各模块在使用时采用与上述图1中所述的软件升级自动压力测试的方法一样的技术手段,并能够产生相同的技术效果,这里不再赘述。
41.上述装置100可设置于安装了安卓系统的机顶盒中。将待测试的软件放到u盘指定路径,将u盘插入机顶盒,以由上述装置100执行实施例一所述的自动压力测试方法。软件的不同版本的文件及测试配置文件可以存储在机顶盒中或u盘中。
42.实施例三参照图3所示,为本发明实施例三提供的软件升级自动压力测试方法的示意图。在该实施例中,上述步骤s2和s3顺序地执行。
43.在该实施例中,包括软件的n个版本,由小到大分别是q1、q2、
……
qi、
……
qn-1和qn,所述q1和qn的主版本号相同,为同版本模式。
44.首先,重复执行q1—》qn过程, 即将软件从q1升级到qn,再从qn降级到q1;q1—》qn过程的重复次数达到预设阈值后,重复执行q2—》qn过程,即将软件从 q1升级到q2,q2升级到qn,再从 qn降级到q1;
……
qi-1—》qn过程的重复次数达到预设阈值后,重复执行qi—》qn过程,即将软件从q1升级到qi,qi升级到qn,再从qn降级到q1;
……
如此循环,直至在qn-2—》qn过程的重复次数达到预设阈值后,重复执行qn-1—》qn过程,即将软件从q1升级到qn-1,qn-1升级到qn,再从qn降级到q1;qn-1—》qn过程的重复次数达到预设阈值后,记录上述过程中出现的问题,完成自动压力测试。
45.此外,若软件的n个版本中,最终版本是与q1的主版本号不同的pn,则为跨版本模式,该模式下在每次升级到最终版本pn后,需将软件从pn烧录至q1。其中,中间版本与初始版本q1可以为同版本或跨版本。
46.实施例四参照图4所示,为本发明实施例四提供的软件升级自动压力测试过程的逻辑示意图。在自动压力测试过程中,按照下述逻辑实现步骤s2和s3的执行:在软件版本每次更新之后,判断软件的当前版本是否为初始版本;若是,则判断所统计的执行次数是否达到阈值,若是,则将软件升级到下一中间版本,并将记录的执行次数清零;若否,则将软件升级到目标版本,所述目标版本在步骤s2中是最终版本,在步骤s3中是当前中间版本;若否,则判断软件的当前版本是否为最终版本,若是,则表明需要更换至初始版本,进一步判断是否为跨版本模式,如果是跨版本,则通过例如reboot update进入烧录模式,将软件烧录为初始版本;如果是同版本,则设置恢复出厂标记,将软件降级至初始版本;若否,则表明当前版本为中间版本,需将软件升级到最终版本,并将执行次数加一。或者可
替换地,在每次烧录或降级到初始版本时将执行次数加一。
47.实施例五如图5所示,是本发明提供的实现所述软件升级自动压力测试方法的电子设备的结构示意图。
48.所述电子设备1可以包括处理器10、存储器11、通信总线12以及通信接口13,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如软件升级自动压力测试的方法程序。
49.其中,所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(central processing unit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备1的控制核心(control unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如执行软件升级自动压力测试的方法程序等),以及调用存储在所述存储器11内的数据,以执行电子设备的各种功能和处理数据。
50.所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:sd或dx存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备的内部存储单元,例如该电子设备的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备的外部存储设备,例如电子设备上配备的插接式移动硬盘、智能存储卡(smart media card,smc)、安全数字(secure digital,sd)卡、闪存卡(flash card)等。进一步地,所述存储器11还可以既包括电子设备的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备的应用软件及各类数据,例如软件升级自动压力测试的方法程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
51.所述通信总线12可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
52.所述通信接口13用于上述电子设备1与其他设备之间的通信,包括网络接口和用户接口。可选地,所述网络接口可以包括有线接口和/或无线接口(如wi-fi接口、蓝牙接口等),通常用于在该电子设备与其他电子设备之间建立通信连接。所述用户接口可以是显示器(display)、输入单元(比如键盘(keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light-emitting diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。
53.图5仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图5示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
54.例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电
池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、wi-fi模块等,在此不再赘述。
55.应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
56.所述电子设备1中的所述存储器11存储的软件升级自动压力测试的方法程序是多个指令的组合,在所述处理器10中运行时,可以实现实施例一、三、四所述的方法。
57.具体地,所述处理器10对上述指令的具体实现方法可参考附图对应实施例中相关步骤的描述,在此不赘述。
58.进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。所述计算机可读存储介质可以是易失性的,也可以是非易失性的。例如,所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)。
59.本发明还提供一种计算机可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序在被电子设备的处理器所执行时,可以实现实施例一、三、四所述的方法。
60.在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
61.所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
62.另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
63.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
64.因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
65.本技术实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
66.此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等
词语用来表示名称,而并不表示任何特定的顺序。
67.最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献