CN115658530B - 软件版本并行测试方法及装置 - Google Patents

软件版本并行测试方法及装置 Download PDF

Info

Publication number
CN115658530B
CN115658530B CN202211372512.1A CN202211372512A CN115658530B CN 115658530 B CN115658530 B CN 115658530B CN 202211372512 A CN202211372512 A CN 202211372512A CN 115658530 B CN115658530 B CN 115658530B
Authority
CN
China
Prior art keywords
test
software
service
tested
data
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
CN202211372512.1A
Other languages
English (en)
Other versions
CN115658530A (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.)
Honor Device Co Ltd
Original Assignee
Honor Device 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 Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202211372512.1A priority Critical patent/CN115658530B/zh
Publication of CN115658530A publication Critical patent/CN115658530A/zh
Application granted granted Critical
Publication of CN115658530B publication Critical patent/CN115658530B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本申请提供了一种软件版本并行测试方法及装置,该方案中的AB测试平台(即AB测试服务器)中集成有公共分流服务,每个待测软件或应用都可以通过AB测试平台提供的统一分流入口请求公共分流服务进行用户分流。这样,软件客户端侧或业务平台(即业务服务器)侧均无需集成独立的实现分流功能的SDK(即分流SDK),即节省了为开展AB测试而修改待测试软件或应用程序的程序代码的工作量,因此,降低了软件进行AB测试的操作成本和时间成本,提高了软件进行AB测试的效率。

Description

软件版本并行测试方法及装置
技术领域
本申请涉及软件测试技术领域,尤其涉及一种软件版本并行测试方法及装置。
背景技术
在软件(如,应用程序、Web网站、小程序)开发阶段,通常会设计多个版本方案,然后对每个版本方案进行测试,最终选取测试效果最佳的方案投入使用。
AB测试是为软件的界面(或业务处理逻辑)设计两个(A或B)或多个(A或B或n)版本,在同一时间维度,分别让组成成分相同或相似的访客群组随机访问这些版本,收集各群组的用户行为数据和业务数据,并对用户使用行为数据进行追踪统计。最终分析、评估出最好版本正式投入使用。例如,软件开发人员设计了两个不同软件版本,版本A和版本B,两个版本的页面布局不同,版本A的页面中图片位于文本左侧,而版本B的页面中图片位于文本的右侧。可以通过AB测试方式对两个版本进行测试,根据用户使用数据决策最终使用的页面布局。
AB测试过程需要软件开发人员在测试软件中单独集成实现分流功能的软件开发工具包(software development kit,SDK)以实现用户分流。对于包括多个应用的场景而言,例如,终端设备的系统包括多个应用程序都需要进行版本测试,则需要在每个应用中集成独立的分流功能SDK,导致开展AB测试的人工、时间成本较高。此外,系统中的各个应用程序修改更新需要在更新系统版本时同步进行,如果在系统版本更新后,需要对某一应用的各个测试版本进行测试,需要等系统版本下一次更新时再开展对该应用的AB测试。
发明内容
有鉴于此,本申请提供了一种软件版本并行测试方法及装置,以解决上述的至少部分问题,其公开的技术方案如下:
第一方面,本申请提供了一种软件版本并行测试方法,应用于测试服务器,该方法包括:接收待测软件客户端发送的用户分流请求,用户分流请求包括测试参数;响应用户分流请求,确定与测试参数相匹配的目标测试版本的信息并发送至待测软件客户端,目标测试版本是待测软件的任意一个测试版本;获取待测软件的用户行为数据,用户行为数据由运行目标测试版本的待测软件客户端采集获得;统计并分析待测软件的每个测试版本对应的所有用户行为数据获得测试结果。可见,该方案在测试服务器中集成有公共分流服务,每个待测软件都可以通过测试服务器提供的统一分流入口请求公共分流服务对该待测软件进行用户分流。这样,软件客户端侧或业务平台(即业务服务器)侧均无需集成独立的分流SDK,从而降低了软件进行AB测试的操作成本。
在第一方面一种可能的实现方式中,统计并分析待测软件的每个测试版本对应的所有用户行为数据获得测试结果,包括:将每条用户行为数据的数据格式转换为服务器所需的数据格式;对数据格式转换后的用户行为数据进行统计和分析,获得待测软件的测试结果。该方案中,测试服务器从待测软件对应的数据服务器中获取该待测软件对应的用户行为数据,并将所述用户行为数据的数据格式转换为测试服务器所需的数据格式,这样无需在待测软件的客户端侧中集成AB测试的埋点,该埋点的作用是采集获得符合AB测试服务器数据格式要求的用户行为数据,而是复用待测软件已有的业务埋点采集用户行为数据,因此,进一步降低了开展AB测试的人工成本和时间成本。
在第一方面另一种可能的实现方式中,对数据格式转换后的用户行为数据进行统计和分析,获得待测软件对应的测试结果,包括:按照预设周期将数据格式转换后的用户行为数据封装成测试请求;响应测试请求,统计并分析测试请求包括的用户行为数据获得测试结果。
在第一方面另一种可能的实现方式中,测试服务器运行有数据服务和测试服务;按照预设周期将数据格式转换后的用户行为数据封装成测试请求,包括:数据服务按照预设周期生成测试请求并发送至测试服务,测试请求包括格式转换后的用户行为数据;响应测试请求,统计并分析测试请求包括的用户行为数据获得测试结果,包括:测试服务解析测试请求获得未统计的用户行为数据,统计并分析未统计的用户行为数据获得测试结果。
在第一方面另一种可能的实现方式中,测试服务器运行有数据服务;获取待测软件客户端采集的用户行为数据,包括:数据服务从待测软件对应的数据服务器中,拉取待测软件的各个测试版本对应的用户行为数据。该方案中,测试服务器从待测软件对应的数据服务器中获取该待测软件对应的用户行为数据,并将所述用户行为数据的数据格式转换为测试服务器所需的数据格式,这样无需在待测软件的客户端侧中集成AB测试的埋点。而是复用待测软件已有的业务埋点采集用户行为数据,因此,进一步降低了开展AB测试的人工成本和时间成本。
在第一方面另一种可能的实现方式中,待测软件的用户行为数据由待测软件客户端内的已有业务埋点采集获得。该方案无需在待测软件的客户端侧中集成AB测试的埋点。而是复用待测软件已有的业务埋点采集用户行为数据,因此,进一步降低了开展AB测试的人工成本和时间成本。
在第一方面另一种可能的实现方式中,测试服务器设置有公共分流接口且运行有公共分流服务;接收待测软件客户端发送的用户分流请求,包括:公共分流服务通过公共分流接口接收待测软件客户端发送的用户分流请求,用户分流请求由待测软件客户端调用待测软件客户端内集成的分流服务工具包生成。该方案在测试服务器中集成有公共分流服务,每个待测软件都可以通过测试服务器提供的统一分流入口请求公共分流服务对该待测软件进行用户分流。这样,软件客户端侧或业务平台(即业务服务器)侧均无需集成独立的分流SDK,从而降低了软件进行AB测试的操作成本。
在第一方面另一种可能的实现方式中,测试服务器运行有公共分流服务和测试服务;响应用户分流请求,确定与测试参数相匹配的目标测试版本的信息,并发送至待测软件客户端,包括:公共分流服务向测试服务发送用户分流请求;测试服务响应用户分流请求,确定与测试参数相匹配的目标测试版本的信息并发送至公共分流服务;公共分流服务向待测软件客户端发送目标测试版本的信息。
第二方面,本申请还提供了一种软件版本并行测试方法,应用于软件版本并行测试系统,该系统包括待测软件客户端、数据服务器和测试服务器,测试服务器包括公共分流服务和数据服务,该方法包括:待测软件客户端检测到启动操作后生成用户分流请求并发送至测试服务器,用户分流请求包括测试参数;测试服务器响应用户分流请求,确定与测试参数相匹配的目标测试版本的信息并发送至待测软件客户端,目标测试版本是待测软件的任意一个测试版本;待测软件客户端运行目标测试版本的待测软件,待测软件客户端内已有的业务埋点采集用户行为数据;测试服务器获取待测软件对应的用户行为数据,并向数据服务器发送用户行为数据;测试服务器从数据服务器中获取待测软件对应的用户行为数据;测试服务器将用户行为数据的数据格式转换为测试服务器所需的数据格式;测试服务器统计并分析待测软件的各个测试版本对应的所有用户行为数据获得测试结果。
第三方面,本申请还提供了一种电子设备,电子设备包括:一个或多个处理器、存储器和触摸屏;存储器用于存储程序代码;处理器用于运行程序代码,使得电子设备实现第一方面任一项的软件版本并行测试方法。
第四方面,本申请还提供了一种计算机可读存储介质,其上存储有指令,当指令在电子设备上运行时,使得电子设备执行第一方面任一项的软件版本并行测试方法。
第四方面,本申请还提供了一种计算机程序产品,其上存储有执行,当计算机程序产品在电子设备上运行时,使得电子设备实现如第一方面任一项的软件版本并行测试方法。
应当理解的是,本申请中对技术特征、技术方案、有益效果或类似语言的描述并不是暗示在任意的单个实施例中可以实现所有的特点和优点。相反,可以理解的是对于特征或有益效果的描述意味着在至少一个实施例中包括特定的技术特征、技术方案或有益效果。因此,本说明书中对于技术特征、技术方案或有益效果的描述并不一定是指相同的实施例。进而,还可以任何适当的方式组合本实施例中所描述的技术特征、技术方案和有益效果。本领域技术人员将会理解,无需特定实施例的一个或多个特定的技术特征、技术方案或有益效果即可实现实施例。在其他实施例中,还可在没有体现所有实施例的特定实施例中识别出额外的技术特征和有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种软件版本并行测试系统的结构示意图;
图2是本申请实施例提供的一种软件版本并行测试系统的结构框图;
图3是本申请实施例提供的一种软件版本并行测试方法的流程图;
图4是本申请实施例提供的另一种软件版本并行测试方法的流程图;
图5是本申请实施例提供的又一种软件版本并行测试方法的流程图;
图6是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
本申请说明书和权利要求书及附图说明中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于限定特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
请参见图1,示出了本申请实施例提供的一种软件版本并行测试系统的结构示意图。
如图1所示,该系统可以包括AB测试客户端1、AB测试服务器2、数据湖服务器3和软件客户端4。
本申请实施例提供的软件版本并行测试系统,在AB测试服务器中建立公共分流服务和数据服务,软件客户端4通过AB测试服务器提供的统一的公共分流服务入口进行用户分流请求,无需在软件客户端4或业务服务器中单独集成独立实现分流功能的分流功能组件。此外,直接通过软件客户端4已有的埋点采集用户行为数据,无需在软件客户端4中重复埋点。
测试人员可以通过AB测试客户端1创建任一软件程序的AB测试的配置参数,并将该配置参数上传至AB测试服务器2。
例如,业务ID(business id)、业务Key(business Key)、测试分流的请求值等,其中,业务ID用于唯一表征软件中的一个业务功能模块,通常作为请求入参。测试分流的请求值(variantKey)是AB测试请求分流的入参。
软件客户端4内集成有分流请求SDK,该分流组件用于向AB测试服务器的分流请求入口发送用户分流请求,该用户分流请求用于请求AB测试服务器为当前访问用户随机分配本次访问的软件版本。
此外,分流组件中需要配置有分流请求入口的接口参数,以及用户分流请求的数据格式等。
AB测试服务器2接收到软件客户端4发送的用户分流请求后,向软件客户端4发送AB测试的分流参数。例如,分流参数至少包括测试分流结果值(variantValue)和测试版本ID
(versionID)。
软件客户端4根据接收的AB测试的分流参数确定为当前用户分配的目标软件版本,进一步根据目标软件版本对应的业务配置参数配置软件客户端4,最终向用户展示配置好的软件客户端4。
软件客户端4内需要采集用户行为数据的位置处设置有埋点,该埋点检测并记录用户操作软件客户端4的行为数据(即用户行为数据),进一步,将采集的用户行为数据上传至数据湖服务器3。
数据湖服务器3向AB测试服务器2上报用户行为数据。
在一示例性实施例中,数据湖服务器3按照一定周期或实时向AB测试服务器2上报接收的用户行为数据。
在另一示例性实施例中,AB测试服务器3按周期性从数据湖服务器2中拉取用户行为数据。
AB测试服务器2进行AB测试实验并统计得到实验结果,并将实验结果发送至AB测试客户端1。
请参见图2,示出了本申请实施例提供的一种软件版本并行测试系统的结构框图。
如图2所示,AB测试平台(即AB测试服务器)包括公共分流服务、测试服务和数据服务。
其中,公共分流服务用于为进行AB测试的软件的用户进行分流,即让组成成分相同或相似的访客群组随机访问该软件的各个测试版本。
数据服务主要用于将软件客户端上报的用户行为数据组成请求发送至测试服务,以触发AB测试平台统计和分析用户行为数据得到测试结果。
测试服务模块用于对测试人员创建的AB测试进行管理,例如,维护各个AB测试的测试参数及对应的测试软件的参数。
测试执行模块用于对测试数据的统计、分析,以及根据分析统计结果评估出最好的版本。
用户分群模块用于将测试用户按照用户的属性(如,性别、年龄等),将具有相同或相似属性的用户划分为一个群组,并使同一个群组内的用户随机访问同一软件的各个测试版本。
待测软件客户端内集成有分流服务SDK和业务埋点SDK。其中,分流服务SDK用于通过AB测试服务器提供的统一分流入口请求AB测试服务器中的公共分流服务。业务埋点SDK是待测软件客户端已有的埋点SDK,用于收集用户使用待测软件的行为数据,即收集获得用户行为数据。
例如,当待测软件客户端检测到用户的触发操作后,调用分流服务SDK生成用户分流请求,发起对AB测试服务器内的公共分流服务的调用请求。
例如,当待测软件客户端检测到用户对设置有埋点SDK的元素的操作后,记录该用户的操作数据(即用户行为数据)并上报至数据湖服务器。
数据湖服务器包括数据接入模块、数据归一模块和数据导出模块。
数据接入模块用于接收待测软件客户端上报的用户行为数据。
数据归一模块用于对用户行为数据进行预处理、归一化等处理。
数据导出模块用于将处理后的用户行为数据发送至AB测试服务器,进一步由AB测试服务器内的数据服务利用用户行为数据组成请求发送至测试服务。
本实施例中,软件客户端通过AB测试服务器提供的统一分流入口请求进行用户分流,由AB测试服务器响应每个测试软件的每个用户分流的请求为该用户随机分配软件的测试版本信息,即为访客随机分配访问的软件版本。该过程无需再进行AB测试的软件客户端或业务服务器中单独集成分流SDK,从而降低了软件进行AB测试的操作成本。
下面将结合图3~图5所示的流程图产出本申请实施例提供的软件版本并行测试方法的过程。
参见图3,示出了本申请实施例提供的一种软件版本并行测试方法的流程图,该方法可以包括以下步骤:
S100,待测软件客户端检测到用户操作后,向公共分流服务发送用户分流请求。
例如,待测软件客户端可以是手机中安装的应用程序,小程序等软件程序。
在一示例性实施例中,在用户启动待测软件后且待测软件启动之前,会基于待测软件客户端内集成的分流请求SDK生成用户分流请求,并发送至AB测试服务器。
在本实施例中,用户分流请求中携带测试参数,例如,测试参数可以包括businessid、business Key、分流的请求值(variant Key)等。
在本申请一示例性实施例中,用户分流请求的输入参数如表1所示:
表1
列名 实例 格式 解释
business id 00000001 text 业务ID
variant Key metroExp text AB测试分流的请求值
variant DefaultValue text AB测试分流默认值
userInfoDto object 用户信息
decisionId text 用于请求分流的用户id
TrackId text 用于事件上报的用户
userBase Json object 可自定义的用户附加信息
business id是进行AB测试的软件对应的唯一标识,可以由AB测试服务器为每个需要进行AB测试的应用生成一个唯一标识。AB测试服务器利用business id维护各个需要进行AB测试的应用的测试参数,如分流规则,测试版本等信息。
variant Key表示AB测试分流的请求值,该参数主要用于区分AB测试的应用或软件,以及该应用或软件中的AB测试项目,如,可以通过该参数表示对APP1的页面布局进行AB测试。
variant DefaultValue表示AB测试分流默认值,表征AB测试分配用户的系统默认版本。例如,在AB测试平台侧由于各种原因无法正常响应用户分流请求的情况下,AB测试平台会直接向待测软件客户端返回用户分流请求中携带的AB测试分流默认值。待测软件客户端接收AB测试平台返回的AB测试分流默认值后,运行AB测试分流默认值对应版本的业务逻辑和页面布局等,以便在AB测试平台故障的情况下AB测试可以正常进行,提高了AB测试的容错性。
在本申请一示例性实施例中,每个软件具有一个唯一标识,如Application ID,待测软件客户端通过系统接口获取自身对应的ApplicationID,进一步利用Application ID从该软件对应的业务服务器中获取该软件对应的business id、business Key。
在本申请另一示例性实施例中,待测软件客户端基于Application ID从AB测试服务器中获取该软件对应的business id、business Key。
待测软件客户端将获得的测试参数组成用户分流请求发送至AB测试服务器。
S101,公共分流服务向测试服务发送分流请求。该分流请求中携带待测软件的测试参数。
S102,测试服务响应分流请求向公共分流服务返回分流响应消息。
在一示例性实施例中,分流响应消息包括版本ID(versionId)和分流结果值(variantValue)。
测试服务解析接收的分流请求获得待测软件对应的business id和businessKey,从而确定软件对应的分流规则。进一步,基于该待测软件对应的分流规则确定待测软件的当前访客的分流结果。
分流结果包括为当前访客分配的待测软件的测试版本信息,如版本ID以及分流结果值。
其中,版本ID是全平台唯一标识,即在AB测试平台中每个应用或软件的各个测试版本对应的版本ID互不相同,换言之,可以通过版本ID唯一标识某一个应用或软件的某个测试版本。
分流结果值variantValue用来表示应用或软件的测试版本的信息,其中,不同应用或软件的分流结果值可能相同,因为不同应用或软件的测试版本名称相同(如,APP1包括version-one和version-two两个测试版本;APP2也包括version-one和version-two两个测试版本),所以虽然分流结果值相同,但通过版本ID可以唯一表征一个应用或软件,所以,根据版本ID和分流结果值可以确定当前进行AB测试的应用或软件的分流结果。
例如,测试服务返回的消息中variantValue:“version-two”,versionId:“91”,表示为当前用户分流的测试版本是版本ID为“91”的应用或软件的version-two的测试版本。
S103,公共分流服务向待测软件客户端返回分流响应消息。
公共分流服务向待测软件客户端返回分流响应消息,该分流响应消息包括版本ID和分流结果值。
S104,待测软件客户端根据分流响应消息确定待测软件的业务配置参数,并根据业务配置参数配置待测软件的业务参数。
在本申请一示例性实施例中,待测软件客户端中集成有每个测试版本对应的参数和业务处理逻辑。进一步,待测软件客户端根据接收的测试版本的配置参数,根据业务配置参数配置待测软件的业务参数,即运行公共分流服务分配的软件版本。
例如,待测软件的测试版本包括A版本和B版本两个版本,待测软件的客户端中集成有这两个版本的测试项对应的信息,例如,要对测试软件的首页的页面布局进行测试,则该软件中集成有两个版本的首页模板。进一步,待测软件客户端根据获得的公共分流服务分配的测试版本的首页模块渲染首页页面并展示。
S105,待测软件客户端通过埋点记录用户行为数据。
利用待测软件客户端内已有的业务埋点检测用户对设置业务埋点的功能项进行操作时,埋点会记录该用户的操作数据,即用户行为数据。
S106,待测软件客户端向数据湖服务器上报用户行为数据。
本实施例中,待测软件客户端可以实时上传用户行为数据,或者,也可以按预设周期上传用户行为数据。
本实施例中,任一款软件的用户行为数据都可以上传至数据湖中,进一步,由数据湖上传至AB测试服务器。
S107,数据服务按照预设周期从数据湖服务器中拉取待测软件对应的用户行为数据。
在本申请实施例中,数据服务周期性主动从数据湖服务器中拉取待测软件对应的用户行为数据。其中,预设周期可以根据实际需求设定。
本本申请另一实施例中,数据湖服务器可以周期性地主动向AB测试服务器上报待测软件对应的用户行为数据。
S108,数据服务将用户行为数据转换为标准数据格式。
在本申请一示例性实施例中,基于待测软件已有的业务埋点收集用户行为数据,不同软件的业务埋点设置的数据格式可能不同,因此,数据服务获得待测软件的用户行为数据后,需要将其数据格式转换为AB测试服务器所需的数据格式。然后将处理后的数据存储至AB测试服务器的数据库中。
在一示例性实施例中,AB测试服务器中的用户行为数据可以采用数据表形式进行存储。当然,在本申请的其他实施例中还可以采用其他形式存储数据,本申请对此不做限定。
数据服务的标准格式数据如表2所示:
表2
列名 实例 格式 解释
business id 00000001 text 业务ID
uuId ACSEEES54A8DB text 用户ID
versionId 1、2 text 版本ID
events metro text 事件
eParams 事件参数
time stamp 1658115148000 int 时间戳
Params / json 全局参数
在一示例性实施例中,埋点数据包括上表中的events和time stamp信息。通常埋点数据的格式是字符串格式,一个参数对应一个键值,一个键值对应一列,如果包括多个参数则存在多列。json格式是一个列中以json形式存有多个键值对。通过AB测试服务端的数据自助处理能力即可将数据处理成AB测试所需的标准格式。
在一示例性实施例中,数据服务对用户行为数据(埋点数据)的处理过程可以包括:在数据表中选择需要处理的字段、新增列固定值、根据函数获取对应值等。
S109,数据服务向测试服务发送测试请求,该测试请求携带标准数据格式的用户行为数据。
在一示例性实施例中,数据服务按照预设周期将数据库中的AB测试数据组成测试请求体,请求测试服务的接口,以触发测试服务对该待测软件的AB测试指标进行统计。
S110,测试服务响应测试请求,分析并统计该待测软件对应的AB测试指标。
测试服务接收数据服务发送的测试请求后,根据待测软件对应的测试配置参数,如AB测试指标,收集AB测试指标相对应的用户行为数据进行分析,然后统计并计算得到AB测试指标的数值。
本实施例提供的软件版本并行测试方法,AB测试平台中集成有公共分流服务,每个待测软件都可以通过AB测试平台提供的统一分流入口请求公共分流服务对该待测软件进行用户分流。这样,软件客户端侧或业务平台(即业务服务器)侧均无需集成独立的分流SDK,从而降低了软件进行AB测试的操作成本。
进一步地,该方法利用待测软件已有的业务埋点采集用户行为数据,并上报至数据湖服务器中。而且,AB测试平台还集成有数据服务,数据服务按照预设周期从数据湖服务器中拉取该待测软件对应的用户行为数据,进一步将用户行为数据的数据格式转换为AB测试平台所需的数据格式。可见,该方案无需在应用或软件的客户端侧集成AB测试埋点,而是复用应用或软件内已有的业务埋点,因此,进一步降低了开展AB测试的人工成本和时间成本。此外,数据服务可以拉取任一应用或软件的数据湖服务器中的用户行为数据并转换为所需的数据格式。而且,数据服务可以根据实际需求调整拉取各个测试软件或应用的用户行为数据的时间,因此,数据服务可以获得所有需要进行AB测试的应用或软件的用户行为数据并统一管理,避免不同应用或软件的用户行为数据相互隔离的现象发生。
在一种应用场景中,业务服务器中集成有业务配置中心,待测软件客户端可以从配置中心中获取与本次AB测试结果相匹配的配置参数。
请参见图4,示出了本申请实施例提供的另一种软件版本并行测试方法的流程图。
如图4所示,该方法可以包括以下步骤:
S201,测试软件客户端检测到用户操作后,向公共分流服务发送用户分流请求。该用户分流请求携带测试参数,如测试参数可以包括如表1所示的输入参数。
S202,公共分流服务向AB测试服务器发送用户分流请求。
S203,测试服务响应用户分流请求向公共分流服务返回分流响应消息。该分流响应消息包括versionId和variantValue。
S204,公共分流服务向待测软件客户端返回分流响应消息。
本实施例中的S201~S204的实施过程与图3所示实施例中的S100~S103的实施过程相同,此处不再赘述。
S205,待测软件客户端向业务配置中心发送业务配置参数获取请求。业务配置参数获取请求包括测试服务返回的版本ID和分流结果值。
S206,业务配置中心响应该业务配置参数获取请求,获得与版本ID和分流结果值相匹配的测试版本的业务配置参数。
业务配置中心中维护有当前待测软件的所有测试版本对应的业务配置参数,进一步,业务配置中心可以从维护的业务配置参数中查询与版本ID和分流结果值相匹配的业务配置参数。
S207,待测软件客户端根据接收的业务配置参数进行业务配置,以及通过待测试客户端中的埋点记录用户行为数据。
S208,待测软件客户端向数据湖服务器发送采集的用户行为数据。
S209,数据服务按照预设周期从数据湖服务器中拉取待测软件对应的用户行为数据。
在本申请另一实施例中,数据湖服务器可以主动向数据服务推送待测软件对应的用户行为数据。
S210,数据服务将用户行为数据转换为标准数据格式。
S211,数据服务向测试服务发送测试请求,该测试请求携带处理后的用户行为数据。
S212,测试服务响应测试请求,分析并统计该待测软件对应的AB测试指标。
本实施例中的S207~S212的实施过程与图3中的S105~S110的实施过程相同,此处不再赘述。
本实施例提供的软件版本并行测试方法,业务服务器中集成有业务配置中心,待测软件客户端可以根据AB测试服务器返回的测试版本信息从业务配置中心查询与该测试版本相匹配的业务配置参数,进一步根据业务配置参数配置待测软件的业务参数。这样,无需在待测软件客户端内集成各个测试版本的业务逻辑,减小了软件客户端的数据量,节省了电子设备的存储空间。
在另一应用场景中,待测软件对应的业务服务器会对待测软件客户端上报的用户行为数据进行预处理,处理后的数据发送至AB测试服务器。
请参见图5,示出了本申请实施例提供的再一种软件版本并行测试方法的流程图。
如图5所示,该方法可以包括以下步骤:
S300,测试软件客户端检测到用户操作后,向公共分流服务发送用户分流请求。该用户分流请求携带测试参数,如business id、business Key、variant Key等。
S301,公共分流服务向AB测试服务器发送用户分流请求。
S302,测试服务响应用户分流请求向公共分流服务返回分流响应消息。该分流响应消息包括versionId和variantValue。
S303,公共分流服务向待测软件客户端返回分流响应消息。该分流响应消息包括versionId和variantValue。
S304,待测软件客户端根据分流响应消息确定待测软件的业务配置参数,并根据业务配置参数配置待测软件的业务参数。
S305,待测软件客户端通过埋点记录用户行为数据。
S306,待测软件客户端向数据湖服务器上报用户行为数据。
本实施例中的S300~S306的实施过程与图3中的S100~S206的实施过程相同,此处不再赘述。
S307,数据湖服务器向业务服务器发送接收的用户行为数据。
S308,业务服务器对用户行为数据进行业务相关处理。例如,清洗数据等处理。
S309,业务服务器向数据服务上报处理后的用户行为数据。
在一示例性实施例中,业务服务器主动向AB测试平台上报处理后的用户行为数据。
在另一示例性实施例中,AB测试平台中的数据服务主动从业务服务器中拉取处理后的用户行为数据。本申请实施例并不限定数据服务获取各测试软件或应用的用户行为数据的方式。
S310,数据服务将用户行为数据转换为标准数据格式。
S311,数据服务向测试服务发送测试请求,该测试请求携带标准数据格式的用户行为数据。
S312,测试服务响应测试请求,分析并统计该待测软件对应的AB测试指标。
本实施例中的S310~S312与图3中的S108~S110的实施过程相同,此处不再赘述。
本实施例提供的软件版本并行测试方法,业务服务器可以对待测软件客户端采集的用户行为数据进行业务相关处理,例如,清洗数据等处理过程,再将处理后的用户行为数据发送至AB测试服务器中的数据服务。由数据服务对接收的用户行为数据进行数据格式转换,转换为标准数据格式。过滤掉无用数据后减小了数据服务处理的数据量,提高了数据分析统计过程的速度。
另一方面,本申请还提供了一种适用本申请提供的重复纹理识别方法的电子设备。
图6为本申请实施例提供的一种电子设备的结构示意图。如该电子设备可以是服务器。
如图6所示,该电子设备可以包括处理器101、存储器102、总线103、通信接口104,其中,处理器101的数量可以是1~N,N为大于1的整数。
处理器101、存储器102通过总线103完成相互间的通信。处理器101可以通过总线103和通信接口104与外部设备进行通信,例如,通信接口104包括发送单元和接收单元。通信接口104通过接收单元接收外设发送的数据,该数据经由总线103传递至处理器101。处理器101发送的数据经由总线103传输至通信接口104,通信接口104通过发送单元发送至外设。处理器101用于调用存储器102中的程序指令以执行图3、图4或图5所示的软件版本并行测试方法实施例。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本实施例所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (7)

1.一种软件版本并行测试方法,其特征在于,应用于测试服务器,用于对终端设备内的至少两个待测试软件进行测试,所述测试服务器内运行有公共分流服务、数据服务和测试服务,所述方法包括:
所述公共分流服务接收待测软件的客户端发送的用户分流请求并向所述测试服务发送所述用户分流请求,所述用户分流请求包括测试参数,所述测试参数包括业务ID和分流请求值,业务ID是所述测试服务器为待测软件分配的唯一标识,所述分流请求值用于区分所述待测软件对应的测试项目;
所述测试服务响应所述用户分流请求,确定与所述测试参数相匹配的目标测试版本的信息并经由所述公共分流服务发送至对应的待测软件客户端,所述目标测试版本是所述待测软件的任意一个测试版本;
所述数据服务从数据湖服务器中获取所述终端设备内所有待测软件的各个测试版本对应的用户行为数据进行统一管理,所述用户行为数据由运行所述目标测试版本的待测软件客户端内的已有业务埋点采集获得并上报至所述数据湖服务器;
所述数据服务将各所述用户行为数据由已有业务埋点对应的数据格式转换为所述测试服务器所需的标准数据格式,数据格式转换的过程包括选择待处理的字段、新增列固定值,以及根据函数获取对应值,所述新增列固定值包括增加业务ID、用户ID和版本ID;
对于任一待测软件,所述数据服务从所述终端设备内所有待测软件的各个测试版本对应的用户行为数据中收集与所述任一待测软件对应的标准格式的用户行为数据并封装成测试请求,以及将所述测试请求发送至所述测试服务;
所述测试服务响应所述测试请求,对收集的用户行为数据进行统计和分析获得所述待测软件的测试结果。
2.根据权利要求1所述的方法,其特征在于,所述数据服务从数据湖服务器中获取所述终端设备内所有待测软件的各个测试版本对应的用户行为数据进行统一管理,包括:
所述数据服务按照预设周期从数据湖服务器中拉取各个待测软件对应的用户行为数据;或者,
所述数据服务接收所述数据湖服务器推送的各个待测软件对应的用户行为数据。
3.根据权利要求1所述的方法,其特征在于,所述测试服务响应所述测试请求,统计并分析所述测试请求包括的用户行为数据得到所述待测软件的测试结果,包括:
所述测试服务解析所述测试请求获得未统计的用户行为数据,统计并分析所述未统计的用户行为数据获得测试结果。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述测试服务器设置有公共分流接口;
所述公共分流服务接收待测软件客户端发送的用户分流请求,包括:
所述公共分流服务通过所述公共分流接口接收所述待测软件客户端发送的用户分流请求,所述用户分流请求由所述待测软件客户端调用所述待测软件客户端内集成的分流服务工具包生成。
5.一种软件版本并行测试方法,其特征在于,应用于软件版本并行测试系统,所述系统包括待测软件客户端、数据湖服务器和测试服务器,所述测试服务器包括公共分流服务、数据服务和测试服务,所述方法包括:
待测软件客户端检测到启动操作后生成用户分流请求并发送至所述测试服务器的公共分流服务,所述用户分流请求包括测试参数,所述测试参数包括业务ID和分流请求值,业务ID是所述测试服务器为待测软件分配的唯一标识,所述分流请求值用于区分所述待测软件对应的测试项目;
所述公共分流服务向所述测试服务发送所述用户分流请求;
所述测试服务响应所述用户分流请求,确定与所述测试参数相匹配的目标测试版本的信息并经由所述公共分流服务发送至对应的待测软件客户端,所述目标测试版本是所述待测软件的任意一个测试版本;
每个所述待测软件客户端运行对应的目标测试版本的待测软件,以及通过所述待测软件客户端内已有的业务埋点采集用户行为数据并上报至所述数据湖服务器;
所述数据服务从所述数据湖服务器中获取终端设备内各个待测软件的各个测试版本对应的用户行为数据进行统一管理;
所述数据服务将所述用户行为数据由已有业务埋点对应的数据格式转换为所述测试服务器所需的标准数据格式,数据格式转换的过程包括选择待处理的字段、新增列固定值,以及根据函数获取对应值,所述新增列固定值包括增加业务ID、用户ID和版本ID;
对于任一待测软件,所述数据服务从所述终端设备内所有待测软件对应的标准数据格式的用户行为数据中,收集与所述任一待测软件对应的用户行为数据并封装成测试请求,并将所述测试请求发送至所述测试服务;
所述测试服务响应所述测试请求对收集的用户行为数据进行统计和分析,获得所述待测软件的测试结果。
6.一种电子设备,其特征在于,所述电子设备包括:一个或多个处理器、存储器和触摸屏;所述存储器用于存储程序代码;所述处理器用于运行所述程序代码,使得所述电子设备实现如权利要求1至5任一项所述的软件版本并行测试方法。
7.一种计算机可读存储介质,其特征在于,其上存储有指令,当所述指令在电子设备上运行时,使得所述电子设备执行如权利要求1至5任一项所述的软件版本并行测试方法。
CN202211372512.1A 2022-11-03 2022-11-03 软件版本并行测试方法及装置 Active CN115658530B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211372512.1A CN115658530B (zh) 2022-11-03 2022-11-03 软件版本并行测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211372512.1A CN115658530B (zh) 2022-11-03 2022-11-03 软件版本并行测试方法及装置

Publications (2)

Publication Number Publication Date
CN115658530A CN115658530A (zh) 2023-01-31
CN115658530B true CN115658530B (zh) 2024-04-09

Family

ID=84996032

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211372512.1A Active CN115658530B (zh) 2022-11-03 2022-11-03 软件版本并行测试方法及装置

Country Status (1)

Country Link
CN (1) CN115658530B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111782542A (zh) * 2020-07-13 2020-10-16 豆盟(北京)科技股份有限公司 测试方法、装置、设备、系统和计算机存储介质
CN113742577A (zh) * 2021-08-10 2021-12-03 深圳市东信时代信息技术有限公司 基于SaaS的AB测试方案处理方法、装置、设备及存储介质
CN114390105A (zh) * 2022-03-01 2022-04-22 阿里巴巴(中国)有限公司 基于测试的企业用户分流方法及设备
CN114625407A (zh) * 2020-12-10 2022-06-14 北京新氧科技有限公司 一种ab实验的实现方法、系统、设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150026522A1 (en) * 2013-07-19 2015-01-22 Dawnray Young Systems and methods for mobile application a/b testing
TR201907957A2 (tr) * 2019-05-24 2020-12-21 D Market Elektronik Hizmetler Ve Ticaret Anonim Sirketi A/b test yapilmasina i̇li̇şki̇n bi̇r si̇stem ve yöntem

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111782542A (zh) * 2020-07-13 2020-10-16 豆盟(北京)科技股份有限公司 测试方法、装置、设备、系统和计算机存储介质
CN114625407A (zh) * 2020-12-10 2022-06-14 北京新氧科技有限公司 一种ab实验的实现方法、系统、设备及存储介质
CN113742577A (zh) * 2021-08-10 2021-12-03 深圳市东信时代信息技术有限公司 基于SaaS的AB测试方案处理方法、装置、设备及存储介质
CN114390105A (zh) * 2022-03-01 2022-04-22 阿里巴巴(中国)有限公司 基于测试的企业用户分流方法及设备

Also Published As

Publication number Publication date
CN115658530A (zh) 2023-01-31

Similar Documents

Publication Publication Date Title
CN111614690B (zh) 一种异常行为检测方法及装置
CN102404126B (zh) 一种云计算在应用过程中的收费方法
EP2562711A1 (en) Statistical information generation system and statistical information generation method
CN111596924B (zh) 一种微服务划分方法和装置
CN102904774B (zh) 终端、服务器和服务器性能测试方法
CN112632129A (zh) 一种码流数据管理方法、装置及存储介质
CN106951360B (zh) 数据统计完整度计算方法和系统
CN111158926A (zh) 业务请求分析方法、装置及设备
CN115658530B (zh) 软件版本并行测试方法及装置
CN112734227A (zh) 一种大数据决策系统及方法
CN110515750B (zh) 一种应用拓扑生成方法、系统及集群
RU2532714C2 (ru) Способ получения данных при оценке ресурсов сети и устройство для осуществления способа
CN108989116B (zh) 大数据收集分析系统及方法
CN110543509A (zh) 用户访问数据的监控系统、方法、装置及电子设备
CN113448985A (zh) 一种api接口生成方法、调用方法、装置及电子设备
CN113114718A (zh) 物联网中的数据传输方法和系统及其物联网设备与终端
CN116385102A (zh) 信息推荐方法、装置、计算机设备及存储介质
CN111078816B (zh) 基于位置的分析方法、装置、终端及存储介质
CN115664982B (zh) 基于云计算的网络资源管理系统
CN117057425B (zh) 一种规律型知识分析方法及装置
CN115292330B (zh) 一种数据收集方法及装置
CN112165530B (zh) 一种服务调用关系分析方法及装置
US20230334068A1 (en) Data processing method and apparatus thereof, electronic device, and computer-readable storage medium
CN117459387A (zh) 日志数据的分析方法及系统
CN114417025A (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