补丁测试方法、装置、非易失性存储介质及电子设备与流程

未命名 08-26 阅读:91 评论:0


1.本发明涉及软件测试领域,具体而言,涉及一种补丁测试方法、装置、非易失性存储介质及电子设备。


背景技术:

2.发布软件的补丁之前,需要先对补丁进行测试。用户实际使用的软件版本可能并不相同,因此需要测试补丁对不同软件版本均能修补缺陷并通过功能验证,现有的补丁测试工作中,测试人员采用的测试策略较为随意,其中涉及补丁的安装、验证、卸载等测试,需花费大量的人力和系统资源成本,还容易出现测试场景遗漏的问题,带来质量风险。上述过程由测试人员手工执行,花费时间久,重复性工作量大,占用平台资源多。
3.针对上述的问题,目前尚未提出有效的解决方案。


技术实现要素:

4.本发明实施例提供了一种补丁测试方法、装置、非易失性存储介质及电子设备,以至少解决对软件的升级补丁进行测试时由于软件版本较多导致重复工作量大的技术问题。
5.根据本发明实施例的一个方面,提供了一种补丁测试方法,包括:获取待测试补丁和m个待测试软件版本的版本信息,其中,所述待测试补丁用于对目标软件进行升级,所述m个待测试软件版本为所述目标软件的历史版本;根据所述m个待测试软件版本的版本信息,将所述m个待测试软件版本划分为n个测试等价类,其中,n为小于m的正整数;创建与所述n个测试等价类一一对应的测试基线版本;对与所述n个测试等价类一一对应的所述测试基线版本分别执行所述待测试补丁的安装测试,得到所述n个测试等价类分别对应的测试结果。
6.可选地,根据所述m个待测试软件版本的版本信息,将所述m个待测试软件版本划分为n个测试等价类,包括:在所述m个待测试软件版本的版本信息包括所述m个待测试软件版本各自的前置版本信息的情况下,根据所述m个待测试软件版本各自的前置版本信息,将所述m个待测试软件版本中前置版本不同的待测试软件版本划分为不同的测试等价类。
7.可选地,根据所述m个待测试软件版本的版本信息,将所述m个待测试软件版本划分为n个测试等价类,包括:在所述m个待测试软件版本的版本信息包括所述m个待测试软件版本各自的发布平台信息的情况下,根据所述m个待测试软件版本各自的发布平台信息,将所述m个待测试软件版本中发布平台不同的待测试软件版本划分为不同的测试等价类。
8.可选地,对与所述n个测试等价类一一对应的所述测试基线版本分别执行所述待测试补丁的安装测试,得到所述n个测试等价类分别对应的测试结果,包括:根据与所述n个测试等价类一一对应的所述测试基线版本分别对应的测试等价类,获取所述测试基线版本各自对应的测试用例;对与所述n个测试等价类一一对应的所述测试基线版本分别安装所述待测试补丁版本,得到测试补丁版本;采用所述测试基线版本各自对应的所述测试用例分别测试对应的所述测试补丁版本,得到所述测试结果。
9.可选地,采用与所述n个测试等价类一一对应的所述测试用例分别测试对应的所述测试补丁版本,得到所述测试结果,包括:采用持续集成工具创建对所述测试补丁版本进行测试的初始测试任务,并将所述测试用例加入所述初始测试任务,得到目标测试任务;调用持续集成服务器执行所述目标测试任务,得到所述测试结果。
10.可选地,创建与所述n个测试等价类一一对应的测试基线版本,包括:根据所述n个测试等价类,创建所述n个测试等价类分别对应的测试容器,其中,所述n个测试等价类分别对应的测试容器被分配了对应的测试基线版本运行时所需的平台资源;在所述n个测试等价类分别对应的所述测试容器中分别创建所述测试基线版本。
11.可选地,得到所述n个测试等价类分别对应的测试结果之后,还包括:将所述n个测试等价类分别对应的所述测试容器被分配的平台资源释放,并将所述平台资源置为可用。
12.根据本发明实施例的一个方面,提供了一种补丁测试装置,包括:获取模块,用于获取待测试补丁和m个待测试软件版本的版本信息,其中,所述待测试补丁用于对目标软件进行升级,所述m个待测试软件版本为所述目标软件的历史版本;划分模块,用于根据所述m个待测试软件版本的版本信息,将所述m个待测试软件版本划分为n个测试等价类,其中,n为小于m的正整数;创建模块,用于创建与所述n个测试等价类一一对应的测试基线版本;测试模块,用于对与所述n个测试等价类一一对应的所述测试基线版本分别执行所述待测试补丁的安装测试,得到所述n个测试等价类分别对应的测试结果。
13.根据本发明实施例的一个方面,提供了一种非易失性存储介质,所述非易失性存储介质包括存储的程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行上述任意一项所述补丁测试方法。
14.根据本发明实施例的一个方面,提供了一种电子设备,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述任意一项所述的补丁测试方法。
15.在本发明实施例中,采用根据m个待测试软件版本的版本信息,将m个待测试软件版本划分为n个测试等价类的方式,通过创建与n个测试等价类一一对应的测试基线版本;对与n个测试等价类一一对应的测试基线版本分别执行待测试补丁的安装测试,得到n个测试等价类分别对应的测试结果,由于n个测试等价类分别对应的测试结果对于n个测试等价类各自包括的待测试软件版本通用,因此达到了快速生成m个待测试软件版本的测试结果的目的,从而实现了减少补丁测试工作量的技术效果,进而解决了对软件的升级补丁进行测试时由于软件版本较多导致重复工作量大的技术问题。
附图说明
16.构成本技术的一部分的附图用来提供对本技术的进一步理解,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
17.图1是根据本技术实施例提供的补丁测试方法的流程图;
18.图2是根据本技术可选实施例提供的软件版本分类方式的示意图;
19.图3是根据本技术可选实施例提供补丁测试过程的逻辑框图;
20.图4是根据本技术实施例提供的补丁测试装置的结构框图;
21.图5是根据本技术实施例提供的电子设备的结构框图。
具体实施方式
22.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
23.需要说明的是,本公开所涉及的相关信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。例如,本系统和相关用户或机构间设置有接口,在获取相关信息之前,需要通过接口向前述的用户或机构发送获取请求,并在接收到前述的用户或机构反馈的同意信息后,获取相关信息。
24.测试工程师执行软件补丁升级测试时,需要考虑用户实际使用软件的多种场景,保证软件补丁在多种场景下都可以正常安装并发挥功能。其中,用户使用软件的多种场景可以包括不同的用户使用不同的软件版本,以及不同的用户为自己的软件打上了不同的补丁。当软件迭代更新很多次之后,用户终端设备中的软件版本的数量可能非常多,此时测试工程师对尚未发布的补丁进行补丁测试时,需要对各种软件版本对应的场景分别执行补丁测试,使得整个测试工作繁琐低效,且容易出现漏测的问题。
25.为了解决上述问题,本技术提出了一种补丁测试方法,下面结合优选的实施步骤对本发明进行说明,图1是根据本技术实施例提供的补丁测试方法的流程图,如图1所示,该方法包括如下步骤:
26.步骤s101,获取待测试补丁和m个待测试软件版本的版本信息,其中,待测试补丁用于对目标软件进行升级,m个待测试软件版本为目标软件的历史版本。
27.需要说明的是,m个待测试软件版本为尚未安装待测试补丁的软件版本,本发明提供的方案可以只获取待测试软件版本的版本信息即可,而不必获得m个待测试软件版本对应的目标软件的本体。其中,m个待测试软件版本可以为用户的终端设备上可能存在的目标软件的版本,不同的用户执行的软件升级不同,有的用户使用的是较为初始的软件版本,有的用户则习惯保持软件更新,因此对于目标软件的用户群体而言,群体中采用的目标软件的版本可能各不相同,m个待测试软件版本可以包括用户群体采用的目标软件的各个版本。
28.步骤s102,根据m个待测试软件版本的版本信息,将m个待测试软件版本划分为n个测试等价类,其中,n为小于m的正整数。
29.将m个待测试软件版本根据一定规则划分为n个测试等价类之后,可以认为n个测试等价类中每个测试等价类内的待测试软件版本具有同质性,若待测试补丁在一个测试等价类中的任意一个待测试软件版本中测试通过,则可以认为待测试补丁对该测试等价类中的所有待测试软件版本均可以通过补丁测试,进而减少了完成m个待测试软件版本所需要的总测试次数。例如,若待测试软件版本的个数m为30,则常规情况下需要执行30次补丁测试;但是将30个待测试软件版本划分为5个测试等价类之后,只需要执行5次补丁测试,即可得到30个待测试软件版本的测试结果,大大减少了测试工作量。
30.作为一种可选的实施例,可以通过如下方式将m个待测试软件版本划分为n个测试等价类:在m个待测试软件版本的版本信息包括m个待测试软件版本各自的前置版本信息的
情况下,根据m个待测试软件版本各自的前置版本信息,将m个待测试软件版本中前置版本不同的待测试软件版本划分为不同的测试等价类。
31.在该实施例中,待测试软件版本的前置版本可以表示该待测试软件版本的主版本和/或中间版本。可选地,对于目标软件可以先对其版本类型进行定义,然后根据版本类型定义确定目标软件的版本中的前置版本。例如,可以将目标软件的版本定义为x.y.z.abc,其中,x.y组合定义为目标软件的主版本信息,x.y.z组合定义目标软件的中间版本信息,x.y.z.abc组合为目标软件的补丁版本信息,则可以将目标软件的主版本信息和中间版本信息定义为目标软件的前置版本,即基于目标软件待测试软件版本的主版本和/或中间版本为待测试软件版本划分测试等价类。
32.作为一种具体的可选实施方式,在划分测试等价类时,可以将主版本不同的待测试软件版本划分为不同的测试等价类,将主版本相同的待测试软件版本划分为同一个测试等价类;也可以进一步地将主版本相同但是中间版本不同的待测试软件版本也划分为不同的测试等价类,而只将主版本相同且中间版本也相同的待测试软件版本划分为同一个测试等价类。
33.图2是根据本技术可选实施例提供的软件版本分类方式的示意图,图2示出了目标软件所有可能的版本组合,图2所示的产品发布的正式版本为8.0,小的升级版本8.0.1、8.0.2以及8.0.3可以作为中间版本,在不同中间版本之下还发布了很多补丁版本,其中补丁版本8.0.3.002即为尚未发布的待测试版本。
34.作为一种可选的实施例,还可以通过如下方式将m个待测试软件版本划分为n个测试等价类:在m个待测试软件版本的版本信息包括m个待测试软件版本各自的发布平台信息的情况下,根据m个待测试软件版本各自的发布平台信息,将m个待测试软件版本中发布平台不同的待测试软件版本划分为不同的测试等价类。
35.本领域技术人员可以理解的是,对于在不同操作系统平台上发布的软件版本,应该分别执行补丁测试,因此,对应不同发布平台的待测试软件版本可以被划入不同的测试等价类,例如对于图2中的待测试软件版本8.0.2.001,该版本序列在windows发布平台和linux发布平台上可以形成两个待测试软件版本,这两个待测试软件版本的版本序列虽然都是8.0.2.001,但是可以被划入不同的测试等价类。
36.步骤s103,创建与n个测试等价类一一对应的测试基线版本。其中,测试基线版本为用于代表对应的测试等价类执行补丁测试的目标软件的软件版本,可选地,测试基线版本可以为对应的测试等价类中的某一个待测试软件版本。
37.作为一种可选的实施例,创建与n个测试等价类一一对应的测试基线版本,包括:根据n个测试等价类,创建n个测试等价类分别对应的测试容器,其中,n个测试等价类分别对应的测试容器被分配了对应的测试基线版本运行时所需的平台资源;在n个测试等价类分别对应的测试容器中分别创建测试基线版本。
38.测试容器可以被称为docker,docker是一种容器技术,可以将应用程序及其依赖项打包到一个可移植的容器中,并在任意平台上运行。与虚拟机不同,docker并不模拟整个操作系统环境,而是共享主机操作系统内核,在此基础之上实现轻量级隔离和资源管理,实现了一种轻量级、可移植的应用程序打包和部署方式,可以像集装箱一样将应用程序及其依赖项封装到一个可移植的容器中。这使得docker比传统的虚拟化技术更加高效、灵活且
易于部署和维护。因此,尽管都提供了隔离性和可移植性等优势,但docker与虚拟机有着本质的区别。另外,由于docker镜像(类似软件安装包)采取增量式构建方式,所以创建和启动容器比启动新虚拟机更快速和方便。具体来说,在容器中可以设置cpu、内存、网络等各种类型的限制和配额,以确保应用程序只能使用分配给它们的特定数量和类型的资源。此外,docker还可以提供许多工具和功能来优化容器性能并减少资源占用。例如:docker镜像采取增量式构建方式,在创建新容器时可以复用现有镜像层级结构。docker swarm等编排工具可以自动管理集群中所有节点上运行的容器,并根据负载情况进行动态调度和扩展。通过合理设置dockerfile文件或者docker-compose.yml配置文件等参数,我们可以有效控制每个服务、每个任务启动后所占用硬件设备(如cpu,memory)及网络端口号。总之,通过良好地规划和管理容器所需要使用的资源,并结合各种优化策略和工具进行维护和监控,在实际应用中,容器技术可以实现更加高效的资源利用和管理。
39.本可选的实施例可以为每个测试等价类创建一个测试容器,基于该测试等价类中的待测试软件版本所对应的发布平台,为该测试容器分配对应的平台资源,使得不同的测试容器可以分别对不同发布平台下的待测试软件版本执行补丁测试,大大加快了整个测试流程。可选地,不同的测试容器可以同时执行补丁测试,计算机系统可以同时为不同的测试容器提供不同的平台资源。当某一个测试容器中的补丁测试结束后,可以将该测试容器所分配的平台资源释放,相应的平台资源可以再用于分配给其他测试容器。
40.步骤s104,对与n个测试等价类一一对应的测试基线版本分别执行待测试补丁的安装测试,得到n个测试等价类分别对应的测试结果。
41.作为一种可选的实施例,对与n个测试等价类一一对应的测试基线版本分别执行待测试补丁的安装测试,得到n个测试等价类分别对应的测试结果,包括:根据与n个测试等价类一一对应的测试基线版本分别对应的测试等价类,获取测试基线版本各自对应的测试用例;对与n个测试等价类一一对应的测试基线版本分别安装待测试补丁版本,得到测试补丁版本;采用测试基线版本各自对应的测试用例分别测试对应的测试补丁版本,得到测试结果。
42.作为一种可选的实施例,采用与n个测试等价类一一对应的测试用例分别测试对应的测试补丁版本,得到测试结果,包括:采用持续集成工具创建对测试补丁版本进行测试的初始测试任务,并将测试用例加入初始测试任务,得到目标测试任务;调用持续集成服务器执行目标测试任务,得到测试结果。
43.上述可选实施例中,持续集成工具(continuous integration,简称ci)是用于实现持续集成的软件工具,可选地持续集成工具可以采用jenkins(中文名称为“贾宁斯”)或travis ci。持续集成是一种软件开发实践方法,通过频繁地将代码集成到主干分支中,并自动化构建、测试和部署过程,以确保代码质量和可靠性。
44.可选地,采用持续集成工具执行补丁测试工作时,可以按照如下步骤开展:
45.1.配置构建环境:在持续集成服务器上配置好相应的构建环境,包括编译器、库文件、依赖项等。
46.2.编写自动化测试脚本:根据项目需求和业务逻辑编写对应的自动化测试脚本,并将其与版本控制系统(如git)进行关联,以方便后续检查和管理。
47.3.配置构建任务:通过持续集成工具(如jenkins)创建一个初始测试任务,并将测
试用例、源代码仓库和自动化测试脚本加入到该初始测试任务中,得到目标测试任务。此外,在配置过程中还需要设置触发条件、打包方式、发布目标等相关参数。
48.4.执行测试任务:手动或者定期运行目标测试任务,让持续集成服务器拉取最新代码并执行对应的自动化测试流程。
49.5.检查结果报告:当完成所有测试用例后,持续集成工具会生成详细的结果报告,并提供操作历史记录及性能数据等信息。
50.通过采用持续集成工具来执行测试工作,可以大幅提高产品质量水平、加速开发周期并降低人力资源投入。
51.作为一种可选的实施例,得到n个测试等价类分别对应的测试结果之后,还包括如下步骤:将n个测试等价类分别对应的测试容器被分配的平台资源释放,并将平台资源置为可用。
52.在上述步骤中,采用根据m个待测试软件版本的版本信息,将m个待测试软件版本划分为n个测试等价类的方式,通过创建与n个测试等价类一一对应的测试基线版本;对与n个测试等价类一一对应的测试基线版本分别执行待测试补丁的安装测试,得到n个测试等价类分别对应的测试结果,由于n个测试等价类分别对应的测试结果对于n个测试等价类各自包括的待测试软件版本通用,因此达到了快速生成m个待测试软件版本的测试结果的目的,从而实现了减少补丁测试工作量的技术效果,进而解决了对软件的升级补丁进行测试时由于软件版本较多导致重复工作量大的技术问题。
53.基于上述实施例及可选实施例,本技术提供了一种可选实施方式,图3是根据本技术可选实施例提供补丁测试过程的逻辑框图,下面基于图3对该可选实施方式进行具体说明。
54.第一步:根据需要覆盖的待测试软件版本的前置版本和发布平台的组合,创建测试矩阵。本技术可以针对产品分支版本多,发布周期长的情况,应该根据固定规则确定完备的补丁测试覆盖的平台和场景。版本信息的定义为x.y.z.abc,x.y组合可以定义为主版本信息,x.y.z组合可以定义中间版本信息,x.y.z.abc组合可以定义为补丁版本信息,本可选实施方式中的待测试软件版本可以如图2所示。
55.确定版本的测试等价类划分策略,根据测试矩阵,可以生成如下等价类判定表格:
[0056][0057]
根据等价类的判定,划定具体的测试用例:
[0058][0059][0060]
第二步:利用jenkins同时自动化创建多发布平台的操作系统环境下的测试基线版本;
[0061]
测试基线版本可以定义为待测试补丁版本中除待测试补丁之外的版本。基于上述的策略和测试用例,根据确定好的需要安装的测试基线版本,利用jenkins和docker进行自动部署,首先选择在哪些环境中安装测试基线版本,一键触发安装,安装成功后,到相应的测试容器中验证测试容器中的目标软件是否升级为了待测试补丁版本。
[0062][0063]
第三步:执行补丁的安装测试,进行版本检查。
[0064]
执行不同平台补丁的安装脚本,例如:
[0065]
windows平台:
[0066]
./windows_x64_8.0.3.002_patch_upgrade.bat.
[0067]
linux平台:
[0068]
./linux_suse_8.0.3.002_patch_upgrade.sh
[0069]
脚本执行成功,验证现在系统版本信息是否正确,是否为基线版本+8.0.3.002版本。
[0070]
如果脚本执行过程中出现任何问题,或者执行后,系统服务器无法正常启动,则需要回退到基线版本,用新的补丁升级程序,再次升级。
[0071]
第四步:验证补丁功能测试;
[0072]
通过手工执行/自动化执行用例的方式,任意选取一个平台的测试环境验证当前版本补丁修复的缺陷功能正常。
[0073]
第五步:补丁功能验证通过后验证补丁降级测试,降级流程执行正确,验证版本信息正确,原系统版本应用可用。
[0074]
执行不同平台补丁的降级脚本,例如:
[0075]
windows平台:
[0076]
./windows_x64_8.0.3.002_patch_downgrade.bat.
[0077]
linux平台:
[0078]
./linux_suse_8.0.3.002_patch_downgrade.sh
[0079]
脚本执行成功,验证现在系统版本信息是否为基线版本。
[0080]
第六步:环境清理。将相应测试容器中的平台资源释放并置为可用,且将系统环境资源置为主版本。
[0081]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0082]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
[0083]
根据本发明实施例,还提供了一种用于实施上述补丁测试方法的装置,图4是根据本技术实施例提供的补丁测试装置的结构框图,如图4所示,该装置包括:获取模块41,划分模块42,创建模块43和测试模块44,下面对该装置进行详细说明。
[0084]
获取模块41,用于获取待测试补丁和m个待测试软件版本的版本信息,其中,待测试补丁用于对目标软件进行升级,m个待测试软件版本为目标软件的历史版本;
[0085]
划分模块42,连接于上述获取模块41,用于根据m个待测试软件版本的版本信息,将m个待测试软件版本划分为n个测试等价类,其中,n为小于m的正整数;
[0086]
创建模块43,连接于上述划分模块42,用于创建与n个测试等价类一一对应的测试基线版本;
[0087]
测试模块44,连接于上述创建模块43,用于对与n个测试等价类一一对应的测试基线版本分别执行待测试补丁的安装测试,得到n个测试等价类分别对应的测试结果。
[0088]
此处需要说明的是,上述获取模块41,划分模块42,创建模块43和测试模块44对应于实施补丁测试方法中的步骤s101至步骤s104,多个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例所公开的内容。
[0089]
本技术实施例提供的补丁测试装置,采用根据m个待测试软件版本的版本信息,将m个待测试软件版本划分为n个测试等价类的方式,创建与n个测试等价类一一对应的测试基线版本;对与n个测试等价类一一对应的测试基线版本分别执行待测试补丁的安装测试,得到n个测试等价类分别对应的测试结果,由于n个测试等价类分别对应的测试结果对于n个测试等价类各自包括的待测试软件版本通用,因此达到了快速生成m个待测试软件版本的测试结果的目的,从而实现了减少补丁测试工作量的技术效果,进而解决了对软件的升级补丁进行测试时由于软件版本较多导致重复工作量大的技术问题。
[0090]
补丁测试装置包括处理器和存储器,上述获取模块41,划分模块42,创建模块43和测试模块44等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
[0091]
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来达到了快速生成m个待测试软件版本的测试结果的目的。
[0092]
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
[0093]
本发明实施例提供了一种计算机可读的非易失性存储介质,其上存储有程序,该程序被处理器执行时实现补丁测试方法。
[0094]
本发明实施例提供了一种处理器,处理器用于运行程序,其中,程序运行时执行补丁测试方法。
[0095]
图5是本发明实施例提供的电子设备的示意图,如图5所示,本发明实施例提供了一种电子设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:获取待测试补丁和m个待测试软件版本的版本信息,其中,待测试补丁用于对目标软件进行升级,m个待测试软件版本为目标软件的历史版本;根据m个待测试软件版本的版本信息,将m个待测试软件版本划分为n个测试等价类,其中,n为小于m的正整数;创建与n个测试等价类一一对应的测试基线版本;对与n个测试等价类一一对应的测试基线版本分别执行待测试补丁的安装测试,得到n个测试等价类分别对应的测试结果。
[0096]
可选地,处理器还可以通过执行程序以实现如下步骤:根据m个待测试软件版本的版本信息,将m个待测试软件版本划分为n个测试等价类,包括:在m个待测试软件版本的版本信息包括m个待测试软件版本各自的前置版本信息的情况下,根据m个待测试软件版本各自的前置版本信息,将m个待测试软件版本中前置版本不同的待测试软件版本划分为不同的测试等价类。
[0097]
可选地,处理器还可以通过执行程序以实现如下步骤:根据m个待测试软件版本的版本信息,将m个待测试软件版本划分为n个测试等价类,包括:在m个待测试软件版本的版本信息包括m个待测试软件版本各自的发布平台信息的情况下,根据m个待测试软件版本各自的发布平台信息,将m个待测试软件版本中发布平台不同的待测试软件版本划分为不同的测试等价类。
[0098]
可选地,处理器还可以通过执行程序以实现如下步骤:对与n个测试等价类一一对应的测试基线版本分别执行待测试补丁的安装测试,得到n个测试等价类分别对应的测试结果,包括:根据与n个测试等价类一一对应的测试基线版本分别对应的测试等价类,获取测试基线版本各自对应的测试用例;对与n个测试等价类一一对应的测试基线版本分别安装待测试补丁版本,得到测试补丁版本;采用测试基线版本各自对应的测试用例分别测试对应的测试补丁版本,得到测试结果。
[0099]
可选地,处理器还可以通过执行程序以实现如下步骤:采用与n个测试等价类一一对应的测试用例分别测试对应的测试补丁版本,得到测试结果,包括:采用持续集成工具创建对测试补丁版本进行测试的初始测试任务,并将测试用例加入初始测试任务,得到目标测试任务;调用持续集成服务器执行目标测试任务,得到测试结果。
[0100]
可选地,处理器还可以通过执行程序以实现如下步骤:创建与n个测试等价类一一对应的测试基线版本,包括:根据n个测试等价类,创建n个测试等价类分别对应的测试容器,其中,n个测试等价类分别对应的测试容器被分配了对应的测试基线版本运行时所需的平台资源;在n个测试等价类分别对应的测试容器中分别创建测试基线版本。
[0101]
可选地,处理器还可以通过执行程序以实现如下步骤:得到n个测试等价类分别对应的测试结果之后,还包括:将n个测试等价类分别对应的测试容器被分配的平台资源释放,并将平台资源置为可用。
[0102]
本文中的设备可以是服务器、pc、pad、手机等。
[0103]
本技术还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:获取待测试补丁和m个待测试软件版本的版本信息,其中,待测试补丁用于对目标软件进行升级,m个待测试软件版本为目标软件的历史版本;根据m个
待测试软件版本的版本信息,将m个待测试软件版本划分为n个测试等价类,其中,n为小于m的正整数;创建与n个测试等价类一一对应的测试基线版本;对与n个测试等价类一一对应的测试基线版本分别执行待测试补丁的安装测试,得到n个测试等价类分别对应的测试结果。
[0104]
本技术提供的计算机程序产品,当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:根据m个待测试软件版本的版本信息,将m个待测试软件版本划分为n个测试等价类,包括:在m个待测试软件版本的版本信息包括m个待测试软件版本各自的前置版本信息的情况下,根据m个待测试软件版本各自的前置版本信息,将m个待测试软件版本中前置版本不同的待测试软件版本划分为不同的测试等价类。
[0105]
本技术提供的计算机程序产品,当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:根据m个待测试软件版本的版本信息,将m个待测试软件版本划分为n个测试等价类,包括:在m个待测试软件版本的版本信息包括m个待测试软件版本各自的发布平台信息的情况下,根据m个待测试软件版本各自的发布平台信息,将m个待测试软件版本中发布平台不同的待测试软件版本划分为不同的测试等价类。
[0106]
本技术提供的计算机程序产品,当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:对与n个测试等价类一一对应的测试基线版本分别执行待测试补丁的安装测试,得到n个测试等价类分别对应的测试结果,包括:根据与n个测试等价类一一对应的测试基线版本分别对应的测试等价类,获取测试基线版本各自对应的测试用例;对与n个测试等价类一一对应的测试基线版本分别安装待测试补丁版本,得到测试补丁版本;采用测试基线版本各自对应的测试用例分别测试对应的测试补丁版本,得到测试结果。
[0107]
本技术提供的计算机程序产品,当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:采用与n个测试等价类一一对应的测试用例分别测试对应的测试补丁版本,得到测试结果,包括:采用持续集成工具创建对测试补丁版本进行测试的初始测试任务,并将测试用例加入初始测试任务,得到目标测试任务;调用持续集成服务器执行目标测试任务,得到测试结果。
[0108]
本技术提供的计算机程序产品,当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:创建与n个测试等价类一一对应的测试基线版本,包括:根据n个测试等价类,创建n个测试等价类分别对应的测试容器,其中,n个测试等价类分别对应的测试容器被分配了对应的测试基线版本运行时所需的平台资源;在n个测试等价类分别对应的测试容器中分别创建测试基线版本。
[0109]
本技术提供的计算机程序产品,当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:得到n个测试等价类分别对应的测试结果之后,还包括:将n个测试等价类分别对应的测试容器被分配的平台资源释放,并将平台资源置为可用。
[0110]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0111]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程
图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0112]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0113]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0114]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0115]
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
[0116]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0117]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0118]
本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0119]
以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。

技术特征:
1.一种补丁测试方法,其特征在于,包括:获取待测试补丁和m个待测试软件版本的版本信息,其中,所述待测试补丁用于对目标软件进行升级,所述m个待测试软件版本为所述目标软件的历史版本;根据所述m个待测试软件版本的版本信息,将所述m个待测试软件版本划分为n个测试等价类,其中,n为小于m的正整数;创建与所述n个测试等价类一一对应的测试基线版本;对与所述n个测试等价类一一对应的所述测试基线版本分别执行所述待测试补丁的安装测试,得到所述n个测试等价类分别对应的测试结果。2.根据权利要求1所述的方法,其特征在于,根据所述m个待测试软件版本的版本信息,将所述m个待测试软件版本划分为n个测试等价类,包括:在所述m个待测试软件版本的版本信息包括所述m个待测试软件版本各自的前置版本信息的情况下,根据所述m个待测试软件版本各自的前置版本信息,将所述m个待测试软件版本中前置版本不同的待测试软件版本划分为不同的测试等价类。3.根据权利要求1所述的方法,其特征在于,根据所述m个待测试软件版本的版本信息,将所述m个待测试软件版本划分为n个测试等价类,包括:在所述m个待测试软件版本的版本信息包括所述m个待测试软件版本各自的发布平台信息的情况下,根据所述m个待测试软件版本各自的发布平台信息,将所述m个待测试软件版本中发布平台不同的待测试软件版本划分为不同的测试等价类。4.根据权利要求1所述的方法,其特征在于,对与所述n个测试等价类一一对应的所述测试基线版本分别执行所述待测试补丁的安装测试,得到所述n个测试等价类分别对应的测试结果,包括:根据与所述n个测试等价类一一对应的所述测试基线版本分别对应的测试等价类,获取所述测试基线版本各自对应的测试用例;对与所述n个测试等价类一一对应的所述测试基线版本分别安装所述待测试补丁版本,得到测试补丁版本;采用所述测试基线版本各自对应的所述测试用例分别测试对应的所述测试补丁版本,得到所述测试结果。5.根据权利要求4所述的方法,其特征在于,采用与所述n个测试等价类一一对应的所述测试用例分别测试对应的所述测试补丁版本,得到所述测试结果,包括:采用持续集成工具创建对所述测试补丁版本进行测试的初始测试任务,并将所述测试用例加入所述初始测试任务,得到目标测试任务;调用持续集成服务器执行所述目标测试任务,得到所述测试结果。6.根据权利要求1至5中任意一项所述的方法,其特征在于,创建与所述n个测试等价类一一对应的测试基线版本,包括:根据所述n个测试等价类,创建所述n个测试等价类分别对应的测试容器,其中,所述n个测试等价类分别对应的测试容器被分配了对应的测试基线版本运行时所需的平台资源;在所述n个测试等价类分别对应的所述测试容器中分别创建所述测试基线版本。7.根据权利要求6所述的方法,其特征在于,得到所述n个测试等价类分别对应的测试结果之后,还包括:将所述n个测试等价类分别对应的所述测试容器被分配的平台资源释
放,并将所述平台资源置为可用。8.一种补丁测试装置,其特征在于,包括:获取模块,用于获取待测试补丁和m个待测试软件版本的版本信息,其中,所述待测试补丁用于对目标软件进行升级,所述m个待测试软件版本为所述目标软件的历史版本;划分模块,用于根据所述m个待测试软件版本的版本信息,将所述m个待测试软件版本划分为n个测试等价类,其中,n为小于m的正整数;创建模块,用于创建与所述n个测试等价类一一对应的测试基线版本;测试模块,用于对与所述n个测试等价类一一对应的所述测试基线版本分别执行所述待测试补丁的安装测试,得到所述n个测试等价类分别对应的测试结果。9.一种非易失性存储介质,其特征在于,所述非易失性存储介质包括存储的程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行权利要求1至7中任意一项所述补丁测试方法。10.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至7中任意一项所述的补丁测试方法。

技术总结
本发明公开了一种补丁测试方法、装置、非易失性存储介质及电子设备。涉及软件测试领域,该方法包括:获取待测试补丁和M个待测试软件版本的版本信息,其中,待测试补丁用于对目标软件进行升级,M个待测试软件版本为目标软件的历史版本;根据M个待测试软件版本的版本信息,将M个待测试软件版本划分为N个测试等价类,其中,N为小于M的正整数;创建与N个测试等价类一一对应的测试基线版本;对与N个测试等价类一一对应的测试基线版本分别执行待测试补丁的安装测试,得到N个测试等价类分别对应的测试结果。本发明解决了对软件的升级补丁进行测试时由于软件版本较多导致重复工作量大的技术问题。的技术问题。的技术问题。


技术研发人员:刘慧敏
受保护的技术使用者:工银科技有限公司
技术研发日:2023.05.25
技术公布日:2023/8/23
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐