CN104579854B - 众包测试方法 - Google Patents
众包测试方法 Download PDFInfo
- Publication number
- CN104579854B CN104579854B CN201510076601.5A CN201510076601A CN104579854B CN 104579854 B CN104579854 B CN 104579854B CN 201510076601 A CN201510076601 A CN 201510076601A CN 104579854 B CN104579854 B CN 104579854B
- Authority
- CN
- China
- Prior art keywords
- test
- client
- tested
- round
- server
- 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
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种众包测试方法,包括:测试客户端向测试服务器发送所述测试客户端的特征信息,所述测试服务器根据接收到的至少一个测试客户端的特征信息,选择用于执行待测试服务的待测试客户端,所述测试服务器向所述待测试客户端发送待测试服务列表,所述待测试客户端对所述待测试服务列表中的待测试服务进行测试,得到所述待测试服务的测试结果,最后,所述待测试客户端向所述测试服务器发送所述测试结果。这种对网络应用服务进行测试的众包测试方法,不仅显著地改善了测试效果,还有效地减小了测试开销。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种众包测试方法。
背景技术
网络应用服务是一个软件系统,通常运行在不同的硬件、软件、网络环境下,支持网络间不同机器的互动操作。目前,网络应用服务中的诸多服务已被嵌入到移动应用中,由移动端发起调用,但是由于移动设备具有众多传感器,其发起服务调用时输入的参数比较丰富,使得不同的移动设备在不同的网络接入环境下访问网络应用服务时的性能也不相同,因此,在网络应用服务产品进行发布之前需要对其进行测试。
一般情况下,对网络应用服务产品的测试主要靠固定的测试团队来完成,具体的,通过高级测试人员编写自动化测试用例(例如Python自动化测试用例),分析测试用例的结果,进而得出网络应用服务产品的性能,但是,这种传统的测试方法受测试范围、测试环境以及测试人员数量的限制,存在测试效率低、测试成本高或测试结果不真实的缺陷。随着互联网技术的进步,出现了采用众包测试方法实现网络应用服务产品的测试,通过将网络应用服务的待测试任务以众包的形式分配给测试客户端,使得测试客户端不论在何时何地都能够参与测试,大大提高了众包测试任务的参与度和完成速度。
然而,上述众包测试的方法,只是将网络应用服务中的待测试任务分配给所有测试客户端,仍然存在测试效果差,测试开销大的问题。
发明内容
本发明提供了一种众包测试方法,根据测试客户端的地理位置和网络接入类型,选择尽量少的待测试客户端来完成测试,不仅显著地改善了测试效果,还有效地减少了测试开销。
本发明提供的一种众包测试方法,包括:
测试客户端向测试服务器发送所述测试客户端的特征信息,所述特征信息包括所述测试客户端与所述测试服务器之间的通信时延、所述测试客户端的用户信息、所述测试客户端的位置信息、所述测试客户端的网络接入类型中的至少一种;
所述测试服务器根据接收到的至少一个测试客户端的特征信息,选择用于执行待测试服务的待测试客户端;
所述测试服务器向所述待测试客户端发送待测试服务列表;
所述待测试客户端对所述待测试服务列表中的待测试服务进行测试,得到所述待测试服务的测试结果;
所述待测试客户端向所述测试服务器发送所述测试结果。
本发明提供的众包测试方法,通过对参与测试的所有测试客户端进行筛选,利用尽量少的、最具代表性的测试客户端来完成测试任务,不仅显著地改善了测试效果,还有效地减小了测试开销。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明众包测试方法实施例一中测试客户端与测试服务器的交互流程图;
图2为本发明众包测试方法实施例二中测试客户端与测试服务器的交互的流程图;
图3为本发明众包测试方法实施例三的流程图;
图4为本发明众包测试方法实施例四的流程图;
图5为二维平面位置上有效半径和同质点的示意图;
图6为三维空间中有效半径和同质点的示意图;
图7为本发明众包测试方法实施例五的流程图;
图8为本发明众包测试方法实施例六的流程图;
图9为本发明众包测试框架实施例一的系统结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
网络应用服务是一个软件系统,包括Web应用程序、Web服务程序和移动应用服务(移动App)等,网络应用服务通常运行在不同的硬件、软件、网络环境下,用来支持网络间不同机器的互动操作。由于网络应用服务中的许多服务被嵌入到移动应用中,由移动端发起调用,众所周知,移动设备具有众多的传感器,其发起服务调用时输入的参数(例如,位置、方向等信息)非常丰富,所以,不同的移动设备在发起网络应用服务调用时呈现出来的性能也大不相同,因此,在网络应用服务产品进行发布之前对其进行测试是一个不可缺少的环节。
Web服务技术已经得到了广泛的应用,属于网络应用服务的一个重要方面。下面首先介绍一下Web服务技术的相关知识。
近年来,随着互联网技术的不断发展,网络上聚集了越来越多的资源,不仅包含丰富的计算、存储等物理资源,还有大量的软件、服务资源。由于各种资源的数目和类型日益增长,其为基于服务的网络软件开发提供了重要的基础。与此同时,简单对象访问协议(Simple Object Access Protocol,简称SOAP)、网络服务描述语言(Web ServicesDescription Language,简称WSDL)、统一描述、发现和集成(Universal DescriptionDiscovery and Integration,简称UDDI)和业务过程执行语言(Business ProcessExecution Language,简称BPEL)等标准的制定进一步促进了Web服务技术及面向服务的软件结构(Service-Oriented Architecture,简称SOA)的快速发展,使得异构信息、异构平台的共享与集成成为可能,进而使得基于服务的分布式应用系统开发已经成为计算机软件领域的一个重要方向。W3C(万维网联盟)对Web服务的定义为:Web服务(Web service,本申请主要基于SOAP服务)是一个软件系统,用以支持网络间不同机器的互动操作。Web服务通常由许多应用程序接口API组成,它们通过网络(例如,Internet的远程服务器端)来执行客户所提交的服务请求。
目前,Web服务技术系统中,不仅存在着大量商用开放源码和独立开发的服务软件,并且它们还在不断增长,同时,Web服务技术系统中也存在大量的注册服务,例如,开放注册库BindingPoint.com和XMethods.org等,此外,Google、Amazon等公司也已经开始对外提供商用的Web服务。在上述的这些服务中,其中有很多服务可以为移动应用提供支持,通过智能移动终端来访问服务。然而,由于智能移动终端设备的多样性,接入网络环境的差异性,不同设备在不同的网络接入环境下访问服务的性能也不相同。
目前,针对网络应用服务产品的测试,许多公司依然采用传统的测试方法,主要是通过公司里由固定测试人员组成的测试团队来完成,具体来说,通过高级测试人员编写自动化测试用例,分析测试用例的结果,从测试用例的结果中来获取网络应用服务产品的性能。然而,传统测试团队的测试环境很难广泛覆盖服务的真实运行环境,并且其还受测试范围和测试人员数量的限制,存在测试效率低、测试成本高以及测试结果不真实的问题。
随着互联网技术的迅速发展,只要能够接触到互联网的人员都能够利用网络资源,所以,出现了采用众包模式来测试网络应用服务产品的方法,通过将网络应用服务的待测试任务以众包的形式分配给测试客户端,由测试客户端的使用人员来完成测试的方法。下面首先来了解一下关于众包的概念。
众包指的是一个公司或机构把过去由员工执行的工作任务,以自由自愿的形式外包给非特定的大众网络的做法。众包的任务通常是由个人来承担,但如果涉及到需要多人协作完成的任务,也有可能以依靠开源的个体生产的形式出现。美国《连线》杂志的记者Jeff Howe在2006年的6月刊上,首次推出了众包的概念。
目前,众包模式已经对美国的一些产业产生了颠覆性的影响,例如,一个跨国公司耗费几十亿美元也无法解决的研发难题,被一个外行人在两周的时间内圆满完成;过去要数百美元一张的专业水准图片,现在只要一美元就可以买到,此外,其他国家也出现了亚马逊Mechanical Turk、CrowdFlower以及ODesk等多个通用众包任务平台,在这些平台上的企业用户可以以数美分起价外包简单计算任务,而个人用户将通过完成某项工作获得小额的报酬。至此,众包模式已从创新设计领域切入,悄然颠覆着传统产业的结构。
在中国,众包模式也已经有了尝试者,例如,移动互联网时代众包招聘的创新者-人人猎头,中国最大的任务众包平台-微差事以及基于移动互联网的数据采集众包平台-拍拍赚等。由于国内的这些代表性众包平台都与互联网有密切的联系,用户能够通过移动互联网几乎在任何时间、任何地点都可方便地参与完成众包任务,大大提高了众包任务的参与度和完成速度。
众包测试是众包模式的典型应用,它的特点非常鲜明,在很多方面都具有无可比拟的优势,例如,快速迭代、成本低、获取到的用户需求真实以及环境真实等特点。
其中,快速迭代是指采用“短平快”的流程,能够尽快暴露问题并进行修改,“短平快”是指借助于互联网,使用测试客户端的测试人员能够在较短的时间内,快速进行测试并对出现的问题进行修改,测试需要的周期短,整体效果好。
成本低:一般来说,在某些产品的测试成本上,与其雇佣一个高级测试人员来编写自动化测试用例(例如Python自动化测试用例),还不如众包给一百个普通用户进行人肉测试,因为后者的测试成本很低,甚至是免费的。
获取到的用户需求真实:利用众多的使用用户进行自行测试,可以获取到最真实的用户需求。
环境真实:该众包测试方法利用不同的测试平台、测试设备和同步的测试人员参与测试,能够最真实地反映网络应用服务软件的实际运行环境,从实际的测试环境中获取真知灼见,并不只是从测试用例的测试结果中获得,相对于传统的测试方法,测试效果有了很大提高。
然而,目前采用的众包测试方法,只是将网络应用服务中的待测试任务分配给所有测试客户端,由测试客户端的使用用户来完成,其仍然会存在测试效果差,测试开销大的问题。
针对上述问题,本发明提出了一种新的众包测试方法,能够显著提高测试效果,降低测试开销。
图1为本发明众包测试方法实施例一中测试客户端与测试服务器的交互流程图。如图1所示,本发明提出的众包测试方法,包括:
步骤11:测试客户端向测试服务器发送测试客户端的特征信息;
其中,所述特征信息包括测试客户端与测试服务器之间的通信时延、测试客户端的用户信息、测试客户端的位置信息、测试客户端的网络接入类型中的至少一种;
步骤12:测试服务器根据接收到的至少一个测试客户端的特征信息,选择用于执行待测试服务的待测试客户端;
目前,本发明所使用的测试客户端只有安卓版的客户端,在利用本发明提供的众包测试方法对网络应用服务产品进行测试时,测试客户端需要向测试服务器发送测试客户端的特征信息,使得测试服务器能够根据上述特征信息选择用于执行待测试服务的待测试客户端。
具体的,测试客户端的特征信息,主要包括测试客户端与测试服务器之间的通信时延、测试客户端的用户信息、测试客户端的位置信息、测试客户端的网络接入类型中的至少一种。其中,测试客户端与测试服务器之间的通信时延用于表征测试客户端与测试服务器之间的网络状况;测试客户端的用户信息,包括测试用户的ID、职业、教育水平和邮箱等,测试服务器能够根据实际需要和测试客户端的用户信息进一步选择使用待测试客户端的人员来获取客户端使用人员的真实需求;进一步地,不同测试客户端所处的位置以及其接入网络的类型,都能最真实地反映网络应用服务软件的实际运行环境,达到更好的测试效果。
步骤13:测试服务器向待测试客户端发送待测试服务列表;
步骤14:待测试客户端对待测试服务列表中的待测试服务进行测试,得到待测试服务的测试结果;
步骤15:待测试客户端向测试服务器发送测试结果。
经过步骤11和步骤12,选择出用于执行待测试任务的待测试客户端之后,测试服务器为每个待测试客户端分配一个待测试服务列表,并推送给它们,待测试客户端从待测试服务列表中选择待测试服务开始测试。
待测试客户端的使用人员在测试之前,他首先需要阅读待测试任务的描述信息,了解待测试服务的功能和需要的参数,接着在待测试客户端获取并解析完待测试服务需要的参数列表后按照要求填入自己所理解的、认为合理的参数,然后发起对所述待测试服务的调用,执行测试。
待测试客户端的使用人员执行完一次测试任务后,待测试客户端会自动记录该次测试中待测试任务的名称、待测试客户端的位置、服务的网络服务描述语言WSDL、输入的参数、测试的时间点、往返时延以及测试结果等测试信息,最后,待测试客户端将所述测试信息汇总并提交给测试服务器。
本发明实施例一提供的众包测试方法,通过对参与测试的所有测试客户端进行筛选,利用尽量少的、最具代表性的测试客户端来完成测试任务,不仅显著地改善了测试效果,还有效地减小了测试开销。
图2为本发明众包测试方法实施例二中测试客户端与测试服务器的交互的流程图。本发明实施例二是对上述实施例一的补充,对上述众包测试方法的实施流程作了更全面的分析,如图2所示,在测试客户端向测试服务器发送测试客户端的特征信息之前,还包括:
步骤101:测试客户端向测试服务器发送登录请求消息;
具体的,进行网络应用服务产品测试的相关人员首先需要登录测试客户端,测试客户端将相关的登录请求消息发送给测试服务器,等待测试服务器的响应。
步骤102:测试服务器对上述登录请求消息进行验证;
步骤103:测试服务器向测试客户端发送登录响应消息;
测试服务器接收到测试客户端发送的登录请求消息后,对该登录请求消息进行验证,当确定上述登录请求消息无误后对此作出响应,并将登录响应消息回馈给测试客户端。
步骤104:测试客户端记录登录请求消息和登录响应消息的往返时延,并将登录请求消息和登录响应消息的往返时延作为测试客户端与测试服务器之间的通信时延。
测试客户端实时记录其所发送的登录请求消息和接收到的登录响应消息,并同时记录两者之间的往返时延。将登录请求消息与登录响应消息之间的往返时延作为测试客户端与测试服务器之间的通信时延,能够表征该测试客户端与测试服务器之间的网络性能状况是否良好。
本发明实施例二提供的众包测试方法,在测试客户端向测试服务器发送该测试客户端的特征信息之前,通过分析登录请求消息与登录响应消息之间的往返时延,能够获知当前测试客户端与测试服务器之间的网络性能状况,良好的网络性能条件能够为测试客户端的使用人员进行后续的网络应用服务产品测试提供良好的体验。
图3为本发明众包测试方法实施例三的流程图。本发明实施例三以实施例一为基础上,当众包测试过程包括多个测试轮次时,进一步阐述如何确定测试轮次以及如何在每个测试轮次中选择用于执行待测试服务的待测试客户端,如图3所示,上述实施例中的步骤12,也即,测试服务器根据接收到的至少一个测试客户端的特征信息,选择执行待测试服务的待测试客户端,包括:
步骤121:测试服务器根据当前时间确定对应的测试轮次;
具体的,在实际的测试过程中,测试轮次由提交待测试任务的测试人员自行制定,例如,每间隔1小时测试一轮,共测试24轮次,或者每间隔2小时测试一轮,共测试12轮次,本发明中的测试轮次是根据待测试服务的需求制定的,本发明并不对此进行限定。当测试轮次的制定规则确定后,测试服务器根据当前的时间确定对应的测试轮次。
步骤122:测试服务器根据接收到的至少一个测试客户端的特征信息,选择用于执行当前测试轮次对应的待测试服务的待测试客户端。
测试轮次确定后,测试服务器将根据其接收到的至少一个测试客户端的特征信息,在相应的测试轮次里,从不同的测试组中将用来执行待测试服务的待测试客户端选择出来。
本发明实施例三提供的众包测试方法,根据待测试服务的实际需求制定不同的测试轮次,并在不同的测试轮次中选择执行待测试任务的待测试客户端,提高了测试结果的准确性。
图4为本发明众包测试方法实施例四的流程图。本发明实施例四以实施例三为基础上,提出了一种根据测试客户端的特征信息选择待测试客户端的可行方案。如图4所示,在上述实施例的步骤122之前,也即,在测试服务器根据接收到的至少一个测试客户端的特征信息,选择用于执行当前测试轮次对应的待测试服务的待测试客户端之前,还包括:
步骤12200:测试服务器确定当前测试轮次之前的测试轮次中的待测试客户端;
相应的,步骤122,也即,测试服务器根据接收到的至少一个测试客户端的特征信息,选择用于执行当前测试轮次对应的待测试服务的待测试客户端,包括:
步骤12201:测试服务器根据接收到的至少一个测试客户端的特征信息,选择用于执行当前测试轮次对应的待测试服务的待测试客户端,该用于执行当前轮次对应的待测试服务的待测试客户端中不包括当前测试轮次之前的测试轮次中的待测试客户端。
具体的,当测试过程包含众多测试轮次时,测试服务器需要首先确定当前测试轮次之前的所有测试轮次中用于执行待测试服务的待测试客户端,并保证在当前测试轮次中根据测试客户端的特征信息选择出的用于执行待测试服务的待测试客户端中不包含当前测试轮次之前的所有测试轮次中的待测试客户端。
本发明提供的众包测试方法,在制定不同测试轮次的基础上,并对当前测试轮次中用于执行待测试服务的待测试客户端进行相应处理,使得每一个待测试客户端都不会被重复选择,进一步保证了良好的测试效果。
下面所述的实施例将详细阐述如何根据测试客户端的位置信息和网络接入类型选择待测试客户端,但是在此之前,需要首先了解三个相关概念:有效半径、同质点和测试者选择问题TSP。图5为二维平面位置上有效半径和同质点的示意图,图6为三维空间中有效半径和同质点的示意图。
有效半径:在对网络应用服务产品进行测试的过程中,当假定某两个待测试客户端之间的距离小于某个特定值R时,则认为他们在测试同一网络应用服务产品时得到的测试结果相近,也即,所述两个测试结果中的任意一个都可用来表示所述网络应用服务产品的性能,这时则称特定值R为一个测试结果的有效半径,其中,所述两个待测试客户端之间的距离,不仅指时间维度上的距离,还指空间位置上的距离,所以,有效半径R,包括时间维度上的有效半径和空间位置上的有效半径。例如,图5中右侧的两条半径指空间位置上的有效半径,图6中球的半径指空间位置上的有效半径。
同质点:一般地,对于任意一个在线的测试客户端T,假设他的位置为P,则与P距离小于有效半径R的测试客户端的位置称为P的同质点,P则称为同质点的中心点。如图5中所示,左下角圆环的圆心点为中心点,圆环内的其他两个点为该中心点的同质点。
测试者选择问题TSP:针对某一个网络应用服务产品的性能,假定将当前所有在线测试客户端(例如,为n个)位置的集合P作为全集,并在给定有效半径R的前提下,寻找一个P的最小子集满足其中的所有点和他们的同质点的并等于P。
接下来,将详细介绍根据测试客户端的位置信息和网络接入类型来选择待测试客户端的步骤,图7为本发明众包测试方法实施例五的流程图,如图7所示,本实施例五是在实施例三的基础上实现的,当测试服务器接收到的测试客户端的特征信息包括测试客户端的位置信息和测试客户端的网络接入类型时,上述实施例中的步骤122,也即,测试服务器根据接收到的至少一个测试客户端的特征信息,选择用于执行当前测试轮次对应的待测试服务的待测试客户端,具体包括:
步骤1221:测试服务器根据接收到的至少一个测试客户端的网络接入类型,按网络接入类型将接收到的测试客户端分组,每一网络接入类型对应一组测试客户端;
具体的,由于网络应用服务产品在不同的网络接入类型下,同一个测试客户端也会表现出不同的性能差异,因此,测试服务器将根据测试客户端的网络接入类型,对接收到的至少一个测试客户端分组,将按照同一网络接入类型接入的测试客户端分为同一组。
步骤1222:测试服务器根据每组测试客户端中至少一个测试客户端的位置信息,确定每组测试客户端中每一测试客户端预设半径范围内的测试客户端数量;
针对每组测试客户端中的至少一个测试客户端,根据其所处的位置信息,分别记录以每一测试客户端为中心,在其相应预设半径范围内的测试客户端数量。
步骤1223:测试服务器将每组测试客户端中预设半径范围内测试客户端数量最多的测试客户端作为待测试客户端;
在每组测试客户端中,预设半径范围内测试客户端数量最多的中心测试客户端即是选择的待测试客户端。
步骤1224:测试服务器去除待测试客户端预设半径范围内的测试客户端后,将每组测试客户端中剩余测试客户端预设半径范围内测试客户端数量最多的测试客户端作为当前测试轮次的待测试客户端,直至每组测试客户端中所有测试客户端均位于待测试客户端预设半径范围内。
具体的,当剔除上述待测试客户端预设半径范围内的测试客户端之后,继续在每组剩余的测试客户端中选择预设半径范围内测试客户端数量最多的测试客户端,将其作为当前测试轮次的待测试客户端,以此类推,直到每组测试客户端中的所有测试客户端均位于待测试客户端预设半径范围内为止。
至此,从每组测试客户端中选择出了用来执行待测试服务的待测试客户端。
需要说明的是,本实施例中所述的位置信息不仅指时间维度的距离,还指空间位置的距离,因此,本实施例中所述的预设半径是时间维度半径与空间位置半径共同组成的立体空间中预设半径的统一表示,包括预设时间维度半径和预设空间位置半径。其中,预设时间维度半径表示为当前测试轮次与当前测试轮次前一个测试轮次时间之差的绝对值的两倍,以图6中所述的为例,若以t1表示当前测试轮次对应的时间,以t0表示当前测试轮次前一个测试轮次对应的时间,那么预设时间维度半径可以用2*|t1-t0|来表示。
进一步地,在本实施例中,若以某个测试客户端为中心,在其预设半径范围内的其他测试客户端成为该测试客户端的同质点,该测试客户端即为所述同质点的中心点。
本发明实施例五提供的众包测试方法,对于某个测试轮次,基于测试客户端的网络接入类型和位置信息,从所有测试客户端中选择尽量少的最具代表性的待测试客户端作为当前测试轮次的待测试客户端来完成测试服务,在保证测试效果的同时,大幅度缩减了需要测试的测试客户端数量,有效地降低了测试开销。
图8为本发明众包测试方法实施例六的流程图。本发明实施例六在上述实施例五的基础上进一步实施,如图8所示,在步骤1222之前,也即,在测试服务器根据每组测试客户端中至少一个测试客户端的位置信息,确定每组测试客户端中每一测试客户端预设半径范围内的测试客户端数量之前,还包括:
步骤12221:测试服务器确定当前测试轮次前一个测试轮次中的待测试客户端;
具体的,由于不同的测试轮次,选择出来用于执行待测试服务的待测试客户端也会不同,为了更准确地在当前测试轮次中选择用于执行待测试服务的待测试客户端,所以,测试服务器首先需要确定当前测试轮次前一个测试轮次中的待测试客户端。
步骤12222:测试服务器去除当前测试轮次前一个测试轮次中的待测试客户端预设时间维度半径范围内的测试客户端;
由前一实施例可知,预设半径是时间维度半径与空间位置半径共同组成的立体空间中预设半径的统一表示,其不仅包括预设空间位置半径,还包括预设时间维度半径。为了使选择出的用于执行待测试服务的待测试客户端更具代表性,在测试服务器根据测试客户端的位置信息选择待测试客户端之前,需要去除当前测试轮次前一个测试轮次中的待测试客户端预设时间维度半径范围内的测试客户端,能够避免相同测试性能的测试客户端被重复选择。
如图6所示,假设空心点为t0时刻对应测试轮次的测试客户端,实心点为t1时刻对应测试轮次的测试客户端,并且t0时刻对应测试轮次的空心点1,其在t1时刻对应测试轮次时的作用点为实心点2和实心点3,也即,若在前一测试轮次中选择了空心点1作为执行待测试任务的待测试客户端,那么在当前测试轮次中继续进行选择之前,为了避免重复选择,应当首先将实心点2和实心点3去除。
进一步地,步骤1222,也即,测试服务器根据每组测试客户端中至少一个测试客户端的位置信息,确定每组测试客户端中每一测试客户端预设半径范围内的测试客户端数量,具体包括:
步骤12223:测试服务器根据每组测试客户端中至少一个测试客户端的位置信息,确定每组测试客户端中每一测试客户端预设空间位置半径范围内的测试客户端数量;
鉴于每组测试客户端中的测试客户端测试性能相同,上述步骤12222也已根据预设时间维度半径对时间维度上的测试客户端进行了初步筛选,该本步骤根据每组测试客户端的空间位置关系,分别记录以每一测试客户端为中心,在其相应预设空间位置半径范围内的测试客户端数量。
相应地,根据某一测试客户端在其相应预设空间位置半径范围内的测试客户端数量,选择用于执行待测试服务的待测试客户端的步骤如下:
步骤12224:测试服务器将每组测试客户端中预设空间位置半径范围内测试客户端数量最多的测试客户端作为待测试客户端;
若以某个测试客户端为中心,其预设空间位置半径范围内的测试客户端数量最多,那么选择该中心测试客户端作为待测试客户端。
步骤12225:测试服务器去除待测试客户端预设空间位置半径范围内的测试客户端后,将每组测试客户端中剩余测试客户端预设空间位置半径范围内测试客户端数量最多的测试客户端作为当前测试轮次的待测试客户端,直至每组测试客户端中所有测试客户端均位于待测试客户端预设空间位置半径范围内。
针对每组测试客户端,去除待测试客户端预设空间位置半径范围内的测试客户端之后,按照上述方法继续在剩余的测试客户端中进行选择待测试客户端,直到每组测试客户端中的所有测试客户端均位于待测试客户端预设空间位置半径范围内为止。
本发明实施例六提供的众包测试方法,测试服务器根据网络接入类型分组后,针对每组测试客户端,还分别从时间维度和空间位置的角度来选择用于执行待测试服务的待测试客户端,使得选择出来的待测试客户端更具代表性,进一步缩减了需要测试的测试客户端数量,从而更大幅度地降低了测试开销。
值得说明的是,在上述各实施例中,测试客户端的网络接入类型,包括:无线相容性认证Wifi,增强型数据速率GSM演进技术EDGE,通用移动通信系统UMTS,长期演进技术LTE,高速分组接入HSPA,高速下行分组接入HSDPA等,而且,本发明并不限定这些网络接入类型,可能还会有其他类型的网络接入方式,这些类型的名称可通过测试客户端从移动设备上读取。
本发明实施例根据不同的网络接入类型,将测试客户端分为相应的组,再分别在不同的测试组中,选择最具代表性的待测试客户端,真实地反映了网络应用服务产品的性能情况,大幅度提高了测试效果。
图9为本发明众包测试框架实施例一的系统结构图。本发明众包测试框架实施例采用实施例一至实施例六所述的众包测试方法,以基于简单对象访问协议SOAP的Web服务为例进行了方法的实施和验证,形成了一个完整的测试装置。在该测试装置设计过程中需要解决测试用户管理、测试任务管理、测试结果汇聚和记录以及选择用于执行待测试任务的测试客户端等问题,为了支撑整个测试过程,我们设计了一个移动众包测试框架,其系统结构图如图9所示。
本实施例所述的Web服务众包测试系统由北京航空航天大学计算机新技术研究所开发,主要由测试客户端A和测试服务器B组成,并且,测试客户端A包括至少一个待测试客户端A1,测试服务器B主要包含用户管理模块B1、测试任务调度模块B2、测试结果收集模块B3、资源库B4以及测试结果库B5。
目前,本发明众包测试系统中的测试客户端只有安卓版的客户端,其主要功能是完成测试人员注册、登录、获取待测服务列表、解析服务列表、发起服务调用、记录测试相关数据以及向测试服务器上传测试结果等。
用户管理模块B1主要负责维护使用测试客户端人员(用户)的基本信息,包含用户的ID、职业、教育水平、邮箱等,其次,也可用来负责维护用户的历史测试信息,例如,参与的测试任务、参与测试的地点、测试时间以及常用的测试设备类型等。
测试任务调度模块B2,用于根据测试任务的需求和待测试客户端所处的当前测试环境、使用的测试设备,基于众包测试方法实施例一至六所述的选择算法从所有测试客户端中选择合适数量的待测试客户端,并推送待测试任务列表给选择出来的待测试客户端。
测试结果收集模块B3,主要用于收集测试结果并进行汇总,将收集到的测试结果做初步处理后存入测试结果库B5。另外,测试结果收集模块B3还负责抽取正在进行的测试任务的历史测试轮次的测试结果,供测试任务调度模块B2在新一轮测试中选择待测试客户端时参考,从而将每组测试客户端中的不必要测试客户端筛除。
资源库B4,用于在测试服务器B与网络之间的建立通讯,在网络的支持下,将测试任务调度模块B2的选择结果存入到资源库B4中。
本实施例提供的Web服务众包测试系统,是一个利用移动众包的方式进行网络应用服务测试任务分发、执行和测试结果汇集的测试平台。该众包测试系统,能够方便更大范围的测试客户端随时随地参与网络应用服务的测试工作,这样相对于传统的测试方法可大大提高测试效率和速度;此外,将测试客户端所处的地理位置、网络接入环境等测试环境信息考虑进去,更真实地反映了服务软件运行时的场景和性能表现,达到更好的测试效果;更进一步地,通过设计待测试客户端选择算法,能够用尽量少的测试者完成高覆盖率的测试任务,在保证测试任务完成质量的前提下也有效减少测试开销。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (7)
1.一种众包测试方法,其特征在于,包括:
测试客户端向测试服务器发送所述测试客户端的特征信息,所述特征信息包括所述测试客户端与所述测试服务器之间的通信时延、所述测试客户端的用户信息、所述测试客户端的位置信息、所述测试客户端的网络接入类型中的至少一种;
所述测试服务器根据接收到的至少一个测试客户端的特征信息,选择用于执行待测试服务的待测试客户端;
所述测试服务器向所述待测试客户端发送待测试服务列表;
所述待测试客户端对所述待测试服务列表中的待测试服务进行测试,得到所述待测试服务的测试结果;
所述待测试客户端向所述测试服务器发送所述测试结果;
其中,所述测试服务器根据接收到的至少一个测试客户端的特征信息,选择用于执行待测试服务的待测试客户端,包括:
所述测试服务器根据当前时间确定对应的测试轮次;
所述测试服务器根据接收到的至少一个测试客户端的特征信息,选择用于执行当前测试轮次对应的待测试服务的待测试客户端;
其中,所述测试服务器根据接收到的至少一个测试客户端的特征信息,选择用于执行当前测试轮次对应的待测试服务的待测试客户端之前,还包括:
所述测试服务器确定当前测试轮次之前的测试轮次中的待测试客户端;
所述测试服务器根据接收到的至少一个测试客户端的特征信息,选择用于执行当前测试轮次对应的待测试服务的待测试客户端,包括:
所述测试服务器根据接收到的至少一个测试客户端的特征信息,选择用于执行当前测试轮次对应的待测试服务的待测试客户端,所述用于执行当前轮次对应的待测试服务的待测试客户端中不包括所述当前测试轮次之前的测试轮次中的待测试客户端。
2.根据权利要求1所述的众包测试方法,其特征在于,所述测试客户端向测试服务器发送所述测试客户端的特征信息之前,还包括:
所述测试客户端向所述测试服务器发送登录请求消息;
所述测试服务器对所述登录请求消息进行验证并向所述测试客户端发送登录响应消息;
所述测试客户端记录所述登录请求消息和所述登录响应消息的往返时延,并将所述登录请求消息和所述登录响应消息的往返时延作为所述测试客户端与所述测试服务器之间的通信时延。
3.根据权利要求1所述的众包测试方法,其特征在于,当所述特征信息包括所述测试客户端的位置信息和所述测试客户端的网络接入类型时,所述测试服务器根据接收到的至少一个测试客户端的特征信息,选择用于执行当前测试轮次对应的待测试服务的待测试客户端,包括:
所述测试服务器根据接收到的至少一个测试客户端的网络接入类型,按所述网络接入类型将所述至少一个测试客户端分组,每一网络接入类型对应一组测试客户端;
所述测试服务器根据每组测试客户端中至少一个测试客户端的位置信息,确定每组测试客户端中每一测试客户端预设半径范围内的测试客户端数量;
所述测试服务器将每组测试客户端中预设半径范围内测试客户端数量最多的测试客户端作为待测试客户端;
所述测试服务器去除所述待测试客户端预设半径范围内的测试客户端后,将每组测试客户端中剩余测试客户端预设半径范围内测试客户端数量最多的测试客户端作为当前测试轮次的待测试客户端,直至每组测试客户端中所有测试客户端均位于待测试客户端预设半径范围内。
4.根据权利要求3所述的众包测试方法,其特征在于,所述预设半径,包括:预设时间维度半径和预设空间位置半径。
5.根据权利要求4所述的众包测试方法,其特征在于,所述测试服务器根据每组测试客户端中至少一个测试客户端的位置信息,确定每组测试客户端中每一测试客户端预设半径范围内的测试客户端数量之前,还包括:
所述测试服务器确定当前测试轮次前一个测试轮次中的待测试客户端;
所述测试服务器去除当前测试轮次前一个测试轮次中的待测试客户端预设时间维度半径范围内的测试客户端;
所述测试服务器根据每组测试客户端中至少一个测试客户端的位置信息,确定每组测试客户端中每一测试客户端预设半径范围内的测试客户端数量,包括:
所述测试服务器根据每组测试客户端中至少一个测试客户端的位置信息,确定每组测试客户端中每一测试客户端预设空间位置半径范围内的测试客户端数量;
所述测试服务器将每组测试客户端中预设空间位置半径范围内测试客户端数量最多的测试客户端作为待测试客户端;
所述测试服务器去除所述待测试客户端预设空间位置半径范围内的测试客户端后,将每组测试客户端中剩余测试客户端预设空间位置半径范围内测试客户端数量最多的测试客户端作为当前测试轮次的待测试客户端,直至每组测试客户端中所有测试客户端均位于待测试客户端预设空间位置半径范围内。
6.根据权利要求5所述的众包测试方法,其特征在于,所述预设时间维度半径为当前测试轮次与当前测试轮次前一个测试轮次时间之差的绝对值的两倍。
7.根据权利要求3-6任一项所述的众包测试方法,其特征在于,所述测试客户端的网络接入类型包括:无线相容性认证Wifi,增强型数据速率GSM演进技术EDGE,通用移动通信系统UMTS,长期演进技术LTE,高速分组接入HSPA,高速下行分组接入HSDPA。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510076601.5A CN104579854B (zh) | 2015-02-12 | 2015-02-12 | 众包测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510076601.5A CN104579854B (zh) | 2015-02-12 | 2015-02-12 | 众包测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104579854A CN104579854A (zh) | 2015-04-29 |
CN104579854B true CN104579854B (zh) | 2018-01-09 |
Family
ID=53095118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510076601.5A Active CN104579854B (zh) | 2015-02-12 | 2015-02-12 | 众包测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104579854B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105227369B (zh) * | 2015-10-19 | 2016-06-22 | 南京华苏科技股份有限公司 | 基于众包模式的移动Apps对无线网路资源利用的分析方法 |
CN106991046B (zh) * | 2017-03-24 | 2020-10-09 | 广州酷狗计算机科技有限公司 | 应用测试方法及装置 |
CN107122300A (zh) * | 2017-04-26 | 2017-09-01 | 福建中金在线信息科技有限公司 | 一种应用程序的测试方法、装置及系统 |
CN107145442B (zh) * | 2017-04-27 | 2020-09-04 | 广东艾檬电子科技有限公司 | 一种测试应用的方法及装置 |
CN108874655B (zh) * | 2017-05-15 | 2021-12-24 | 华为技术有限公司 | 一种处理众包测试数据的方法及装置 |
US10382995B2 (en) | 2017-09-29 | 2019-08-13 | At&T Intellectual Property I, L.P. | Utilization of crowd-sourced access point data for 5G or other next generation network |
US10231134B1 (en) | 2017-09-29 | 2019-03-12 | At&T Intellectual Property I, L.P. | Network planning based on crowd-sourced access point data for 5G or other next generation network |
US10271236B1 (en) | 2017-09-29 | 2019-04-23 | At&T Intellectual Property I, L.P. | Collection of crowd-sourced access point data for 5G or other next generation network |
CN108400902B (zh) * | 2018-01-15 | 2021-08-24 | 创新先进技术有限公司 | 一种灰度测试的方法、装置及设备 |
CN108199923A (zh) * | 2018-01-23 | 2018-06-22 | 平安普惠企业管理有限公司 | 服务器测试方法、装置、计算机设备及可读存储介质 |
CN112398705B (zh) * | 2019-08-16 | 2022-07-22 | 中国移动通信有限公司研究院 | 网络质量评测方法、装置、设备和存储介质 |
US11748246B2 (en) | 2021-04-28 | 2023-09-05 | International Business Machines Corporation | Crowd-sourced QA with trusted compute model |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102883180A (zh) * | 2011-07-12 | 2013-01-16 | 中国科学院计算技术研究所 | 一种视频质量评价方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150019520A1 (en) * | 2013-07-15 | 2015-01-15 | Az.Mo.Sh Ltd. | System and method for conducting spatio-temporal search using real time crowd sourcing |
-
2015
- 2015-02-12 CN CN201510076601.5A patent/CN104579854B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102883180A (zh) * | 2011-07-12 | 2013-01-16 | 中国科学院计算技术研究所 | 一种视频质量评价方法 |
Non-Patent Citations (1)
Title |
---|
"iTest:Testing software with Mobile Crowdsourcing";Minzhi Yan.etc;《crowdSoft 2014 Proceedings of the 1st international Workshop on Crowd-based Software Development Methods and Technologies》;20141117;19-24 * |
Also Published As
Publication number | Publication date |
---|---|
CN104579854A (zh) | 2015-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104579854B (zh) | 众包测试方法 | |
CN106470133B (zh) | 系统压力测试方法及装置 | |
CN104572444B (zh) | 一种游戏性能云测试平台及其测试方法 | |
CN101882105B (zh) | 一种测试Web网页并发环境下响应时间的方法 | |
CN106598824A (zh) | 区块链的性能分析方法及装置 | |
CN109144857A (zh) | 跨平台的算法测试方法及系统 | |
Wu et al. | Are all spillovers created equal? A network perspective on information technology labor movements | |
Anoaica et al. | Quantitative description of internal activity on the ethereum public blockchain | |
CN102244594A (zh) | 在手动和自动测试工具中的网络仿真技术 | |
CN106681926A (zh) | 网页性能的测试方法及装置 | |
US9559915B2 (en) | System and method for dynamically testing networked target systems | |
CN107423181A (zh) | 一种统一存储设备的自动化测试方法及装置 | |
CN106776280A (zh) | 可配置性能测试装置 | |
CN106569951B (zh) | 一种脱离页面的Web测试方法 | |
CN106156133A (zh) | 控制表单重复提交的方法、装置及系统 | |
US9971669B2 (en) | Predicting performance of a software application over a target system | |
CN112860569A (zh) | 一种自动化测试方法、装置、电子设备和存储介质 | |
CN111162934A (zh) | 业务服务的测试方法和装置、存储介质、电子装置 | |
CN110493812A (zh) | 配网测试的处理方法、装置、系统、处理器及主控设备 | |
CN110377522A (zh) | 交易场景的测试方法、装置、计算设备以及介质 | |
CN109902251A (zh) | 基于决策树的方案选择方法、装置、终端及可读存储介质 | |
CN103246606A (zh) | Esb平台的性能方法和系统 | |
CN109284227A (zh) | 一种自动化压力测试方法及装置、计算设备及存储介质 | |
Qiu et al. | Crowdeval: A cost-efficient strategy to evaluate crowdsourced worker's reliability | |
CN109377218A (zh) | 一种遏制虚假感知攻击的方法、服务器及移动终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |