众包测试方法

文档序号:8265456阅读:800来源:国知局
众包测试方法
【技术领域】
[0001]本发明涉及计算机技术领域,尤其涉及一种众包测试方法。
【背景技术】
[0002]网络应用服务是一个软件系统,通常运行在不同的硬件、软件、网络环境下,支持网络间不同机器的互动操作。目前,网络应用服务中的诸多服务已被嵌入到移动应用中,由移动端发起调用,但是由于移动设备具有众多传感器,其发起服务调用时输入的参数比较丰富,使得不同的移动设备在不同的网络接入环境下访问网络应用服务时的性能也不相同,因此,在网络应用服务产品进行发布之前需要对其进行测试。
[0003]一般情况下,对网络应用服务产品的测试主要靠固定的测试团队来完成,具体的,通过高级测试人员编写自动化测试用例(例如Python自动化测试用例),分析测试用例的结果,进而得出网络应用服务产品的性能,但是,这种传统的测试方法受测试范围、测试环境以及测试人员数量的限制,存在测试效率低、测试成本高或测试结果不真实的缺陷。随着互联网技术的进步,出现了采用众包测试方法实现网络应用服务产品的测试,通过将网络应用服务的待测试任务以众包的形式分配给测试客户端,使得测试客户端不论在何时何地都能够参与测试,大大提高了众包测试任务的参与度和完成速度。
[0004]然而,上述众包测试的方法,只是将网络应用服务中的待测试任务分配给所有测试客户端,仍然存在测试效果差,测试开销大的问题。

【发明内容】

[0005]本发明提供了一种众包测试方法,根据测试客户端的地理位置和网络接入类型,选择尽量少的待测试客户端来完成测试,不仅显著地改善了测试效果,还有效地减少了测试开销。
[0006]本发明提供的一种众包测试方法,包括:
[0007]测试客户端向测试服务器发送所述测试客户端的特征信息,所述特征信息包括所述测试客户端与所述测试服务器之间的通信时延、所述测试客户端的用户信息、所述测试客户端的位置信息、所述测试客户端的网络接入类型中的至少一种;
[0008]所述测试服务器根据接收到的至少一个测试客户端的特征信息,选择用于执行待测试服务的待测试客户端;
[0009]所述测试服务器向所述待测试客户端发送待测试服务列表;
[0010]所述待测试客户端对所述待测试服务列表中的待测试服务进行测试,得到所述待测试服务的测试结果;
[0011]所述待测试客户端向所述测试服务器发送所述测试结果。
[0012]本发明提供的众包测试方法,通过对参与测试的所有测试客户端进行筛选,利用尽量少的、最具代表性的测试客户端来完成测试任务,不仅显著地改善了测试效果,还有效地减小了测试开销。
【附图说明】
[0013]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0014]图1为本发明众包测试方法实施例一中测试客户端与测试服务器的交互流程图;
[0015]图2为本发明众包测试方法实施例二中测试客户端与测试服务器的交互的流程图;
[0016]图3为本发明众包测试方法实施例三的流程图;
[0017]图4为本发明众包测试方法实施例四的流程图;
[0018]图5为二维平面位置上有效半径和同质点的示意图;
[0019]图6为三维空间中有效半径和同质点的示意图;
[0020]图7为本发明众包测试方法实施例五的流程图;
[0021]图8为本发明众包测试方法实施例六的流程图;
[0022]图9为本发明众包测试框架实施例一的系统结构图。
【具体实施方式】
[0023]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0024]网络应用服务是一个软件系统,包括Web应用程序、Web服务程序和移动应用服务(移动App)等,网络应用服务通常运行在不同的硬件、软件、网络环境下,用来支持网络间不同机器的互动操作。由于网络应用服务中的许多服务被嵌入到移动应用中,由移动端发起调用,众所周知,移动设备具有众多的传感器,其发起服务调用时输入的参数(例如,位置、方向等信息)非常丰富,所以,不同的移动设备在发起网络应用服务调用时呈现出来的性能也大不相同,因此,在网络应用服务产品进行发布之前对其进行测试是一个不可缺少的环节。
[0025]Web服务技术已经得到了广泛的应用,属于网络应用服务的一个重要方面。下面首先介绍一下Web服务技术的相关知识。
[0026]近年来,随着互联网技术的不断发展,网络上聚集了越来越多的资源,不仅包含丰富的计算、存储等物理资源,还有大量的软件、服务资源。由于各种资源的数目和类型日益增长,其为基于服务的网络软件开发提供了重要的基础。与此同时,简单对象访问协议(Simple Object Access Protocol,简称 SOAP)、网络服务描述语言(Web ServicesDescript1n Language,简称 WSDL)、统一描述、发现和集成(Universal Descript1nDiscovery and Integrat1n,简称 UDDI)和业务过程执行语言(Business ProcessExecut1n Language,简称BPEL)等标准的制定进一步促进了 Web服务技术及面向服务的软件结构(Service-Oriented Architecture,简称SOA)的快速发展,使得异构信息、异构平台的共享与集成成为可能,进而使得基于服务的分布式应用系统开发已经成为计算机软件领域的一个重要方向。W3C (万维网联盟)对Web服务的定义为:Web服务(Web service,本申请主要基于SOAP服务)是一个软件系统,用以支持网络间不同机器的互动操作。Web服务通常由许多应用程序接口 API组成,它们通过网络(例如,Internet的远程服务器端)来执行客户所提交的服务请求。
[0027]目前,Web服务技术系统中,不仅存在着大量商用开放源码和独立开发的服务软件,并且它们还在不断增长,同时,Web服务技术系统中也存在大量的注册服务,例如,开放注册库BindingPoint.com和XMethods.0rg等,此外,Google、Amazon等公司也已经开始对外提供商用的Web服务。在上述的这些服务中,其中有很多服务可以为移动应用提供支持,通过智能移动终端来访问服务。然而,由于智能移动终端设备的多样性,接入网络环境的差异性,不同设备在不同的网络接入环境下访问服务的性能也不相同。
[0028]目前,针对网络应用服务产品的测试,许多公司依然采用传统的测试方法,主要是通过公司里由固定测试人员组成的测试团队来完成,具体来说,通过高级测试人员编写自动化测试用例,分析测试用例的结果,从测试用例的结果中来获取网络应用服务产品的性能。然而,传统测试团队的测试环境很难广泛覆盖服务的真实运行环境,并且其还受测试范围和测试人员数量的限制,存在测试效率低、测试成本高以及测试结果不真实的问题。
[0029]随着互联网技术的迅速发展,只要能够接触到互联网的人员都能够利用网络资源,所以,出现了采用众包模式来测试网络应用服务产品的方法,通过将网络应用服务的待测试任务以众包的形式分配给测试客户端,由测试客户端的使用人员来完成测试的方法。下面首先来了解一下关于众包的概念。
[0030]众包指的是一个公司或机构把过去由员工执行的工作任务,以自由自愿的形式外包给非特定的大众网络的做法。众包的任务通常是由个人来承担,但如果涉及到需要多人协作完成的任务,也有可能以依靠开源的个体生产的形式出现。美国《连线》杂志的记者Jeff Howe在2006年的6月刊上,首次推出了众包的概念。
[0031]目前,众包模式已经对美国的一些产业产生了颠覆性的影响,例如,一个跨国公司耗费几十亿美元也无法解决的研发难题,被一个外行人在两周的时间内圆满完成;过去要数百美元一张的专业水准图片,现在只要一美元就可以买到,此外,其他国家也出现了亚马逊Mechanical Turk、CrowdFlower以及ODesk等多个通用众包任务平台,在这些平台上的企业用户可以以数美分起价外包简单计算任务,而个人用户将通过完成某项工作获得小额的报酬。至此,众包模式已从创新设计领域切入,悄然颠覆着传统产业的结构。
[0032]在中国,众包模式也已经有了尝试者,例如,移动互联网时代众包招聘的创新者-人人猎头,中国最大的任务众包平台-微差事以及基于移动互联网的数据采集众包平台-拍拍赚等。由于国内的这些代表性众包平台都与互联网有密切的联系,用户能够通过移动互联网几乎在任何时间、任何地点都可方便地参与完成众包任务,大大提高了众包任务的参与度和完成速度。
[0033]众包测试是众包模式的典型应用,它的特点非常鲜明,在很多方面都具有无可比拟的优势,例如,快速迭代、成本低、获取到的用户需求真实以及环境真实等特点。
[0034]其中,快速迭代
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1