CN110119348B - 一种软件升级测试的方法及终端 - Google Patents
一种软件升级测试的方法及终端 Download PDFInfo
- Publication number
- CN110119348B CN110119348B CN201810118441.XA CN201810118441A CN110119348B CN 110119348 B CN110119348 B CN 110119348B CN 201810118441 A CN201810118441 A CN 201810118441A CN 110119348 B CN110119348 B CN 110119348B
- Authority
- CN
- China
- Prior art keywords
- software
- version number
- tested
- terminal
- upgrading
- 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
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/3696—Methods or tools to render software testable
-
- 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及测试领域,尤其涉及一种软件升级测试的方法及终端。本发明通过获取与待测软件对应的两个以上客户端发送的客户端信息,得到客户端信息集合;所述客户端信息包括所述客户端的软件版本号,运行所述客户端的操作***版本号和安装所述客户端的终端型号;根据所述客户端信息集合获取使用量最大的软件版本号,得到第一版本号;根据所述客户端信息集合中所述操作***版本号的使用量和所述终端型号的使用量部署第一待测终端集群;根据预设的最新软件版本号升级所述第一待测终端集群中与所述第一版本号对应的待测软件,得到第一升级结果;所述第一升级结果包括升级成功和升级失败。实现提高软件升级测试的效率。
Description
技术领域
本发明涉及测试领域,尤其涉及一种软件升级测试的方法及终端。
背景技术
现在许多软件产品是通过增量包进行自升级的,增量自升级跟全量自升级相比,优势显而易见,比如,旧版本的APK有5M,新版的有8M,更新的部分则可能只有3M左右,此时全量升级,就需要消耗8M流量来完成软件的升级,而增量升级只需要消耗3M的流量来完成这个操作。但是,增量升级也有它不足的地方,增量升级是以两个软件版本之间的差异来生成补丁的,因此必须对所发布的每一个历史版本都和最新的版本作差分来生成增量包提供用户升级,以使所有版本的用户都可以完成增量升级。
而且,不同机型固件的升级情况都需要兼顾到,尤其是主要用户群体所使用的版本跟设备,如果出现兼容性问题,那将直接影响产品功能的迭代与上线。因此,每个软件在被正式上线之前均需要进行相应的软件升级测试,以便提早发现被测软件的设计、程序等问题,从而提早进行修复,以确保软件在交付后能够正常使用。
但是,随着软件版本不断增多,软件通过增量方式自升级需要验证的组合就更多。比如,当前的待测软件只有1个历史版本0.1,最新版本0.2,只需要验证0.1到0.2版本的增量升级是否正常即可。如果当前的待测软件有2个历史版本0.1和0.2,最新版本为0.3,则需要验证0.1->0.2->0.3和0.1->0.3这两种增量升级组合方式是否均正常,以此类推。此外,每个版本增量升级都需要在不同机型固件设备上测试。因此,现有的人工升级测试方式存在多种问题:
(1)客户端历史版本较多,需要对每个版本进行升级遍历,需要投入大量的时间和人力;
(2)升级测试过程的设备兼容性测试也需要进行比较多的重复性工作;
(3)测试过程繁琐,人工测试精力和版本迭代时间有限,容易出现漏测情况。
发明内容
本发明所要解决的技术问题是:如何提高软件升级测试的效率。
为了解决上述技术问题,本发明采用的技术方案为:
本发明提供一种软件升级测试的方法,包括:
获取与待测软件对应的两个以上客户端发送的客户端信息,得到客户端信息集合;所述客户端信息包括所述客户端的软件版本号,运行所述客户端的操作***版本号和安装所述客户端的终端型号;
根据所述客户端信息集合获取使用量最大的软件版本号,得到第一版本号;
根据所述客户端信息集合中所述操作***版本号的使用量和所述终端型号的使用量部署第一待测终端集群;
根据预设的最新软件版本号升级所述第一待测终端集群中与所述第一版本号对应的待测软件,得到第一升级结果;所述第一升级结果包括升级成功和升级失败。
本发明还提供一种软件升级测试的终端,包括一个或多个处理器及存储器,所述存储器存储有程序,并且被配置成由所述一个或多个处理器执行以下步骤:
获取与待测软件对应的两个以上客户端发送的客户端信息,得到客户端信息集合;所述客户端信息包括所述客户端的软件版本号,运行所述客户端的操作***版本号和安装所述客户端的终端型号;
根据所述客户端信息集合获取使用量最大的软件版本号,得到第一版本号;
根据所述客户端信息集合中所述操作***版本号的使用量和所述终端型号的使用量部署第一待测终端集群;
根据预设的最新软件版本号升级所述第一待测终端集群中与所述第一版本号对应的待测软件,得到第一升级结果;所述第一升级结果包括升级成功和升级失败。
本发明的有益效果在于:本发明通过获取已被用户成功安装的待测软件的客户端上报的客户端信息统计与各软件版本号对应的用户使用量、运行客户端的各操作***版本号的用户使用量和各终端型号的用户使用量,从而可获悉使用待测软件的主要用户群当前使用的软件版本号、操作***版本号和终端型号,再根据待测软件的主要用户群的信息进行相应的软件升级测试。区别于现有技术需遍历所有的增量升级测试组合以保证主要用户群可成功升级,本发明通过统计数据有针对性地、高效地进行软件升级测试,有效地提高了待测软件的主要用户群可成功将待测软件升级至最新版本的概率。
附图说明
图1为本发明提供的一种软件升级测试的方法的具体实施方式的流程框图;
图2为本发明提供的一种软件升级测试的终端的具体实施方式的结构框图;
标号说明:
1、处理器;2、存储器。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
本发明最关键的技术构思在于:通过统计数据有针对性地、高效地进行软件升级测试,有效地提高了待测软件的主要用户群可成功将待测软件升级至最新版本的概率。
请参照图1以及图2,
如图1所示,本发明提供一种软件升级测试的方法,包括:
获取与待测软件对应的两个以上客户端发送的客户端信息,得到客户端信息集合;所述客户端信息包括所述客户端的软件版本号,运行所述客户端的操作***版本号和安装所述客户端的终端型号;
根据所述客户端信息集合获取使用量最大的软件版本号,得到第一版本号;
根据所述客户端信息集合中所述操作***版本号的使用量和所述终端型号的使用量部署第一待测终端集群;
根据预设的最新软件版本号升级所述第一待测终端集群中与所述第一版本号对应的待测软件,得到第一升级结果;所述第一升级结果包括升级成功和升级失败。
进一步地,根据预设的最新软件版本号升级所述第一待测终端集群中与所述第一版本号对应的待测软件,得到第一升级结果,具体为:
根据所述最新软件版本号和所述第一版本号获取第一升级补丁;
所述第一待测终端集群根据所述第一升级补丁升级与所述第一版本号对应的待测软件,得到新版本软件;
根据所述新版本软件获取第一升级结果。
进一步地,根据所述新版本软件获取第一升级结果,具体为:
若运行所述新版本软件时所述新版本软件显示引导图,则设置所述第一升级结果为升级失败;所述引导图用于为首次安装所述待测软件的用户介绍使用方法。
由上述描述可知,通过检测待测软件升级后是否会出现引导图,可识别出待测软件的用户历史数据是否被清空,若由于升级操作导致用户历史数据被清空则升级失败。
进一步地,根据所述新版本软件获取第一升级结果,具体为:
所述客户端信息还包括使用率高于预设第一阈值的功能模块的标识;
统计所述客户端信息集合中各所述功能模块的使用率,得到使用率集合;
根据所述使用率集合获取使用率高于预设第二阈值的功能模块的标识,得到高使用率功能模块集合;
获取与所述高使用率功能模块集合和预设的关键功能模块集合对应的测试用例,得到测试用例集合;
根据所述测试用例集合测试所述新版本软件;
当存在一所述测试用例未通过测试时,设置所述第一升级结果为升级失败。
由上述描述可知,本发明对待测软件的主要用户群常使用的功能模块以及关键功能模块进行测试,若由于升级操作导致上述重要的功能模块无法正常运行,则升级失败。
进一步地,根据所述客户端信息集合中所述操作***版本号的使用量和所述终端型号的使用量部署第一待测终端集群,具体为:
按使用量从大到小排序与所述客户端信息集合对应的两个以上所述终端型号,得到终端型号队列;
从所述终端型号队列中获取前预设第一个数终端型号,得到第一终端型号集合;
按使用量从大到小排序与所述客户端信息集合对应的两个以上所述操作***版本号,得到操作***版本号队列;
从所述操作***版本号队列中获取前预设第二个数操作***版本号,得到第一操作***版本号集合;
根据所述第一终端型号集合和所述第一操作***版本号集合部署第一待测终端集群。
由上述描述可知,将用户使用量较大的终端型号的终端上安装用户使用量较大的操作***版本,并在其上安装待测软件进行升级测试,实现在软件升级测试的过程中同时测试软件本身的正确性和软件与设备的兼容性,有效保证了与待测软件对应的主要用户群可成功升级待测软件。
进一步地,还包括:
从所述终端型号队列中获取前预设第三个数终端型号,得到第二终端型号集合;所述预设第三个数小于所述预设第一个数;
从所述操作***版本号队列中获取前预设第四个数操作***版本号,得到第二操作***版本号集合;所述预设第四个数小于所述预设第二个数;
根据所述第二终端型号集合和所述第二操作***版本号集合部署第二待测终端集群;
获取与所述待测软件对应的除所述第一软件版本号之外的所有软件版本号,得到软件版本号集合;
S1、从所述软件版本号集合中获取一软件版本号,得到当前软件版本号;
S2、为所述第二待测终端集群中的每一待测终端安装与所述当前软件版本号对应的待测软件;
S3、根据所述最新软件版本号升级所述第二待测终端集群中与所述当前版本号对应的待测软件,得到第二升级结果;
重复执行所述S1至所述S3,直至所述软件版本号集合被遍历。
由上述描述可知,本发明对待测软件的主要用户群所使用的软件版本号、终端型号和操作***版本号进行较全面的测试,有利于提高软件升级测试的效率。
如图2所示,本发明还提供一种软件升级测试的终端,包括一个或多个处理器1及存储器2,所述存储器2存储有程序,并且被配置成由所述一个或多个处理器1执行以下步骤:
获取与待测软件对应的两个以上客户端发送的客户端信息,得到客户端信息集合;所述客户端信息包括所述客户端的软件版本号,运行所述客户端的操作***版本号和安装所述客户端的终端型号;
根据所述客户端信息集合获取使用量最大的软件版本号,得到第一版本号;
根据所述客户端信息集合中所述操作***版本号的使用量和所述终端型号的使用量部署第一待测终端集群;
根据预设的最新软件版本号升级所述第一待测终端集群中与所述第一版本号对应的待测软件,得到第一升级结果;所述第一升级结果包括升级成功和升级失败。
进一步地,根据预设的最新软件版本号升级所述第一待测终端集群中与所述第一版本号对应的待测软件,得到第一升级结果,具体为:
根据所述最新软件版本号和所述第一版本号获取第一升级补丁;
所述第一待测终端集群根据所述第一升级补丁升级与所述第一版本号对应的待测软件,得到新版本软件;
根据所述新版本软件获取第一升级结果。
进一步地,根据所述新版本软件获取第一升级结果,具体为:
若运行所述新版本软件时所述新版本软件显示引导图,则设置所述第一升级结果为升级失败;所述引导图用于为首次安装所述待测软件的用户介绍使用方法。
进一步地,根据所述新版本软件获取第一升级结果,具体为:
所述客户端信息还包括使用率高于预设第一阈值的功能模块的标识;
统计所述客户端信息集合中各所述功能模块的使用率,得到使用率集合;
根据所述使用率集合获取使用率高于预设第二阈值的功能模块的标识,得到高使用率功能模块集合;
获取与所述高使用率功能模块集合和预设的关键功能模块集合对应的测试用例,得到测试用例集合;
根据所述测试用例集合测试所述新版本软件;
当存在一所述测试用例未通过测试时,设置所述第一升级结果为升级失败。
进一步地,根据所述客户端信息集合中所述操作***版本号的使用量和所述终端型号的使用量部署第一待测终端集群,具体为:
按使用量从大到小排序与所述客户端信息集合对应的两个以上所述终端型号,得到终端型号队列;
从所述终端型号队列中获取前预设第一个数终端型号,得到第一终端型号集合;
按使用量从大到小排序与所述客户端信息集合对应的两个以上所述操作***版本号,得到操作***版本号队列;
从所述操作***版本号队列中获取前预设第二个数操作***版本号,得到第一操作***版本号集合;
根据所述第一终端型号集合和所述第一操作***版本号集合部署第一待测终端集群。
进一步地,还包括:
从所述终端型号队列中获取前预设第三个数终端型号,得到第二终端型号集合;所述预设第三个数小于所述预设第一个数;
从所述操作***版本号队列中获取前预设第四个数操作***版本号,得到第二操作***版本号集合;所述预设第四个数小于所述预设第二个数;
根据所述第二终端型号集合和所述第二操作***版本号集合部署第二待测终端集群;
获取与所述待测软件对应的除所述第一软件版本号之外的所有软件版本号,得到软件版本号集合;
S1、从所述软件版本号集合中获取一软件版本号,得到当前软件版本号;
S2、为所述第二待测终端集群中的每一待测终端安装与所述当前软件版本号对应的待测软件;
S3、根据所述最新软件版本号升级所述第二待测终端集群中与所述当前版本号对应的待测软件,得到第二升级结果;
重复执行所述S1至所述S3,直至所述软件版本号集合被遍历。
本发明的实施例一为:
本实施例提供一种软件升级测试的方法,包括:
S1、获取与待测软件对应的两个以上客户端发送的客户端信息,得到客户端信息集合;所述客户端信息包括所述客户端的软件版本号,运行所述客户端的操作***版本号和安装所述客户端的终端型号。
例如,一客户端上报的客户端信息为:当前客户端的版本号为0.3,终端型号为:荣耀8,终端所使用的操作***版本号为Android 7.x。
S2、根据所述客户端信息集合获取使用量最大的软件版本号,得到第一版本号。
例如,收集到所有已被成功安装的客户端上报的客户端信息,其中,采用0.3版本的待测软件的用户最多,则第一版本号为0.3。为保障待测软件的主要用户群可成功升级,本实施例对从0.3版本升级到最新版本的正确性进行重点测试。
S3、根据所述客户端信息集合中所述操作***版本号的使用量和所述终端型号的使用量部署第一待测终端集群。具体为:
S31、按使用量从大到小排序与所述客户端信息集合对应的两个以上所述终端型号,得到终端型号队列;
S32、从所述终端型号队列中获取前预设第一个数终端型号,得到第一终端型号集合;
S33、按使用量从大到小排序与所述客户端信息集合对应的两个以上所述操作***版本号,得到操作***版本号队列;
S34、从所述操作***版本号队列中获取前预设第二个数操作***版本号,得到第一操作***版本号集合;
S35、根据所述第一终端型号集合和所述第一操作***版本号集合部署第一待测终端集群。
优选地,所述第一个数为10;所述第二个数为3。
例如,使用待测软件的用户中,用户使用量排名前十的终端型号为荣耀8、荣耀5c、三星S6和小米note等;用户使用量排名前三的操作***版本号为Android固件7.x\6.x\5.x。将排名前十的终端型号和排名前三的操作***版本号进行排列组合,得到第一待测终端集群。
S4、根据预设的最新软件版本号升级所述第一待测终端集群中与所述第一版本号对应的待测软件,得到第一升级结果;所述第一升级结果包括升级成功和升级失败。具体为:
S41、根据所述最新软件版本号和所述第一版本号获取第一升级补丁;所述第一待测终端集群根据所述第一升级补丁升级与所述第一版本号对应的待测软件,得到新版本软件。
例如,待测软件的最新版本号为0.5,则获取版本0.5与版本0.3之间的增量包,得到第一升级补丁。
S42、根据所述新版本软件获取第一升级结果。具体为:
S421、若运行所述新版本软件时所述新版本软件显示引导图,则设置所述第一升级结果为升级失败;所述引导图用于为首次安装所述待测软件的用户介绍使用方法。
其中,升级前软件路径下数据库文字存放着软件登录的账号信息,升级后检测这部分数据是否还存在;因此,初次使用软件时需要查看完所有引导图,登录账号密码才能进入应用程序,升级后,应直接启动进入应用程序,不需要再次输入账号密码,也不应该再次出现新手用户引导图。
S422、所述客户端信息还包括使用率高于预设第一阈值的功能模块的标识;统计所述客户端信息集合中各所述功能模块的使用率,得到使用率集合;根据所述使用率集合获取使用率高于预设第二阈值的功能模块的标识,得到高使用率功能模块集合;获取与所述高使用率功能模块集合和预设的关键功能模块集合对应的测试用例,得到测试用例集合;根据所述测试用例集合测试所述新版本软件;当存在一所述测试用例未通过测试时,设置所述第一升级结果为升级失败。
其中,每一被安装在用户使用的终端上的客户端上报各自功能模块的使用率,并从中挑选出综合使用率较高的功能模块,得到高使用率功能模块集合。对高使用率功能模块集合和预设的关键功能模块集合中的功能模块进行用例测试,以验证升级操作是否会影响重要模块的正常使用。例如,登录账号、进入各菜单栏、聊天模块功能和收发文件模块功能等都需要运行正常,才能视为测试通过,反之测试不通过。
可选地,比对升级前后的与待测软件对应的包名。
其中,升级前后软件包的名称不变。
可选地,比对升级前后的软件版本号。
例如,旧版本VersionName是v0.1,VersionCode是10;新版本VersionName是v0.3,VersionCode是20;则升级后需要对待测软件的VersionName和VersionCode这两个参数进行比对,看是否与预期值一致。
S5、从所述终端型号队列中获取前预设第三个数终端型号,得到第二终端型号集合;所述预设第三个数小于所述预设第一个数;从所述操作***版本号队列中获取前预设第四个数操作***版本号,得到第二操作***版本号集合;所述预设第四个数小于所述预设第二个数。
例如,所述第三个数为5,第四个数为2。
S6、根据所述第二终端型号集合和所述第二操作***版本号集合部署第二待测终端集群。
S7、获取与所述待测软件对应的除所述第一软件版本号之外的所有软件版本号,得到软件版本号集合。
例如,待测软件的历史软件版本号包括0.1、0.2、0.3和0.4,最新的软件版本号为0.5,则待测软件通过增量方式自升级需要验证的组合如表1所示:
表1
其中,表1中的验证组合是根据升级前的版本,以及升级跨越的版本进行罗列,因为不同版本之间的升级,它的增量包都不同。
例如,都是从0.1升级到0.5版本,可以有以下几种:
序号1:安装0.1版本,直接升级到0.5版本;
序号2:安装0.1版本,然后从0.1升级到0.2,再从0.2升级到0.5版本;
序号3跟序号2不同在于它是从0.1升级到0.3,再从0.3升级到0.5,以此类推;
而序号7、8、9则是直接安装对应中间版本的应用包进行升级,跟上述1-6序号的升级组合不同,因为虽然版本相同的应用,通过逐级升级上来所遗留的信息与直接安装的情况是截然不同的,因此需要覆盖验证。
如果最新版本无法升级到下个版本,那发布之后,下个版本就无法通过当前版本升级上来,这是个重大产品缺陷,因此,需对最新版本是否可正常升级进行验证,如序号10所示。
增量升级全过程主要包括升级检测模块、升级下载模块、增量包合成模块等。序号1至序号9的场景主要是对不同版本之间增量包合成的场景维度进行遍历,保证覆盖所有增量包合成升级的测试覆盖,但是序号10最新版本升级至下个版本主要是针对升级检测、升级下载这个升级主体过程进行测试,当前应用能够升级,说明升级检测模块跟升级下载模块和升级主流程肯定没问题,只要保证增量包正常下发和合成就可以保证应用的正常升级。
S8、从所述软件版本号集合中获取一软件版本号,得到当前软件版本号。
S9、为所述第二待测终端集群中的每一待测终端安装与所述当前软件版本号对应的待测软件。
S10、根据所述最新软件版本号升级所述第二待测终端集群中与所述当前版本号对应的待测软件,得到第二升级结果。
S11、重复执行所述S8至所述S10,直至所述软件版本号集合被遍历。
S12、根据所述第一升级结果和所述第二升级结果生成测试报告。
其中,不论是升级过程、升级验证过程、遍历组合过程,每个阶段的测试结果都会输出在本轮测试报告中,包括被测的版本信息,被测的机型、操作***信息、执行情况、执行用时和升级结果等。
由上述描述可知,本实施例提供的软件升级测试方法是通过数据比对实现验证组合的输出,然后通过自动化的校验实现对所有历史版本增量升级过程进行验证,降低使用者门槛,可以一键执行操作事件,使程序升级测试简单化,提升测试效率。该测试方法利用自动化进行,代替了人为在短时间内完成了更加广度和深度的升级遍历测试工作,整个升级过程测试策略是根据应用统计分析数据的用户使用量占比进行分配测试,测试结果更加贴近于产品线上用户的真实使用情况,更能够保证产品线上大部分用户升级功能的正常运行。在实际的产品应用中帮助产品解决了上线之前最重要的一个校验环节,提升产品的迭代的稳定性和可靠性。该测试方法对不同组合的测试力度完全依赖于应用统计平台的统计信息,有效保证了产品主力用户群体的增量升级功能的可用性。
本发明的实施例二为:
本实施例提供一种软件升级测试的终端,包括一个或多个处理器1及存储器2,所述存储器2存储有程序,并且被配置成由所述一个或多个处理器1执行以下步骤:
S1、获取与待测软件对应的两个以上客户端发送的客户端信息,得到客户端信息集合;所述客户端信息包括所述客户端的软件版本号,运行所述客户端的操作***版本号和安装所述客户端的终端型号。
S2、根据所述客户端信息集合获取使用量最大的软件版本号,得到第一版本号。
S3、根据所述客户端信息集合中所述操作***版本号的使用量和所述终端型号的使用量部署第一待测终端集群。具体为:
S31、按使用量从大到小排序与所述客户端信息集合对应的两个以上所述终端型号,得到终端型号队列;
S32、从所述终端型号队列中获取前预设第一个数终端型号,得到第一终端型号集合;
S33、按使用量从大到小排序与所述客户端信息集合对应的两个以上所述操作***版本号,得到操作***版本号队列;
S34、从所述操作***版本号队列中获取前预设第二个数操作***版本号,得到第一操作***版本号集合;
S35、根据所述第一终端型号集合和所述第一操作***版本号集合部署第一待测终端集群。
S4、根据预设的最新软件版本号升级所述第一待测终端集群中与所述第一版本号对应的待测软件,得到第一升级结果;所述第一升级结果包括升级成功和升级失败。具体为:
S41、根据所述最新软件版本号和所述第一版本号获取第一升级补丁;所述第一待测终端集群根据所述第一升级补丁升级与所述第一版本号对应的待测软件,得到新版本软件。
S42、根据所述新版本软件获取第一升级结果。具体为:
S421、若运行所述新版本软件时所述新版本软件显示引导图,则设置所述第一升级结果为升级失败;所述引导图用于为首次安装所述待测软件的用户介绍使用方法。
其中,升级前软件路径下数据库文字存放着软件登录的账号信息,升级后检测这部分数据是否还存在;因此,初次使用软件时需要查看完所有引导图,登录账号密码才能进入应用程序,升级后,应直接启动进入应用程序,不需要再次输入账号密码,也不应该再次出现新手用户引导图。
S422、所述客户端信息还包括使用率高于预设第一阈值的功能模块的标识;统计所述客户端信息集合中各所述功能模块的使用率,得到使用率集合;根据所述使用率集合获取使用率高于预设第二阈值的功能模块的标识,得到高使用率功能模块集合;获取与所述高使用率功能模块集合和预设的关键功能模块集合对应的测试用例,得到测试用例集合;根据所述测试用例集合测试所述新版本软件;当存在一所述测试用例未通过测试时,设置所述第一升级结果为升级失败。
可选地,比对升级前后的与待测软件对应的包名。
可选地,比对升级前后的软件版本号。
S5、从所述终端型号队列中获取前预设第三个数终端型号,得到第二终端型号集合;所述预设第三个数小于所述预设第一个数;从所述操作***版本号队列中获取前预设第四个数操作***版本号,得到第二操作***版本号集合;所述预设第四个数小于所述预设第二个数。
S6、根据所述第二终端型号集合和所述第二操作***版本号集合部署第二待测终端集群。
S7、获取与所述待测软件对应的除所述第一软件版本号之外的所有软件版本号,得到软件版本号集合。
S8、从所述软件版本号集合中获取一软件版本号,得到当前软件版本号。
S9、为所述第二待测终端集群中的每一待测终端安装与所述当前软件版本号对应的待测软件。
S10、根据所述最新软件版本号升级所述第二待测终端集群中与所述当前版本号对应的待测软件,得到第二升级结果。
S11、重复执行所述S8至所述S10,直至所述软件版本号集合被遍历。
S12、根据所述第一升级结果和所述第二升级结果生成测试报告。
综上所述,本发明提供的一种软件升级测试的方法及终端,通过获取已被用户成功安装的待测软件的客户端上报的客户端信息统计与各软件版本号对应的用户使用量、运行客户端的各操作***版本号的用户使用量和各终端型号的用户使用量,从而可获悉使用待测软件的主要用户群当前使用的软件版本号、操作***版本号和终端型号,再根据待测软件的主要用户群的信息进行相应的软件升级测试。区别于现有技术需遍历所有的增量升级测试组合以保证主要用户群可成功升级,本发明通过统计数据有针对性地、高效地进行软件升级测试,有效地提高了待测软件的主要用户群可成功将待测软件升级至最新版本的概率。进一步地,通过检测待测软件升级后是否会出现引导图,可识别出待测软件的用户历史数据是否被清空,若由于升级操作导致用户历史数据被清空则升级失败。进一步地,本发明对待测软件的主要用户群常使用的功能模块以及关键功能模块进行测试,若由于升级操作导致上述重要的功能模块无法正常运行,则升级失败。进一步地,将用户使用量较大的终端型号的终端上安装用户使用量较大的操作***版本,并在其上安装待测软件进行升级测试,实现在软件升级测试的过程中同时测试软件本身的正确性和软件与设备的兼容性,有效保证了与待测软件对应的主要用户群可成功升级待测软件。进一步地,本发明对待测软件的主要用户群所使用的软件版本号、终端型号和操作***版本号进行较全面的测试,有利于提高软件升级测试的效率。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种软件升级测试的方法,其特征在于,包括:
获取与待测软件对应的两个以上客户端发送的客户端信息,得到客户端信息集合;所述客户端信息包括所述客户端的软件版本号,运行所述客户端的操作***版本号和安装所述客户端的终端型号;
根据所述客户端信息集合获取使用量最大的软件版本号,得到第一软件版本号;
根据所述客户端信息集合中所述操作***版本号的使用量和所述终端型号的使用量部署第一待测终端集群;
根据预设的最新软件版本号升级所述第一待测终端集群中与所述第一软件版本号对应的待测软件,得到第一升级结果;所述第一升级结果包括升级成功和升级失败;
根据所述客户端信息集合中所述操作***版本号的使用量和所述终端型号的使用量部署第一待测终端集群,具体为:
按使用量从大到小排序与所述客户端信息集合对应的两个以上所述终端型号,得到终端型号队列;
从所述终端型号队列中获取前预设第一个数终端型号,得到第一终端型号集合;
按使用量从大到小排序与所述客户端信息集合对应的两个以上所述操作***版本号,得到操作***版本号队列;
从所述操作***版本号队列中获取前预设第二个数操作***版本号,得到第一操作***版本号集合;
根据所述第一终端型号集合和所述第一操作***版本号集合部署第一待测终端集群。
2.根据权利要求1所述的软件升级测试的方法,其特征在于,根据预设的最新软件版本号升级所述第一待测终端集群中与所述第一软件版本号对应的待测软件,得到第一升级结果,具体为:
根据所述最新软件版本号和所述第一软件版本号获取第一升级补丁;
所述第一待测终端集群根据所述第一升级补丁升级与所述第一软件版本号对应的待测软件,得到新版本软件;
根据所述新版本软件获取第一升级结果。
3.根据权利要求2所述的软件升级测试的方法,其特征在于,根据所述新版本软件获取第一升级结果,具体为:
若运行所述新版本软件时所述新版本软件显示引导图,则设置所述第一升级结果为升级失败;所述引导图用于为首次安装所述待测软件的用户介绍使用方法。
4.根据权利要求2所述的软件升级测试的方法,其特征在于,根据所述新版本软件获取第一升级结果,具体为:
所述客户端信息还包括使用率高于预设第一阈值的功能模块的标识;
统计所述客户端信息集合中各所述功能模块的使用率,得到使用率集合;
根据所述使用率集合获取使用率高于预设第二阈值的功能模块的标识,得到高使用率功能模块集合;
获取与所述高使用率功能模块集合和预设的关键功能模块集合对应的测试用例,得到测试用例集合;
根据所述测试用例集合测试所述新版本软件;
当存在一所述测试用例未通过测试时,设置所述第一升级结果为升级失败。
5.根据权利要求1所述的软件升级测试的方法,其特征在于,还包括:
从所述终端型号队列中获取前预设第三个数终端型号,得到第二终端型号集合;所述预设第三个数小于所述预设第一个数;
从所述操作***版本号队列中获取前预设第四个数操作***版本号,得到第二操作***版本号集合;所述预设第四个数小于所述预设第二个数;
根据所述第二终端型号集合和所述第二操作***版本号集合部署第二待测终端集群;
获取与所述待测软件对应的除所述第一软件版本号之外的所有软件版本号,得到软件版本号集合;
S1、从所述软件版本号集合中获取一软件版本号,得到当前软件版本号;
S2、为所述第二待测终端集群中的每一待测终端安装与所述当前软件版本号对应的待测软件;
S3、根据所述最新软件版本号升级所述第二待测终端集群中与所述当前软件版本号对应的待测软件,得到第二升级结果;
重复执行所述S1至所述S3,直至所述软件版本号集合被遍历。
6.一种软件升级测试的终端,其特征在于,包括一个或多个处理器及存储器,所述存储器存储有程序,并且被配置成由所述一个或多个处理器执行以下步骤:
获取与待测软件对应的两个以上客户端发送的客户端信息,得到客户端信息集合;所述客户端信息包括所述客户端的软件版本号,运行所述客户端的操作***版本号和安装所述客户端的终端型号;
根据所述客户端信息集合获取使用量最大的软件版本号,得到第一软件版本号;
根据所述客户端信息集合中所述操作***版本号的使用量和所述终端型号的使用量部署第一待测终端集群;
根据预设的最新软件版本号升级所述第一待测终端集群中与所述第一软件版本号对应的待测软件,得到第一升级结果;所述第一升级结果包括升级成功和升级失败;
根据所述客户端信息集合中所述操作***版本号的使用量和所述终端型号的使用量部署第一待测终端集群,具体为:
按使用量从大到小排序与所述客户端信息集合对应的两个以上所述终端型号,得到终端型号队列;
从所述终端型号队列中获取前预设第一个数终端型号,得到第一终端型号集合;
按使用量从大到小排序与所述客户端信息集合对应的两个以上所述操作***版本号,得到操作***版本号队列;
从所述操作***版本号队列中获取前预设第二个数操作***版本号,得到第一操作***版本号集合;
根据所述第一终端型号集合和所述第一操作***版本号集合部署第一待测终端集群。
7.根据权利要求6所述的软件升级测试的终端,其特征在于,根据预设的最新软件版本号升级所述第一待测终端集群中与所述第一软件版本号对应的待测软件,得到第一升级结果,具体为:
根据所述最新软件版本号和所述第一软件版本号获取第一升级补丁;
所述第一待测终端集群根据所述第一升级补丁升级与所述第一软件版本号对应的待测软件,得到新版本软件;
根据所述新版本软件获取第一升级结果。
8.根据权利要求7所述的软件升级测试的终端,其特征在于,根据所述新版本软件获取第一升级结果,具体为:
若运行所述新版本软件时所述新版本软件显示引导图,则设置所述第一升级结果为升级失败;所述引导图用于为首次安装所述待测软件的用户介绍使用方法。
9.根据权利要求7所述的软件升级测试的终端,其特征在于,根据所述新版本软件获取第一升级结果,具体为:
所述客户端信息还包括使用率高于预设第一阈值的功能模块的标识;
统计所述客户端信息集合中各所述功能模块的使用率,得到使用率集合;
根据所述使用率集合获取使用率高于预设第二阈值的功能模块的标识,得到高使用率功能模块集合;
获取与所述高使用率功能模块集合和预设的关键功能模块集合对应的测试用例,得到测试用例集合;
根据所述测试用例集合测试所述新版本软件;
当存在一所述测试用例未通过测试时,设置所述第一升级结果为升级失败。
10.根据权利要求6所述的软件升级测试的终端,其特征在于,还包括:
从所述终端型号队列中获取前预设第三个数终端型号,得到第二终端型号集合;所述预设第三个数小于所述预设第一个数;
从所述操作***版本号队列中获取前预设第四个数操作***版本号,得到第二操作***版本号集合;所述预设第四个数小于所述预设第二个数;
根据所述第二终端型号集合和所述第二操作***版本号集合部署第二待测终端集群;
获取与所述待测软件对应的除所述第一软件版本号之外的所有软件版本号,得到软件版本号集合;
S1、从所述软件版本号集合中获取一软件版本号,得到当前软件版本号;
S2、为所述第二待测终端集群中的每一待测终端安装与所述当前软件版本号对应的待测软件;
S3、根据所述最新软件版本号升级所述第二待测终端集群中与所述当前软件版本号对应的待测软件,得到第二升级结果;
重复执行所述S1至所述S3,直至所述软件版本号集合被遍历。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810118441.XA CN110119348B (zh) | 2018-02-06 | 2018-02-06 | 一种软件升级测试的方法及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810118441.XA CN110119348B (zh) | 2018-02-06 | 2018-02-06 | 一种软件升级测试的方法及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110119348A CN110119348A (zh) | 2019-08-13 |
CN110119348B true CN110119348B (zh) | 2022-12-13 |
Family
ID=67519389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810118441.XA Active CN110119348B (zh) | 2018-02-06 | 2018-02-06 | 一种软件升级测试的方法及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110119348B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110659189B (zh) * | 2019-08-15 | 2021-02-23 | 华为技术有限公司 | 应用程序生成方法、装置、云服务器及可读存储介质 |
CN110633218B (zh) * | 2019-09-24 | 2023-04-11 | 北京首汽智行科技有限公司 | 一种app升级测试方法 |
CN112540919B (zh) * | 2020-12-08 | 2024-02-23 | 上海哔哩哔哩科技有限公司 | 测试设备确定方法及装置 |
CN113836026A (zh) * | 2021-09-28 | 2021-12-24 | 深圳Tcl新技术有限公司 | 一种升级测试方法、装置、电子设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102387165A (zh) * | 2010-08-27 | 2012-03-21 | 腾讯科技(深圳)有限公司 | 软件升级***及方法 |
CN103607456A (zh) * | 2013-11-21 | 2014-02-26 | 厦门雅迅网络股份有限公司 | 一种集群移动终端的软件远程升级的方法 |
CN104090806A (zh) * | 2014-07-18 | 2014-10-08 | 百度在线网络技术(北京)有限公司 | 升级包、升级请求的处理方法及装置 |
CN106201625A (zh) * | 2016-07-19 | 2016-12-07 | 乐视控股(北京)有限公司 | 一种软件版本更新方法、更新装置及其电子设备 |
CN106254305A (zh) * | 2015-06-05 | 2016-12-21 | 索尼公司 | 用于安全性可更新性的分布式准许列表 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8606948B2 (en) * | 2010-09-24 | 2013-12-10 | Amazon Technologies, Inc. | Cloud-based device interaction |
-
2018
- 2018-02-06 CN CN201810118441.XA patent/CN110119348B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102387165A (zh) * | 2010-08-27 | 2012-03-21 | 腾讯科技(深圳)有限公司 | 软件升级***及方法 |
CN103607456A (zh) * | 2013-11-21 | 2014-02-26 | 厦门雅迅网络股份有限公司 | 一种集群移动终端的软件远程升级的方法 |
CN104090806A (zh) * | 2014-07-18 | 2014-10-08 | 百度在线网络技术(北京)有限公司 | 升级包、升级请求的处理方法及装置 |
CN106254305A (zh) * | 2015-06-05 | 2016-12-21 | 索尼公司 | 用于安全性可更新性的分布式准许列表 |
CN106201625A (zh) * | 2016-07-19 | 2016-12-07 | 乐视控股(北京)有限公司 | 一种软件版本更新方法、更新装置及其电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110119348A (zh) | 2019-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110119348B (zh) | 一种软件升级测试的方法及终端 | |
CN109726093B (zh) | 用于执行测试用例的方法、设备和计算机程序产品 | |
CN104765692B (zh) | 用于自动化测试软件的方法及设备 | |
CN102122265B (zh) | 一种计算机软件测试结果的验证方法及*** | |
CN110888414B (zh) | 一种车辆控制器升级的测试方法 | |
CN108509344B (zh) | 日切跑批测试方法、设备及可读存储介质 | |
CN106612204B (zh) | 业务校验方法及装置 | |
CN105141647A (zh) | 一种检测Web应用的方法和*** | |
CN109543417B (zh) | 一种基于Qemu平台的漏洞挖掘方法和装置 | |
CN110928556A (zh) | 轨道车辆用程序自动烧录方法及装置、测试方法及*** | |
CN108446224B (zh) | 移动端上应用程序的性能分析方法、存储介质 | |
CN110990289B (zh) | 一种自动提交bug的方法、装置、电子设备及存储介质 | |
CN115080389A (zh) | 提升指标统计效率的测试***、方法、设备及存储介质 | |
KR20150030297A (ko) | 애플리케이션 자동 검증을 위한 검증장치, 단말장치, 시스템, 방법 및 컴퓨터로 판독 가능한 기록 매체 | |
CN111796857B (zh) | 热补丁发布方法、装置、设备及存储介质 | |
CN110990249A (zh) | 代码扫描结果处理方法、装置、计算机设备及存储介质 | |
CN116467188A (zh) | 一种多环境场景下的通用本地复现***和方法 | |
CN115455431A (zh) | 自动化代码安全检测和漏洞修复方法、装置、终端及介质 | |
CN112084278B (zh) | 一种地图数据转换定制产品的检证方法及装置 | |
CN113495750B (zh) | 一种设备的升级检测方法、装置及服务器 | |
CN114564387A (zh) | 一种针对OpenStack云平台的场景式自动化测试方法及*** | |
CN112765041A (zh) | 游戏自动化测试方法、装置及电子设备 | |
CN111427795A (zh) | 代码测试控制方法与装置、存储介质、电子设备 | |
CN110908918A (zh) | 针对多个相互依赖的node.js模块的单元测试方法及装置 | |
CN111752823A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |