CN110046100A - 一种分组测试的方法、电子设备及介质 - Google Patents

一种分组测试的方法、电子设备及介质 Download PDF

Info

Publication number
CN110046100A
CN110046100A CN201910300281.5A CN201910300281A CN110046100A CN 110046100 A CN110046100 A CN 110046100A CN 201910300281 A CN201910300281 A CN 201910300281A CN 110046100 A CN110046100 A CN 110046100A
Authority
CN
China
Prior art keywords
test
strategy
grouping
screening
group
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
Application number
CN201910300281.5A
Other languages
English (en)
Other versions
CN110046100B (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.)
Shanghai Zhangmen Science and Technology Co Ltd
Original Assignee
Shanghai Zhangmen Science and Technology Co Ltd
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 Shanghai Zhangmen Science and Technology Co Ltd filed Critical Shanghai Zhangmen Science and Technology Co Ltd
Priority to CN201910300281.5A priority Critical patent/CN110046100B/zh
Publication of CN110046100A publication Critical patent/CN110046100A/zh
Application granted granted Critical
Publication of CN110046100B publication Critical patent/CN110046100B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06F11/3672Test management
    • G06F11/3688Test 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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供了一种分组测试的方法、电子设备及介质,该方法包括:接收测试请求;根据预设的筛选策略获取至少一个分组策略作为与测试请求对应的当前分组策略;根据当前分组策略进行与测试请求相匹配的分组;执行与分组结果相匹配的测试以响应测试请求。

Description

一种分组测试的方法、电子设备及介质
技术领域
本申请涉及计算机技术领域,尤其涉及分组测试的方法、电子设备及介质。
背景技术
随着互联网技术的飞速发展,为了获得满意产品的效果需要对产品进行大批量的测试。在测试过程中,为了确定最佳方案,通常会根据具体问题进行分组测试,针对同一问题设置不同方案进行分组测试,根据实际效果确定最终方案。进行分组测试时,开发人员经常使用if-else代码进行分组测试,将符合分组条件的用户挑选出来执行对应的测试,即开发人员根据测试需求预先编写好完整的测试代码和对应的分组代码,再进行测试。
然而,使用这样的测试方法进行测试时,每次测试时开发人员都需要根据测试需求编写分组代码,当测试中的分组出现重复时,开发人员也必须重复地编写同样的分组代码,这样的重复编写不但降低了测试的效率,而且给开发人员造成了大量的重复劳动,费时费力。
申请内容
本申请提供了一种分组测试的方法、电子设备及介质,用以避免重复编写分组代码导致测试效率低,开发人员重复劳动,费时费力问题。
本申请实施例采用下述技术方案:
本申请实施例提供一种分组测试的方法,其特征在于,包括:
接收测试请求;
根据预设的筛选策略获取至少一个分组策略作为与测试请求对应的当前分组策略;
根据当前分组策略进行与测试请求相匹配的分组;
执行与分组结果相匹配的测试以响应测试请求。
优选地,对于当前分组策略中的每一个分组策略,
根据预设的筛选策略获取至少一个分组策略作为与测试请求对应的当前分组策略,包括:
判断预置的分组策略库中是否存在与预设的筛选策略相匹配的至少一个分组策略;
若存在,则将与预设的筛选策略相匹配的分组策略作为当前分组策略中的一个分组策略;
若不存在,则根据预设的筛选策略获取新的分组策略,以及将新的分组策略作为当前分组策略中的一个分组策略。
优选地,方法还包括:
将新的分组策略更新至分组策略库中。
优选地,所述的方法还包括:将当前分组策略发送至分组测试模块,分组测试模块设置在待测试端;
通过分组测试模块执行以下步骤:
根据当前分组策略进行与测试请求相匹配的分组;
执行与分组结果相匹配的测试以响应测试请求。
优选地,所述的方法还包括:
分组测试模块按预定的获取策略接收当前分组策略。
优选地,筛选策略包括筛选参数,筛选参数用于获取当前分组策略。
优选地,筛选策略还包括筛选顺序,筛选顺序表示筛选参数的排列顺序。
优选地,测试请求包括待分组信息,根据当前分组策略进行与测试请求相匹配的分组,包括:
从测试请求中获取对应的待分组信息;
利用当前分组策略根据待分组信息对测试请求进行分组。
优选地,分组策略中包括与分组结果对应的测试标识,测试标识用于表征与分组结果对应的测试,
执行与分组结果相匹配的测试以响应测试请求,包括:
根据分组结果获取对应的测试标识作为当前测试标识;
执行与当前测试标识相匹配的测试以响应测试请求。
优选地,测试对应地设置有测试识别信息,
执行与当前测试标识相匹配的测试以响应测试请求,包括:
获取测试识别信息与当前测试标识相匹配的测试作为当前测试;
执行当前测试以响应测试请求。
本申请实施例提供一种计算机可读存储介质,其上存储有计算机可读指令,计算机可读指令可被处理器执行以实现上述任一项的分组测试的方法。
本申请实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,处理器执行计算机程序时实现上述任一项的分组测试的方法。
由于本实施例中接收测试请求;根据预设的筛选策略获取至少一个分组策略作为与测试请求对应的当前分组策略;根据当前分组策略进行与测试请求相匹配的分组;执行与分组结果相匹配的测试以响应测试请求,这样的分组测试方法使得能够直接根据预设的筛选策略获取到当前分组策略,进行对应的分组和测试,避免了测试前需要重复编写分组代码造成的重复劳动,既节约了大量的时间,又提高了测试的效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的分组测试的方法的流程图。
图2为本申请实施例提供的分组测试的方法的流程图。
图3为一种本申请实施例提供的分组测试的示意性应用场景。
图4为一种本申请实施例提供的分组测试框架的原理示意图。
图5为本申请实施例提供的分组测试系统的结构示意图。
具体实施方式
本申请提供了一种分组测试的方法、电子设备及介质,用以避免重复编写分组代码导致测试效率低,重复劳动,费时费力问题。
由于进行分组测试时使用到的分组策略经常会出现重叠,例如,测试1为基于性别的分组,男用户为A组,女用户为B组;测试2为基于年龄的分组,大于等于30岁为A组,小于30岁为B组;测试3为大于等于30岁的男用户为A组,小于30岁的女用户为B组,综上可知,测试3中的分组策略与测试1和测试2发生了重叠。为避免重复劳动,本申请提供的分组测试方法将对测试请求进行分组的分组策略和用于测试的测试策略分开处理,独立地进行分组和测试。
具体地,本申请中通过预设的筛选策略来获取分组策略,例如分组模型,使得在进行分组测试时能够调用分组模型进行分组,进而实现分组模型的复用,其中,被调用的分组模型可以包括预先编写存储的分组模型,也可以包括历史分组测试中使用过的分组模型,这样的分组测试方法既避免了每次分组测试都需要重新编写分组模型的重复劳动,又提高了测试效率。
例如,当前测试时使用到的分组策略与历史测试中的分组策略发生重叠时,即测试1和测试2为历史测试,测试3为当前测试时,测试3的分组策略与测试1的分组策略、测试2的分组策略发生重叠,此时,本申请提供的分组测试方法能够直接调用历史测试中的分组模型进行当前测试中的分组处理,如进行测试3的分组时,即按年龄和性别分组,能够直接调用测试1和测试2的分组模型,即测试1中基于性别的分组模型和测试2中基于年龄的分组模型。又如,在当前测试的过程中对预先设定好的筛选策略发生改变时,本申请提供的分组测试方法还能够及时地根据改变后的筛选策略在历史测试使用过的分组模型进行中筛选,若存在对应的分组模型,直接调用以进行分组,无需重新编写分组模型。本申请中的分组操作简单快速,既避免了反复修改代码,费时费力的问题,又能提高测试的效率,节约时间成本。
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下,参照附图对本申请的终端中应用获取地理位置信息的方法、电子设备及介质进行详细阐述。
本申请实施例1的执行主体为测试端,即能够实现本申请实施例1中所记载的技术方案的终端设备,例如计算机、平板电脑、手机、服务器等。
图1为本申请实施例提供的分组测试的方法的流程图。
如图1所示,本实施例1中分组测试的方法包括以下步骤:
步骤S1-1,接收测试请求。
本实施例中,测试请求为测试端接收到的测试请求,该测试请求用于让测试端根据接收到的测试请求进行分组测试。
步骤S1-2,根据预设的筛选策略获取至少一个分组策略作为与测试请求对应的当前分组策略。
其中,当前分组策略为用于根据接收到的测试请求进行分组的策略。
筛选策略为用于筛选获取当前分组策略的策略。
在根据筛选策略获取当前分组策略时,由于获取到的分组策略可以是一个,也可以是多个,因此,在进行筛选时,为了保证能够全面的筛选出分组策略,可以包括针对当前分组策略中的每一个分组策略进行筛选,
根据预设的筛选策略获取至少一个分组策略作为与测试请求对应的当前分组策略,包括:
判断预置的分组策略库中是否存在与预设的筛选策略相匹配的至少一个分组策略;
若存在,则将与预设的分组策略相匹配的分组策略作为当前分组策略中的一个分组策略;
若不存在,则根据预设的筛选策略获取新的分组策略,以及将新的分组策略作为当前分组策略中的一个分组策略。
其中,分组策略用于执行对测试请求的分组,本实施例中分组策略可以是分组模型,例如分组代码。
分组策略库中包含至少一个预置的分组策略,分组策略可以包括预置的分组代码,可以是根据通用的分组参数编写对应的分组代码,将编写好的分组代码集中存储在分组策略库中,也可以是每次分组测试后将分组代码存储到分组策略库中。
例如,根据筛选策略需要筛选出基于年龄、性别以及区域的分组策略,此时,获取的当前分组策略中会包括分组策略和性别分组策略,为了能够全面地对在分组策略库中进行筛选,针对当前分组策略中的每一个分组策略进行筛选,如针对基于年龄的分组策略,判断分组策略库中是否存在,若存在,则将分组策略库中的年龄分组策略作为当前分组策略中的一个分组策略,若不存在,则根据年龄获取新的分组策略,将获取到的信息分组策略作为当前分组策略中的一个分组策略。对于基于性别和区域的分组策略采用与上述基于年龄的分组策略相同的获取步骤,此处不再一一赘述。
需要说明的是,根据预设的筛选策略获取新的分组策略,可以重新编写相关的分组策略,也可以是导入预先编写好的相关的分组策略。
由于具有筛选策略对分组策略库进行筛选的过程,使得能够优先获取已有的分组策略作为当前分组策略,避免了不必要的重复编写,同时,针对当前分组策略中的每一个分组策略进行判断,避免出现遗漏,保证了筛选过程的准确性和有效性。
进一步地,筛选策略可以包括筛选参数、筛选顺序、筛选时间、筛选目标中的一种或多种。
具体地,筛选参数用于对获取当前分组策略,当筛选策略包括筛选参数时,可以包括根据筛选参数根据对分组策略进行筛选,例如,分组策略设置有分组策略标识,将与筛选参数相匹配的分组策略标识对应的分组策略筛选出来,作为当前分组策略。
其中,筛选参数为用于对分组策略进行筛选的参数,该参数可以是具体的直接用于筛选的参数,也可以是用于表示筛选目的的参数。
例如,当为具体的参数时,可以为根据性别分组,男性用户为A组,女性用户为B组;根据年龄分组,大于等于30岁为A组,小于30岁为B组;根据性别和年龄的分组,大于等于30岁的男性用户为A组,小于30岁的女性用户为B组;也可以为参数为数量百分比的分组,60%为A组,40%为B组,即对测试请求取随机数,随机数是0-59为A组,随机数是60-99的为B组;还可以为基于时间分组,0:00-12:00为A组,12:01-23:59为B组;当为用于表示筛选目的的参数时,可以为基于是否具有购买需求分组,有购买需求的为A组,没有购买需求的为B组。
通过筛选参数对分组策略进行筛选,使得筛选过程简单明了,能够对筛选过程有直观的反映。
筛选顺序表示筛选参数的排列顺序,当筛选策略包括筛选顺序时,可以包括按照筛选顺序根据筛选参数根据对分组策略进行筛选。
其中,筛选顺序可以通过为按预定的筛选顺序排列的筛选参数列表的方式展现,筛选时按照筛选参数的列表顺序筛选出对应的当前分组策略,从而使得根据筛选策略筛选出的分组策略为按筛选顺序排列的分组策略。
例如,筛选顺序可以为年龄、性别、区域,根据筛选顺序获取到的当前分组策略为依次排列的年龄分组策略、性别分组策略、区域分组策略。
通过筛选顺序对分组策略进行排序,使得能够有效地对后续的分组过程进行控制。
当筛选策略包括筛选时间时,筛选时间用于对筛选过程中的时间进行控制,可以是进行筛选的起始时间和/或筛选参数的使用时长,也可以是其他能够对筛选过程中的时间进行控制的筛选时间,例如,筛选时间可以是2019年1月1日12:00开始对测试请求进行筛选,2019年1月3日12:00结束对测试请求进行筛选,也可以是前两小时基于性别筛选后两小时基于性别和时间筛选。
步骤S1-3,根据当前分组策略进行与测试请求相匹配的分组。
本实施例中,测试请求中包含了待分组信息,该待分组信息为用于进行分组的信息,可以是发出测试请求的用户的标识信息,如用户的性别、年龄、工作、地域等;可以是发出测试请求的设备的识别信息,如设备型号、设备位置、IP地址、唯一设备编号等;也可以是用户或设备的操作信息,如用户的搜索关键词、点击量、购买量、预定时间段内的接口调用次数等;还可以是其他任意能够用于分组的信息。这些待分组信息可以是根据分组策略设定的。
由于执行分组时使用待分组信息进行分组,因此,待分组信息可以包括与筛选参数相对应的信息,以便有效完成分组,例如筛选参数包括年龄和性别,则待分组信息中包括年龄信息和性别信息。
为了能够快速获取信息进行分组,提高分组的效率,待分组信息中与筛选参数相对应的信息还可以按照筛选顺序排列,例如,筛选策略包括依次排列的年龄筛选参数和性别筛选参数,则待分组信息中包括依次排列的年龄信息和性别信息。
分组策略可以是针对具体的参数进行分组的分组代码,例如针对性别进行分组的分组代码;也可以是针对具体的分组目标进行分组的分组代码,例如针对是否具有购买需求进行分组,此时的分组代码中可以包含多个针对具体的参数进行分组的分组代码。
具体地,根据当前分组策略进行与测试请求相匹配的分组,包括:
从测试请求中获取对应的待分组信息;
利用当前分组策略根据待分组信息对测试请求进行分组。
例如,当前分组策略包括依次排列的年龄分组代码和性别分组代码,进行分组时,从接受到的分组请求中获取年龄信息和性别信息,分组代码和性别分组代码依次根据年龄信息和性别信息进行分组。
需要说明的是,接收到的测试请求可以是一个也可以多个测试请求,分别根据这些测试请求进行分组。
步骤S1-4,执行与分组结果相匹配的测试以响应测试请求。
本实施例中,不同的分组对应有不同的测试内容,根据测试请求的分组结果对该测试请求执行相应的测试。例如,测试请求对应的分组结果为男性用户,则分组结果为A组,执行A测试;测试请求对应的分组结果为女性用户,则分组结果为B组,执行B测试。
由于本实施例中接收测试请求;根据预设的筛选策略获取至少一个分组策略作为与测试请求对应的当前分组策略;根据当前分组策略进行与测试请求相匹配的分组;执行与分组结果相匹配的测试以响应测试请求,这样的分组测试方法使得能够直接根据预设的筛选策略获取到当前分组策略,进行对应的分组和测试,避免了测试前需要重复编写分组代码造成的重复劳动,既节约了大量的时间,又提高了测试的效率。
<实施例2>
在实施例2中,对于与实施例1中相同的方法,使用相同的符号并省略相同的说明。
图2为本申请实施例提供的分组测试的方法的流程图。
如图2所示,本实施例2中分组测试的方法包括以下步骤:
步骤S2-1,获取与筛选策略相匹配的当前分组策略以及测试策略。
本实施例中的,筛选策略为预先设置好的用于获取当前分组策略的策略,包括按预定的筛选顺序排列的筛选参数列表。
分组策略包括根据筛选参数列表从分组策略库中筛选出的分组代码。
测试策略为根据分组需求设置的测试代码,不同的分组结果对应不同的测试代码测试策略为根据分组测试的需求设置的测试模型,例如测试代码。测试策略可以为多个,这些测试策略可以是针对同一测试内容设置的多个不同方案的测试代码,例如,测试内容为标题位置对点击率的影响,多个方案的测试代码包括测试标题在页面顶部对点击率的影响的测试代码、测试标题在页面中间位置对点击率的影响的测试代码、测试标题在页面左侧对点击率的影响的测试代码、测试标题在页面右侧对点击率的影响的测试代码等;这些测试策略也可以是针对多个测试内容设置的多个不同方案的测试代码,例如,测试内容包括标题位置对点击率的影响、标题字体大小对点击率的影响、标题颜色对点击率的影响,多个方案的测试代码包括测试标题在页面中间位置对点击率的影响的测试代码、测试标题在页面中间位置对点击率的影响的测试代码、测试标题字体为大号对点击率的影响的测试代码、测试标题字体为小号对点击率的影响的测试代码、测试标题字体为黑色对点击率的影响的测试代码、测试标题字体为红色对点击率的影响的测试代码等。
具体地,本申请实施例中获取当前分组策略时包括以下步骤:
步骤3-1,对于当前分组策略中的每一个分组策略,判断预置的分组策略库中是否存在与预设的筛选策略相匹配的至少一个分组策略,若存在则进入步骤3-2,若不存在则进入步骤3-3。
本实施例中,进行判断时将筛选参数中的参数和/或用于表示筛选目的的参数与分组策略库中分组策略的分组识别信息进行比较,例如,参数为性别,分组策略库中分组策略对应的分组识别信息包括性别、年龄等,则判断为存在,否则判断为不存在;又如,筛选目标为是否具有购买需求,分组策略库中分组策略对应的分组识别信息包括,购买需求、性别、年龄等,则判断为存在,否则判断为不存在。
具体地,本实施例中,筛选策略包括按筛选顺序排列的筛选参数列表。进行判断时,按照筛选顺序根据筛选参数与分组策略库中分组策略的分组识别信息。
步骤3-2,将与预设的筛选策略相匹配的分组策略作为当前分组策略中的一个分组策略。
例如,当判断存在匹配的分组策略时,获取分组策略库中分组识别标识与筛选参数相匹配的分组策略作为当前分组策略中的一个分组策略,
步骤3-3,根据预设的筛选策略获取新的分组策略,以及将新的分组策略作为当前分组策略中的一个分组策略。
例如,当判断不存在匹配的分组策略时,根据筛选策略重新编写分组代码,将重新编写的分组代码作为当前分组策略中的一个分组策略。
当分组策略库中不存在对应的分组策略时,将重新编写的分组代码更新至分组策略库中,以便后期使用。
需要说明的是,本实施例中获取到的当前分组策略为按筛选顺序排列的分组策略。
本实施例中由于分组代码与测试代码是相互独立的,并且分组代码之间也是相互独立的,因此,能够单独对分组代码进行处理和调用,使得在测试的过程中具有极大的灵活性,实现分组代码的复用,提高了测试效率,避免了不必要的重复劳动。
进一步地,本实施例中由于将测试中新的分组代码更新至分组策略库中,使得分组策略库能够得到不断的扩充,进而使得以后的测试中能够使用的分组策略更为全面的,测试效率进一步得到提高。
步骤S2-2,从测试请求中获取对应的待分组信息。
步骤S2-3,利用当前分组策略对待分组信息进行分组。
具体地,根据待分组信息中与当前分组策略相匹配的信息对应地对测试请求进行分组。
在本实施例中,由于筛选策略包括按预定的筛选顺序排列的筛选参数列表,使得筛选出的分组策略为按筛选顺序排列的分组代码,进而在对待分组信息进行分组时按照筛选顺序根据待分组信息进行分组,例如,筛选参数列表为性别、年龄、地域,则进行分组时先根据性别信息进行分组,再根据年龄信息进行分组,最够根据地域信息进行分组。
本实施例中,分组策略还包括与分组结果对应的测试标识,该测试标识用于表征与分组结果对应的测试。测试标识可以包括与分组结果对应的测试策略的识别信息,还可以包括与测试策略相关的其他信息,例如,当代执行的测试策略有多个时,测试标识中还可以包含测试策略的执行顺序。
具体地,分组完成后,测试请求获得与分组结果对应的测试标识作为当前测试标识,该当前测试标识中还可以包括与测试请求对应的测试请求识别信息。
步骤S2-4,执行与分组结果相匹配的测试以响应测试请求。
本实施例中,测试策略对应地设置有测试识别信息,该测试识别信息用于对测试策略进行标识。
步骤S2-4包括以下子步骤:
步骤S2-4-1,获取测试识别信息与当前测试标识相匹配的测试作为当前测试。
具体地,将当前测试标识与测试识别信息进行比较,若匹配则该测试识别信息对应的测试策略作为与测试请求相匹配的当前测试。
步骤S2-4-2,执行当前测试以响应测试请求。
具体地,执行与当前测试标识相匹配的测试策略。
若当前测试标识中包含有测试策略的执行顺序,则根据执行顺序执行对应的测试策略。若当前测试标识中包含有与测试策略的执行相关的信息,则根据这些相关信息执行对应的测试策略。
由于本实施例中当前测试标识中包含有测试策略的执行相关的信息,使得在运行测试的过程中可调节的范围更大,进而使得分组测试方法具有强的适应范围,能够适用于多项复杂的分组测试。
<实施例3>
在实施例3中,对于与实施例2中相同的方法,使用相同的符号并省略相同的说明。
本实施中,分组测试由分组测试服务端和设置在待测试端的分组测试模块共同执行,其中,分组测试服务端可以包括分组测试服务器,分组测试模块可以包括分组测试应用,例如分组测试SDK。
本实施例中,分组测试模块可以是集成在提供待测试数据的待测试端。
分组测试模块中设置有供待测试端接入的测试接口,进行分组测试时,待测试端调用分组测试模块,分组测试模块从测试接口接收来自待测试端的测试请求,对该测试请求进行分组,执行与分组结果相匹配的测试以响应测试请求。分组测试模块根据预定的通信协议与分组测试服务器进行数据通信,测试完成后分组测试模块将响应测试请求执行测试后获得的测试数据发送至分组测试服务器。
需要说明的是,本实施例中分组测试服务器可以是包括配置服务器和分析服务器,配置服务器中存储有筛选策略、测试策略以及分组策略库,分析服务器用于对测试数据进行分析处理。配置服务器和分析服务器均可以为一台或多台服务器。
分组测试模块按预定的获取策略接收来自配置服务器的当前分组策略以及测试策略。预定的获取策略可以是接收配置服务器按预定的时间间隔发送的当前分组策略以及测试策略,也可以是仅接收配置服务器更新后发送的当前分组策略以及测试策略。配置服务器中的更新可以是有新的分组测试需求时进行的更新,也可以是分组测试过程中为获取更好的分组测试结果而进行的更新。
本实施例中,配置服务器中的数据可以使用MySQL进行管理和存储。
图3为一种本申请实施例提供的分组测试的示意性应用场景。
如图3所示,本实施例中分组测试SDK设置在待测试端,接收来自配置服务器的当前分组策略以及测试策略。进行分组测试时,待测试端调用分组测试SDK,分组测试SDK从测试接口接收来自待测试端的测试请求和分组策略对该测试请求进行分组,执行与分组结果相匹配的测试以响应测试请求。测试完成后,分组测试SDK将响应测试请求执行测试后获得的测试数据发送至分析服务器进行数据的分析处理。
进一步地,在配置服务器中,根据测试需求对筛选策略进行配置、根据测试内容增加测试策略,根据筛选策略获取当前分组策略和测试策略,以及在分组策略库中缺少与筛选策略相匹配的分组策略时新增匹配的分组策略。
为便于理解,以下提供一种本申请实施例的分组测试框架的原理说明。
图4为一种本申请实施例提供的分组测试框架的原理示意图。
如图4所示,分组测试SDK中设置有分组测试框架,该分组测试框架可以是使用Spring搭建的测试框架。
Spring bean加载器启动后,运行测试功能扫描器,扫描出声明的测试功能接口,并向spring容器绑定分组测试功能的接口代理;启动分组策略管理器,从配置服务器提供的分组配置服务中获取已绑定的分组测试功能的相关的当前分组策略等,并添加到分组路由分析器中。进行分组测试时,待测试端调用测试功能接口,测试功能代理将来自待测试端的调用拦截,即拦截到来自待测试端的测试请求,然后测试功能代理调用分组路由分析器计算出拦截到的测试请求的分组,然后根据分组结果调用对应的测试策略,执行测试策略以响应拦截到的测试请求。
由于分组测试采用了分组测试服务器与设置在待测试端的分组测试SDK共同提供分组测试,测试时当前分组策略以及测试策略均位于待测试端,降低了测试过程中数据交互的次数,提高测试效率,降低了测试过程中频繁的数据交互造成的不必要的资源浪费。
进一步地,筛选策略、当前分组策略、测试策略的设置和筛选在配置服务器中进行,测试数据的分析处理在分析服务器中运行,保证了运行的顺利进行,避免了由于服务器资源不足导致的运行不畅。
<实施例4>
图5为本申请实施例4提供的分组测试系统的结构示意图。
基于同一个申请构思,如图5所示,本申请实施例提供的分组测试系统包括接收单元10,获取单元20,分组单元30和测试单元40,其中,接收单元10,用于接收测试请求;获取单元20,用于获取当前分组策略;分组单元30用于根据当前分组策略对测试请求进行分组;测试单元40用于执行与分组结果相匹配的测试以响应测试请求。
基于同一个申请构思,本申请实施例提供一种计算机可读存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行前述实施例1~3中任一实施例中所述的分组测试的方法中的步骤。
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本申请实施例还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行实现实施例1~3中任一实施例所述的分组测试的方法中的步骤。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本申请的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
基于同一个申请构思,本申请实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现实施例1~3中任一实施例所述的分组测试的方法中的步骤。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (12)

1.一种分组测试的方法,其特征在于,包括:
接收测试请求;
根据预设的筛选策略获取至少一个分组策略作为与所述测试请求对应的当前分组策略;
根据所述当前分组策略进行与所述测试请求相匹配的分组;
执行与分组结果相匹配的测试以响应所述测试请求。
2.根据权利要求1所述的方法,其特征在于,对于所述当前分组策略中的每一个分组策略,
所述根据预设的筛选策略获取至少一个分组策略作为与所述测试请求对应的当前分组策略,包括:
判断预置的分组策略库中是否存在与预设的所述筛选策略相匹配的至少一个分组策略;
若存在,则将与预设的所述筛选策略相匹配的分组策略作为所述当前分组策略中的一个分组策略;
若不存在,则根据预设的所述筛选策略获取新的分组策略,以及将所述新的分组策略作为所述当前分组策略中的一个分组策略。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
将所述新的分组策略更新至所述分组策略库中。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述当前分组策略发送至分组测试模块,所述分组测试模块设置在待测试端;
通过所述分组测试模块执行以下步骤:
根据所述当前分组策略进行与所述测试请求相匹配的分组;
执行与分组结果相匹配的测试以响应所述测试请求。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述分组测试模块按预定的获取策略接收所述当前分组策略。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述筛选策略包括筛选参数,所述筛选参数用于获取所述当前分组策略。
7.根据权利要求6中任一项所述的方法,其特征在于,所述筛选策略还包括筛选顺序,所述筛选顺序表示所述筛选参数的排列顺序。
8.根据权利要求6或7所述的方法,其特征在于,所述测试请求包括待分组信息,所述根据所述当前分组策略进行与所述测试请求相匹配的分组,包括:
从所述测试请求中获取对应的待分组信息;
利用所述当前分组策略根据所述待分组信息对所述测试请求进行分组。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述分组策略中包括与所述分组结果对应的测试标识,所述测试标识用于表征与所述分组结果对应的测试,
所述执行与分组结果相匹配的测试以响应所述测试请求,包括:
根据所述分组结果获取对应的所述测试标识作为当前测试标识;
执行与所述当前测试标识相匹配的测试以响应所述测试请求。
10.根据权利要求9所述的方法,其特征在于,所述测试对应地设置有测试识别信息,
所述执行与当前测试标识相匹配的测试以响应所述测试请求,包括:
获取所述测试识别信息与所述当前测试标识相匹配的测试作为当前测试;
执行所述当前测试以响应所述测试请求。
11.一种计算机可读存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现权利要求1至10中任一项所述的分组测试的方法。
12.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10中任一项所述的分组测试的方法。
CN201910300281.5A 2019-04-15 2019-04-15 一种分组测试的方法、电子设备及介质 Active CN110046100B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910300281.5A CN110046100B (zh) 2019-04-15 2019-04-15 一种分组测试的方法、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910300281.5A CN110046100B (zh) 2019-04-15 2019-04-15 一种分组测试的方法、电子设备及介质

Publications (2)

Publication Number Publication Date
CN110046100A true CN110046100A (zh) 2019-07-23
CN110046100B CN110046100B (zh) 2022-09-23

Family

ID=67277139

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910300281.5A Active CN110046100B (zh) 2019-04-15 2019-04-15 一种分组测试的方法、电子设备及介质

Country Status (1)

Country Link
CN (1) CN110046100B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111932142A (zh) * 2020-08-25 2020-11-13 望海康信(北京)科技股份公司 方案分组和数据分组方法、装置、设备及存储介质
CN112905476A (zh) * 2021-03-12 2021-06-04 网易(杭州)网络有限公司 测试的执行方法及装置、电子设备、存储介质
CN116755953A (zh) * 2023-08-22 2023-09-15 北京象帝先计算技术有限公司 测试结果分组方法、装置、电子设备及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105045713A (zh) * 2015-07-14 2015-11-11 腾讯科技(深圳)有限公司 数据处理方法及移动终端
US9978084B1 (en) * 2013-06-14 2018-05-22 Groupon, Inc. Configurable relevance service test platform
CN108268377A (zh) * 2018-01-23 2018-07-10 郑州云海信息技术有限公司 一种服务器的业务测试方法、装置及介质
CN108469998A (zh) * 2018-01-18 2018-08-31 苏州沈苏自动化技术开发有限公司 一种通用型软件自动化测试框架系统
CN109088942A (zh) * 2018-09-14 2018-12-25 腾讯科技(北京)有限公司 广告请求流量筛选方法、装置及品牌广告引擎

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9978084B1 (en) * 2013-06-14 2018-05-22 Groupon, Inc. Configurable relevance service test platform
CN105045713A (zh) * 2015-07-14 2015-11-11 腾讯科技(深圳)有限公司 数据处理方法及移动终端
CN108469998A (zh) * 2018-01-18 2018-08-31 苏州沈苏自动化技术开发有限公司 一种通用型软件自动化测试框架系统
CN108268377A (zh) * 2018-01-23 2018-07-10 郑州云海信息技术有限公司 一种服务器的业务测试方法、装置及介质
CN109088942A (zh) * 2018-09-14 2018-12-25 腾讯科技(北京)有限公司 广告请求流量筛选方法、装置及品牌广告引擎

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111932142A (zh) * 2020-08-25 2020-11-13 望海康信(北京)科技股份公司 方案分组和数据分组方法、装置、设备及存储介质
CN112905476A (zh) * 2021-03-12 2021-06-04 网易(杭州)网络有限公司 测试的执行方法及装置、电子设备、存储介质
CN112905476B (zh) * 2021-03-12 2023-08-11 网易(杭州)网络有限公司 测试的执行方法及装置、电子设备、存储介质
CN116755953A (zh) * 2023-08-22 2023-09-15 北京象帝先计算技术有限公司 测试结果分组方法、装置、电子设备及可读存储介质
CN116755953B (zh) * 2023-08-22 2023-12-19 北京象帝先计算技术有限公司 测试结果分组方法、装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN110046100B (zh) 2022-09-23

Similar Documents

Publication Publication Date Title
CN110442641A (zh) 一种链路拓扑图展示方法、装置、存储介质及设备
CN105556482B (zh) 监视移动应用性能
CN110046100A (zh) 一种分组测试的方法、电子设备及介质
CN107844518B (zh) 评估指定app下载量的方法、数据服务器、打包平台及系统
CN110046088A (zh) 一种接口测试方法、装置及设备
CN110018920A (zh) 一种页面展示异常的检测方法、装置及设备
CN108345539A (zh) 一种用于进行ab测试的方法和装置
CN109117141A (zh) 简化编程的方法、装置、电子设备、计算机可读存储介质
CN107066519A (zh) 一种任务检测方法及装置
CN105868216B (zh) 一种实现对象过期操作的方法、装置和设备
CN105683912A (zh) 对于应用程序的优化的方法
CN107203465A (zh) 系统接口测试方法及装置
CN110502415A (zh) 一种埋点设置方法、装置及设备
CN109672909A (zh) 数据处理方法、装置、电子设备及可读存储介质
CN107578338A (zh) 一种业务发布方法、装置及设备
CN111143204B (zh) 一种小程序代码扫描方法和装置
US10719482B2 (en) Data comparison
CN110442647A (zh) 数据一致性同步方法、装置及计算机可读存储介质
CN107016262A (zh) 应用程序权限管理方法及客户端
CN107908552A (zh) 一种基于链接的测试方法、装置及设备
CN110989888B (zh) 一种触摸事件分发方法及设备
CN104462116A (zh) 数据选择的方法及装置
CN112416734A (zh) 测试的方法、装置以及存储介质
CN110311806A (zh) 一种移动应用程序界面响应延迟诊断方法、系统及终端
CN109271254A (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