CN109918308A - 基于众包的测试方法及服务器、存储介质 - Google Patents

基于众包的测试方法及服务器、存储介质 Download PDF

Info

Publication number
CN109918308A
CN109918308A CN201910191291.XA CN201910191291A CN109918308A CN 109918308 A CN109918308 A CN 109918308A CN 201910191291 A CN201910191291 A CN 201910191291A CN 109918308 A CN109918308 A CN 109918308A
Authority
CN
China
Prior art keywords
test
tested
backpack body
data
user
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.)
Pending
Application number
CN201910191291.XA
Other languages
English (en)
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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network 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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN201910191291.XA priority Critical patent/CN109918308A/zh
Publication of CN109918308A publication Critical patent/CN109918308A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种基于众包的测试方法及服务器、存储介质。本发明实施例通过将被测包体分发给各测试终端,所述被测包体被配置为采集并反馈所述被测包体在所述测试终端中运行过程中的测试运行数据,然后,接收各测试终端发送的测试运行数据,从而,根据所述测试运行数据,获取所述被测包体的测试结果。本发明的方法,提高了测试准确率及测试质量。

Description

基于众包的测试方法及服务器、存储介质
技术领域
本发明涉及测试技术,尤其涉及一种基于众包的测试方法及服务器、存储介质。
背景技术
随着互联网技术的发展,应用程序的更新迭代速度也加快,对于测试人员而言,如何在测试时长被压缩的前提下保证应用程序的测试质量成为重点关注问题。而众包测试为移动应用测试提供了一种新思路。
众包是一个公司或机构把过去由员工执行的工作任务,以自由自愿的形式外包给非特定的(而且通常是大型的)大众志愿者的做法。目前的众包测试通常由第三方平台提供,在具体实现时,第三方平台将被测包体在平台上发布给注册的用户,并通过这些用户上传或上报的反馈信息来获得测试结果,并进而将测试结果提交给被测包体对应的开发者。
基于第三方平台实现的众包测试方案仅依赖于用户上报或反馈的信息来获取测试结果,无法获取并分析被测包体在运行过程中的核心数据,导致测试质量无法保证。
发明内容
本发明提供一种基于众包的测试方法及服务器、存储介质,用以提高测试准确率及测试质量。
第一方面,本发明提供一种基于众包的测试方法,包括:
将被测包体分发给各测试终端,所述被测包体被配置为采集并反馈所述被测包体在所述测试终端中运行过程中的测试运行数据;
接收各测试终端发送的测试运行数据;
根据所述测试运行数据,获取所述被测包体的测试结果。
第二方面,本发明提供一种基于众包的测试服务器,包括:
分发模块,用于将被测包体分发给各测试终端,所述被测包体被配置为采集并反馈所述被测包体在所述测试终端中运行过程中的测试运行数据;
接收模块,用于接收各测试终端发送的测试运行数据;
获取模块,用于根据所述测试运行数据,获取所述被测包体的测试结果。
第三方面,本发明提供一种基于众包的测试服务器,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第一方面所述的方法。
第四方面,本发明提供一种基于众包的测试系统,包括:
如第二方面或第三方面的基于众包的测试服务器;
多个测试终端。
第五方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,
所述计算机程序被处理器执行以实现如第一方面所述的方法。
本发明提供的技术方案,通过对被测包体进行配置,使得被测包体具备采集并反馈测试运行数据的能力,如此,只需要将被测包体分发下去,并接收测试终端反馈的测试运行数据,就可以据此得到测试结果;而且,测试结果直接由被测包体在运行过程中的测试运行数据得到,相较于测试用户人工反馈的数据,能够更加客观的描述被测包体的运行情况,具备更高的测试准确度。因此,本发明试试所提供的技术方案能够有效提高被测包体的测试准确率和测试质量。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为本发明实施例所提供的一种基于众包的测试方法的应用场景示意图;
图2为本发明实施例所提供的一种基于众包的测试方法的流程示意图;
图3为本发明实施例所提供的另一种基于众包的测试方法的流程示意图;
图4为本发明实施例所提供的另一种基于众包的测试方法的流程示意图;
图5为本发明实施例所提供的另一种基于众包的测试方法的流程示意图;
图6为本发明实施例所提供的一种测试结果的示意图;
图7为本发明实施例所提供的另一种基于众包的测试方法的流程示意图;
图8为本发明实施例所提供的一种基于众包的测试服务器的功能方块图;
图9为本发明实施例所提供的一种基于众包的测试服务器的实体结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
首先对本发明所涉及的名词进行解释:
众包:是一个公司或机构把过去由员工执行的工作任务,以自由自愿的形式外包给非特定的(而且通常是大型的)大众志愿者的做法。
灰度测试:就是在某项产品或应用正式发布前,选择特定人群试用,逐步扩大其试用者数量,以便及时发现和纠正其中的问题。
A/B测试(A/B testing):为同一个目标制定两个方案(比如两个页面或两个应用程序),在测试时,由用户群A使用A’方案,用户群B使用B’方案,分别记录下用户群A和用户群B分别使用各自方案的使用数据,并根据这些使用数据的比较来得到测试结果。
其次,本发明实施例的应用场景具体为:针对应用程序的测试场景。其具体可以包括:应用程序产品正式发布前的测试场景,例如,正式发布前的灰度测试;或者,应用场景投入使用之后的测试场景,例如,投入使用后关于运行稳定性的测试场景。
灰度测试是一种在产品发布前常用的应用程序的测试方法,灰度测试的测试结果,直接影响了产品正式发布后的质量。在IOS平台的应用商店(app store)提供了对抗测试(test flight)方案供开发组提供灰度测试方案,开发组可以选择目标用户发送邀请然后在app store下进行内测。但是由于test flight特殊机制的原因,用户无法进行付费等一些操作,比较影响体验。对于安卓系统来说,虽然各个第三方公司或者系统提供了相似的测试方案,但是由于安卓系统碎片化的问题,导致项目组无法针对所有的安卓平台和渠道进行覆盖率更广和更精准的测试方案。
灰度测试本质上是一种发布方式不是一种测试方式,灰度发布可以让一部分用户继续使用原先的产品方案(方案A),让另一部分用户开始使用新的产品方案(方案B),从而,可以基于两种方案的反馈数据实现A/B testing。其在具体实现时,首先进行用户筛选,也即选择使用新产品的用户,然后,将包含产品特性的包体(新方案B的包体)发放给筛选好的用户,并收集这些用户的反馈数据,反馈数据一般包括:使用报告、体验报告等数据。从而,若用户反馈的结果较高,就可以正是发布该新方案B,否则,需要重新完善方案或重新设计。这种灰度测试方案成本较高,测试范围有限。
众包是2006年开始提出的一项新技术,众包测试目前是一项众包的众多应用方案之一。目前,众包测试依赖于第三方公司提供服务,而第三方测试公司一般提供一个测试平台,以便于在平台上完成待测试产品与测试人员的分配。其在具体实现时,将待测试包体在平台上发布并发送给注册的用户,并依赖于测试用户上传或上报的反馈数据来得到测试结果并提交给待测试包体的开发者。此外,第三方平台一般还可以采用任务激励的方式,在测试人员完成测试任务后,由平台发放奖励给测试人员。
相较于灰度测试方案,众包测试方案能够更合理的成本控制,基于互联网的任务发包方式,可以接触到大量的互联网参与者,这有利于降低测试成本,并有利于更快捷的推向市场,且平台参与用户较多,有利于帮助开发者弥补常规测试无法全面发现的问题。
但是,目前的众包测试方案依赖于第三方公司提供的服务,而第三方平台对各测试方案的理解有限,一般只负责产品分发与收集用户反馈数据,而不涉及对产品的打包或处理,这就导致第三方平台提供的众包方案无法获取到包体的性能、网络等涉及到产品内部逻辑的核心数据,这导致测试结果仅依赖于用户上报或反馈的信息,导致测试质量难以保证。
本发明提供的技术方案,旨在解决现有技术的如上技术问题,并提出如下解决思路:在测试包体中插入数据采集代码,使得测试包体能够在用户使用过程中采集包体运行数据,如此,开发者可以根据包体运行过程中采集到的核心数据,实现对产品性能方面的数据分析与修改。
下面以具体地实施例对本发明的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
实施例一
基于前述发明构思,本发明实施例提供了一种基于众包的测试方法。
首先,对本方法的场景架构进行简单说明。图1具体示出了该基于众包的测试方法的一种实现场景,如图1所示,该方法执行于基于众包的测试服务器(以下,简称为测试服务器),测试服务器可以与多个测试终端(图1仅用3个测试终端进行示意,并不用以限定其数目)进行通信。其中,测试终端为测试用户所使用的终端设备,被测包体能够在测试终端上运行,其在运行时可具体表现为该应用程序的一个客户端。可知,在实际的实现场景中,与该测试服务器进行通信的终端还可以包括其他终端,也就是,参与该测试的测试终端可以是与该测试服务器通信的所有终端中的部分终端。
具体而言,如图1所示的测试服务器可以为被测包体的开发者侧的服务器,更进一步可具体为被测包体对应程序的总服务器或其中的一部分;或者,该测试服务器可以是第三方测试公司提供的测试服务器。换言之,本发明实施例所提供的技术方案既适用于开发者对自身开发的被测包体的测试场景,也适用于第三方测试平台为开发者提供的被测包体进行测试的场景。
而如图1所示的测试终端可以是无线终端也可以是有线终端。无线终端可以是指向用户提供语音和/或其他业务数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。无线终端可以经无线接入网(Radio AccessNetwork,简称RAN)与一个或多个核心网设备进行通信,无线终端可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。再例如,无线终端还可以是个人通信业务(PersonalCommunication Service,简称PCS)电话、无绳电话、会话发起协议(Session Initiation Protocol,简称SIP)话机、无线本地环路(WirelessLocal Loop,简称WLL)站、个人数字助理(Personal Digital Assistant,简称PDA)等设备。无线终端也可以称为系统、订户单元(Subscriber Unit)、订户站(Subscriber Station),移动站(Mobile Station)、移动台(Mobile)、远程站(Remote Station)、远程终端(RemoteTerminal)、接入终端(Access Terminal)、用户终端(User Terminal)、用户代理(UserAgent)、用户设备(User Device or User Equipment),在此不作限定。可选的,上述终端设备还可以是智能手表、平板电脑等设备。
图2示出了本发明实施例所提供的一种基于众包的测试方法的流程示意图,如图2所示,该方法包括如下步骤:
S202,将被测包体分发给各测试终端,所述被测包体被配置为采集并反馈所述被测包体在所述测试终端中运行过程中的测试运行数据。
本发明实施例中,测试运行数据即为被测包体在运行过程中(被测试用户使用过程中)采集到的运行数据。被测包体为应用程序客户端的安装包或升级数据包,其可在测试终端中被安装、运行,并表现为测试终端上运行的应用程序的客户端。
本发明实施例所涉及到的运行数据至少可以包括:性能数据。其中,性能数据用于描述包体运行过程中的性能,可以包括但不限于如下至少一种:应用占用内存、应用帧率(Frames Per Second,FPS)、应用绘制次数、应用顶点数、应用网络流量数据、应用中央处理器(Central Processing Unit,CPU)占用率、应用图形处理器(Graphics ProcessingUnit,GPU)占用率、应用卡顿指标与应用消耗电量数据。
除前述性能数据之外,本发明实施例所涉及到的所述运行数据还可以包括但不限于如下至少一种:用户身份数据、包体版本数据、设备基础数据与引擎版本数据。其中,用户身份数据可以包括但不限于:用户身份标识符。其中,设备基础数据用于对测试终端的基础性能数据进行描述,其可以包括但不限于:系统版本、内存容量、CPU容量、电量数据与终端版本型号。
而该步骤中测试服务器将被测包体分发给各测试终端,可以通过向测试终端发布提示信息,以使得各测试用户可以在所述测试终端中根据该提示信息来下载、安装、运行该被测包体。其中,该提示信息中可以直接携带被测包体,或者,可以携带用于下载该被测包体的链接或其他下载方式。在一种可能的设计中,前述提示信息中还可以携带奖励信息,该奖励信息用于通知测试用户参与该测试任务可在满足指定条件后领域测试奖励。其中,测试奖励的发放方式、奖励内容、指定条件均可以根据实际场景自定义设置。例如,指定条件可以设置为日活跃度满足活跃度阈值的天数达到预设天数,如一周。
S204,接收各测试终端发送的测试运行数据。
具体而言,该步骤在实现时,被测包体已经被安装在测试终端中,并以应用程序的客户端的方式在测试终端中运行,由此,测试运行数据在测试服务器与测试终端之间进行交互的方式至少可以包括如下情况:
一种由第三方平台提供测试的场景中,由于被测包体被配置为可以采集测试运行数据,而被测包体形成的客户端仅可以通过与应用程序的主服务器之间形成系统内通信,而无法由客户端直接将测试运行数据发送给该第三方的测试服务器,这种场景下,测试终端可以获取测试客户端采集到的测试运行数据,其中,获取方式包括:调用获取、交互获取等;之后,就可以通过测试终端与测试服务器之间的通信来实现该测试运行数据的发送和接收。为了便于说明,以下,将这种通信方式简称之为系统外通信。
其中,测试服务器与测试终端之间存在系统外通信方式,主要包括但不限于:有线通信、借助第三方的无线通信(如短信通信、号码通信、通信软件通信等)等。
一种由应用程序的开发者实现测试的场景中,此时,测试服务器即为应用程序的主服务器或其中的一部分,或者可直接与主服务器通信,此时,除通过前述系统外通信方式实现交互之外,还可以由通过该客户端与其主服务器之间的系统内通信方式来实现该测试运行数据的发送和接收。为了便于说明,以下,将测试客户端与测试服务器(或主服务器)之间的通信方式简称之为系统内通信。此时,测试服务器可以接收主服务器或测试客户端发送来的测试运行数据。
因此,该步骤在实现时,结合不同的实现场景,可以通过系统内通信实现S202所述的分发步骤与S204所述的接收步骤,也可以通过系统外通信实现前述两个步骤。此外,一种特殊的设计中,若S202之前测试终端中并未安装该测试程序的客户端(开发者自行实现测试的场景中,可表现为该被测包体对应程序的客户端,可进一步具体为其他版本的客户端),则在执行S202时仅能采取系统外通信的方式实现分发。
S206,根据所述测试运行数据,获取所述被测包体的测试结果。
如前所述,本发明实施例所得到的测试运行数据能够对被测包体的运行情况进行描述,相较于现有的众包测试方法依赖于用户反馈的技术方案,本发明实施例所提供的技术方案能够得到更精准有效的测试结果。例如,针对一些底层修改,用户的观感体验区别可能并不明显,但是,在包体运行时的运行参数上就可以轻易得到其性能指标,这更有利于开发者掌握被测包体的情况和改进方向,在一定程度上还有利于缩短开发周期。
具体实现方面,对于被测包体而言,在执行S202步骤之前,被测包体还需要被提前配置,其中,配置方式可以包括但不限于:数据采集并反馈的功能配置。
在开发者对自身开发的被测包体的测试场景中,该功能配置步骤可以由开发者手动配置,或者,可以由该测试服务器自动配置完成;而在第三方测试平台为开发者提供的被测包体进行测试的场景中,第三方测试平台得到的被测包体可以是已经被配置好的包体(如前所述任一方式),或者,也可以是未被配置好的被测包体,此时,则需要由该第三方平台的测试服务器自动配置完成,或者,也可以由该第三方测试平台的测试人员手动配置完成。
对于由测试服务器执行功能配置的场景中,请参考图3,在执行S202中将被测包体分发给各测试终端之前,所述方法还包括:
S2012,对所述被测包体进行功能配置,以使得被配置后的所述被测包体具备采集并反馈所述测试运行数据的功能。
具体而言,测试服务器自动对被测包体进行功能配置的方式可以包括但不限于如下方式:在所述被测包体中插入数据采集代码,所述数据采集代码用于采集并反馈所述测试运行数据。
具体而言,数据采集代码可以提前编辑并存储在指定位置,或者,也可以通过输出提示信息并获取测试人员手动输入的代码的方式获取到。此外,针对不同的被测包体,还可以设计不同的数据采集代码,以实现各被测包体的个性化设计。此外,本发明实施例对于数据采集代码在被测包体中的插入位置无特别限定,根据实际需要设定即可。
具体而言,数据采集代码用于指示在包体运行过程中需要被采集的运行数据类型,还用于指示将采集到的运行数据如何进行反馈。
具体的,反馈的运行数据的接收方即为测试服务器。而测试客户端将运行数据发送给测试服务器的发送方式可以为客户端与测试服务器之间的系统内通信方式,或者,也可以通过终端设备与服务器之间的系统外通信方式。具体的,前述任一通信方式可以包括有线通信与无线通信,而无线通信其可以包括但不限于如下至少一种:全球移动通讯(Global System of Mobile communication,简称GSM)、码分多址(Code DivisionMultiple Access,简称CDMA)、宽带码分多址(Wideband Code Division MultipleAccess,简称WCDMA)、时分同步码分多址(Time Division-Synchronous Code DivisionMultiple Access,简称TD-SCDMA)、长期演进(Long Term Evolution,简称LTE)系统及未来的5G等网络通信方式。
此外,客户端发送运行数据的发送时机可以被配置为实时发送,这有利于测试运行数据的实时处理,有利于提高处理效率;或者,其发送可以被配置为定时发送,或者,可以被配置为终端处于空闲状态时发送,或者,可以被配置为被测包体的系统占用情况较低时发送的,这几种配置方式能够降低系统的负担,有利于提高被测包体的运行流畅度,提高用户体验。
通过如上所述的配置之后,测试服务器将被配置好的被测包体分发给测试用户。而在执行该分发步骤之前,还需要提前确定出测试终端。在具体确定测试终端时可以预先确定测试用户,并将被测包体发送给测试用户所使用的终端设备即可。
在一种可能的设计中,可以将该被测包体对应程序的用户群中的各用户均作为测试用户。例如,若被测包体对应程序为游戏类程序,则将该游戏类程序的所有用户玩家作为测试用户。又例如,若被测包体对应程序为购物类程序,则可以将该购物类程序的所有会员作为测试用户。又例如,若被测包体对应程序为通信类程序,则可以将该通信类程序中参与通信的个体用户作为测试用户。
在另一种可能的设计中,还可以在将被测包体分发给各测试终端之前,在所述被测包体对应程序的用户群中进行筛选,得到测试用户,并将所述测试用户所在终端确定为所述测试终端。
其中,测试用户可以表现为用户在使用该应用程序时的唯一身份标识,例如,游戏应用程序中的游戏玩家的唯一身份标识。
具体而言,筛选原则可以有不同的策略,可以包括但不限于:在被测包体的用户群中随机选择,或者,根据用户群中各用户与被测包体之间的交互情况进行筛选,或者,根据用户群中根据用户画像进行筛选。
一种可行的实现设计中,若被测包体对应程序具备自身的用户群。例如,在某一应用程序的迭代升级场景中,该应用程序具备自身的用户群,被测包体可以是该应用程序即将被发布的新版本包体。
在被测包体对应应用程序具备用户群的前提下,请参考图4,在执行S202步骤之前,该方法还可以包括如下步骤:
S2002,获取所述被测包体对应程序的用户群中各用户的使用数据。
其中,所述使用数据用于表征所述用户与所述被测包体对应程序(该程序可以具备多个版本,此时,是指用户与除被测包体版本外的其他版本的交互情况)的交互情况,其可以包括但不限于如下至少一种:用户活跃程度、用户更新程序频率、所述被测包体对应程序的整包版本、交易数据。其中,用户活跃程度用于表征用户使用该被测包体对应程序的频率与交互程度,用户更新程序的频率用于表征用户对于程序更新的积极态度,交易数据用于表征用户在该被测包体对应程序的消费情况。
S2004,根据所述使用数据,在所述用户群中确定所述测试用户,并将所述测试用户所在终端确定为所述测试终端。
该步骤目的在于筛选出与该程序交互程度更高的用户作为测试用户,以使得到的测试用户更能反映该应用程序的用户群体。
以前述游戏类应用程序为例,可以首先确定该游戏类应用程序对应的用户群,并根据用户活跃程度,获取其中活跃程度较高的用户,以作为测试用户。其中,活跃程度可以通过等级或数值的方式表示,因此,根据需要设定等级阈值或数值阈值,即可获取到大于或等于该设定阈值的较高活跃程度的用户,不再赘述。
以上方案以被测包体对应程序具备自身的用户群为前提,这种实现方式有利于提高测试用户的精准程度,使得测试效果更好,从而,反馈得到的测试运行数据更贴合程序对应用户群的使用需求。
但是,在实际应用场景中,被测包体的对应程序可能还不具备用户群,例如,被测包体对应程序为并未发布或应用程序,这一类程序没有已发布的前一版本,并未具备自身用户群。此时,还可以通过其他方式来确定测试用户。
一种具体的设计中,可以通过第三方数据源提供的第三方数据来筛选测试用户。其中,第三方数据源可以是用于提供程序下载服务的第三方下载平台,或者,也可以是另一应用程序。这种实现方式要求本测试服务器具备获取第三方数据源的数据的资格。
具体而言,在具体实现时,若第三方数据源为第三方下载平台,则可以根据被测包体对应程序的类型,选择该第三方下载平台上下载该类程序较多的用户作为测试用户。其中,较多可以通过数目阈值来确定。这种实现方式在一定程度上能够提高用户精准度。或者,若第三方数据源为与该被测包体对应程序的类型相似的第三方程序,也可根据前述方法在该第三方程序对应的用户群中进行筛选,以确定该测试包体的测试用户。
除前述方法以外,还可以根据其他筛选条件,在第三方数据中筛选以确定测试用户。例如,可以进行随机筛选,以得到目标数目的测试用户;或者,又例如,还可以在其中筛选出热衷于尝试新程序的用户,以作为待测包体的测试用户;或者,又例如,还可以筛选出热衷于该开发者开发的程序的用户,作为测试用户,等。实现方式及筛选原则可以根据实际需要设定,以满足不同测试场景的个性化测试需求,不再赘述。
基于测试用户的确定,以及,被测包体的功能配置完成,即可执行前述S202步骤所述的分发步骤,并基于S204中接收到的测试运行数据,获取测试结果。具体而言,本发明实施例对于测试结果的表现形式无特殊限定,其表现形式可以包括但不限于:图、表格与测试报告中的至少一种。例如,在一种可能的设计中,可以将接收到的测试运行数据形成规定格式的测试报告,并输出给开发者。
除单纯依赖被测包体得到的测试运行数据得到测试结果之外,本发明实施例还提供一种对照方案,也就是,通过测试运行数据与对照运行数据的对比,来得到测试结果。
此时,可以参考图5,该获取步骤还可以包括如下步骤:
S2062,获取对照运行数据。
其中,对照运行数据的数目可以为至少一组。而对照运行数据可以是提前预设好的预设数据;或者,对照运行数据可以是预设的对照包体在对照终端中运行过程中的对照运行数据。可知,对照终端为对照用户使用的终端设备。
具体实现时,对照包体所对应程序与测试包体对应程序可以相同,此时,对照包体与测试包体为同一应用程序对应的两个不同版本的包体。这种设计方式能够直观且准确的比较出该应用程序的两个版本在各运行数据上的直观差异,可得到更有针对性与对照意义的测试结果。或者,对照包体也可以为一个预设的参考包体,该参考包体可以根据实际需要个性化配置,并不局限于与测试包体对应于同一应用程序的情况,这给了程序测试较大的自由度,适应于不同的测试场景,灵活度较高,应用范围较广。
此外,对照用户与测试用户可以为完全相同的用户群,得到测试包体和对照包体分别被相同的用户使用过程中的运行数据情况,如此得到的测试结果一定程度上还可以避免用户不同对测试结果的影响。或者,对照用户群与测试用户群中存在至少一个不相同的用户,也就是,对照用户与测试用户不完全相同或者完全不相同,这种设计方案,可以形成一种A/B testing方案。此外,若涉及对照用户群的筛选确定时,可依据本方案前述确定测试用户的任一实现方式实现,不再赘述。
举例说明,具体实现时,被测包体可以是游戏程序x的一个全新未发布版本的包体,而对照包体可以是游戏程序x的一个已发布并投入使用的正式版本的包体。此外,若测试用户为游戏程序x的用户群中筛选到的部分用户;而对照用户可以为该用户群中除测试用户之外的其他用户,或者,对照用户可以为该用户群中除测试用户之外的其他用户中再筛选得到的部分用户,或者,对照用户可以为测试用户,等,可以采取不同的测试方案。
S2064,根据所述测试运行数据与所述对照运行数据,获取所述被测包体的测试结果。
也就是,获取测试运行数据与对照运行数据之间的对比数据,以作为测试结果。其中,图6示出了测试运行数据与两种对照运行数据之间的每秒帧数在时间顺序上的对比曲线。
此外,出于降低测试过程对应用程序使用方面的影响,在另一个实现场景中,测试服务器所分发的被测包体还可以被配置为与测试终端中的其他程序共存。也就是,在执行S202步骤之前,还可以对被测包体进行共存配置,以使得被配置后的所述被测包体能够与测试终端中的其他程序共存。与前述功能配置的执行场景及执行主体类似,该共存配置可以在S202之前由测试服务器执行,也可以由测试人员或开发人员提前配置完成,不再赘述。
在用户终端中,每个应用程序具备一个唯一标识符(bundle id),该唯一标识符用于将将该应用程序与其他应用程序进行区分,若唯一标识符不同,则会被用户终端识别为两个不同的应用程序。
基于此,本发明实施例提供一种由测试服务器执行的共存配置方法,请参考图7,该方法在执行S202之前,还可以包括如下步骤:
S2014,修改所述被测包体的唯一标识符,使得所述被测包体的唯一标识符与所述测试终端中已有的唯一标识符不同。
具体而言,前述针对bundle id的修改可以有多种实现方式,其目的在于修改后的被测包体在测试终端中表现为一个独立的且不影响其他程序的应用程序。
一种可能的设计中,可以在该应用程序的正式包体版本的bundle id基础上增加“测试版”字符或标识符,以作为被测包体的bundle id,如此,被测版本的bundle id区别于该应用程序的现有版本bundle id,且区别于其他程序的bundle id。
另一种可能的设计中,还可以生成与唯一字符串,以作为该被测包体的bundleid,以使其区别于测试终端中已有的任意bundle id。
此外,除修改被测包体的bundle id之外,本发明实施例中,还可以进一步对该被测包体进行其他适配修改,如对被测包体在测试终端中显示的测试客户端的应用图标显示“测试版”字样等。适配修改目的主要用于区分该被测包体与其他程序,在实际应用中可根据需要适配,本发明实施例对此无特殊限定。
经过前述配置后的被测包体的唯一标识符与该程序对应其他包体的唯一标识符不同,若用户下载并安装该被测包体,则对其他程序或该程序对应的其他版本包体无影响。也就是,用户终端中可以同时共存该应用程序的两个不同版本的客户端。如此,在执行本方案的测试过程中,用户可根据需要使用正式版客户端或测试版客户端,这能够降低测试过程对用户使用该应用程序的影响,避免由于测试版本出现问题而导致用户无法使用该应用程序的问题,解决了众测过程只能进行测试,而无法正常运行体验的问题。
此外,本发明实施例中,当图3所示S2012、图4所示S2002、S2004步骤与图7所示S2014步骤在同一应用场景中由测试服务器执行时,除S2002与S2004顺序执行之外,对于其他步骤之间的执行次序无特别限定,这些步骤只需要在S202之前执行即可。
可以理解的是,上述实施例中的部分或全部步骤或操作仅是示例,本申请实施例还可以执行其它操作或者各种操作的变形。此外,各个步骤可以按照上述实施例呈现的不同的顺序来执行,并且有可能并非要执行上述实施例中的全部操作。
实施例二
基于上述实施例一所提供的基于众包的测试方法,本发明实施例进一步给出实现上述方法实施例中各步骤及方法的装置实施例。
本发明实施例提供了一种基于众包的测试服务器,请参考图8,该基于众包的测试服务器800,包括:
分发模块81,用于将被测包体分发给各测试终端,所述被测包体被配置为采集并反馈所述被测包体在所述测试终端中运行过程中的测试运行数据;
接收模块82,用于接收各测试终端发送的测试运行数据;
获取模块83,用于根据所述测试运行数据,获取所述被测包体的测试结果。
一种可能的设计中,获取模块83,具体用于:
获取对照运行数据;
根据所述测试运行数据与所述对照运行数据,获取所述被测包体的测试结果。
此外,另一种可能的设计中,该基于众包的测试服务器800还包括:
筛选模块(图8未示出),用于在所述将被测包体分发给各测试终端之前,在所述被测包体对应程序的用户群中进行筛选,得到测试用户,并将所述测试用户所在终端确定为所述测试终端。
其中,筛选模块,具体用于:
获取所述被测包体对应程序的用户群中各用户的使用数据;其中,所述使用数据用于表征所述用户与所述被测包体对应程序的交互情况;
根据所述使用数据,在所述用户群中确定所述测试用户。
本发明实施例所涉及到的所述使用数据包括如下至少一种:用户活跃程度、用户更新程序频率、所述被测包体对应程序的整包版本、交易数据。
此外,另一种可能的设计中,该基于众包的测试服务器800还包括:
第一配置模块(图8未示出),用于在所述将被测包体分发给各测试终端之前,对所述被测包体进行功能配置,以使得被配置后的所述被测包体具备采集并反馈所述测试运行数据的功能。
其中,第一配置模块,具体用于:
在所述被测包体中插入数据采集代码,所述数据采集代码用于采集并反馈所述测试运行数据。
此外,另一种可能的设计中,该基于众包的测试服务器800还包括:
第二配置模块(图8未示出),用于在所述将被测包体分发给各测试终端之前,对所述被测包体进行共存配置,以使得被配置后的所述被测包体能够与测试终端中的其他程序共存。
其中,第二配置模块,具体用于:
修改所述被测包体的唯一标识符,使得所述被测包体的唯一标识符与所述测试终端中已有的唯一标识符不同。
本发明实施例所涉及到的所述运行数据至少包括:性能数据;
所述运行数据还包括如下至少一种:用户身份数据、包体版本数据、设备基础数据与引擎版本数据。
图8所示实施例的基于众包的测试服务器800可用于执行上述方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述,可选的,该基于众包的测试服务器800可以是应用程序的总服务器或其中的一部分,或者,还可以是第三方测试平台的服务器。
应理解以上图8所示基于众包的测试服务器800的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块以软件通过处理元件调用的形式实现,部分模块通过硬件的形式实现。例如,获取模块83可以为单独设立的处理元件,也可以集成在基于众包的测试服务器800中,例如终端的某一个芯片中实现,此外,也可以以程序的形式存储于基于众包的测试服务器800的存储器中,由基于众包的测试服务器800的某一个处理元件调用并执行以上各个模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,ASIC),或,一个或多个微处理器(digital singnal processor,DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,FPGA)等。再如,当以上某个模块通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central ProcessingUnit,CPU)或其它可以调用程序的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
并且,本发明实施例提供了一种基于众包的测试服务器,请参考图9,该基于众包的测试服务器900,包括:
存储器910;
处理器920;以及
计算机程序;
其中,计算机程序存储在存储器910中,并被配置为由处理器920执行以实现如上述实施例所述的方法。
其中,基于众包的测试服务器900中处理器920的数目可以为一个或多个,处理器920也可以称为处理单元,可以实现一定的控制功能。所述处理器920可以是通用处理器或者专用处理器等。在一种可选地设计中,处理器920也可以存有指令,所述指令可以被所述处理器920运行,使得所述基于众包的测试服务器900执行上述方法实施例中描述的测试方法。
在又一种可能的设计中,基于众包的测试服务器900可以包括电路,所述电路可以实现前述方法实施例中发送或接收或者通信的功能。
可选地,所述基于众包的测试服务器900中存储器910的数目可以为一个或多个,存储器910上存有指令或者中间数据,所述指令可在所述处理器920上被运行,使得所述基于众包的测试服务器900执行上述方法实施例中描述的方法。可选地,所述存储器910中还可以存储有其他相关数据。可选地处理器920中也可以存储指令和/或数据。所述处理器920和存储器910可以单独设置,也可以集成在一起。
此外,如图9所示,在该基于众包的测试服务器900中还设置有收发器930,其中,所述收发器930可以称为收发单元、收发机、收发电路、或者收发器等,用于与测试设备或其他终端设备进行数据传输或通信,在此不再赘述。
如图9所示,存储器910、处理器920与收发器930通过总线连接并通信。
若该基于众包的测试服务器900用于实现对应于图2中的方法时,例如,可以由收发器930向各测试终端发布被测包体,收发器930还可以用于接收各测试终端反馈的测试运行数据。而处理器920用于完成相应的确定或者控制操作,可选的,还可以在存储器910中存储相应的指令。各个部件的具体的处理方式可以参考前述实施例的相关描述。
此外,本发明实施例提供了一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行以实现如实施例一所述的方法。
以及,本发明实施例提供了一种基于众包的测试系统,请参考图1,该基于众包的测试系统包括:前述基于众包的测试服务器与多个测试终端。
由于本实施例中的各模块能够执行实施例一所示的方法,本实施例未详细描述的部分,可参考对实施例一的相关说明。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本发明旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。

Claims (13)

1.一种基于众包的测试方法,其特征在于,包括:
将被测包体分发给各测试终端,所述被测包体被配置为采集并反馈所述被测包体在所述测试终端中运行过程中的测试运行数据;
接收各测试终端发送的测试运行数据;
根据所述测试运行数据,获取所述被测包体的测试结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述测试运行数据,获取所述被测包体的测试结果,包括:
获取对照运行数据;
根据所述测试运行数据与所述对照运行数据,获取所述被测包体的测试结果。
3.根据权利要求1所述的方法,其特征在于,所述将被测包体分发给各测试终端之前,所述方法还包括:
在所述被测包体对应程序的用户群中进行筛选,得到测试用户,并将所述测试用户所在终端确定为所述测试终端。
4.根据权利要求3所述的方法,其特征在于,所述在所述被测包体对应程序的用户群中进行筛选,得到测试用户,包括:
获取所述被测包体对应程序的用户群中各用户的使用数据;其中,所述使用数据用于表征所述用户与所述被测包体对应程序的交互情况;
根据所述使用数据,在所述用户群中确定所述测试用户。
5.根据权利要求4所述的方法,其特征在于,所述使用数据包括如下至少一种:用户活跃程度、用户更新程序频率、所述被测包体对应程序的整包版本、交易数据。
6.根据权利要求1所述的方法,其特征在于,所述将被测包体分发给各测试终端之前,所述方法还包括:
对所述被测包体进行功能配置,以使得被配置后的所述被测包体具备采集并反馈所述测试运行数据的功能。
7.根据权利要求6所述的方法,其特征在于,所述对所述被测包体进行功能配置,包括:
在所述被测包体中插入数据采集代码,所述数据采集代码用于采集并反馈所述测试运行数据。
8.根据权利要求1所述的方法,其特征在于,所述将被测包体分发给各测试终端之前,所述方法还包括:
对所述被测包体进行共存配置,以使得被配置后的所述被测包体能够与测试终端中的其他程序共存。
9.根据权利要求8所述的方法,其特征在于,所述对所述被测包体进行共存配置,包括:
修改所述被测包体的唯一标识符,使得所述被测包体的唯一标识符与所述测试终端中已有的唯一标识符不同。
10.根据权利要求1-9任一项所述的方法,其特征在于,所述运行数据至少包括:性能数据;
所述运行数据还包括如下至少一种:用户身份数据、包体版本数据、设备基础数据与引擎版本数据。
11.一种基于众包的测试服务器,其特征在于,包括:
分发模块,用于将被测包体分发给各测试终端,所述被测包体被配置为采集并反馈所述被测包体在所述测试终端中运行过程中的测试运行数据;
接收模块,用于接收各测试终端发送的测试运行数据;
获取模块,用于根据所述测试运行数据,获取所述被测包体的测试结果。
12.一种基于众包的测试服务器,其特征在于,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求1至10任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,
所述计算机程序被处理器执行以实现如权利要求1至10任一项所述的方法。
CN201910191291.XA 2019-03-13 2019-03-13 基于众包的测试方法及服务器、存储介质 Pending CN109918308A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910191291.XA CN109918308A (zh) 2019-03-13 2019-03-13 基于众包的测试方法及服务器、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910191291.XA CN109918308A (zh) 2019-03-13 2019-03-13 基于众包的测试方法及服务器、存储介质

Publications (1)

Publication Number Publication Date
CN109918308A true CN109918308A (zh) 2019-06-21

Family

ID=66964699

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910191291.XA Pending CN109918308A (zh) 2019-03-13 2019-03-13 基于众包的测试方法及服务器、存储介质

Country Status (1)

Country Link
CN (1) CN109918308A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113010405A (zh) * 2019-12-20 2021-06-22 北京沃东天骏信息技术有限公司 一种应用程序的测试方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102812451A (zh) * 2010-01-27 2012-12-05 惠普发展公司,有限责任合伙企业 软件应用测试
CN103237082A (zh) * 2013-05-06 2013-08-07 百度在线网络技术(北京)有限公司 云测试方法、系统和云端服务器
CN104809057A (zh) * 2014-01-29 2015-07-29 株式会社Sji 应用测试系统及应用测试方法
CN106095688A (zh) * 2016-06-23 2016-11-09 微梦创科网络科技(中国)有限公司 一种软件性能测试方法及装置
US20170060732A1 (en) * 2015-08-31 2017-03-02 Vmware, Inc. Automated bug detection with virtual machine forking
CN108874655A (zh) * 2017-05-15 2018-11-23 华为技术有限公司 一种处理众包测试数据的方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102812451A (zh) * 2010-01-27 2012-12-05 惠普发展公司,有限责任合伙企业 软件应用测试
CN103237082A (zh) * 2013-05-06 2013-08-07 百度在线网络技术(北京)有限公司 云测试方法、系统和云端服务器
CN104809057A (zh) * 2014-01-29 2015-07-29 株式会社Sji 应用测试系统及应用测试方法
US20170060732A1 (en) * 2015-08-31 2017-03-02 Vmware, Inc. Automated bug detection with virtual machine forking
CN106095688A (zh) * 2016-06-23 2016-11-09 微梦创科网络科技(中国)有限公司 一种软件性能测试方法及装置
CN108874655A (zh) * 2017-05-15 2018-11-23 华为技术有限公司 一种处理众包测试数据的方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113010405A (zh) * 2019-12-20 2021-06-22 北京沃东天骏信息技术有限公司 一种应用程序的测试方法和装置

Similar Documents

Publication Publication Date Title
Boim et al. Asking the right questions in crowd data sourcing
CN104965778B (zh) 游戏测试方法及装置
CN104428809B (zh) 高尔夫信息提供系统、信息提供引导装置及信息提供方法
WO2013142401A1 (en) Broadcast messaging of incentives based on value
CN110428555A (zh) 共享充电设备归还方法以及装置
CN108681921A (zh) 一种基于随机博弈获取群智感知激励策略的方法及装置
CN108874655A (zh) 一种处理众包测试数据的方法及装置
CN109636603A (zh) 基于报文策略配置的证券模拟交易平台
CN105931086A (zh) 一种向移动终端投放广告的方法及装置
CN109947985A (zh) 应用于在线系统中的神经网络处理方法及装置
CN110413528A (zh) 测试环境智能配置方法及系统
US20150186247A1 (en) Autonomous media version testing
CN109726108A (zh) 基于模拟数据的前端代码测试方法、装置、系统和介质
CN108984490A (zh) 一种数据标注方法、装置、电子设备及存储介质
CN105917377A (zh) 测量跨装置受众的方法和设备
CN109918308A (zh) 基于众包的测试方法及服务器、存储介质
CN109271160A (zh) 活动规则组建方法、装置和计算机系统、介质
CN110427998A (zh) 模型训练、目标检测方法及装置、电子设备、存储介质
CN107172216A (zh) 基于用户终端的任务处理方法、装置及系统
CN107679166A (zh) 在线付费的碎片化阅读方法、装置、系统及存储介质
CN106156270A (zh) 多媒体数据推送方法及装置
CN109150864A (zh) 基于二次认证的防作弊方法及装置
CN109993562A (zh) 一种满意度仿真方法、装置及终端设备
Cerit et al. Quality function deployment and its application on a smartphone design
CN103957504B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190621