信息处理设备以及信息处理方法与流程

文档序号:12363435阅读:210来源:国知局
信息处理设备以及信息处理方法与流程

本发明涉及信息处理领域,尤其涉及应用测试的领域,特别涉及一种用于众包测试的信息处理设备、信息处理方法以及电子装置。



背景技术:

随着互联网的普及,尤其是移动互联网随着智能手机应用的普及,使得每天都有成千上万的应用被开发出来用于包括智能手机的用户终端,然而,由于目前缺乏对于应用的有效的测试方法,市场上大量应用的质量始终不是很高,并且无法满足用户的需求。现有技术中,通常采用众包模式来实现应用的测试,以解决测试者使用模拟器或真机测试应用时难以对错误进行定位并分析出测试发生错误原因的问题。但是,由于每个众包工人拥有的测试资源以及测试技巧不同,每个待测试应用所需要的测试资源以及众包工人的测试技巧也不同,因此在一般的众包测试中,任务发布者不能很容易地找到适于各待测试应用的众包工人。



技术实现要素:

在下文中给出了关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。

鉴于现有技术的上述缺陷,本发明的目的之一是提供一种信息处理设备、信息处理方法以及电子装置,以至少克服现有的问题。

根据本公开的一个方面,提供一种信息处理设备,包括:提取单元,用于提取与待测试应用有关的应用相关信息;获取单元,用于基于候选应用测试者的测试资源信息以及所述应用相关信息,从所述候选应用测试者中获取与所述待测试应用相匹配的匹配应用测试者;以及推荐单元,用于根据所述匹配应用测试者的测试技巧,从所述匹配应用测试者中向所述待 测试应用的发布者推荐执行应用测试者,以便所述执行应用测试者对所述待测试应用进行应用测试。

根据本公开的另一方面,提供一种信息处理方法,包括:提取与待测试应用有关的应用相关信息;基于候选应用测试者的测试资源信息以及所述应用相关信息,从所述候选应用测试者中获取与所述待测试应用相匹配的匹配应用测试者;以及根据所述匹配应用测试者的测试技巧,从所述匹配应用测试者中向所述待测试应用的发布者推荐执行应用测试者,以便所述执行应用测试者对所述待测试应用进行应用测试。

根据本公开的另一个方面,还提供了一种电子设备,该电子设备包括如上所述的信息处理设备。

依据本公开的其它方面,还提供了一种使得计算机用作如上所述的信息处理设备的程序。

依据本公开的又一方面,还提供了相应的计算机可读存储介质,该计算机可读存储介质上存储有能够由计算设备执行的计算机程序,该计算机程序在执行时能够使计算设备执行上述信息处理方法。

上述根据本公开实施例的信息处理设备和方法以及电子装置,至少能够获得以下益处之一:能够向待测试应用的发布者推荐符合条件的执行应用测试者对待测试应用进行应用测试;能够对执行应用测试者的任务完成情况进行评价,以更新数据库中存储的关于该执行应用测试者的测试技巧的信息。

通过以下结合附图对本公开的最佳实施例的详细说明,本公开的这些以及其他优点将更加明显。

附图说明

本公开可以通过参考下文中结合附图所给出的描述而得到更好的理解,其中在所有附图中使用了相同或相似的附图标记来表示相同或者相似的部件。所述附图连同下面的详细说明一起包含在本说明书中并且形成本说明书的一部分,而且用来进一步举例说明本公开的优选实施例和解释本公开的原理和优点。其中:

图1是示意性地示出根据本公开实施例的信息处理设备的一种示例结构的框图。

图2是示意性地示出图1中的获取单元的一种示例结构的框图。

图3是示意性地示出图2中的匹配度获取子单元的一种示例性结构的框图。

图4是示意性地示出图1中的推荐单元的一种示例结构的框图。

图5是示出根据本公开实施例的信息处理设备的另一种示例结构的框图。

图6是示意性示出待测试应用的遍历操作树的示例的示意图。

图7是示出根据本公开实施例的信息处理设备的另一种示例结构的框图。

图8是示意性示出根据本公开实施例的信息处理方法的流程图。

图9是示出了可用来实现根据本公开实施例的信息处理设备和信息处理方法的一种可能的硬件配置的结构简图。

具体实施方式

在下文中将结合附图对本发明的示范性实施例进行描述。为了清楚和简明起见,在说明书中并未描述实际实施方式的所有特征。然而,应该了解,在开发任何这种实际实施例的过程中必须做出很多特定于实施方式的决定,以便实现开发人员的具体目标,例如,符合与系统及业务相关的那些限制条件,并且这些限制条件可能会随着实施方式的不同而有所改变。此外,还应该了解,虽然开发工作有可能是非常复杂和费时的,但对得益于本公开内容的本领域技术人员来说,这种开发工作仅仅是例行的任务。

在此,还需要说明的一点是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的装置结构和/或处理步骤,而省略了与本发明关系不大的其他细节。

图1是示意性地示出根据本公开实施例的信息处理设备的一种示例结构的框图。

如图1所示,根据本公开的用于众包测试的信息处理设备1包括:提取单元10,用于提取与待测试应用有关的应用相关信息;获取单元20,用于基于候选众包工人(也称为应用测试者)的测试资源信息以及所述应用相关信息,从所述候选众包工人中获取与所述待测试应用相匹配的匹配 众包工人;以及推荐单元30,用于根据所述匹配众包工人的测试技巧,从所述匹配众包工人中向所述待测试应用的发布者推荐执行众包工人,以便所述执行众包工人对所述待测试应用进行应用测试。

根据本公开,待测试应用可以是在个人计算机上使用的应用,也可以是用于例如智能手机、平板电脑的移动终端的应用。

待测试应用的应用相关信息包括待测试应用运行所需的设备要求信息和环境要求信息。通常,当测试应用信息发布者想要去寻找众包工人时,其会设定相应的测试需求,包括设备上下文参数和环境上下文参数等。设备上下文参数包括:感知API(应用程序接口)的要求、sdk(软件开发工具包)的版本要求、和设备配置,环境上下文参数包括语言要求、地理位置和网络类型(例如使用的是2G、3G、4G无线移动网络中的哪种网络)。例如,对于移动终端,可以使用安卓测试工具应用来抽取待测试应用的基本信息,包括感知API、sdk的版本要求以及语言要求。

下面以待测试应用为用于移动终端的应用为例对本公开的信息处理设备进行详细描述。

根据本公开,可以将待测试应用部署在TaaS(Testing as a Service,测试服务)平台中。TaaS平台提供上下文环境感知应用,供众包工人来下载并通过注册来登记其所拥有的用于进行众包测试的测试设备的信息、以及测试环境的信息,这些信息可以被TaaS平台作为众包工人的资源特征保存在数据库中。

众包工人所具有的测试资源包括其所使用的测试设备的设备信息、众包工人所处的测试环境的环境信息等等。根据本公开,设备信息例如可以是设备上下文,包括测试设备的性能参数,诸如测试设备所使用的存储器大小、屏幕大小、屏幕分辨率、感知API配置、sdk版本要求和设备配置等。

例如在TaaS平台注册登记的所有众包工人可以作为候选众包工人,以便基于这些候选众包工人注册的测试资源信息与待测试应用的应用相关信息之间的匹配度,来筛选出匹配众包工人。

图2示出了图1中的获取单元的一种示例结构的框图。

如图2所示,获取单元20包括:匹配度获取子单元201,用于获取所述候选众包工人所具有的测试资源信息与所述应用相关信息中包括的测试资源要求信息之间的测试资源匹配度;以及匹配应用测试者获取子单元 202,用于获取测试资源匹配度超过预定阈值的候选众包工人作为与所述待测试应用相匹配的匹配众包工人。

根据本公开的一个实施例,测试资源要求信息可以包括:测试设备要求信息和测试环境要求信息。

更具体地,图3示出了图2中的匹配度获取子单元201的一种示例性结构的框图。

如图3所示,匹配度获取子单元201包括:设备信息相似度计算模块2011,用于获取候选众包工人所持有的测试设备的设备信息,并计算所述设备信息和所述测试设备要求信息之间的设备信息相似度;环境信息相似度计算模块2012,用于获取候选众包工人所处测试环境的环境信息,并计算所述环境信息和所述测试环境要求信息之间的环境信息相似度;以及匹配度计算模块2013,用于根据所述设备信息相似度和所述环境信息相似度,计算各个候选众包工人与所述待测试应用的测试资源匹配度。

根据本公开的实施例,设备信息相似度计算模块2011可以通过访问TaaS平台的存储器来获取各个众包工人在注册时填写的、用于执行众包测试的测试设备的设备信息。类似地,环境信息相似度计算模块2012可以通过访问TaaS平台的存储器来获取各个众包工人在注册时填写的、用于执行众包测试的测试环境的环境信息。

可以基于感知API(sensor)、sdk的版本要求(sdk)、存储器(memory)、屏幕大小(screenSize)、屏幕分辨率(resolution)这些参数中的至少一个来定义待测试应用的设备要求信息和用于执行众包测试的测试设备的设备信息device,例如如下公式(1)所示:

device=(sensor,sdk,memory,screenSize,resolution) (1)

在针对各个众包工人获取了用于执行众包测试的测试设备的设备信息devicei之后,设备信息相似度计算模块2011可以计算每个众包工人的测试设备的设备信息devicei和测试设备要求信息devicerequire之间的设备信息相似度similarity(devicerequire,devicei)。例如,可以通过获取设备信息和测试设备要求信息中包括的上述参数的特征向量,然后再对特征向量进行归一化,从而计算设备信息相似度。

例如可以使用如下公式(2),计算设备信息相似度。

<mrow> <mi>s</mi> <mi>i</mi> <mi>m</mi> <mi>i</mi> <mi>l</mi> <mi>a</mi> <mi>r</mi> <mi>i</mi> <mi>t</mi> <mi>y</mi> <mrow> <mo>(</mo> <msub> <mi>device</mi> <mrow> <mi>r</mi> <mi>e</mi> <mi>q</mi> <mi>u</mi> <mi>i</mi> <mi>r</mi> <mi>e</mi> </mrow> </msub> <mo>,</mo> <msub> <mi>divice</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <msub> <mi>device</mi> <mrow> <mi>r</mi> <mi>e</mi> <mi>q</mi> <mi>u</mi> <mi>i</mi> <mi>r</mi> <mi>e</mi> </mrow> </msub> <mo>*</mo> <msub> <mi>device</mi> <mi>i</mi> </msub> </mrow> <mrow> <mo>|</mo> <msub> <mi>device</mi> <mrow> <mi>r</mi> <mi>e</mi> <mi>q</mi> <mi>u</mi> <mi>i</mi> <mi>r</mi> <mi>e</mi> </mrow> </msub> <mo>|</mo> <mo>|</mo> <msub> <mi>device</mi> <mi>i</mi> </msub> <mo>|</mo> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>

其中,i表示所有候选众包工人中的第i个众包工人。

根据本公开,可以基于地理位置(locale)、场景(scenario)和网络类型(network)这些参数中的至少一个来定义待测试应用的环境要求信息和用于执行众包测试的测试环境的设备信息env,例如如下公式(3)所示:

env=(locale,scenario,network) (3)

在针对各个众包工人获取了用于执行众包测试的测试设备的环境信息envi之后,环境信息相似度计算模块2012可以计算每个众包工人所处的环境信息envi和测试环境要求信息envrequire之间的设备信息相似度similarity(envrequire,envi)。例如,可以通过获取环境信息和测试环境要求信息中包括的上述参数的特征向量,然后再对特征向量进行归一化,从而计算环境信息相似度。

例如可以使用如下公式(4),计算环境信息相似度。

<mrow> <mi>s</mi> <mi>i</mi> <mi>m</mi> <mi>i</mi> <mi>l</mi> <mi>a</mi> <mi>r</mi> <mi>i</mi> <mi>t</mi> <mi>y</mi> <mrow> <mo>(</mo> <msub> <mi>env</mi> <mrow> <mi>r</mi> <mi>e</mi> <mi>q</mi> <mi>u</mi> <mi>i</mi> <mi>r</mi> <mi>e</mi> </mrow> </msub> <mo>,</mo> <msub> <mi>env</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <msub> <mi>env</mi> <mrow> <mi>r</mi> <mi>e</mi> <mi>q</mi> <mi>u</mi> <mi>i</mi> <mi>r</mi> <mi>e</mi> </mrow> </msub> <mo>*</mo> <msub> <mi>env</mi> <mi>i</mi> </msub> </mrow> <mrow> <mo>|</mo> <msub> <mi>env</mi> <mrow> <mi>r</mi> <mi>e</mi> <mi>q</mi> <mi>u</mi> <mi>i</mi> <mi>r</mi> <mi>e</mi> </mrow> </msub> <mo>|</mo> <mo>|</mo> <msub> <mi>env</mi> <mi>i</mi> </msub> <mo>|</mo> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow>

其中,i表示所有候选众包工人中的第i个众包工人。

本领域技术人员可以理解,除了使用上述公式之外,还可以使用本领域公知的其他计算相似度的方法计算根据本公开的设备信息相似度和环境信息相似度。

在通过设备信息相似度计算模块2011得到设备信息相似度以及通过环境信息相似度计算模块2012得到环境信息相似度之后,匹配度计算模块2013基于该设备信息相似度和环境信息相似度,计算各个候选众包工人与所述待测试应用的测试资源匹配度。

根据本公开,可以通过考虑设备信息匹配度与环境信息匹配度之间的重要程度,将设备信息相似度和环境信息相似度进行加权组合来计算各个候选众包工人与所述待测试应用的测试资源匹配度。例如,可以根据如下公式(5)来计算各个候选众包工人的测试资源(resoucei)与所述待测试应用所需的测试资源(resourcerequire)之间的测试资源匹配度matchDegree(resourcerequire,resoucei)。

matchDegree(resourcerequire,resoucei)=αsimilarity(devicerequire,devicei)+

(5)

(1-α)*similarity(envrequire,envi)

其中,α表示设备信息在测试资源中所占的权重,其为0到1之间的数值,可以根据需要由用户对其进行设置;或者根据经验值或者有限次试验以及其它类似方式进行设置。

然后,匹配众包工人获取子单元202可以基于匹配度计算模块2013计算的各个候选众包工人与所述待测试应用的测试资源匹配度,选取测试资源匹配度较高的候选众包工人作为能够执行应用测试任务的匹配众包工人。例如匹配众包工人获取子单元202可以选取其测试资源匹配度超过预定阈值γ的候选众包工人作为匹配众包工人。根据本公开,预定阈值γ可以基于待测试应用对于测试资源的匹配度要求而由用户任意设置。

对于测试资源匹配度低于预定阈值的候选众包工人,通常认为其所具有的测试资源不能很好的完成应用测试的认为,因此,通过匹配众包工人获取子单元202将其过滤掉。

回到图1,在获得了匹配众包工人之后,推荐单元30可以根据匹配众包工人的测试技巧,从匹配众包工人中向待测试应用的发布者推荐执行众包工人,以便执行众包工人对所述待测试应用进行应用测试。

图4是示意性地示出图1中的推荐单元的一种示例结构的框图。

如图4所示,推荐单元30包括:测试技巧得分计算子单元301,用于基于所述匹配众包工人在每个测试领域下的测试技术以及其执行历史应用测试的正确率,计算所述匹配众包工人的测试技巧得分;以及推荐子单元302,用于基于所述匹配众包工人的测试技巧得分,从所述匹配众包工人中向所述待测试应用的发布者推荐执行众包工人。

根据本公开,测试技巧得分计算子单元301可以基于匹配众包工人以往执行应用测试任务的历史,根据所述匹配应用测试者在每个测试领域下的测试技术得分以及其执行历史应用测试的正确率,来计算匹配众包工人的测试技巧得分。

例如,可以根据匹配众包工人执行应用测试任务后发布者对于该众包工人的评价得分、在执行该应用测试任务的过程中产生的错误日志的得分以及测试覆盖率的得分来计算该匹配众包工人在此次应用测试任务中的综合得分,作为执行该应用测试任务的测试技术得分,并计算该匹配众包 工人执行各个测试任务的测试技术得分的平均值作为该匹配应用测试者的测试技术得分。例如,可以根据如下公式(6)计算每个众包工人的测试技术得分techScore。

<mrow> <mi>t</mi> <mi>e</mi> <mi>c</mi> <mi>h</mi> <mi>S</mi> <mi>c</mi> <mi>o</mi> <mi>r</mi> <mi>e</mi> <mo>=</mo> <mfrac> <mn>1</mn> <mi>n</mi> </mfrac> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msub> <mi>typeScore</mi> <mi>i</mi> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow>

其中,n表示该众包工人在该TaaS平台上执行的所有应用测试任务的数量,i表示该众包工人执行的一个应用测试任务。

本领域技术人员可以理解,TaaS平台可以在众包工人每次执行了应用测试任务之后基于上述参数计算执行该应用测试任务的测试技术得分,并将其保存在数据库中,以便在需要时通过访问数据库获得该测试技术得分。

此外,根据本公开,测试技巧得分计算子单元301还可以针对测试类型(例如用户界面测试、功能测试)分别获取众包工人的测试技术得分。通常,应用测试任务的发布者在发布测试任务时会指定待测试应用的测试类型。因此,推荐子单元,可以根据众包工人在所指定测试类型下的测试技术得分,计算该众包工人的测试技巧得分,从而根据该测试技巧得分推荐执行待测试应用的测试任务的众包工人。

测试技巧得分计算子单元301可以针对每个匹配应用测试者,基于其测试技术得分以及其执行历史应用测试的正确率,例如根据如下公式(7)计算该匹配应用测试者的测试技巧得分skillScore。

skillScore=100*[historyRightRate*c+techScore*(1-c)] (7)

其中,historyRightRate是表示众包工人在完成的历史测试任务中,获得的正确测试结果的比例;其例如可以从TaaS平台的数据库中获得。c为表示执行历史应用测试的正确率在测试技巧得分中的重要程度的参数,其可以由用户根据实际情况任意设置。

根据本公开的一个实施例,推荐子单元302可以按照匹配众包工人的测试技巧得分从高到底进行排序,并将排序后的匹配众包工人的列表呈现给待测试应用的发布者,以实现向发布者的推荐。待测试应用的发布者可以推荐子单元302呈现的众包工人列表中,选择其所需要的众包工人作为最终执行应用测试的众包工人。

当应用测试发布者选择了众包工人后,可以与该众包工人商定任务的 成交价格。根据本公开的实施例,可以根据应用测试的复杂度、众包工人的测试技巧和众包工人的资源匹配度至少其中之一向待测试应用的发布者和众包工人推荐执行应用测试的成本,以便双方根据该成本协商成交价格。

图5是示出根据本公开实施例的信息处理设备的另一种示例结构的框图。

如图5所示,除了与图1的信息处理设备1类似地包括提取单元10、获取单元20和推荐单元30之外,信息处理设备2还包括:成本核算单元40,用于基于待测试应用的测试复杂度、所述执行应用测试者的测试技巧以及测试资源匹配度,核算所述执行应用测试者的成本,以便所述发布者与执行应用测试者基于该成本对该执行测试应用者进行所述待测试应用的应用测试的最终成本进行协商。

根据本公开的一个实施例,可以根据待测试应用中包括的操作数目和活动数目来确定待测试应用的测试复杂度。

下面参照图6示出的待测试应用详细描述确定该待测试应用的测试复杂度的具体处理。

如图6所示,为了评估待测试应用的测试复杂度,TaaS平台为待测试应用自动生成用户界面(UI)遍历测试脚本,从而可以获得UI遍历的操作树。在这棵树中,每个结点代表一个操作(例如:点击操作);在同一层,并且拥有相同父亲的操作结点位于待测试应用的同一个活动中。在图6所示的例子中(其中op1-op7分别表示操作1-7),待测试应用有3个活动页面和7个操作结点。

然后,可以根据待测试应用的操作结点的个数和活动页面的个数来计算待测试应用的测试复杂度。例如,使用如下公式(8)来计算待测试应用的测试复杂度complexity。

complexity=score(Numoperation)*θ+score(Numactivity)*(1-θ) (8)

其中,score(Numoperation)为基于操作结点数量确定的得分;score(Numactivity)为基于活动页面个数确定的得分;θ为操作结点数量对于待测试应用复杂度的影响的权重,其可以由用户根据需要任意设定。

表1示出了根据活动页面和操作节点的数量划分等级以及分配得分以计算测试复杂度的示例。

表1

例如,假设θ为0.3,则根据公式(8)基于表1可以计算得到图6所示的待测试应用的测试复杂度的值为42.5。

从而,成本核算单元40可以根据如上确定的待测试应用的测试复杂度、众包工人的测试技巧、众包工人的测试资源匹配度来核算执行该待测试应用的测试任务的成本。例如,可以采用如下公式(9)来计算执行该测试任务的成本recommandCost。

recommendCost=complexity*basecomplexity*k1+skill*baseskill*k2+

(9)

matchDegree*baseresouceMatching*k3

其中,basecomplexity、baseskill、baseresouceMatching分别表示测试复杂度、测试技巧和测试资源匹配度每个因素的基础成本;k1、k2、k3分别表示每个因素的成本系数。

在成本核算单元40例如根据如上所述的方式获得了执行待测试应用的测试任务的成本之后,待测试应用发布者可以基于成本核算单元40核算的成本与众包工人进行协商。如果协商成功,则通过TaaS平台将该待测试应用的测试任务分发给众包工人。

众包工人每次执行完应用测试任务后,可以根据其执行测试任务的情 况,对其测试技术得分进行重新评估,并更新存储在数据库中的该众包工人的测试技术得分。

图7是示出根据本公开实施例的信息处理设备的另一种示例结构的框图。

如图7所示,除了与图1的信息处理设备1类似地包括提取单元10、获取单元20和推荐单元30之外,信息处理设备3还包括:更新单元50,用于根据所述执行众包工人对所述待测试应用进行应用测试的测试结果,评估所述执行众包工人的测试技巧得分,并利用该评估的测试技巧得分对该执行众包工人的当前测试技巧得分进行更新。

更具体地,所述更新单元根据所述待测试应用的发布者对于所述执行应用测试者进行应用测试所获得的测试报告的评价、所述执行应用测试者在进行应用测试时生成的错误日志的数量、和/或所述执行应用测试者在进行应用测试时对所述待测试应用中操作和活动的测试覆盖率,来评估所述执行应用测试者的测试技术,并基于该测试技术评估所述执行应用测试者的测试技巧。

具体地,众包工人在利用其所拥有的测试资源执行完应用测试任务后,会写一份文本格式的测试报告,记录了他们发现的待测试应用的错误以及他们给出的对于待测试应用的改进建议;同时,众包工人将测试的截图保存,并上传到平台上。待测试应用的发布者会核实众包工人的测试报告,以确定是否对发布者有用,并且对测试报告进行评价,从而获得应用测试任务后发布者对于该众包工人的评价得分。

更具体地,可以通过将测试报告分词,然后计算每个测试类型的权重来判定该测试报告属于哪种测试类型。例如,可以采用如下公式(10)来计算每个测试类型的权重。

<mrow> <msub> <mi>weight</mi> <mrow> <mi>t</mi> <mi>y</mi> <mi>p</mi> <mi>e</mi> <mtext> </mtext> <mi>i</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <mi>c</mi> <mi>o</mi> <mi>u</mi> <mi>n</mi> <mi>t</mi> <mrow> <mo>(</mo> <msub> <mi>words</mi> <mrow> <mi>t</mi> <mi>y</mi> <mi>p</mi> <mi>e</mi> <mtext> </mtext> <mi>i</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>m</mi> </munderover> <mi>c</mi> <mi>o</mi> <mi>u</mi> <mi>n</mi> <mi>t</mi> <mrow> <mo>(</mo> <msub> <mi>words</mi> <mrow> <mi>t</mi> <mi>y</mi> <mi>p</mi> <mi>e</mi> <mtext> </mtext> <mi>i</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>10</mn> <mo>)</mo> </mrow> </mrow>

其中,weighttypei表示第i种测试类型的权重,count(wordstypei)表示代表第i种测试类型的关键词在测试报告中出现的次数;m表示测试类型的数量。

当计算出每种类型的权重之后,取具有最大权重的类型作为该待测试应用的测试类型。然后发布者会根据测试报告的内容为其打分作为执行该 待测试应用的测试任务的评价得分,例如,80分。

此外,在众包工人执行应用测试任务时,通常测试日志和工人的测试操作会被记录,例如,如果发布者上传的待测试应用是使用TaaS平台提供的扩展sdk编译,则扩展的sdk将会记录下测试日志和工人的测试操作,并将其上传到平台上。因此可以根据错误日志计算众包工人的错误发现得分作为错误日志得分。

例如,可以根据众包工人在测试过程中产生的错误日志的个数来计算错误日志得分。通常,产生的错误日志个数越多,则表明该众包工人的测试能力越强。根据错误日志的个数和不同的等级划分以及分配得分来获得错误日志得分,例如可以采用与表1类似的方式。

此外,还可以基于众包工人的测试操作覆盖率计算测试覆盖得分。

例如,如果发布者上传的待测试应用是使用TaaS平台提供的扩展sdk编译,则工人在测试过程中的操作过程可以被扩展sdk所记录。从而,可以基于活动页面的覆盖率和操作的覆盖率来计算测试覆盖得分。例如,可以采用如下公式(11)来计算测试覆盖得分coverageScore。

coverageScore=[coverageRateactivity*b+coverageRateoperation*(1-b)]*100 (11)

其中,coverageRateactivity表示活动页面的覆盖率,coverageRateoperation表示操作的覆盖率,b表示活动页面的覆盖率在计算测试覆盖得分时所占的权重,其可以由用户根据实际需要任意设置。

如果活动的覆盖率和/或操作的覆盖率很高,则说明众包工人的技术能力强,能够更容易地发现待测试应用的错误,从而众包工人的测试技术得分越高。

最终,更新单元50可以基于上述参数,例如利用如下公式(12)来计算该众包工人在执行该待测试应用的测试任务时的测试技术得分techScore。

techScore=evaluationScore*x+errorLogScore*y+coverageScore*(1-x-y) (12)

其中,evaluationScore表示待测试应用发布者对执行该待测试应用的测试任务的众包工人的评价得分,errorLogScore表示错误日志得分,coverageScore表示测试覆盖得分,x表示评价得分在计算测试技术得分时所占的权重,y表示错误日志得分在计算测试技术得分时所占的权重;x和y的值可以由用户根据实际需要任意设置;或者根据经验值或者有限次 试验以及其它类似方式进行设置。

根据本公开的实施例,在基于发布者的评价报告确定出是针对待测试应用执行的哪种测试类型的情况下,可以将如上所示计算得到的测试技术得分作为众包工人在该种测试类型下的测试技术得分,以便推荐单元在随后的众包工人推荐时,基于在该测试类型下的测试技术得分向随后的待测试应用发布者更准确地推荐众包工人。

在获得了执行该待测试应用的测试任务的众包工人(也称为执行众包工人)的新的测试技术得分后,可以使用该测试技术得分对该执行众包工人的当前测试技巧得分进行更新,以便下一次任务分发中能够更加精确地进行众包工人的推荐。

此外,更新单元还可以基于执行众包工人每次执行测试任务后所获得测试正确率来更新存储在数据库中的、该众包工人的历史正确率historyRightRate。例如,可以根据如下公式(13)来计算历史测试正确率。

<mrow> <mi>h</mi> <mi>i</mi> <mi>s</mi> <mi>t</mi> <mi>o</mi> <mi>r</mi> <mi>y</mi> <mi>R</mi> <mi>i</mi> <mi>g</mi> <mi>h</mi> <mi>t</mi> <mi>R</mi> <mi>a</mi> <mi>t</mi> <mi>e</mi> <mo>=</mo> <mfrac> <mrow> <mi>t</mi> <mi>e</mi> <mi>s</mi> <mi>t</mi> <mi>R</mi> <mi>i</mi> <mi>g</mi> <mi>h</mi> <mi>t</mi> <mi>T</mi> <mi>i</mi> <mi>m</mi> <mi>e</mi> <mi>s</mi> </mrow> <mrow> <mi>t</mi> <mi>o</mi> <mi>t</mi> <mi>a</mi> <mi>l</mi> <mi>T</mi> <mi>e</mi> <mi>s</mi> <mi>t</mi> <mi>T</mi> <mi>i</mi> <mi>m</mi> <mi>e</mi> <mi>s</mi> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>13</mn> <mo>)</mo> </mrow> </mrow>

其中,totalTestTimes表示该众包工人执行的测试任务的总数,testRightTimes表示该众包工人在其执行的测试任务中测试结果正确的任务的次数。

更新单元50可以根据更新的历史测试正确率来更新针对该众包工人存储在数据库中的历史测试正确率,以便推荐单元在下次进行执行众包工人的推荐时使用更新的历史测试正确率来计算匹配众包工人的测试技巧得分。

虽然图5和图7中分别示出了包括成本核算单元40和更新单元50的信息处理设备2和3,但是本领域技术人员可以理解,根据本公开的信息处理设备也可以同时包括成本核算单元40和更新单元50,该信息处理设备中的成本核算单元40和更新单元50的操作与上述类似,在此不再赘述。

根据本公开的一个实施例,还提供了一种信息处理方法。下面结合图8来描述信息处理方法的一种示例性处理。

如图8所示,根据本公开的实施例的信息处理方法的处理流程800开始于S810,然后执行S820的处理。

在步骤S820中,提取与待测试应用有关的应用相关信息。例如,可以通过执行例如参照图1-7描述的提取单元10的处理来实现步骤S820, 在此省略其描述。然后执行S830。

在步骤S830中,基于候选应用测试者的测试资源信息以及所述应用相关信息,从所述候选应用测试者中获取与所述待测试应用相匹配的匹配应用测试者。例如,可以通过执行例如参照图1-7描述的获取单元20的处理来实现步骤S830,在此省略其描述。然后执行S840。

在步骤840中,根据所述匹配应用测试者的测试技巧,从所述匹配应用测试者中向所述待测试应用的发布者推荐执行应用测试者,以便所述执行应用测试者对所述待测试应用进行应用测试。例如,可以通过执行例如参照图1-7描述的获取单元30的处理来实现步骤S840,在此省略其描述。然后执行S850。

处理流程800结束于S850。

在此需要说明,上述方法步骤中提及的候选应用测试者、匹配应用测试者、执行应用测试者分别对应于参照图1-7描述的上述实施例中的候选众包工人、匹配众包工人和执行众包工人。

根据本公开的实施例,在S830的获取步骤可以包括:获取所述候选应用测试者所具有的测试资源信息与所述应用相关信息中包括的测试资源要求信息之间的测试资源匹配度;以及获取测试资源匹配度超过预定阈值的候选应用测试者作为与所述待测试应用相匹配的匹配应用测试者。

根据本公开,测试资源要求信息可以包括测试设备要求信息和测试环境要求信息,获取测试资源匹配度的步骤可以包括:获取候选应用测试者所持有的测试设备的设备信息,并计算所述设备信息和所述测试设备要求信息之间的设备信息相似度;获取候选应用测试者所处测试环境的环境信息,并计算所述环境信息和所述测试环境要求信息之间的环境信息相似度;以及根据所述设备信息相似度和所述环境信息相似度,计算各个候选应用测试者与所述待测试应用的测试资源匹配度。

根据本公开的实施例,在S830的推荐步骤可以包括:基于所述匹配应用测试者的测试技术得分以及其执行历史应用测试的历史测试正确率,计算所述匹配应用测试者的测试技巧得分;以及基于所述匹配应用测试者的测试技巧得分,从所述匹配应用测试者中向所述待测试应用的发布者推荐执行应用测试者。

此外,根据本发明的信息处理方法还包括:基于所述待测试应用的测试复杂度、所述执行应用测试者的测试技巧以及测试资源匹配度,核算所 述执行应用测试者的成本,以便所述发布者与执行应用测试者基于该成本对该执行测试应用者进行所述待测试应用的应用测试的最终成本进行协商。根据本公开的一个实施例,待测试应用的测试复杂度根据所述待测试应用中包括的操作数目和活动数目来确定。

根据本公开的信息处理方法还可以包括:根据所述执行应用测试者对所述待测试应用进行应用测试的测试结果,评估所述执行应用测试者的测试技巧,并利用该评估的测试技巧对该执行应用测试者的当前测试技巧得分进行更新。根据本公开的一个实施例,可以根据所述待测试应用的发布者对于所述执行应用测试者进行应用测试所获得的测试报告的评价、所述执行应用测试者在进行应用测试时生成的错误日志的数量、和/或所述执行应用测试者在进行应用测试时对所述待测试应用中操作和活动的测试覆盖率,来评估所述执行应用测试者的测试技术,并基于该测试技术评估所述执行应用测试者的测试技巧。

与现有技术中相比,根据本公开的信息处理设备和信息处理方法具有至少以下一个优点:能够基于应用测试者的测试资源以及测试技巧向待测试应用的发布者推荐符合条件的执行应用测试者对待测试应用进行应用测试;能够在执行应用测试者完成测试任务之后,对该执行应用测试者的任务完成情况进行评价,以更新数据库中存储的关于该执行应用测试者的测试技巧的信息。

此外,本公开的实施例还提供了一种电子装置,该电子装置被配置包括如上所述的信息处理设备1。该电子装置例如可以是以下设备中的任意一种:手机;计算机;平板电脑;以及个人数字助理等。相应地,该电子装置能够拥有如上所述的信息处理设备的有益效果和优点。

上述根据本公开的实施例的信息处理设备(例如图1-7中所示的信息处理设备)中的各个组成单元、子单元等可以通过软件、固件、硬件或其任意组合的方式进行配置。在通过软件或固件实现的情况下,可从存储介质或网络向具有专用硬件结构的机器安装构成该软件或固件的程序,该机器在安装有各种程序时,能够执行上述各组成单元、子单元的各种功能。

图9是示出了可用来实现根据本公开的实施例的信息处理设备和信息处理方法的一种可能的处理设备的硬件配置的结构简图。

在图9中,中央处理单元(CPU)901根据只读存储器(ROM)902中存储的程序或从存储部分908加载到随机存取存储器(RAM)903的程序执行 各种处理。在RAM903中,还根据需要存储当CPU 901执行各种处理等等时所需的数据。CPU 901、ROM 902和RAM 903经由总线904彼此连接。输入/输出接口905也连接到总线904。

下述部件也连接到输入/输出接口905:输入部分906(包括键盘、鼠标等等)、输出部分907(包括显示器,例如阴极射线管(CRT)、液晶显示器(LCD)等,和扬声器等)、存储部分908(包括硬盘等)、通信部分909(包括网络接口卡例如LAN卡、调制解调器等)。通信部分909经由网络例如因特网执行通信处理。根据需要,驱动器910也可连接到输入/输出接口905。可拆卸介质911例如磁盘、光盘、磁光盘、半导体存储器等等可以根据需要被安装在驱动器910上,使得从中读出的计算机程序可根据需要被安装到存储部分908中。

在通过软件实现上述系列处理的情况下,可以从网络例如因特网或从存储介质例如可拆卸介质1411安装构成软件的程序。

本领域的技术人员应当理解,这种存储介质不局限于图9所示的其中存储有程序、与设备相分离地分发以向用户提供程序的可拆卸介质911。可拆卸介质911的例子包含磁盘(包含软盘)、光盘(包含光盘只读存储器(CD-ROM)和数字通用盘(DVD))、磁光盘(包含迷你盘(MD)(注册商标))和半导体存储器。或者,存储介质可以是ROM 902、存储部分908中包含的硬盘等等,其中存有程序,并且与包含它们的设备一起被分发给用户。

此外,本公开还提出了一种存储有机器可读取的指令代码的程序产品。上述指令代码由机器读取并执行时,可执行上述根据本公开的实施例的图像处理方法。相应地,用于承载这种程序产品的例如磁盘、光盘、磁光盘、半导体存储器等的各种存储介质也包括在本公开的公开中。

在上面对本公开具体实施例的描述中,针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。

此外,本公开的各实施例的方法不限于按照说明书中描述的或者附图中示出的时间顺序来执行,也可以按照其他的时间顺序、并行地或独立地执行。因此,本说明书中描述的方法的执行顺序不对本公开的技术范围构成限制。

此外,显然,根据本公开的上述方法的各个操作过程也可以以存储在各种机器可读的存储介质中的计算机可执行程序的方式实现。

而且,本公开的目的也可以通过下述方式实现:将存储有上述可执行程序代码的存储介质直接或者间接地提供给系统或设备,并且该系统或设备中的计算机或者中央处理单元(CPU)读出并执行上述程序代码。

此时,只要该系统或者设备具有执行程序的功能,则本公开的实施方式不局限于程序,并且该程序也可以是任意的形式,例如,目标程序、解释器执行的程序或者提供给操作系统的脚本程序等。

上述这些机器可读存储介质包括但不限于:各种存储器和存储单元,半导体设备,磁盘单元例如光、磁和磁光盘,以及其它适于存储信息的介质等。

另外,客户图像处理终端通过连接到因特网上的相应网站,并且将依据本公开的计算机程序代码下载和安装到图像处理终端中然后执行该程序,也可以实现本公开的各实施例。

综上,在根据本公开的实施例中,本公开提供了如下方案,但不限于此:

方案1、一种信息处理设备,包括:

提取单元,用于提取与待测试应用有关的应用相关信息;

获取单元,用于基于候选应用测试者的测试资源信息以及所述应用相关信息,从所述候选应用测试者中获取与所述待测试应用相匹配的匹配应用测试者;以及

推荐单元,用于根据所述匹配应用测试者的测试技巧,从所述匹配应用测试者中向所述待测试应用的发布者推荐执行应用测试者,以便所述执行应用测试者对所述待测试应用进行应用测试。

方案2、如方案1所述的信息处理设备,其中,所述待测试应用为用于移动终端的应用。

方案3、如方案1或2所述的信息处理设备,其中,所述获取单元包括:

匹配度获取子单元,用于获取所述候选应用测试者所具有的测试资源信息与所述应用相关信息中包括的测试资源要求信息之间的测试资源匹配度;以及

匹配应用测试者获取子单元,用于获取测试资源匹配度超过预定阈值的候选应用测试者作为与所述待测试应用相匹配的匹配应用测试者。

方案4、如方案3所述的信息处理设备,其中,所述测试资源要求信息包括测试设备要求信息和测试环境要求信息,所述匹配度获取子单元包括:

设备信息相似度计算模块,用于获取候选应用测试者所持有的测试设备的设备信息,并计算所述设备信息和所述测试设备要求信息之间的设备信息相似度;

环境信息相似度计算模块,用于获取候选应用测试者所处测试环境的环境信息,并计算所述环境信息和所述测试环境要求信息之间的环境信息相似度;以及

匹配度计算模块,用于根据所述设备信息相似度和所述环境信息相似度,计算各个候选应用测试者与所述待测试应用的测试资源匹配度。

方案5、如方案1-4中任一项所述的信息处理设备,其中,所述推荐单元包括:

测试技巧得分计算子单元,用于基于所述匹配应用测试者执行历史应用测试的测试技术得分以及历史测试正确率,计算所述匹配应用测试者的测试技巧得分;以及

推荐子单元,用于基于所述匹配应用测试者的测试技巧得分,从所述匹配应用测试者中向所述待测试应用的发布者推荐执行应用测试者。

方案6、如方案1-5中任一项所述的信息处理设备,还包括成本核算单元,用于基于所述待测试应用的测试复杂度、所述执行应用测试者的测试技巧以及测试资源匹配度,核算所述执行应用测试者的成本,以便所述发布者与执行应用测试者基于该成本对该执行测试应用者进行所述待测试应用的应用测试的最终成本进行协商。

方案7、如方案6所述的信息处理设备,其中,所述待测试应用的测试复杂度根据所述待测试应用中包括的操作数目和活动数目来确定。

方案8、如方案1-7中任一项所述的信息处理设备,还包括:更新单元,用于根据所述执行应用测试者对所述待测试应用进行应用测试的测试结果,评估所述执行应用测试者的测试技巧,并利用该评估的测试技巧对该执行应用测试者的当前测试技巧得分进行更新。

方案9、如方案8所述的信息处理设备,其中,所述更新单元根据所述待测试应用的发布者对于所述执行应用测试者进行应用测试所获得的 测试报告的评价、所述执行应用测试者在进行应用测试时生成的错误日志的数量、和/或所述执行应用测试者在进行应用测试时对所述待测试应用中操作和活动的测试覆盖率,来评估所述执行应用测试者的测试技术,并基于该测试技术评估所述执行应用测试者的测试技巧。

方案10、一种用于众包测试的信息处理方法,包括:

提取与待测试应用有关的应用相关信息;

基于候选应用测试者的测试资源信息以及所述应用相关信息,从所述候选应用测试者中获取与所述待测试应用相匹配的匹配应用测试者;以及

根据所述匹配应用测试者的测试技巧,从所述匹配应用测试者中向所述待测试应用的发布者推荐执行应用测试者,以便所述执行应用测试者对所述待测试应用进行应用测试。

方案11、如方案10所述的信息处理方法,其中,所述待测试应用为用于移动终端的应用。

方案12、如方案11或12所述的信息处理方法,其中,获取步骤包括:

获取所述候选应用测试者所具有的测试资源信息与所述应用相关信息中包括的测试资源要求信息之间的测试资源匹配度;以及

获取测试资源匹配度超过预定阈值的候选应用测试者作为与所述待测试应用相匹配的匹配应用测试者。

方案13、如方案12所述的信息处理方法,其中,所述测试资源要求信息包括测试设备要求信息和测试环境要求信息,获取测试资源匹配度的步骤包括:

获取候选应用测试者所持有的测试设备的设备信息,并计算所述设备信息和所述测试设备要求信息之间的设备信息相似度;

获取候选应用测试者所处测试环境的环境信息,并计算所述环境信息和所述测试环境要求信息之间的环境信息相似度;以及

根据所述设备信息相似度和所述环境信息相似度,计算各个候选应用测试者与所述待测试应用的测试资源匹配度。

方案14、如方案13所述的信息处理方法,其中,推荐步骤包括:

基于所述匹配应用测试者执行历史应用测试的测试技术得分以及历 史测试正确率,计算所述匹配应用测试者的测试技巧得分;以及

推荐子单元,用于基于所述匹配应用测试者的测试技巧得分,从所述匹配应用测试者中向所述待测试应用的发布者推荐执行应用测试者。

方案15、如方案10-14中任一项所述的信息处理方法,还包括基于所述待测试应用的测试复杂度、所述执行应用测试者的测试技巧以及测试资源匹配度,核算所述执行应用测试者的成本,以便所述发布者与执行应用测试者基于该成本对该执行测试应用者进行所述待测试应用的应用测试的最终成本进行协商。

方案16、如方案15所述的信息处理方法,其中所述待测试应用的测试复杂度根据所述待测试应用中包括的操作数目和活动数目来确定。

方案17、如方案16所述的信息处理方法,还包括:根据所述执行应用测试者对所述待测试应用进行应用测试的测试结果,评估所述执行应用测试者的测试技巧,并利用该评估的测试技巧对该执行应用测试者的当前测试技巧得分进行更新。

方案18、一种电子设备,包括根据方案1-9中任一项所述的信息理设备,其中电子设备是手机、计算机、平板电脑、或个人数字助理。

方案19、一种使得计算机用作如方案1-9中任一项所述的信息处理设备的程序。

方案20、一种计算机可读存储介质,其上存储有能够由计算设备执行的计算机程序,该程序使得计算机用作如方案1-9中任一项所述的信息处理设备。

最后,还需要说明的是,在本公开中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

尽管上面已经通过本公开的具体实施例的描述对本公开进行了披露,但是,应该理解,本领域技术人员可在所附权利要求的精神和范围内设计 对本公开的各种修改、改进或者等同物。这些修改、改进或者等同物也应当被认为包括在本公开所要求保护的范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1