CN111679986A - 一种软件测试方法、装置及电子设备 - Google Patents
一种软件测试方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111679986A CN111679986A CN202010530751.XA CN202010530751A CN111679986A CN 111679986 A CN111679986 A CN 111679986A CN 202010530751 A CN202010530751 A CN 202010530751A CN 111679986 A CN111679986 A CN 111679986A
- Authority
- CN
- China
- Prior art keywords
- terminal
- software
- classification
- terminals
- same
- 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.)
- Granted
Links
- 238000013522 software testing Methods 0.000 title claims abstract description 60
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000004458 analytical method Methods 0.000 claims description 13
- 238000012216 screening Methods 0.000 claims description 5
- 238000011981 development test Methods 0.000 abstract 1
- 238000012360 testing method Methods 0.000 description 12
- 238000011161 development Methods 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 244000062793 Sorghum vulgare Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 235000019713 millet Nutrition 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
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/3684—Test management for test design, e.g. generating new test cases
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种软件测试方法、装置及电子设备,该方法中,在进行目标软件更新时,会设定多个分类集合和目标软件的多种软件运行方式,确定每个分类集合对应的多个终端,并将多个终端生成多个终端集合,终端集合的个数与软件运行方式数量相同,且,终端集合与软件运行方式一一对应,即本发明为每一软件运行方式配置的终端,会分属于每类分类集合,这样可以保证同一软件运行方式对应的终端能够涉及不同的分类集合,选取的终端分布更均匀,相比于现有技术中随机选取的方式,可以避免由于终端选取不均匀而带来的软件测试准确度较低的问题,进而使得依据软件测试结果进行软件更新的准确度也较高。进一步,通过本发明也能够降低开发测试管理成本。
Description
技术领域
本发明涉及软件测试领域,更具体的说,涉及一种软件测试方法、装置及电子设备。
背景技术
在进行A/B测试时,需要将包括同一软件的至少两个实现方案的软件更新数据更新至同一测试终端中,以安装A/B两个实现方案为例,同一终端上该软件进行更新时,需要安装同时包括有A/B两个实现方案的软件更新数据,然后在进行软件测试时,会按照预先设定的A/B方案的测试比例,随机选取出哪一终端运行A实现方案对应的软件运行方式,哪一终端运行B实现方案对应的软件运行方式,在终端运行相应的实现方案对应的软件运行方式之后,依据终端反馈的信息确定软件测试结果。
上述软件测试方式,软件测试准确度较低,进而使得依据软件测试结果进行软件更新的准确度也较低。
发明内容
有鉴于此,本发明提供一种软件测试方法、装置及电子设备,以解决现有技术的软件测试方式,软件测试准确度较低,进而使得依据软件测试结果进行软件更新的准确度也较低的问题。
为解决上述技术问题,本发明采用了如下技术方案:
一种软件测试方法,包括:
获取预先设定的多个包括相同的终端分类维度及该终端分类维度对应的参考值的分类集合,不同的所述分类集合之间至少有同一个所述终端分类维度的参考值不同;
获取目标软件的多种软件运行方式;
确定每个所述分类集合对应的多个终端,并将所述多个终端生成多个终端集合,所述终端集合的个数与所述软件运行方式数量相同,且,所述终端集合与所述软件运行方式一一对应;
控制所述终端集合中的终端获取软件更新数据并运行,所述软件更新数据中仅包含该终端执行其对应的软件运行方式时所需的更新数据;
获取各个终端进行软件更新后的数据,并作为软件测试结果。
可选地,控制所述终端集合中的终端获取软件更新数据并运行,包括:
推送所述目标软件的软件待更新信息至所述终端集合中的终端;
在接收到所述终端反馈的更新指令后,获取为所述终端集合分配的软件运行方式的软件更新数据;所述软件更新数据中仅包含该终端执行其对应的软件运行方式时所需的更新数据;
发送所述软件更新数据至所述终端,以使所述终端依据所述软件更新数据进行所述目标软件的更新操作。
可选地,确定每个所述分类集合对应的多个终端,并将所述多个终端生成多个终端集合,包括:
按照多个终端启动所述目标软件的顺序,确定每一所述终端的执行顺序;
对于每一待执行的终端,依据所述终端的终端属性信息和每一所述终端分类维度的所有参考值的比对结果,确定所述终端对应的分类集合;
依据预先设定的终端与所述目标软件的软件运行方式的对应关系,确定所述终端对应的软件运行方式;
将对应于同一分类集合和同一软件运行方式的终端组合成一终端集合。
可选地,所述终端的终端属性信息包括每一所述终端分类维度的实际值;
依据所述终端的终端属性信息和每一所述终端分类维度的所有参考值的比对结果,确定所述终端对应的分类集合,包括:
按照预先设定的终端分类维度的分析顺序,依次确定出包括与所述终端分类维度的实际值匹配的参考值的分类集合,并确定为所述终端对应的分类集合。
可选地,将对应于同一分类集合和同一软件运行方式的终端组合成一终端集合,包括:
获取对应于同一分类集合和同一软件运行方式的终端的终端数量;
若所述数量大于预设阈值,则按照所述终端的执行顺序,从对应于同一分类集合和同一软件运行方式的终端中,筛选出终端总数量符合所述预设阈值的终端,并组合成终端集合。
可选地,所述分类集合包括的终端分类维度包括:运营商、地域、终端机型和终端系统版本。
一种软件测试装置,包括:
第一数据获取模块,用于获取预先设定的多个包括相同的终端分类维度及该终端分类维度对应的参考值的分类集合,不同的所述分类集合之间至少有同一个所述终端分类维度的参考值不同;
第二数据获取模块,用于获取目标软件的多种软件运行方式;
运行确定模块,用于确定每个所述分类集合对应的多个终端,并将所述多个终端生成多个终端集合,所述终端集合的个数与所述软件运行方式数量相同,且,所述终端集合与所述软件运行方式一一对应;
软件更新模块,用于控制所述终端集合中的终端获取软件更新数据并运行,所述软件更新数据中仅包含该终端执行其对应的软件运行方式时所需的更新数据;
软件测试模块,用于获取各个终端进行软件更新后的数据,并作为软件测试结果。
可选地,所述软件更新模块包括:
数据推送子模块,用于推送所述目标软件的软件待更新信息至所述终端集合中的终端;
数据获取子模块,用于在接收到所述终端反馈的更新指令后,获取为所述终端集合分配的软件运行方式的软件更新数据;所述软件更新数据中仅包含该终端执行其对应的软件运行方式时所需的更新数据;
数据更新子模块,用于发送所述软件更新数据至所述终端,以使所述终端依据所述软件更新数据进行所述目标软件的更新操作。
可选地,所述运行确定模块包括:
顺序确定子模块,用于按照多个终端启动所述目标软件的顺序,确定每一所述终端的执行顺序;
维度集确定子模块,用于对于每一待执行的终端,依据所述终端的终端属性信息和每一所述终端分类维度的所有参考值的比对结果,确定所述终端对应的分类集合;
运行确定子模块,用于依据预先设定的终端与所述目标软件的软件运行方式的对应关系,确定所述终端对应的软件运行方式;
集合确定子模块,用于将对应于同一分类集合和同一软件运行方式的终端组合成一终端集合。
一种电子设备,包括:存储器和处理器;
其中,所述存储器用于存储程序;
处理器调用程序并用于:
获取预先设定的多个包括相同的终端分类维度及该终端分类维度对应的参考值的分类集合,不同的所述分类集合之间至少有同一个所述终端分类维度的参考值不同;
获取目标软件的多种软件运行方式;
确定每个所述分类集合对应的多个终端,并将所述多个终端生成多个终端集合,所述终端集合的个数与所述软件运行方式数量相同,且,所述终端集合与所述软件运行方式一一对应;
控制所述终端集合中的终端获取软件更新数据并运行,所述软件更新数据中仅包含该终端执行其对应的软件运行方式时所需的更新数据;
获取各个终端进行软件更新后的数据,并作为软件测试结果。
相较于现有技术,本发明具有以下有益效果:
本发明提供了一种软件测试方法、装置及电子设备,在进行目标软件更新时,会设定多个分类集合和目标软件的多种软件运行方式,确定每个所述分类集合对应的多个终端,并将所述多个终端生成多个终端集合,所述终端集合的个数与所述软件运行方式数量相同,且,所述终端集合与所述软件运行方式一一对应,即本发明为每一软件运行方式配置的终端,会分属于每类分类集合,这样可以保证同一软件运行方式对应的终端能够涉及不同的分类集合,选取的终端分布更均匀,相比于现有技术中随机选取的方式,可以避免由于终端选取不均匀而带来的软件测试准确度较低的问题,进而使得依据软件测试结果进行软件更新的准确度也较高。进一步,本发明中,终端集合中的终端获取的软件更新数据中仅包含该终端执行其对应的软件运行方式时所需的更新数据,即每一终端仅需安装同一软件的一个实现方案对应的软件更新数据,避免了采用在一终端上安装包括同一软件的多个实现方案的软件更新数据的方式,带来的该终端上该软件占用资源较大,该软件对应的后台服务器维护负担较大的问题。进一步的,本发明中,每一终端仅需安装同一软件的一个实现方案对应的软件更新数据,避免了将同一软件的多个实现方案均写入该软件更新数据中,并选取出一个实现方案让一终端运行的方式而带来的开发测试管理成本较高的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种软件测试方法的方法流程图;
图2为本发明实施例提供的另一种软件测试方法的方法流程图;
图3为本发明实施例提供的再一种软件测试方法的方法流程图;
图4为本发明实施例提供的一种软件测试装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在进行A/B测试时,需要将包括同一软件的至少两个实现方案的软件更新数据更新至同一测试终端中,以安装A/B两个实现方案为例,同一终端上该软件进行更新时,需要安装同时包括有A/B两个实现方案的软件更新数据,然后在进行软件测试时,会按照预先设定的A/B方案的测试比例,随机选取出哪一终端运行A实现方案对应的软件运行方式,哪一终端运行B实现方案对应的软件运行方式,在终端运行相应的实现方案对应的软件运行方式之后,依据终端反馈的信息确定软件测试结果。
上述软件测试方式,若终端选取不均匀,则由于终端本身属性等主观问题,可能会带来软件测试准确度较低的问题,举例来说,若执行A方案的终端对应的运营商均是移动,执行B方案的终端对应的运行商均是联通,则可能会由于联通和移动的网络稳定性不同、网速不同等问题,对A版本方案或B版本方案的适应性不同,从而使得软件测试结果不准确。又或者,若执行A方案的终端使用的系统均是IOS系统,执行B方案的终端使用的系统均是安卓系统,A版本方案或B版本方案可能对IOS系统的适应性和对安卓系统的适应性不同,从而不同的终端版本也会影响软件测试结果。
本领域的发明人发现,若可以消除终端自身属性问题对软件测试的影响,则可以保证A/B两个实现方案在不同的终端上运行时,终端相同,仅是A/B实现方案不同,即在对终端测试时,仅有软件版本不同这一影响因素,从而能够测试出A/B两个实现方案中,哪一方案更优,即软件测试准确度较高。
具体的,在进行目标软件更新时,会设定多个分类集合和目标软件的多种软件运行方式,确定每个所述分类集合对应的多个终端,并将所述多个终端生成多个终端集合,所述终端集合的个数与所述软件运行方式数量相同,且,所述终端集合与所述软件运行方式一一对应,即本发明为每一软件运行方式配置的终端,会分属于每类分类集合,这样可以保证同一软件运行方式对应的终端能够涉及不同的分类集合,选取的终端分布更均匀,相比于现有技术中随机选取的方式,可以避免由于终端选取不均匀而带来的软件测试准确度较低的问题,进而使得依据软件测试结果进行软件更新的准确度也较高。进一步,本发明中,终端集合中的终端获取的软件更新数据中仅包含该终端执行其对应的软件运行方式时所需的更新数据,即每一终端仅需安装同一软件的一个实现方案对应的软件更新数据,避免了采用在一终端上安装包括同一软件的多个实现方案的软件更新数据的方式,带来的该终端上该软件占用资源较大,该软件对应的后台服务器维护负担较大的问题。进一步的,本发明中,每一终端仅需安装同一软件的一个实现方案对应的软件更新数据,避免了将同一软件的多个实现方案均写入该软件更新数据中,并选取出一个实现方案让一终端运行的方式而带来的开发测试管理成本较高的问题。
在上述内容的基础上,本发明的一实施例提供了一种软件测试方法,参照图1,可以包括:
S11、获取预先设定的多个包括相同的终端分类维度及该终端分类维度对应的参考值的分类集合,不同的所述分类集合之间至少有同一个所述终端分类维度的参考值不同;
在实际应用中,不同的所述分类集合均包括多个相同的终端分类维度且每一所述终端分类维度设置一参考值。
本实施例中,终端分类维度包括运营商、地域、终端系统版本(简称系统本本)以及终端机型(简称机型)四类,其中,运营商分为铁通、联通、电信和其他四类参考值,地域分为湖北、广东、浙江、江苏、江西等多个参考值,机型分为华为、苹果、小米等多个参考值,系统版本分为系统版本8、系统版本9等多个参考值。
不同的所述分类集合之间至少有同一个所述终端分类维度的参考值不同。将上述的四个终端分类维度中的每一个参考值进行排列组合,能够得到多个分类集合,举例来说,从运营商中选取联通、从地域选取广东、从机型选取华为、从系统版本选取系统版本8组成一个分类集合。则最终确定出的分类集合的数量为运营商的参考值的个数*地域的参考值的个数*系统版本的参考值的个数*机型的参考值的个数。
S12、获取目标软件的多种软件运行方式。
本发明中,预先设定了目标软件的多种软件运行方式,不同的所述软件运行方式对应的软件更新数据不同、且所述软件更新数据中仅包含该终端执行其对应的软件运行方式时所需的更新数据。举例来说,假设软件运行方式有A/B两种,则A软件运行方式仅包括A方式的软件更新数据,B软件运行方式仅包括B方式的软件更新数据。
S12、确定每个所述分类集合对应的多个终端,并将所述多个终端生成多个终端集合。
所述终端集合包括多个终端,所述终端集合的个数与所述软件运行方式数量相同,且,所述终端集合与所述软件运行方式一一对应。
在确定出上述的多个分类集合之后,会为每一分类集合确定其对应的终端集合,其中,该终端集合中的终端在每一终端分类维度的实际值与该分类集合中的参考值匹配,具体可以为相同。
举例来说,分类集合包括:联通、广东、华为、系统版本8,则分类集合对应的终端的属性值也为:联通、广东、华为、系统版本8,即选取出了符合该分类集合的终端,并组成终端集合。
需要说明的是,对于每一分类集合,其对应的终端得到的终端集合的数量与目标软件的多种软件运行方式的数量相同,假设软件运行方式的数量有两种,分别为A和B,则同一分类集合对应的终端集合的数量也为两个,其中一个终端集合对应软件运行方式A,即该终端集合运行软件运行方式A的软件更新数据,另一个终端集合对应软件运行方式B,即该终端集合运行软件运行方式B的软件更新数据。其中,对应于软件运行方式A和B的终端集合内的终端数量可以相同,也可以不同。
本实施例中,对于每一分类集合,设置其对应多个终端,并拆分得到多个终端集合,由于不同的终端集合均对应同一分类集合,则不同的终端集合之间可以消除运营商、地域、系统版本以及机型四类对目标软件运行的影响,所述终端集合与所述软件运行方式一一对应,则保证同一目标软件的不同软件运行方式在相同的运行环境下运行,使得针对目标软件的测试仅是软件的运行方式不同,软件运行环境相同,进而能够测试得到哪一的软件运行方式的运行更好。
S13、控制所述终端集合中的终端获取软件更新数据并运行。
所述软件更新数据中仅包含该终端执行其对应的软件运行方式时所需的更新数据。
具体的,将终端集合中的终端上的该目标软件,按照软件更新数据进行应用更新。
参照图2,步骤S12可以包括:
S21、推送所述目标软件的软件待更新信息至所述终端集合中的终端。
S22、在接收到所述终端反馈的更新指令后,获取为所述终端集合分配的软件运行方式的软件更新数据。
本发明中的软件测试方法的执行主体是预发布系统,预发布系统会推送目标软件的软件待更新信息至所述终端集合中的终端,终端接收到该消息后,会在用户打开该目标软件时,以提示消息的方式显示,若用户点击确认,则说明用户同意更新,此时预发布系统会接收到终端反馈的更新指令。此时,预发布系统会获取到为该终端集合分配的软件运行方式的软件更新数据。
其中,该软件更新数据中仅包含该终端执行其对应的软件运行方式时所需的更新数据。假设软件运行方式的数量有两种,分别为A和B,则同一分类集合对应的终端集合的数量也为两个,其中一个终端集合对应软件运行方式A,即该终端集合所需的软件更新数据仅包括运行软件运行方式A时所需的软件更新数据,另一个终端集合对应软件运行方式B,即该终端集合所需的软件更新数据仅包括运行软件运行方式B时所需的软件更新数据。其中,对应于软件运行方式A和B的终端集合内的终端数量可以相同,也可以不同。
S23、发送所述软件更新数据至所述终端,以使所述终端依据所述软件更新数据进行所述目标软件的更新操作。
预发布系统发送该软件更新数据至终端,所述终端依据所述软件更新数据进行所述目标软件的更新操作,进而实现了应用软件的更新。
S14、获取各个终端进行软件更新后的数据,并作为软件测试结果。
终端进行软件更新之后,获取各个终端的运行数据,并作为软件测试结果。更进一步的,可以依据软件测试结果来分析出使用不同软件运行方式的终端的性能,分析得到哪一软件运行方式更优,从而能够确定目标软件的研发方向。
本实施例中,在进行目标软件更新时,会设定多个分类集合和目标软件的多种软件运行方式,确定每个所述分类集合对应的多个终端,并将所述多个终端生成多个终端集合,所述终端集合的个数与所述软件运行方式数量相同,且,所述终端集合与所述软件运行方式一一对应,即本发明为每一软件运行方式配置的终端,会分属于每类分类集合,这样可以保证同一软件运行方式对应的终端能够涉及不同的分类集合,选取的终端分布更均匀,相比于现有技术中随机选取的方式,可以避免由于终端选取不均匀而带来的软件测试准确度较低的问题,进而使得依据软件测试结果进行软件更新的准确度也较高。进一步,本发明中,终端集合中的终端获取的软件更新数据中仅包含该终端执行其对应的软件运行方式时所需的更新数据,即每一终端仅需安装同一软件的一个实现方案对应的软件更新数据,避免了采用在一终端上安装包括同一软件的多个实现方案的软件更新数据的方式,带来的该终端上该软件占用资源较大,该软件对应的后台服务器维护负担较大的问题。进一步的,本发明中,每一终端仅需安装同一软件的一个实现方案对应的软件更新数据,避免了将同一软件的多个实现方案均写入该软件更新数据中,并选取出一个实现方案让一终端运行的方式而带来的开发测试管理成本较高的问题。
可选地,在上述软件测试方法的实施例的基础上,参照图3,步骤S12可以包括:
S31、按照多个终端启动所述目标软件的顺序,确定每一所述终端的执行顺序。
本实施例中,选取的终端应是活跃的终端,即用户经常打开该终端上的目标软件。选取活跃的终端,该终端上的目标软件运行频率较高,容易获取到目标软件的运行数据,则可以使用目标软件的运行数据进行测试。若选取的终端是非活跃终端,用户打开该目标软件的次数较少,不容易获取到目标软件的运行数据,则测试时可使用的数据较少,不利于软件测试。
终端是否活跃,可以是按周检测的,若用户在上一周打开过该软件,则认为是活跃,若用户未打开过,则认为是非活跃。
在选取的终端是活跃的终端时,对终端进行处理时,处理顺序是多个终端启动所述目标软件的顺序。
S32、对于每一待执行的终端,依据所述终端的终端属性信息和每一所述终端分类维度的所有参考值的比对结果,确定所述终端对应的分类集合。
在实际应用中,所述终端的终端属性信息包括每一所述终端分类维度的实际值。则步骤S12具体可以包括:
按照预先设定的终端分类维度的分析顺序,依次确定出包括与所述终端分类维度的实际值匹配的参考值的分类集合,并确定为所述终端对应的分类集合。
本实施例中,预先设定的终端分类维度的分析顺序,如分析顺序可以是地域、运营商、系统版本和机型。其中,地域、运营商、系统版本和机型均设置有对应的数量要求,如选取的地域中,广东的占比为5%,总数为10W,浙江的占比为4%,总数为8W。
对于一个终端,终端的终端属性信息包括每一所述终端分类维度的实际值,首先确定该终端在地域下的实际值,如为广州,然后在分析在运营商下的实际值,如为联通,在分析在系统版本下的实际值,如为系统版本8,最后分析在机型下的实际值,如为华为,该终端对应的分类集合为:广州、联通、系统版本8和华为。
S33、依据预先设定的终端与所述目标软件的软件运行方式的对应关系,确定所述终端对应的软件运行方式。
本实施例中,预先设定的终端与所述目标软件的软件运行方式的对应关系,如终端A、Q、W、E、R、T、Y等采用软件运行方式A,终端Z、X、C、V、B、N、M等采用软件运行方式B。
直接查找对应关系,即可得到终端对应的软件运行方式。
S34、将对应于同一分类集合和同一软件运行方式的终端组合成一终端集合。
本实施例中,通过步骤S31-S33确定了终端对应的分类集合和软件运行方式,将将对应于同一分类集合和同一软件运行方式的终端组合成一终端集合。
需要说明的是,本实施例中,假设分类集合的个数为20个,软件运行方式有两种,则最终确定的终端集合的个数为20*2=40个,前20个终端集合执行一种软件运行方式,另外20个,执行另一种软件运行方式。其中,前20个终端集合包括每一个分类集合对应的一个终端集合。
在实际应用中,步骤S34具体可以通过下述步骤实现:
1、获取对应于同一分类集合和同一软件运行方式的终端的终端数量;
2、若所述数量大于预设阈值,则按照所述终端的执行顺序,从对应于同一分类集合和同一软件运行方式的终端中,筛选出终端总数量符合所述预设阈值的终端,并组合成终端集合。
具体的,终端集合中的终端数量是有限制的,如不大于预设阈值,上述给出了一个实施例,广东的占比为5%,总数为10W,浙江的占比为4%,总数为8W。当在进行地域分析时,若达到10W,则停止为广东分配终端,然后在10W个终端中,进行下一终端分类维度的分析,如分析在运营商下的实际值,如为联通,若超了限定值,则分析在系统版本下的实际值,如为系统版本8,若超了限定值,则分析在机型下的实际值,如为华为,若超了限定值,则说明本次终端数量选取达到上限。如最终同时满足广州、联通、系统版本8和华为这四个维度的终端数量为5W。
本实施例中,按照终端启动所述目标软件的顺序,对活跃的终端进行分析,确定其对应的分类集合和软件运行方式,从而能够选取出两组无差别的终端集合,分别用于执行不同的软件运行方式,实现在相同的运行环境下,不同的软件运行方式的测试,由于消除了运行环境的影响,采集的测试数据更客观,从而使得软件测试结果更准确。另外,本发明通过预先设定的终端分类维度的分析顺序,对终端进行分析,分析方法简单,能够加快终端确定的速度。
可选地,在上述软件测试方法的实施例的基础上,本发明的另一实施例中提供了一种软件测试装置,参照图4,可以包括:
第一数据获取模块11,用于获取预先设定的多个包括相同的终端分类维度及该终端分类维度对应的参考值的分类集合,不同的所述分类集合之间至少有同一个所述终端分类维度的参考值不同;
第二数据获取模块12,用于获取目标软件的多种软件运行方式;
运行确定模块13,用于确定每个所述分类集合对应的多个终端,并将所述多个终端生成多个终端集合,所述终端集合的个数与所述软件运行方式数量相同,且,所述终端集合与所述软件运行方式一一对应;
软件更新模块14,用于控制所述终端集合中的终端获取软件更新数据并运行,所述软件更新数据中仅包含该终端执行其对应的软件运行方式时所需的更新数据;
软件测试模块15,用于获取各个终端进行软件更新后的数据,并作为软件测试结果。
进一步,所述软件更新模块包括:
数据推送子模块,用于推送所述目标软件的软件待更新信息至所述终端集合中的终端;
数据获取子模块,用于在接收到所述终端反馈的更新指令后,获取为所述终端集合分配的软件运行方式的软件更新数据;所述软件更新数据中仅包含该终端执行其对应的软件运行方式时所需的更新数据;
数据更新子模块,用于发送所述软件更新数据至所述终端,以使所述终端依据所述软件更新数据进行所述目标软件的更新操作。
进一步,所述运行确定模块包括:
顺序确定子模块,用于按照多个终端启动所述目标软件的顺序,确定每一所述终端的执行顺序;
维度集确定子模块,用于对于每一待执行的终端,依据所述终端的终端属性信息和每一所述终端分类维度的所有参考值的比对结果,确定所述终端对应的分类集合;
运行确定子模块,用于依据预先设定的终端与所述目标软件的软件运行方式的对应关系,确定所述终端对应的软件运行方式;
集合确定子模块,用于将对应于同一分类集合和同一软件运行方式的终端组合成一终端集合。
进一步,所述终端的终端属性信息包括每一所述终端分类维度的实际值;
所述维度集确定子模块具体用于:
按照预先设定的终端分类维度的分析顺序,依次确定出包括与所述终端分类维度的实际值匹配的参考值的分类集合,并确定为所述终端对应的分类集合。
进一步,所述集合确定子模块具体用于:
获取对应于同一分类集合和同一软件运行方式的终端的终端数量;
若所述数量大于预设阈值,则按照所述终端的执行顺序,从对应于同一分类集合和同一软件运行方式的终端中,筛选出终端总数量符合所述预设阈值的终端,并组合成终端集合。
进一步,所述分类集合包括的终端分类维度包括:运营商、地域、终端机型和终端系统版本。
本实施例中,在进行目标软件更新时,会设定多个分类集合和目标软件的多种软件运行方式,确定每个所述分类集合对应的多个终端,并将所述多个终端生成多个终端集合,所述终端集合的个数与所述软件运行方式数量相同,且,所述终端集合与所述软件运行方式一一对应,即本发明为每一软件运行方式配置的终端,会分属于每类分类集合,这样可以保证同一软件运行方式对应的终端能够涉及不同的分类集合,选取的终端分布更均匀,相比于现有技术中随机选取的方式,可以避免由于终端选取不均匀而带来的软件测试准确度较低的问题,进而使得依据软件测试结果进行软件更新的准确度也较高。进一步,本发明中,终端集合中的终端获取的软件更新数据中仅包含该终端执行其对应的软件运行方式时所需的更新数据,即每一终端仅需安装同一软件的一个实现方案对应的软件更新数据,避免了采用在一终端上安装包括同一软件的多个实现方案的软件更新数据的方式,带来的该终端上该软件占用资源较大,该软件对应的后台服务器维护负担较大的问题。进一步的,本发明中,每一终端仅需安装同一软件的一个实现方案对应的软件更新数据,避免了将同一软件的多个实现方案均写入该软件更新数据中,并选取出一个实现方案让一终端运行的方式而带来的开发测试管理成本较高的问题。
需要说明的是,本实施例中的各个模块和子模块的工作过程,请参照上述实施例中的相应说明,在此不再赘述。
可选地,在上述软件测试方法及装置的实施例的基础上,本发明的另一实施例中提供了一种电子设备,包括:存储器和处理器;
其中,所述存储器用于存储程序;
处理器调用程序并用于:
获取预先设定的多个包括相同的终端分类维度及该终端分类维度对应的参考值的分类集合,不同的所述分类集合之间至少有同一个所述终端分类维度的参考值不同;
获取目标软件的多种软件运行方式;
确定每个所述分类集合对应的多个终端,并将所述多个终端生成多个终端集合,所述终端集合的个数与所述软件运行方式数量相同,且,所述终端集合与所述软件运行方式一一对应;
控制所述终端集合中的终端获取软件更新数据并运行,所述软件更新数据中仅包含该终端执行其对应的软件运行方式时所需的更新数据;
获取各个终端进行软件更新后的数据,并作为软件测试结果。
进一步,控制所述终端集合中的终端获取软件更新数据并运行,包括:
推送所述目标软件的软件待更新信息至所述终端集合中的终端;
在接收到所述终端反馈的更新指令后,获取为所述终端集合分配的软件运行方式的软件更新数据;所述软件更新数据中仅包含该终端执行其对应的软件运行方式时所需的更新数据;
发送所述软件更新数据至所述终端,以使所述终端依据所述软件更新数据进行所述目标软件的更新操作。
进一步,确定每个所述分类集合对应的多个终端集合,并为每一所述终端集合分配软件运行方式,包括:
按照多个终端启动所述目标软件的顺序,确定每一所述终端的执行顺序;
对于每一待执行的终端,依据所述终端的终端属性信息和每一所述终端分类维度的所有参考值的比对结果,确定所述终端对应的分类集合;
依据预先设定的终端与所述目标软件的软件运行方式的对应关系,确定所述终端对应的软件运行方式;
将对应于同一分类集合和同一软件运行方式的终端组合成一终端集合。
进一步,所述终端的终端属性信息包括每一所述终端分类维度的实际值;
依据所述终端的终端属性信息和每一所述终端分类维度的所有参考值的比对结果,确定所述终端对应的分类集合,包括:
按照预先设定的终端分类维度的分析顺序,依次确定出包括与所述终端分类维度的实际值匹配的参考值的分类集合,并确定为所述终端对应的分类集合。
进一步,将对应于同一分类集合和同一软件运行方式的终端组合成一终端集合,包括:
获取对应于同一分类集合和同一软件运行方式的终端的终端数量;
若所述数量大于预设阈值,则按照所述终端的执行顺序,从对应于同一分类集合和同一软件运行方式的终端中,筛选出终端总数量符合所述预设阈值的终端,并组合成终端集合。
进一步,所述分类集合包括的终端分类维度包括:运营商、地域、终端机型和终端系统版本。
本实施例中,在进行目标软件更新时,会设定多个分类集合和目标软件的多种软件运行方式,确定每个所述分类集合对应的多个终端,并将所述多个终端生成多个终端集合,所述终端集合的个数与所述软件运行方式数量相同,且,所述终端集合与所述软件运行方式一一对应,即本发明为每一软件运行方式配置的终端,会分属于每类分类集合,这样可以保证同一软件运行方式对应的终端能够涉及不同的分类集合,选取的终端分布更均匀,相比于现有技术中随机选取的方式,可以避免由于终端选取不均匀而带来的软件测试准确度较低的问题,进而使得依据软件测试结果进行软件更新的准确度也较高。进一步,本发明中,终端集合中的终端获取的软件更新数据中仅包含该终端执行其对应的软件运行方式时所需的更新数据,即每一终端仅需安装同一软件的一个实现方案对应的软件更新数据,避免了采用在一终端上安装包括同一软件的多个实现方案的软件更新数据的方式,带来的该终端上该软件占用资源较大,该软件对应的后台服务器维护负担较大的问题。进一步的,本发明中,每一终端仅需安装同一软件的一个实现方案对应的软件更新数据,避免了将同一软件的多个实现方案均写入该软件更新数据中,并选取出一个实现方案让一终端运行的方式而带来的开发测试管理成本较高的问题。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种软件测试方法,其特征在于,包括:
获取预先设定的多个包括相同的终端分类维度及该终端分类维度对应的参考值的分类集合,不同的所述分类集合之间至少有同一个所述终端分类维度的参考值不同;
获取目标软件的多种软件运行方式;
确定每个所述分类集合对应的多个终端,并将所述多个终端生成多个终端集合,所述终端集合的个数与所述软件运行方式数量相同,且,所述终端集合与所述软件运行方式一一对应;
控制所述终端集合中的终端获取软件更新数据并运行,所述软件更新数据中仅包含该终端执行其对应的软件运行方式时所需的更新数据;
获取各个终端进行软件更新后的数据,并作为软件测试结果。
2.根据权利要求1所述的软件测试方法,其特征在于,控制所述终端集合中的终端获取软件更新数据并运行,包括:
推送所述目标软件的软件待更新信息至所述终端集合中的终端;
在接收到所述终端反馈的更新指令后,获取为所述终端集合分配的软件运行方式的软件更新数据;所述软件更新数据中仅包含该终端执行其对应的软件运行方式时所需的更新数据;
发送所述软件更新数据至所述终端,以使所述终端依据所述软件更新数据进行所述目标软件的更新操作。
3.根据权利要求1所述的软件测试方法,其特征在于,确定每个所述分类集合对应的多个终端,并将所述多个终端生成多个终端集合,包括:
按照多个终端启动所述目标软件的顺序,确定每一所述终端的执行顺序;
对于每一待执行的终端,依据所述终端的终端属性信息和每一所述终端分类维度的所有参考值的比对结果,确定所述终端对应的分类集合;
依据预先设定的终端与所述目标软件的软件运行方式的对应关系,确定所述终端对应的软件运行方式;
将对应于同一分类集合和同一软件运行方式的终端组合成一终端集合。
4.根据权利要求3所述的软件测试方法,其特征在于,所述终端的终端属性信息包括每一所述终端分类维度的实际值;
依据所述终端的终端属性信息和每一所述终端分类维度的所有参考值的比对结果,确定所述终端对应的分类集合,包括:
按照预先设定的终端分类维度的分析顺序,依次确定出包括与所述终端分类维度的实际值匹配的参考值的分类集合,并确定为所述终端对应的分类集合。
5.根据权利要求3所述的软件测试方法,其特征在于,将对应于同一分类集合和同一软件运行方式的终端组合成一终端集合,包括:
获取对应于同一分类集合和同一软件运行方式的终端的终端数量;
若所述数量大于预设阈值,则按照所述终端的执行顺序,从对应于同一分类集合和同一软件运行方式的终端中,筛选出终端总数量符合所述预设阈值的终端,并组合成终端集合。
6.根据权利要求1所述的软件测试方法,其特征在于,所述分类集合包括的终端分类维度包括:运营商、地域、终端机型和终端系统版本。
7.一种软件测试装置,其特征在于,包括:
第一数据获取模块,用于获取预先设定的多个包括相同的终端分类维度及该终端分类维度对应的参考值的分类集合,不同的所述分类集合之间至少有同一个所述终端分类维度的参考值不同;
第二数据获取模块,用于获取目标软件的多种软件运行方式;
运行确定模块,用于确定每个所述分类集合对应的多个终端,并将所述多个终端生成多个终端集合,所述终端集合的个数与所述软件运行方式数量相同,且,所述终端集合与所述软件运行方式一一对应;
软件更新模块,用于控制所述终端集合中的终端获取软件更新数据并运行,所述软件更新数据中仅包含该终端执行其对应的软件运行方式时所需的更新数据;
软件测试模块,用于获取各个终端进行软件更新后的数据,并作为软件测试结果。
8.根据权利要求7所述的软件测试装置,其特征在于,所述软件更新模块包括:
数据推送子模块,用于推送所述目标软件的软件待更新信息至所述终端集合中的终端;
数据获取子模块,用于在接收到所述终端反馈的更新指令后,获取为所述终端集合分配的软件运行方式的软件更新数据;所述软件更新数据中仅包含该终端执行其对应的软件运行方式时所需的更新数据;
数据更新子模块,用于发送所述软件更新数据至所述终端,以使所述终端依据所述软件更新数据进行所述目标软件的更新操作。
9.根据权利要求7所述的软件测试装置,其特征在于,所述运行确定模块包括:
顺序确定子模块,用于按照多个终端启动所述目标软件的顺序,确定每一所述终端的执行顺序;
维度集确定子模块,用于对于每一待执行的终端,依据所述终端的终端属性信息和每一所述终端分类维度的所有参考值的比对结果,确定所述终端对应的分类集合;
运行确定子模块,用于依据预先设定的终端与所述目标软件的软件运行方式的对应关系,确定所述终端对应的软件运行方式;
集合确定子模块,用于将对应于同一分类集合和同一软件运行方式的终端组合成一终端集合。
10.一种电子设备,其特征在于,包括:存储器和处理器;
其中,所述存储器用于存储程序;
处理器调用程序并用于:
获取预先设定的多个包括相同的终端分类维度及该终端分类维度对应的参考值的分类集合,不同的所述分类集合之间至少有同一个所述终端分类维度的参考值不同;
获取目标软件的多种软件运行方式;
确定每个所述分类集合对应的多个终端,并将所述多个终端生成多个终端集合,所述终端集合的个数与所述软件运行方式数量相同,且,所述终端集合与所述软件运行方式一一对应;
控制所述终端集合中的终端获取软件更新数据并运行,所述软件更新数据中仅包含该终端执行其对应的软件运行方式时所需的更新数据;
获取各个终端进行软件更新后的数据,并作为软件测试结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010530751.XA CN111679986B (zh) | 2020-06-11 | 2020-06-11 | 一种软件测试方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010530751.XA CN111679986B (zh) | 2020-06-11 | 2020-06-11 | 一种软件测试方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111679986A true CN111679986A (zh) | 2020-09-18 |
CN111679986B CN111679986B (zh) | 2023-09-22 |
Family
ID=72454822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010530751.XA Active CN111679986B (zh) | 2020-06-11 | 2020-06-11 | 一种软件测试方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111679986B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115297366A (zh) * | 2022-08-03 | 2022-11-04 | 中国电信股份有限公司 | 应用程序的更新方法、装置及网络电视播放软件更新系统 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080168425A1 (en) * | 2007-01-05 | 2008-07-10 | Microsoft Corporation | Software testing techniques for stack-based environments |
JP2012164252A (ja) * | 2011-02-09 | 2012-08-30 | Ricoh Co Ltd | ソフトウェア更新システム及びソフトウェア更新管理方法 |
US20140089887A1 (en) * | 2012-09-27 | 2014-03-27 | Tata Consultancy Services Limited | Method and system for estimating size and effort of software assurance projects |
CN104348679A (zh) * | 2013-08-08 | 2015-02-11 | 阿里巴巴集团控股有限公司 | 一种分桶测试的方法、装置和系统 |
CN104966206A (zh) * | 2015-05-12 | 2015-10-07 | 百度在线网络技术(北京)有限公司 | 对移动应用进行灰度发布的方法、装置和系统 |
US20150287050A1 (en) * | 2014-04-07 | 2015-10-08 | Olaf Schmidt | Split testing framework |
CN106911515A (zh) * | 2017-03-20 | 2017-06-30 | 微鲸科技有限公司 | 基于用户分组的测试方法及装置 |
US20170316122A1 (en) * | 2016-04-27 | 2017-11-02 | Linkedin Corporation | Model-based matching for removing selection bias in quasi-experimental testing of mobile applications |
CN107402881A (zh) * | 2017-04-14 | 2017-11-28 | 阿里巴巴集团控股有限公司 | 一种项目测试的选取方法及装置 |
US20180091609A1 (en) * | 2016-09-28 | 2018-03-29 | Linkedin Corporation | Following metrics for a/b testing |
CN108446222A (zh) * | 2018-03-05 | 2018-08-24 | 百度在线网络技术(北京)有限公司 | 应用测试方法、装置及设备 |
US20180322038A1 (en) * | 2017-05-04 | 2018-11-08 | Microsoft Technology Licensing, Llc | Segmenting user population to manage dynamic software quality |
CN110119354A (zh) * | 2019-04-19 | 2019-08-13 | 平安普惠企业管理有限公司 | 基于测试用例生成的软件测试方法、装置及电子设备 |
CN110838031A (zh) * | 2019-11-11 | 2020-02-25 | 深圳乐信软件技术有限公司 | 一种基于ABtest的数据运营方法和装置 |
-
2020
- 2020-06-11 CN CN202010530751.XA patent/CN111679986B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080168425A1 (en) * | 2007-01-05 | 2008-07-10 | Microsoft Corporation | Software testing techniques for stack-based environments |
JP2012164252A (ja) * | 2011-02-09 | 2012-08-30 | Ricoh Co Ltd | ソフトウェア更新システム及びソフトウェア更新管理方法 |
US20140089887A1 (en) * | 2012-09-27 | 2014-03-27 | Tata Consultancy Services Limited | Method and system for estimating size and effort of software assurance projects |
CN104348679A (zh) * | 2013-08-08 | 2015-02-11 | 阿里巴巴集团控股有限公司 | 一种分桶测试的方法、装置和系统 |
US20150287050A1 (en) * | 2014-04-07 | 2015-10-08 | Olaf Schmidt | Split testing framework |
CN104966206A (zh) * | 2015-05-12 | 2015-10-07 | 百度在线网络技术(北京)有限公司 | 对移动应用进行灰度发布的方法、装置和系统 |
US20170316122A1 (en) * | 2016-04-27 | 2017-11-02 | Linkedin Corporation | Model-based matching for removing selection bias in quasi-experimental testing of mobile applications |
US20180091609A1 (en) * | 2016-09-28 | 2018-03-29 | Linkedin Corporation | Following metrics for a/b testing |
CN106911515A (zh) * | 2017-03-20 | 2017-06-30 | 微鲸科技有限公司 | 基于用户分组的测试方法及装置 |
CN107402881A (zh) * | 2017-04-14 | 2017-11-28 | 阿里巴巴集团控股有限公司 | 一种项目测试的选取方法及装置 |
US20180322038A1 (en) * | 2017-05-04 | 2018-11-08 | Microsoft Technology Licensing, Llc | Segmenting user population to manage dynamic software quality |
CN108446222A (zh) * | 2018-03-05 | 2018-08-24 | 百度在线网络技术(北京)有限公司 | 应用测试方法、装置及设备 |
CN110119354A (zh) * | 2019-04-19 | 2019-08-13 | 平安普惠企业管理有限公司 | 基于测试用例生成的软件测试方法、装置及电子设备 |
CN110838031A (zh) * | 2019-11-11 | 2020-02-25 | 深圳乐信软件技术有限公司 | 一种基于ABtest的数据运营方法和装置 |
Non-Patent Citations (1)
Title |
---|
姜浩;: "大数据处理技术在交互设计中的应用", no. 22 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115297366A (zh) * | 2022-08-03 | 2022-11-04 | 中国电信股份有限公司 | 应用程序的更新方法、装置及网络电视播放软件更新系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111679986B (zh) | 2023-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108415830B (zh) | 一种软件测试用例的生成方法及装置 | |
CN114610499A (zh) | 任务调度方法、装置、计算机可读存储介质及电子设备 | |
CN111045879B (zh) | 压力测试报告的生成方法、装置及存储介质 | |
CN108595178B (zh) | 一种基于hook的数据采集方法、装置及设备 | |
CN111104324A (zh) | 测试用例的生成方法、生成装置及计算机可读存储介质 | |
CN111679986A (zh) | 一种软件测试方法、装置及电子设备 | |
CN110737458A (zh) | 一种代码更新方法和相关装置 | |
CN111338926A (zh) | 补丁的测试方法、装置及电子设备 | |
CN110780864A (zh) | 类方法替换的控制方法及装置、存储介质及电子设备 | |
CN110968507A (zh) | 覆盖率统计方法及装置 | |
CN109213513B (zh) | 软件份额占比的确定方法、装置及计算机可读存储介质 | |
CN106681894B (zh) | 智能设备的监控方法和监控装置 | |
CN113934642B (zh) | 一种基于动静态结合的软件兼容性测试方法 | |
CN115114135B (zh) | 软件数据测试方法、装置、设备、介质及产品 | |
CN113342664B (zh) | 拨测方法、装置、存储介质及计算机设备 | |
CN114385493A (zh) | 一种性能测试方法、装置、电子设备及存储介质 | |
CN112181811B (zh) | 一种应用稳定性测试方法 | |
CN113849484A (zh) | 一种大数据组件升级方法、装置、电子设备及存储介质 | |
CN110489201B (zh) | 容器性能测试装置及方法 | |
CN113590447A (zh) | 埋点处理方法和装置 | |
CN114443461A (zh) | 一种代码覆盖信息确定方法、装置、系统及介质 | |
CN112650678A (zh) | 一种基于Jenkins的音视频加速卡产品自动化测试系统及方法 | |
CN112346994A (zh) | 一种测试信息关联方法、装置、计算机设备及存储介质 | |
CN111666155A (zh) | 一种资源配置文件管理方法、装置、设备及介质 | |
CN111030874A (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 |