CN115328773B - 一种结合售后系统的软件版本升级的测试方法 - Google Patents

一种结合售后系统的软件版本升级的测试方法 Download PDF

Info

Publication number
CN115328773B
CN115328773B CN202210934764.2A CN202210934764A CN115328773B CN 115328773 B CN115328773 B CN 115328773B CN 202210934764 A CN202210934764 A CN 202210934764A CN 115328773 B CN115328773 B CN 115328773B
Authority
CN
China
Prior art keywords
upgrade
path
version
upgrading
paths
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.)
Active
Application number
CN202210934764.2A
Other languages
English (en)
Other versions
CN115328773A (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.)
Beijing Zhiling Haina Technology Co ltd
Original Assignee
SmartX Inc
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 SmartX Inc filed Critical SmartX Inc
Priority to CN202210934764.2A priority Critical patent/CN115328773B/zh
Publication of CN115328773A publication Critical patent/CN115328773A/zh
Application granted granted Critical
Publication of CN115328773B publication Critical patent/CN115328773B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开一种结合售后系统的软件版本升级的测试方法,按照版本间升级的rpm版本差异将当前母版本与多个子版本混合后进行划分得到多个目标划分版本类别,根据多个目标划分版本类别计算集群升级路径数量;根据集群升级路径数量确定多个不同的集群升级路径形成路径分类信息集合;售后系统根据所有用户的升级路径结合路径分类信息集合构建对应的升级频次数组集合;自动化程序根据测试时间结合升级频次数组集合确定自动化程序执行的具体升级路径。本发明提供的结合售后系统的软件版本升级的测试方法,节约设计升级路径的时间和修改自动化代码的时间,辅助高效的完成了软件版本的智能测试。

Description

一种结合售后系统的软件版本升级的测试方法
技术领域
本发明涉及软件测试技术领域,尤其涉及一种结合售后系统的软件版本升级的测试方法。
背景技术
超融合基础架构是一种将计算、网络和存储等资源作为基础设施进行整合,可以根据具体业务系统需求进行选择组合和自定义,方便快捷地进行数据中心搭建和业务系统部署的一种技术架构。具体实现方式上一般是在单元节点(x86服务器)中融入软件虚拟化技术(包括计算、网络、存储、安全等虚拟化)。
集群升级在超融合集群中主要负责超融合软件的升级工作,比如集群升级、集群升级进度查看、集群升级历史查看、集群可升级版本列表等。在这些集群升级所做的工作中,最重要的,出现问题最多的地方就是软件升级。
对于超融合集群这种软件的升级,目前行业里面使用最多的是rmp升级和image升级。其中,Rpm升级指的是当老版本镜像和新版本镜像之前有什么rpm包不一致时,仅对这些rpm包进行升级。image升级指的是保存老版本的配置,使用新的镜像重新引导后导入之前保存的配置。Image升级的缺点是升级速度慢,因为要从镜像重新引导开始,优点是对于一个节点来说,只要配置是一样的,升级上来的新版本的节点和重新部署的新版本的节点是完全一样的。而rpm升级恰恰相反,它的升级速度块,但是从旧版本升级上来的新版本的节点和重新部署的新版本的节点,它们之前会存在差异,而且随着软件的不停迭代,一定会存在差异。导致这种差异的原因有很多,比如rpm的升级是人为控制的,有时候,为了提升软件升级的速度,对于那些只有小版本变动而且评估后认为对服务没有影响的rpm包,开发人员会选择在升级的时候忽略它,这会导致rpm的不同。比如,rpm在升级的使用,有这样的规则:“如果已安装的和新rpm包中的文件一致,但是在磁盘上的文件变更过,rpm在安装新的包时,会保留该配置文件”,这会导致配置文件的不同。
由于rpm升级和image升级都存在明显的优缺点,而对于超融合集群的升级,研究人员测试时面临的挑战就包含rpm升级的缺点。也就是说,升级上来的集群和新部署的集群之间是有差异的,那么,应该如何进行测试,才能够保证用户从旧版本升级上来的集群是可以正常工作的,主要存在如下现有的处理方法:现有技术方法1,穷举法,集群升级的所有路径都测试一遍;现有技术方法2,根据开发人员提供的信息,在穷举法的路径里面,选取升级前和升级后改动较大或影响较大的升级路径进行测试;现有技术方法3,根据售后人员提供的信息,在穷举法的路径里面,选取用户使用多的旧版本升级到最新版本进行测试;现有技术方法4,根据测试人员的经验和对产品的了解,结合方法2和方法3,在穷举法的路径里面选择部分路径;
综上分析,研究人员发现目前的现有技术升级处理方法仍然存在一些明显的技术缺陷,举例说明:现有技术方法1的缺点是,随着软件版本数量的增加,升级路径会成指数型增长,使用穷举法会导致研究人员的测试没有侧重点,浪费大量的时间在冗余的测试路径上面。现有技术方法2和现有技术方法3都比较的片面。而现有技术方法4需要测试人员有足够的测试经验,对产品非常了解,还需要测试人员有足够的时间与开发人员和售后人员进行有效沟通。
发明内容
本发明提供一种结合售后系统的软件版本升级的测试方法,旨在解决现有技术中存在的技术缺陷。
为实现上述目的,本发明提出了一种结合售后系统的软件版本升级的测试方法,包括:
获取多个版本的属性信息,通过当前版本的属性信息获取母版本与母版本对应的多个子版本的对应关系,按照版本间升级的rpm版本差异将当前母版本与多个子版本混合后进行划分得到多个目标划分版本类别,根据多个目标划分版本类别计算集群升级路径数量;根据集群升级路径数量确定多个不同的集群升级路径形成路径分类信息集合;
售后系统获取历史升级过程中所有用户的升级路径,并根据所有用户的升级路径结合路径分类信息集合构建对应的升级频次数组集合;
自动化程序根据测试时间结合升级频次数组集合确定自动化程序执行的具体升级路径。
优先的,作为一种可实施方案,所述版本的属性信息包括版本号信息、当前版本的升级版本号信息。
优先的,作为一种可实施方案,根据集群升级路径数量确定多个不同的集群升级路径形成路径分类信息集合,具体包括;
假设n是目标划分版本类别,f(n)是有n个目标划分版本类别对应的集群升级路径的数量,根据多个目标划分版本类别以及如下计算公式1,计算得到集群升级路径数量:
公式1:f(n)=2f(n-1)+1。
优先的,作为一种可实施方案,所述根据集群升级路径数量确定多个不同的集群升级路径形成路径分类信息集合,具体包括:
每个集群升级路径对应一个集群升级路径,多个集群升级路径的数量对应多个不同的集群升级路径;
由多个不同的集群升级路径形成路径分类信息集合的元素;
所述路径分类信息集合记为Route_list:
Route_list:[route0,route1,route2,……,countf(n)]。
优先的,作为一种可实施方案,所述售后系统获取历史升级过程中所有用户的升级路径,并根据所有用户的升级路径结合路径分类信息集合构建对应的升级频次数组集合,具体包括:
所述升级频次数组集合包括罗列的每一个路径分类下的升级频次数;
通过售后系统获取历史升级过程中所有用户的升级路径,通过对遍历对每一个用户的升级路径判断其属于路径分类信息集合中的路径分类进行匹配识别,在识别后的路径分类下对当前路径分类下的升级频次数计数加1,直至所有的用户的升级路径匹配识别完成获得当前路径分类下的升级频次数计数总计数;
由多个升级频次数计数总计数形成升级频次数组集合的元素;
所述升级频次数组集合记为count_list;
count_list:[x1,x2,x3……,xf(n)]。
优先的,作为一种可实施方案,所述自动化程序根据测试时间结合升级频次数组集合确定自动化程序执行的具体升级路径,具体包括:
自动化程序获得当前的测试时间,根据测试时间与标准测试时间阈值相比较;
如果当前测试时间小于标准测试时间阈值,则认定当前测试时间紧张,对此调用升级频次数组集合中升级频次数值不为0的元素对应的路径分类信息集合中的升级路径,调用每个上述升级路径自动执行测试一遍;
如果当前测试时间大于或等于标准测试时间阈值,则认定当前测试时间充裕,对此调用升级频次数组集合中每个路径分类下的升级频次数计数总计数的数值;根据测试执行次数调节变量K和每个路径分类下的升级频次数计数总计数的数值,确定升级频次数组集合中升级频次数值不同元素对应的路径执行次数Z;所述路径执行次数Z为k的m次方;其中,k定义为测试执行次数调节变量;所述测试执行次数调节变量K为手动调节的变化量。
获取所述升级频次数组集合中升级频次数值不同元素对应的路径执行次数Z;由多个升级频次数值不同元素对应的路径执行次数Z构成执行次数列表的基本元素;所述执行次数列表记载为Time_list;Time_list:[Z1,Z2,Z3,……Zf(n)];
根据目标升级路径、目标版本、路径执行次数Z三方面信息得到具体测试升级路径。
优先的,作为一种可实施方案,所述根据目标升级路径、目标版本、路径执行次数Z三方面信息得到具体测试升级路径,具体包括:
在进行当前升级路径测试时,确定当前升级路径对象为目标升级路径,然后获取目标升级路径中的目标划分版本类别;
从目标升级路径上的目标划分版本类别下随机选择一个版本作为目标版本;
按照目标升级路径上随机选择的多个目标版本组合起来形成一条具体的升级路径,调用其对应的路径执行次数Z进行测试执行,以此得到具体测试升级路径。
与现有技术相比,本发明实施例至少存在如下方面的技术效果:
综上,本发明上述技术方案提供的结合售后系统的软件版本升级的测试方法包括如下操作步骤:获取多个版本的属性信息,通过当前版本的属性信息获取母版本与母版本对应的多个子版本的对应关系,按照版本间升级的rpm版本差异将当前母版本与多个子版本混合后进行划分得到多个目标划分版本类别,根据多个目标划分版本类别计算集群升级路径数量;根据集群升级路径数量确定多个不同的集群升级路径形成路径分类信息集合;售后系统获取历史升级过程中所有用户的升级路径,并根据所有用户的升级路径结合路径分类信息集合构建对应的升级频次数组集合;自动化程序根据测试时间结合升级频次数组集合确定自动化程序执行的具体升级路径。
使用本发明上述实施例提供的结合售后系统的软件版本升级的测试方法之后,程序可以从售后系统获取到用户的版本升级数据,根据这个数据自动生成升级路径,不需要测试人员去修改程序的代码。节约测试人员与开发人员或者售后人员的沟通成本,节约设计升级路径的时间和修改自动化代码的时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1是本发明实施例提供的一种结合售后系统的软件版本升级的测试方法的处理流程示意图;
图2是本发明实施例提供的一种结合售后系统的软件版本升级的测试方法的一具体流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明上述实施例提供的结合售后系统的软件版本升级的测试方法,其主要的处理流程可总结为:准备测试用例→模拟用户场景对集群进行操作→升级→升级后检查,其中重点是自动生成升级路径。
升级路径对于rpm方式升级的集群非常重要,测试人员设计升级路径的时候,需要对产品有一定的了解,需要知道用户对于软件的使用状况。用户对于版本的使用状况决定我们对于哪些版本要重点测试,哪些需要少测试甚至不测试。而这些信息通过售后系统来获得。这样做比咨询销售人员或者手工查询售后系统相比,显然是有很大优势的。如果测试人员获得用户对于产品的使用信息是通过销售人员获取的,那么这些信息就包含了销售人员的主观信息,对销售人员的要求比较高。测试人员向销售人员咨询这些信息,也有沟通的成本。如果测试人员获得用户对于产品的使用信息是通过售后系统来获得的,那么就要求这个售后系统是所有测试人员都可见的,这个本身就有一些困难,另一个困难是,即使测试人员可以得到这样的信息,那么,测试人员的关注点也会是在当前这个时刻,哪些版本的用户比较多,而这些用户是直接安装的这个版本,还是从低版本升级上来的,测试人员很容易忽略,如果测试人员意识到了这个问题,尝试获取这些信息,那也要划分大量的时间来追溯客户的升级路径。
使用本发明实施例的采用的技术方案生成软件测试路径可以解决上面提到的问题,这种方法不需要测试人员与销售人员沟通,节省了沟通成本,可以用程序到售后系统里面去查询客户的升级路径,节省了测试人员的查询成本。
研究人员发现从低版本升级到高版本的节点,与重新部署的节点是有差异的,而这些差异大多数时候并不会对服务造成影响,这是集群可以进行rpm升级的前提,而从售后系统得到数据从而生成软件测试路径,目的不是将所有用户的升级路径都走一遍,而是在测试时间有限的情况下,通过优化升级路径,来提高测试的质量,对此提出了下述的软件版本升级的测试方法。
请参见图1,图1为本发明实施例提供的结合售后系统的软件版本升级的测试方法的流程示意图。如图1所示,该结合售后系统的软件版本升级的测试方法,包括:
S110,获取多个版本的属性信息(版本的属性信息包括版本号信息、当前版本的升级版本号信息),通过当前版本的属性信息获取母版本与母版本对应的多个子版本的对应关系,按照版本间升级的rpm版本差异将当前母版本与多个子版本混合后进行划分得到多个目标划分版本类别,根据多个目标划分版本类别计算集群升级路径数量;根据集群升级路径数量确定多个不同的集群升级路径形成路径分类信息集合;
首先:将版本进行划分:将版本进行划分,就是按照版本间升级的差异,rpm版本的差异,将多个版本划分成一类。比如,产品有5个大版本,之前的每个大版本有10个小版本,也就是有40个小版本,加上当前版本。其中,版本1和版本2已经没有用户了,版本4从4.5开始进行了重要rpm的升级。那么研究人员就可以将这41个小版本划分成5类,版本1和版本2一类,版本3一类,版本4.0到4.4一类,版本4.5到4.9一类,版本5一类。
假设n是版本的数量,f(n)是有n个版本的集群升级路径的数量,跟计算,研究人员可以得到,f(2)=1,f(n)=2(n-1)+1。将软件进行版本划分后,研究人员有5类的版本,最多的升级路径是f(5)=15种,划分后,经过第二步,生成模糊的升级路径后,研究人员对于可以的升级路径就会有直观的了解。
根据上面的描述,当版本分成5类时,可以得到15条升级路径,将这15条升级路径放到数组之后,研究人员得到:Route_list:[route0,route1,route2,route3,route4,route5,route6,route7,route8,route9,route10,route11,route12,route13,route14,count15]。
举例说明:按照版本间升级的rpm版本差异将当前母版本与多个子版本混合后进行划分得到多个目标划分版本类别(本实施例中为5个目标划分版本类别),根据所述的5个目标划分版本类别计算集群升级路径数量(本实施例具体为15个数量,即f(5)=15);将这15条升级路径放到数组之后,研究人员得到路径分类信息集合,即Route_list:[route0,route1,route2,route3,route4,route5,route6,route7,route8,route9,route10,route11,route12,route13,route14,count15];
S120,售后系统获取历史升级过程中所有用户的升级路径,并根据所有用户的升级路径结合路径分类信息集合构建对应的升级频次数组集合;具体包括:所述升级频次数组集合包括罗列的每一个路径分类下的升级频次数;通过售后系统获取历史升级过程中所有用户的升级路径,通过对遍历对每一个用户的升级路径判断其属于路径分类信息集合中的路径分类进行匹配识别,在识别后的路径分类下对当前路径分类下的升级频次数计数加1,直至所有的用户的升级路径匹配识别完成;
S130,自动化程序根据测试时间结合升级频次数组集合确定自动化程序执行的具体升级路径。
优先的,作为一种可实施方案,根据集群升级路径数量确定多个不同的集群升级路径形成路径分类信息集合,具体包括;
假设n是目标划分版本类别,f(n)是有n个目标划分版本类别对应的集群升级路径的数量,根据多个目标划分版本类别以及如下计算公式1,计算得到集群升级路径数量:
公式1:f(n)=2f(n-1)+1。
分析上述技术方案可知,将版本进行划分,就是按照版本间升级的差异,rpm版本的差异,将多个版本划分成一类。比如,产品有5个大版本,之前的每个大版本有10个小版本,也就是有40个小版本,加上当前版本。其中,版本1和版本2已经没有用户了,版本4从4.5开始进行了重要rpm的升级。那么研究人员就可以将这41个小版本划分成5类,版本1和版本2一类,版本3一类,版本4.0到4.4一类,版本4.5到4.9一类,版本5一类。
假设n是版本的数量,f(n)是有n个版本的集群升级路径的数量,跟计算,研究人员可以得到,f(2)=1,f(n)=2f(n-1)+1。将软件进行版本划分后,研究人员有5类的版本,最多的升级路径是f(5)=15种,划分后,经过第二步,生成模糊的升级路径后,研究人员对于可以的升级路径就会有直观的了解。所以说,根据上述公式1可以计算得到集群升级路径数量,本实施例中“根据5个目标划分版本类别计算集群升级路径数量(本实施例具体为15个数量,即f(5)=15)”。
优先的,作为一种可实施方案,所述根据集群升级路径数量确定多个不同的集群升级路径形成路径分类信息集合,具体包括:
每个集群升级路径对应一个集群升级路径,多个集群升级路径的数量对应多个不同的集群升级路径;
由多个不同的集群升级路径形成路径分类信息集合的元素;
所述路径分类信息集合记为Route_list:
Route_list:[route0,route1,route2,……,countf(n)]。
根据上面的描述,当版本分成5类时,可以得到15条升级路径,将这15条升级路径放到数组之后,研究人员得到:Route_list:[route0,route1,route2,route3,route4,route5,route6,route7,route8,route9,route10,route11,route12,route13,route14,count15]。
优先的,作为一种可实施方案,所述售后系统获取历史升级过程中所有用户的升级路径,并根据所有用户的升级路径结合路径分类信息集合构建对应的升级频次数组集合,具体包括:
所述升级频次数组集合包括罗列的每一个路径分类下的升级频次数;
通过售后系统获取历史升级过程中所有用户的升级路径,通过对遍历对每一个用户的升级路径判断其属于路径分类信息集合中的路径分类进行匹配识别,在识别后的路径分类下对当前路径分类下的升级频次数计数加1,直至所有的用户的升级路径匹配识别完成获得当前路径分类下的升级频次数计数总计数;
由多个升级频次数计数总计数形成升级频次数组集合的元素;
所述升级频次数组集合记为count_list;
count_list:[x1,x2,x3……,xf(n)]。
需要说明是,根据步骤S110操作,研究人员可以知道,当研究人员将软件的所有版本划分成5个大类时,研究人员最多可以得到15条路径,研究人员在售后系统里面查询到的客户的升级路径,都在这15种路径里面。通过遍历用户的升级路径,确定用户的升级路径后是15条路径的哪一条后,就将这个路径的使用次数加1。遍历之后,得到的数据和第一步的数组一一对应,可以的到另一个数组,也就是得到每条升级路径用户所使用的次数。假设研究人员得到的数据是这样的:
count_list:[0,0,1,50,100,10,200,500,900,50,80,30,20,50,3,0];这组数据和第一步得到的数据一一对应,也就是有0个用户可能使用route0这个升级路径升级软件,0个用户可能使用route1这个升级路径,1个用户可能使用route2这个升级路径…。
参见图2,所述自动化程序根据测试时间结合升级频次数组集合确定自动化程序执行的具体升级路径,具体包括:
S131,自动化程序获得当前的测试时间,根据测试时间与标准测试时间阈值相比较;
S132,如果当前测试时间小于标准测试时间阈值,则认定当前测试时间紧张,对此调用升级频次数组集合中升级频次数值不为0的元素对应的路径分类信息集合中的升级路径,调用每个上述升级路径自动执行测试一遍;
S133,如果当前测试时间大于或等于标准测试时间阈值,则认定当前测试时间充裕,对此调用升级频次数组集合中每个路径分类下的升级频次数计数总计数的数值;根据测试执行次数调节变量K和每个路径分类下的升级频次数计数总计数的数值,确定升级频次数组集合中升级频次数值不同元素对应的路径执行次数Z;所述路径执行次数Z为k的m次方;其中,k定义为测试执行次数调节变量;所述测试执行次数调节变量K为手动调节的变化量。
S134,获取所述升级频次数组集合中升级频次数值不同元素对应的路径执行次数Z;由多个升级频次数值不同元素对应的路径执行次数Z构成执行次数列表的基本元素;所述执行次数列表记载为Time_list;Time_list:[Z1,Z2,Z3,……Zf(n)];
S135,根据目标升级路径、目标版本、路径执行次数Z三方面信息得到具体测试升级路径。
优先的,作为一种可实施方案,所述根据目标升级路径、目标版本、路径执行次数Z三方面信息得到具体测试升级路径,具体包括:
在进行当前升级路径测试时,确定当前升级路径对象为目标升级路径,然后获取目标升级路径中的目标划分版本类别;
从目标升级路径上的目标划分版本类别下随机选择一个版本作为目标版本;
按照目标升级路径上随机选择的多个目标版本组合起来形成一条具体的升级路径,调用其对应的路径执行次数Z进行测试执行,以此得到具体测试升级路径。
在步骤S130执行过程中,自动化程序根据测试时间结合升级频次数组集合确定自动化程序执行的具体升级路径(即最后确定具体的升级路径):
通过步骤S120,自动化程序知道了哪些升级路径用户用的多,哪些升级路径客户用的少。生成升级路径的时候,研究人员希望count_list里面数值大的对应的路径多测试,数值小的少对应的路径测试,但是,如果有的升级路径测试1次,有的测试900次,这显然是不合理的,因为有太多的重复测试。理想的情况是,当研究人员的测试时间非常少代码改动非常小时,研究人员可能希望这些使用次数不为0的升级路径每个都执行一遍。当研究人员的测试时间比较充裕时,研究人员会希望使用次数少的路径只执行1次,使用多的路径执行多次,但又不会像900次那么多。解决这个问题的方法就是给程序传递一个数值,研究人员记为k,比如上面的例子,研究人员可以指定count_list里面,数值在0~9对应的路径执行k的0次方次,数值在10~90对应的路径执行k的一次方次,数值在100~999对应的路径执行k的平方次。这样,通过调整k的大小,研究人员可以调节路径的执行次数。这个k的大小,需要测试人员在测试开始的时候,根据测试的工作量,手动调节。
假设研究人员设置k为2,那么,上面的例子就可以得到这样的结果:
Time_list:[0,0,1,2,4,2,4,4,4,2,2,2,2,2,1,0]
这意味着route2这条升级路径,自动化程序会执行两次,route3这条升级路径,自动化程序会执行4次…。
售后系统有一个问题,就是新发布的版本,售后系统里面关于这个新发布的记录,所以Time_list生成后,需要修改一下新发布版本和测试版本的升级路径对应的Time_list的项,因为这个路径是全新的路径,所以设计程序的时候,可以便利Time_list获取最大值,将Time_list里面对应的这个升级路径设置成最大值。
前面第一步研究人员将软件版本划分成了几类,这一步,研究人员需要生成具体的版本号的升级,而不是某一类的版本。这对于程序来说是很好实现的,仍然用上面的例子来说明。
假设route3这条升级路径是:第一类版本→第四类版本→第五类版本,那么研究人员可以在第一类版本(版本1的10个小版本和版本2的10个小版本)中随机选择一个,第四类版本(版本4的10个小版本)中随机选择一个,第五类版本中随机选择一个,组合起来就是一条升级路径,执行四次,就得到了4条route3的升级路径。根据上面的描述,研究人员可以根据研究人员的测试时间,输入k值,让程序自动生成测试路径。生成后,可以按照测试路径执行相应的自动化。
综上,本发明上述实施例提供的结合售后系统的软件版本升级的测试方法,使用人工智能方式来生成软件测试路径的步骤,第一,将版本进行划分,版本差异不大的划分为一类。第二,通过售后系统查询升级路径,生成模糊的升级路径,第三,确定具体的升级路径。
使用本发明上述实施例提供的结合售后系统的软件版本升级的测试方法之后,程序可以从售后系统获取到用户的版本升级数据,根据这个数据自动生成升级路径,不需要测试人员去修改程序的代码。节约测试人员与开发人员或者售后人员的沟通成本,节约设计升级路径的时间和修改自动化代码的时间。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (3)

1.一种结合售后系统的软件版本升级的测试方法,其特征在于,包括:
获取多个版本的属性信息,通过当前版本的属性信息获取母版本与母版本对应的多个子版本的对应关系,按照版本间升级的rpm版本差异将当前母版本与多个子版本混合后进行划分得到多个目标划分版本类别,根据多个目标划分版本类别计算集群升级路径数量;根据集群升级路径数量确定多个不同的集群升级路径形成路径分类信息集合;
售后系统获取历史升级过程中所有用户的升级路径,并根据所有用户的升级路径结合路径分类信息集合构建对应的升级频次数组集合;
自动化程序根据测试时间结合升级频次数组集合确定自动化程序执行的具体升级路径;
根据集群升级路径数量确定多个不同的集群升级路径形成路径分类信息集合,具体包括;
假设n是目标划分版本类别,f(n)是有n个目标划分版本类别对应的集群升级路径的数量,根据多个目标划分版本类别以及如下计算公式1,计算得到集群升级路径数量:
公式1:f(n)=2f(n-1)+1;
所述根据集群升级路径数量确定多个不同的集群升级路径形成路径分类信息集合,具体包括:
每个集群升级路径对应一个集群升级路径,多个集群升级路径的数量对应多个不同的集群升级路径;
由多个不同的集群升级路径形成路径分类信息集合的元素;
所述路径分类信息集合记为Route_list:
Route_list:[route0,route1,route2,……,countf(n)];
所述售后系统获取历史升级过程中所有用户的升级路径,并根据所有用户的升级路径结合路径分类信息集合构建对应的升级频次数组集合,具体包括:
所述升级频次数组集合包括罗列的每一个路径分类下的升级频次数;
通过售后系统获取历史升级过程中所有用户的升级路径,通过对遍历对每一个用户的升级路径判断其属于路径分类信息集合中的路径分类进行匹配识别,在识别后的路径分类下对当前路径分类下的升级频次数计数加1,直至所有的用户的升级路径匹配识别完成获得当前路径分类下的升级频次数计数总计数;
由多个升级频次数计数总计数形成升级频次数组集合的元素;
所述升级频次数组集合记为count_list;
count_list:[x1,x2,x3……,xf(n)];
所述自动化程序根据测试时间结合升级频次数组集合确定自动化程序执行的具体升级路径,具体包括:
自动化程序获得当前的测试时间,根据测试时间与标准测试时间阈值相比较;
如果当前测试时间小于标准测试时间阈值,则认定当前测试时间紧张,对此调用升级频次数组集合中升级频次数值不为0的元素对应的路径分类信息集合中的升级路径,调用每个上述升级路径自动执行测试一遍;
如果当前测试时间大于或等于标准测试时间阈值,则认定当前测试时间充裕,对此调用升级频次数组集合中每个路径分类下的升级频次数计数总计数的数值;根据测试执行次数调节变量K和每个路径分类下的升级频次数计数总计数的数值,确定升级频次数组集合中升级频次数值不同元素对应的路径执行次数Z;所述路径执行次数Z为k的m次方;其中,k定义为测试执行次数调节变量;所述测试执行次数调节变量K为手动调节的变化量;
获取所述升级频次数组集合中升级频次数值不同元素对应的路径执行次数Z;由多个升级频次数值不同元素对应的路径执行次数Z构成执行次数列表的基本元素;所述执行次数列表记载为Time_list;Time_list:[Z1,Z2,Z3,……Zf(n)];
根据目标升级路径、目标版本、路径执行次数Z三方面信息得到具体测试升级路径。
2.根据权利要求1所述的结合售后系统的软件版本升级的测试方法,其特征在于,所述版本的属性信息包括版本号信息、当前版本的升级版本号信息。
3.根据权利要求2所述的结合售后系统的软件版本升级的测试方法,其特征在于,所述根据目标升级路径、目标版本、路径执行次数Z三方面信息得到具体测试升级路径,具体包括:
在进行当前升级路径测试时,确定当前升级路径对象为目标升级路径,然后获取目标升级路径中的目标划分版本类别;
从目标升级路径上的目标划分版本类别下随机选择一个版本作为目标版本;
按照目标升级路径上随机选择的多个目标版本组合起来形成一条具体的升级路径,调用其对应的路径执行次数Z进行测试执行,以此得到具体测试升级路径。
CN202210934764.2A 2022-08-04 2022-08-04 一种结合售后系统的软件版本升级的测试方法 Active CN115328773B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210934764.2A CN115328773B (zh) 2022-08-04 2022-08-04 一种结合售后系统的软件版本升级的测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210934764.2A CN115328773B (zh) 2022-08-04 2022-08-04 一种结合售后系统的软件版本升级的测试方法

Publications (2)

Publication Number Publication Date
CN115328773A CN115328773A (zh) 2022-11-11
CN115328773B true CN115328773B (zh) 2023-05-12

Family

ID=83922248

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210934764.2A Active CN115328773B (zh) 2022-08-04 2022-08-04 一种结合售后系统的软件版本升级的测试方法

Country Status (1)

Country Link
CN (1) CN115328773B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112131099A (zh) * 2020-08-12 2020-12-25 新华三大数据技术有限公司 一种版本升级测试方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100517226C (zh) * 2007-11-30 2009-07-22 华为技术有限公司 一种实现数据升级的方法、系统和升级客户端
CN103218239B (zh) * 2013-04-09 2016-06-22 沈阳美行科技有限公司 一种支持导航机地图版本增量更新版本的方法
CN105068936B (zh) * 2015-09-18 2018-06-05 北京金山安全软件有限公司 一种软件的稳定性的测试方法及装置
CN109511012B (zh) * 2018-11-30 2021-06-08 深圳创维数字技术有限公司 机顶盒升级测试方法、装置、电子设备和介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112131099A (zh) * 2020-08-12 2020-12-25 新华三大数据技术有限公司 一种版本升级测试方法及装置

Also Published As

Publication number Publication date
CN115328773A (zh) 2022-11-11

Similar Documents

Publication Publication Date Title
US20200404045A1 (en) Central repository of configuration files and two-way replication of search node configuration files
EP3191963B1 (en) Data-driven testing framework
CN112199385B (zh) 用于人工智能ai的处理方法、装置、电子设备和存储介质
US20190286509A1 (en) Hierarchical fault determination in an application performance management system
WO2019100635A1 (zh) 自动化测试脚本的编辑方法、装置、终端设备及存储介质
CN107783816A (zh) 虚拟机的创建方法及装置、大数据集群创建的方法及装置
CN111241073A (zh) 一种数据质量检查方法及装置
CN112035516B (zh) 用于算子服务的处理方法、装置、智能工作站和电子设备
CN112069205B (zh) 用于业务应用的处理方法、装置、智能工作站和电子设备
CN113535225B (zh) 应用软件的环境配置文件处理方法、装置、设备和介质
CN111090401B (zh) 存储设备性能预测方法及装置
US10671470B2 (en) Application performance management system with dynamic discovery and extension
CN115048254B (zh) 数据分配策略的仿真测试方法、系统、设备和可读介质
CN115328773B (zh) 一种结合售后系统的软件版本升级的测试方法
CN113495723A (zh) 一种调用功能组件的方法、装置及存储介质
US20160366021A1 (en) User interface for an application performance management system
CN112256978B (zh) 一种基于数据模型的数据处理方法、装置、介质
US11567758B2 (en) Configuration properties management for software
CN114968508A (zh) 任务处理方法、装置、设备及存储介质
CN112508501A (zh) 一种多级流程配置的方法、装置、设备和介质
CN113806327A (zh) 一种数据库设计方法、装置及相关设备
CN116243899B (zh) 一种基于网络环境的自定义编排容器和方法
US11281494B2 (en) Business operation method, apparatus, and system for determining and executing operation tasks in cloud computing
CN113986943B (zh) 一种基于场景数据戳的数据一致性验证方法、装置及介质
CN117389543A (zh) Api的制作方法、终端设备及计算机可读存储介质

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
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 8b, building 1, No. 48, Zhichun Road, Haidian District, Beijing 100086

Patentee after: Beijing Zhiling Haina Technology Co.,Ltd.

Country or region after: China

Address before: 8b, building 1, No. 48, Zhichun Road, Haidian District, Beijing 100086

Patentee before: Beijing zhilinghaina Technology Co.,Ltd.

Country or region before: China