CN108874655A - 一种处理众包测试数据的方法及装置 - Google Patents
一种处理众包测试数据的方法及装置 Download PDFInfo
- Publication number
- CN108874655A CN108874655A CN201710340474.4A CN201710340474A CN108874655A CN 108874655 A CN108874655 A CN 108874655A CN 201710340474 A CN201710340474 A CN 201710340474A CN 108874655 A CN108874655 A CN 108874655A
- Authority
- CN
- China
- Prior art keywords
- tester
- test
- resource
- target detection
- test resource
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3676—Test management for coverage analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种处理众包测试数据的方法及装置,所述方法包括:获取待测应用的任务描述信息,所述任务描述信息用于指示对所述待测应用进行众包测试;基于测试者模型的集合和所述任务描述信息,从待选测试者集合中选择测试所述待测试应用的目标测试者集合;根据所述目标测试者集合生成众包测试策略,并根据所述众包测试策略将所述待测应用下发至所述目标测试者集合中的各测试者。通过采用本方案,能够提高选择目标测试者集合中测试者的效率,又能够发掘出测试资源好且测试能力佳的潜力测试者,这些潜力测试者能够为应用发包者提供较好的应用测试报告,以供应用发包者对应用进行漏洞修补。
Description
技术领域
本申请涉及大数据处理技术领域,尤其涉及一种处理众包测试数据的方法及装置。
背景技术
由于终端设备的各种属性(例如地理位置、网络环境、机型和***版本)不同,也会导致应用在不同属性的终端设备上运行时出现宕机、响应慢等问题。所以,应用发包者在发布应用之前,需要对应用进行充分的漏洞测试,并修补漏洞后才会发布该应用。但应用发包者需要较多的测试资源来测试将发布的应用,这样会测试效率较低,且测试成本较高。
目前应用发包者主要利用拥有不同类别测试资源的测试者进行众包测试来达到其对测试环境覆盖度和测试质量的要求。具体来说,众包测试是指:由互联网中的大量拥有不同测试资源和测试能力的用户,在一个众测平台中注册账号,然后利用其自身的测试资源独自完成线上的应用测试任务,测试完成后,则向应用发包者提交测试报告。这些测试报告具备一定的价值,也能真实、全面的反应应用的大部分漏洞。然后,应用发包者对得到的测试报告进行漏洞分析和修补。
但是,由于参与上述众包测试中的各个用户之间彼此是独立的,应用发包者也无法定向识别出具备全面的测试资源和测试能力的***集合,然后定向的向这些用户推送测试应用需求。可见应用发包者只能被动的按照这些用户反馈的测试报告进行漏洞分析和修补,而这些用户中会存在大量拥有相同或相叠的测试资源的用户,有的用户是多余或者参考价值较低,这样会增加数据处理的复杂度,导致整个众包测试周期长。此外,这些用户之间没有任何联系,不一定能快速获取到全面、有价值的测试报告。由此可见,目前的众包测试的测试效率较低。
发明内容
本申请提供了一种处理众包测试数据的方法及装置,能够解决现有技术中众包测试的测试效率较低的问题。
本申请第一方面提供一种处理众包测试数据的方法,该方法可用于大数据处理,例如用于众包测试,所述方法包括:
可定时的拉取任务流中的待测应用的任务描述信息,所述任务描述信息用于指示对所述待测应用进行众包测试。
然后,基于测试者模型的集合和所述任务描述信息,从待选测试者集合中选择测试所述待测试应用的目标测试者集合,该目标测试者集合是基于测试者模型的集合和所述任务描述信息定向选择的,可覆盖应用发包者的测试需求。
得到目标测试者集合后,即可根据所述目标测试者集合生成众包测试策略,并根据所述众包测试策略将所述待测应用下发至所述目标测试者集合中的各测试者。其中,所述众包测试策略是指用于选择能够满足测试资源覆盖度的约束条件,以及满足使得众包测试质量最大化的要求,且进行众包测试的测试者集合的策略。
与现有机制相比,本申请基于所述任务描述信息和已有的测试者模型的集合,从所述待选测试者集合中选择测试所述待测试应用的目标测试者集合,再将根据所述目标测试者集合生成的众包测试策略将所述待测应用下发至所述目标测试者集合中的各测试者,能够提高选择目标测试者集合中测试者的效率,又能够发掘出测试资源好且测试能力佳的潜力测试者,这些潜力测试者能够为应用发包者提供较好的应用测试报告,以供应用发包者对应用进行漏洞修补。
在一些可能的设计中,所述任务描述信息包括测试者期望值和测试指标,所述测试者期望值是指期望测试所述待测应用的测试者总数。所述测试指标包括测试质量,以及测试资源覆盖度的覆盖度期望值中的至少一项。
其中,测试质量是指应用发包者对测试者测试应用的测试质量的评价,可以以质量评分来度量,或者以质量等级标识,还可以以其他的方式度量,具体度量的方式本申请不作限定。
测试资源覆盖度是指衡量所选择的目标测试者集合所拥有的测试资源能够覆盖测试资源期望集合中的多少测试资源,可以认为其是指当前选中的测试者集合对应的测试资源集合与所述测试资源期望集合的比值。
可选的,所述任务描述信息还可包括测试资源期望集合的指示信息、测试资源要求信息和测试能力要求信息。
在一些可能的设计中,所述测试者模型的集合包括至少一个测试者的测试者模型,测试者模型包括测试者的测试资源子集合、测试者利用至少一个测试资源测试至少一个应用的测试质量、以及测试者测试至少一个应用的加权测试质量,对于一个测试者而言,加权测试质量是指该测试者测试每个应用所得到的至少一个测试质量的加权平均值,其可用于度量测试者的整体测试质量。
在一些可能的设计中,所述基于所述测试者模型的集合和所述任务描述信息,从所述待选测试者集合中选择测试所述待测试应用的目标测试者集合,包括:
基于所述测试者模型的集合、所述测试者期望值和所述覆盖度期望值、所述待选测试者集合中各测试者的测试资源子集合、所述待选测试者集合中各测试者的测试资源子集合之间的交集、以及所述测试资源覆盖度的约束条件,从所述待选测试者集合中选择所述目标测试者集合;所述约束条件包括第一比值趋于或者不小于所述覆盖度期望值;
其中,所述第一比值是指当前选中的测试者集合的实际测试资源集合与所述测试资源期望集合的比值,所述实际测试资源集合是指所述目标测试者集合中各测试者的测试资源子集合的并集。第一比值用于度量当前已经选中的测试者集合是否覆盖了测试资源期望集合中的所有测试资源。当该第一比值达到任务描述信息中给定的覆盖度期望值后,就表示当前已经选中的测试者集合已覆盖测试资源期望集合中的所有或大部分的测试资源,可以结束迭代。
本申请中,选择所述目标测试者集合可采用评分策略和鸽巢策略,中,可以单独采用评分策略或鸽巢策略来挖掘目标测试者集合,也可同时采用两种策略,具体本申请不作限定。下面分别进行说明:
一、基于评分策略选择上述目标测试者集合
所述基于所述测试者模型的集合、所述测试者期望值和所述覆盖度期望值、所述待选测试者集合中各测试者的测试资源子集合、所述待选测试者集合中各测试者的测试资源子集合之间的交集,以及所述测试资源覆盖度的约束条件,从所述待选测试者集合中选择所述目标测试者集合,包括:
从所述待选测试者集合中选择测试者w,以及获取所述测试者w的测试资源子集合,所述测试者w是指所述待选测试者集合中的测试者;
利用迭代算法计算第一评分公式,得到一个目标测试者,所述第一评分公式表示测试资源覆盖度与测试质量的加权值,所述目标测试者是指使得所述第一评分公式中测试资源覆盖度与测试质量中的至少一个最大的测试者。
每次迭代得到一个目标测试者后,将所述目标测试者加入候选测试者集合,并进行下一次迭代计算。
当所述第一比值趋于1或者大于等于1时,结束迭代计算,将迭代计算结束后得到的候选测试者集合作为所述目标测试者集合。可见,基于评分策略,能够保证运算效率的前提下,获取有效的目标测试者集合,使得在对发包策略进行挖掘时,使得可以更加充分地分析待选取测试者在多个维度上对已选取集合的影响。
可选的,所述第一评分公式如下:
其中,α为测试资源覆盖度的权重,(1-α)为测试质量的权重,α∈[0,1],C0是指所述测试资源期望集合中待覆盖的测试资源集合,Wo是指候选测试者集合,w’是指所述待选测试者集合中的候选测试者,W1是指所述待选测试者集合,是指测试者w的测试资源子集合与所述待选测试者集合W1的交集,是指W1中的候选测试者w’为Co提供的最大测试资源增量,σ({ω},W0)+是指测试者w为Wo提供的测试质量增量;σ({ω′},W0)是指候选测试者w’为Wo提供的测试质量增量,maxω′∈W1σ({ω′},W0)+是指W1中的候选测试者w’为Wo提供的最大测试质量增量。
可见,引入上述第一评分公式,能够从多个维度度量每个待选测试者在被选取后对候选测试者集合所带来的好处多寡,从而识别出能够对众包测试带来较佳测试效果的测试者。本申请的第一评分公式可以增加评分项、或者公式变型等,以达到扩展到多种评分维度的目的,具体如何扩展,以及设置的评分维度本申请均不作限定。
二、基于鸽巢策略挖掘器挖掘目标测试者集合
所述基于所述测试者模型的集合和所述任务描述信息,从所述待选测试者集合中选择测试所述待测试应用的目标测试者集合,包括:
基于所述测试者模型的集合、所述测试者期望值和所述覆盖度期望值、所述待选测试者集合中各测试者的测试资源子集合以及鸽巢策略,从所述待选测试者集合中选择所述目标测试者集合;所述约束条件包括第一比值趋于或者不小于所述覆盖度期望值。
其中,所述第一比值是指当前选中的实际测试资源集合与所述测试资源期望集合的比值,所述实际测试资源集合是指所述目标测试者集合中各测试者的测试资源子集合的并集。
在一些实施方式中,所述基于所述测试者模型的集合、所述测试者期望值和所述覆盖度期望值、所述待选测试者集合中各测试者的测试资源子集合以及鸽巢策略,从所述待选测试者集合中选择所述目标测试者集合,包括:
利用迭代算法从所述待选测试者集合中选择目标测试者,所述目标测试者是指每次迭代计算中为候选测试者集合提供最大测试质量增量的候选测试者。
将所述目标测试者加入候选测试者集合,计算所述候选测试者集合对应的实时测试资源集合。
当所述实时测试资源集合与所述测试资源期望集合的交集为所述测试资源期望集合时,结束迭代计算,将迭代计算结束后得到的候选测试者集合作为所述目标测试者集合。
可见,基于鸽巢策略,每次都可以从满足鸽巢原理的候选测试者中选择出能使质量最大化的测试者。在对众包测试策略进行挖掘时,使得可以更加充分地分析待选测试者集合中的各候选个测试者在测试资源覆盖度上对已选取的候选测试者集合的影响,最后能挖掘出符合众包测试任务的测试者集合。
基于上述评分策略或这鸽巢策略获取的目标测试者集合能够满足期望即,所述目标测试者集合对应的测试资源集合与所述测试资源期望集合的交集为所述测试资源期望集合。
在一些可能的设计中,在所述基于所述测试者模型的集合和所述任务描述信息,从所述待选测试者集合中选择测试所述待测试应用的目标测试者集合之前,还需要基于历史数据集合对其中的测试者进行建模,具体过程如下:
获取历史数据集合,所述历史数据集合包括待选测试者集合中测试者的测试资源和测试者的测试能力信息。
基于所述测试资源和所述测试能力信息对所述待选测试者集合中的测试者进行建模,得到所述测试者模型的集合。
可见,基于测试者模型可有效的缩短选择目标测试者集合的时间,从而提高运算效率。
可选的,所述历史数据集合还包括测试者反馈的测试报告集合,所述基于所述待选测试者集合中测试者的测试资源和所述待选测试者集合中测试者的测试能力信息对所述待选测试者集合中的测试者进行建模,得到所述测试者模型的集合,包括:
从所述测试报告集合中确定所述待选测试者集合,然后根据所述待选测试者集合计算第一测试资源集合和第一测试质量集合。
其中,所述第一测试资源集合包括多个测试资源子集合,每个测试资源子集合对应一个测试者;所述第一测试质量集合包括所述待选测试者集合中各测试者利用至少一个测试资源测试至少一个应用的测试质量、以及所述待选测试者集合中各测试者测试至少一个应用的加权测试质量。
最后,根据所述第一测试资源集合和所述第一测试质量集合生成所述测试者模型的集合。由于该种建模机制是基于众测平台中每个测试者的测试能力与测试资源在粗粒度和细粒度上进行建模,所以最终得到的测试者模型更具备众包测试的参考价值,能够有效的、真实的去预测各个测试者的测试效果。
可选的,所述历史应用的个数的至少一个,所述待测应用与所述历史应用相同或不同。当待测应用与所述历史应用相同时,可以是针对历史应用的版本更新的测试,也可是对历史应用的重新测试;当待测应用与所述历史应用不同时,则表示是针对新的应用进行的测试。
在一些可能的设计中,在基于所述测试资源和所述测试能力信息对所述待选测试者集合中的测试者进行建模,得到所述测试者模型的集合之后,还可以对测试者模型进行更新,以更加的完善测试者模型的参考价值和准确度,主要通过以下之一更新:
获取所述测试者模型的集合中至少一个测试者新反馈的测试报告,根据新反馈的测试报告更新对应测试者的测试者模型。
或者,获取新测试者反馈的测试报告,根据新测试者反馈的测试报告建模,得到新测试者对应的测试者模型,以更新所述测试者模型的集合。
本申请第二方面提供一种用于处理众包测试数据的装置,具有实现对应于上述第一方面提供的数据处理的方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。
一种可能的设计中,所述用于处理众包测试数据的装置包括:
收发模块,用于获取待测应用的任务描述信息,所述任务描述信息用于指示对所述待测应用进行众包测试;
处理模块,用于基于测试者模型的集合和所述收发模块获取的所述任务描述信息,从待选测试者集合中选择测试所述待测试应用的目标测试者集合;
根据所述目标测试者集合生成众包测试策略,由收发模块根据所述众包测试策略将所述待测应用下发至所述目标测试者集合中的各测试者。
在一些可能的设计中,所述任务描述信息包括测试者期望值和测试指标,所述测试者期望值是指测试所述待测应用的测试者总数,所述测试指标包括测试质量,以及测试资源覆盖度的覆盖度期望值中的至少一项;
所述众包测试策略是指用于选择能够满足测试资源覆盖度的约束条件,以及满足使得众包测试质量最大化的要求,且进行众包测试的测试者集合的策略。
可选的,所述任务描述信息还包括测试资源期望集合的指示信息。
在一些可能的设计中,所述测试者模型的集合包括至少一个测试者的测试者模型,测试者模型包括测试者的测试资源子集合、测试者利用至少一个测试资源测试至少一个应用的测试质量、以及测试者测试至少一个应用的加权测试质量。
在一些可能的设计中,所述处理模块具体用于:
基于所述测试者模型的集合、所述测试者期望值和所述覆盖度期望值、所述待选测试者集合中各测试者的测试资源子集合、所述待选测试者集合中各测试者的测试资源子集合之间的交集、以及所述测试资源覆盖度的约束条件,从所述待选测试者集合中选择所述目标测试者集合;所述约束条件包括第一比值趋于或者不小于所述覆盖度期望值;
其中,所述第一比值是指当前选中的测试者集合的实际测试资源集合与所述测试资源期望集合的比值,所述实际测试资源集合是指所述目标测试者集合中各测试者的测试资源子集合的并集。
在一些可能的设计中,所述处理模块具体用于:
从所述待选测试者集合中选择测试者w,以及获取所述测试者w的测试资源子集合,所述测试者w是指所述待选测试者集合中的测试者;
利用迭代算法计算第一评分公式,得到一个目标测试者,所述第一评分公式表示测试资源覆盖度与测试质量的加权值,所述目标测试者是指使得所述第一评分公式中测试资源覆盖度与测试质量中的至少一个最大的测试者;
每次迭代得到一个目标测试者后,将所述目标测试者加入候选测试者集合,并进行下一次迭代计算;
当所述第一比值趋于1或者大于等于1时,结束迭代计算,将迭代计算结束后得到的候选测试者集合作为所述目标测试者集合。
在一些可能的设计中,所述第一评分公式如下:
其中,α为测试资源覆盖度的权重,(1-α)为测试质量的权重,α∈[0,1],C0是指所述测试资源期望集合中待覆盖的测试资源集合,Wo是指候选测试者集合,w’是指所述待选测试者集合中的候选测试者,W1是指所述待选测试者集合,是指测试者w的测试资源子集合与所述待选测试者集合W1的交集,是指W1中的候选测试者w’为Co提供的最大测试资源增量,σ({ω},W0 )+是指测试者w为Wo提供的测试质量增量;σ({ω′},W0)是指候选测试者w’为Wo提供的测试质量增量,mxaω′∈W1σ({ω′},W0)+是指W1中的候选测试者w’为Wo提供的最大测试质量增量。
在一些可能的设计中,所述处理模块具体用于:
基于所述测试者模型的集合、所述测试者期望值和所述覆盖度期望值、所述待选测试者集合中各测试者的测试资源子集合以及鸽巢策略,从所述待选测试者集合中选择所述目标测试者集合;所述约束条件包括第一比值趋于或者不小于所述覆盖度期望值;
其中,所述第一比值是指当前选中的实际测试资源集合与所述测试资源期望集合的比值,所述实际测试资源集合是指所述目标测试者集合中各测试者的测试资源子集合的并集。
在一些可能的设计中,所述处理模块具体用于:
利用迭代算法从所述待选测试者集合中选择目标测试者,所述目标测试者是指每次迭代计算中为候选测试者集合提供最大测试质量增量的候选测试者;
将所述目标测试者加入候选测试者集合,计算所述候选测试者集合对应的实时测试资源集合;
当所述实时测试资源集合与所述测试资源期望集合的交集为所述测试资源期望集合时,结束迭代计算,将迭代计算结束后得到的候选测试者集合作为所述目标测试者集合。
在一些可能的设计中,所述目标测试者集合对应的测试资源集合与所述测试资源期望集合的交集为所述测试资源期望集合。
在一些可能的设计中,所述处理模块在所述基于所述测试者模型的集合和所述任务描述信息,从所述待选测试者集合中选择测试所述待测试应用的目标测试者集合之前,还用于:
获取历史数据集合,所述历史数据集合包括待选测试者集合中测试者的测试资源和测试者的测试能力信息;
基于所述测试资源和所述测试能力信息对所述待选测试者集合中的测试者进行建模,得到所述测试者模型的集合。
在一些可能的设计中,所述历史数据集合还包括测试者反馈的测试报告集合,所述处理模块具体用于:
从所述测试报告集合中确定所述待选测试者集合;
根据所述待选测试者集合计算第一测试资源集合和第一测试质量集合;
其中,所述第一测试资源集合包括多个测试资源子集合,每个测试资源子集合对应一个测试者;所述第一测试质量集合包括所述待选测试者集合中各测试者利用至少一个测试资源测试至少一个应用的测试质量、以及所述待选测试者集合中各测试者测试至少一个应用的加权测试质量;
根据所述第一测试资源集合和所述第一测试质量集合生成所述测试者模型的集合。
可选的,所述历史应用的个数的至少一个,所述待测应用与所述历史应用相同或不同。
在一些可能的设计中,所述处理模块在基于所述测试资源和所述测试能力信息对所述待选测试者集合中的测试者进行建模,得到所述测试者模型的集合之后,至少还执行以下步骤之一:
获取所述测试者模型的集合中至少一个测试者新反馈的测试报告,根据新反馈的测试报告更新对应测试者的测试者模型;
或者,获取新测试者反馈的测试报告,根据新测试者反馈的测试报告建模,得到新测试者对应的测试者模型,以更新所述测试者模型的集合。
本申请又一方面提供了一种用于处理众包测试数据的装置,其包括至少一个连接的处理器、存储器和收发器,其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器中的程序代码来执行上述各方面所述的方法。
本申请又一方面提供了一种计算机存储介质,其包括指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本申请又一方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
相较于现有技术,本申请提供的方案中,在获取待测应用的任务描述信息后,由于基于已有的测试者模型的集合和所述任务描述信息,从所述待选测试者集合中选择测试所述待测试应用的目标测试者集合,再将根据所述目标测试者集合生成的众包测试策略将所述待测应用下发至所述目标测试者集合中的各测试者,使得这些测试者对待测应用进行众包测试,所以一定程度上,既能够提高选择目标测试者集合中测试者的效率,又能够发掘出测试资源好且测试能力佳的潜力测试者,这些潜力测试者能够为应用发包者提供较好的应用测试报告,以供应用发包者对应用进行漏洞修补。
附图说明
图1为本发明实施例中用于处理众包测试数据的装置的一种网络拓扑结构示意图;
图2为本发明实施例中各个***组件的关系交互示意图;
图3为本发明实施例中处理众包测试数据的方法的一种流程示意图;
图4为本发明实施例中获取测试资源期望集合的一种流程示意图;
图5为本发明实施例中建立测试者模型的一种流程示意图;
图6为本发明实施例中基于评分策略获取目标测试者集合的流程示意图;
图7为本发明实施例中基于鸽巢策略获取目标测试者集合的流程示意图;
图8为本发明实施例中用于处理众包测试数据的装置的另一种网络拓扑结构示意图;
图9为本发明实施例中用于处理众包测试数据的装置的一种结构示意图;
图10为本发明实施例中用于执行处理众包测试数据的方法的实体设备的结构示意图;
图11为本发明实施例中服务器的一种结构示意图。
具体实施方式
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个***中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请方案的目的。
本申请供了一种处理众包测试数据的方法及装置,可用于大数据处理。以下进行详细说明。图1为一种用于处理众包测试数据的装置的网络拓扑结构示意图,该装置可包括多个***组件,各个***组件可运行在一台或多台服务器,以共同实现众包测试平台软件的功能;也可以将这些部署在一台或多台服务器的***组件看作一个众包测试平台软件。该众包测试平台软件可为参与众包测试的测试者提供测试服务,以及收集参与众包测试的测试者反馈的测试报告,并对收集的测试报告进行分析。图1中,用于处理众包测试数据的装置主要包括以下***组件:任务发包界面、策略计算服务器、建模服务器、测试结果服务器、发包服务器和数据库。
通过任务发包界面、策略计算服务器、建模服务器、测试结果服务器、发包服务器和数据库组成。
在策略计算服务器中,可集中部署测试任务需求抽取器和众包策略挖掘器。
测试任务需求抽取器用于:对输入的待测试应用的任务描述信息以任务流的方式进行需求抽取,得到统一格式的应用测试任务需求模型实例。任务流中包括待测应用的任务描述信息,任务描述信息可以五元组<M,D,Rq,Rewards,Time>的形式体现。其中M是上传的待测应用,D是用自然语言表述的用户手册,其中描述了应用的运行与使用方法。Rq是测试需求列表,可包括与测试环境资源的信息,例如网络位置、操作***、网络制式以及***版本等。Rewards是任务完成奖励,其中包含奖励条件与对应的具体奖励数目集合,而Time表示该任务所持续的众包执行时间。下表1展示了一个待测应用的任务描述信息的实例。
表1
众包策略挖掘器用于:根据测试者资源与能力模型数据库和移动应用测试任务需求模型实例,从所有可用的众多测试者中,挖掘一个潜在测试者集合,充分考虑他们的相互影响关系,使得该潜在测试者集合作为一个测试整体,由于该潜在测试者集合的测试资源足够多,所以可使用该潜在测试者集合的测试资源来以满足预期的测试资源覆盖度,最终使得预期的测试质量最大化,可将由该潜在测试者集合进行众包测试的策略称为众包测试策略。本申请中,众包策略挖掘器主要分为两种类型:基于评分的策略挖掘器和基于鸽巢原理的策略挖掘器。
在建模服务器中,可集中部署测试者资源与能力建模器。
数据库中存储历史数据集合,该历史数据集合中包括参与众包测试任务的测试者反馈的各种测试数据以及测试者的测试资源等。历史数据集合包括多个众包测试任务五元组的集合,每个众包测试任务五元组都可由由历史应用的测试任务描述(及其标识)、测试者提交的测试报告集合、应用发包者对测试质量的评分、任务起始时间以及任务结束时间组成,即众包测试任务五元组可由<task_Id,Task,Reports,Scores,start_time,end_time>表示。其中应用发包者对测试质量的评分Scores将会在收集测试者反馈的测试报告后,由应用发包者根据测试报告中涉及的每个测试用例及其测试结果进行分别评分Scores_c,Scores_c表示使用测试资源c测试应用的评分,其包括所有测试者在测试资源c下对该测试用例的所有评分列表,以及给出整体评分Scores_G。该历史数据集合会随着众测平台的发展,逐渐积累丰富,如果是刚上线的众测平台,那么该历史数据集合为空集。
在发起众包测试之前,策略计算服务器可根据历史数据集合,针对当前的众包测试任务挖掘出最优的众包测试策略,并将挖掘的众包测试策略传递给发包服务器。
发包服务器按照众包测试策略,制定有针对性的激励奖励,然后通知/分发给该潜在测试者集合中的各测试者,可以以增加奖励或者业务推送的方式吸引这些测试者参与众包测试。最终达到提升预期的测试质量和预期的测试资源覆盖度。
在本申请中,各个***组件的关系交互图可参考图2,主要包括输入层、建模层、算法层和预测结果层四部分。
输入层:用于定时将众包测试任务的历史数据集合导入建模层中的测试者资源与能力建模器,以及以众包测试任务为单位将待测试应用的任务描述信息以任务流的方式输入测试任务需求抽取器,以及将***预定义的或者由应用发包者设置的待挖掘的测试者总数k输入众包策略挖掘器中。
建模层:包括测试者资源与能力建模器和测试任务需求抽取器。
算法层:包括众包策略挖掘器,其可从测试者资源与能力建模器调用建好的测试者模型,以及从测试任务需求抽取器获取待测试应用的任务描述信息,还可以获取***预定义的或者由应用发包者设置的待挖掘的测试者总数k。
预测结果层:其用于选择满足测试环境覆盖度并能使测试质量最大化的k个测试者所组成的测试者集合,以及预测的测试环境覆盖度及测试质量,并制定相应的众包测试策略,将其返回给应用发包者。
其中,需要特别说明的是,本申请涉及的测试者可为终端设备,可以是指向用户提供语音和/或数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。无线终端可以经无线接入网(英文全称:Radio Access Network,英文简称:RAN)与一个或多个核心网进行通信,无线终端可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语音和/或数据。例如,个人通信业务(英文全称:Personal Communication Service,英文简称:PCS)电话、无绳电话、会话发起协议(SIP)话机、无线本地环路(Wireless Local Loop,英文简称:WLL)站、个人数字助理(英文全称:Personal Digital Assistant,英文简称:PDA)等设备。无线终端也可以称为***、订户单元(Subscriber Unit)、订户站(Subscriber Station),移动站(Mobile Station)、移动台(Mobile)、远程站(Remote Station)、接入点(Access Point)、远程终端(RemoteTerminal)、接入终端(Access Terminal)、用户终端(User Terminal)、终端设备、用户代理(User Agent)、用户设备(User Device)、或用户装备(User Equipment)。
为解决上述技术问题,本申请主要提供以下技术方案:
基于众测平台所积累的历史数据,通过整体能力评分的粗粒度形式和对测试者持有的每个测试资源上的测试能力评分的细粒度形式混合的方法,量化度量测试者的测试能力与资源。针对某项应用测试任务,据此分析测试者共同完成该应用测试任务时的相互影响关系,利用所提出的多维度评分公式和鸽巢策略公式,挖掘出“最优”的众包测试策略,该众包测试策略能够以测试环境覆盖度为约束条件,使得测试质量最大化,显著提升众包测试环境中应用测试任务的成功率,引导应用发包者获取达到最优的测试结果的。
该历史数据集合可能包括对至少一个历史应用的测试的历史数据,每个测试者可能最少针对其中一个历史应用测试过。
本次众包测试可以直接从其中选择潜力测试者,然后由其进行新应用或者历史应用的新版本进行测试,也可以针对已经测试过的历史应用再进行测试,发现更多漏洞,更加完善应用。
请参照图2,以下对本申请提供一种处理众包测试数据的方法进行举例说明,所述方法主要包括:
201、获取待测应用的任务描述信息。
其中,所述待测应用的任务描述信息用于指示测试所述待测试应用的指示信息。可选的,在一些实施方式中,所述任务描述信息用于指示测试者期望值和测试指标,所述测试者期望值是指测试所述待测应用的测试者总数,所述测试指标包括测试质量、测试条件以及测试资源覆盖度的覆盖度期望值中的至少一项。
测试质量是指应用发包者(也可以称为发起众包测试的设备)对测试者测试应用的测试质量的评价,可以以质量评分来度量,或者以质量等级标识,还可以以其他的方式度量,具体度量的方式本申请不作限定。
测试资源覆盖度是指衡量所选择的目标测试者集合所拥有的测试资源能够覆盖测试资源期望集合中的多少测试资源,可以认为其是指当前选中的测试者集合对应的测试资源集合与所述测试资源期望集合的比值。例如,给定的测试资源期望集合包括100个测试资源,选择70个测试者,这70个测试者所拥有的全部测试资源为89,那么,可认为本次选择的测试者集合的测试资源覆盖度为0.89。
可选的,在一些实施方式中,所述任务描述信息还可包括测试资源期望集合的指示信息、测试资源要求信息和测试能力要求信息。
测试资源期望集合是指期望测试所述待测试应用所能够覆盖的测试资源的集合。例如每个测试者可能包括不同或相同,或部分相同的测试资源,本次测试待测试应用所需要的测试资源理论上需要选择出的目标测试者集合能够全部提供,也就是理论上需要选择出的目标测试者集合能够全部覆盖测试资源期望集合中的测试资源。例如,当前要测试应用A,从获取的待测应用A的任务描述信息中可知:测试资源期望集合包括北京、上海、中国电信、***、***、安卓5.0版本以上的***以及IOS6以上的***等,那么根据该任务描述信息,只需要去找到满足这些测试资源需求的测试者即可。
本申请不对目标测试者集合中的具备相同测试资源子集合的测试者个数进行限定,也不对目标测试者集合中的测试质量相同或相似的测试者的个数进行限定。
测试资源要求信息是指要求参与本次的众包测试任务的测试者所具备的测试资源的条件,例如要求参与本次众包测试任务的手机需要是安卓5.1以上、以及网络地址为北京和上海。
测试能力要求信息是指要求参与本次的众包测试任务的测试者所具备的测试能力,例如要求参与本次众包测试任务的手机的硬件跑分在10000以上。
其中,该覆盖度期望值是指期望选择的目标测试者集合所拥有的测试资源能够覆盖测试资源期望集合中的测试资源的一个衡量指标。具体来说,可以认为其是指当前选中的测试者集合对应的测试资源集合与所述测试资源期望集合的比值。可设覆盖度期望值为趋于1的数值,或者设置为不小于1的数值。当覆盖度期望值为趋于1的数值时,表示期望能够选择出包括测试资源期望集合中几乎全部的或者大部分测试资源的测试者集合;当覆盖度期望值为等于1的数值时,表示期望能够选择出包括测试资源期望集合中全部的测试资源的测试者集合;当覆盖度期望值为大于1的数值时,表示期望能够选择出包括测试资源期望集合中全部的测试资源的测试者集合,并且选择的测试者集合的测试资源集合。当选择目标测试者过程中,可以判断当前的测试资源覆盖度是否达到所述任务描述信息中给定的覆盖度期望值,若达到,即可结束寻找下一个目标测试者的操作。当然,也可以继续寻找下一个目标测试者的操作,这样更能够选择出更多合适众包测试应用的测试者。
202、基于测试者模型的集合和所述任务描述信息,从所述待选测试者集合中选择测试所述待测试应用的目标测试者集合。
203、根据所述目标测试者集合生成众包测试策略。
其中,所述众包测试策略是指用于选择能够满足测试资源覆盖度的约束条件,以及满足使得众包测试质量最大化的要求,且进行众包测试的测试者集合的策略。例如,步骤203中选中了k个测试者,那么步骤203中则可根据这k个测试者生成一个众包测试策略,由于该k个测试者为定向选择的,所以该众包测试策略能够达到定向的测试效果。
204、根据所述众包测试策略将所述待测应用下发至所述目标测试者集合中的各测试者。
相较于现有技术,本申请提供的方案中,在获取待测应用的任务描述信息后,由于基于已有的测试者模型的集合和所述任务描述信息,从所述待选测试者集合中选择测试所述待测试应用的目标测试者集合,再将根据所述目标测试者集合生成的众包测试策略将所述待测应用下发至所述目标测试者集合中的各测试者,使得这些测试者对待测应用进行众包测试,所以一定程度上,既能够提高选择目标测试者集合中测试者的效率,又能够发掘出测试资源好且测试能力佳的潜力测试者,这些潜力测试者能够为应用发包者提供较好的应用测试报告,以供应用发包者对应用进行漏洞修补。
本申请中的众包测试可以是同时针对不同版本的应用的定向测试,也可以是针对一个应用的不同版本的全向测试。在众包测试时,可按照测试资源的划分区间来向对应的测试者推送合适版本的应用测试任务。仅针对特定测试资源的测试者进行的测试,例如针对安卓手机的众包测试时,仅需要选择只能使用安卓***测试资源的测试者,其他***的测试者可不被考虑,这样就可以分别针对属于相同测试资源类别的测试者进行众包测试,以发掘出该测试资源类别下的应用的漏洞。
可选的,在一些发明实施例中,在获取所述任务描述信息之后,在选择目标测试者集合之前,还需要根据任务描述信息从历史数据集合中确定出上述测试资源期望集合。具体可由测试任务需求抽取器获取,如图4所示,具体过程如下:
测试任务需求抽取器的输入为:ti={t1,t2,t3,…,tm},i∈{1,…,m},ti为应用测试任务。
测试任务需求抽取器的输出为:Eti={Et1,Et2,Et3,…,Etm},ti∈{t1,…,tm}。
在初始化状态时,初始化Eti∈E。
测试任务需求抽取器从待处理应用测试任务的缓冲区T中,读取任务数据流,循环遍历每个应用测试任务ti,利用正则表达式匹配ti请求中的测试资源类别。
循环遍历每个测试资源类别时:
循环提取该测试资源类别中包含的每个期望测试资源r,最后得到整个测试资源期望集合Eti,Eti=Eti∪{r},然后循环遍历操作结束。
需要说明的是,对于应用而言,其所需的测试资源对应测试者的测试资源,本申请不对此进行区分。
可选的,在一些发明实施例中,在所述基于所述测试者模型的集合和所述任务描述信息,从所述待选测试者集合中选择测试所述待测试应用的目标测试者集合之前,还需要进行测试者模型的建立,具体过程如下:
先获取历史数据集合,所述历史数据集合包括上述待选测试者集合、待选测试者集合中测试者的测试资源和测试者的测试能力信息,所述待选测试者集合参与过测试历史应用。
然后,基于所述测试资源和所述测试能力信息对所述待选测试者集合中的测试者进行建模,得到所述测试者模型的集合。
其中,所述测试者模型的集合可包括至少一个测试者的测试者模型,测试者模型包括测试者的测试资源子集合、测试者利用至少一个测试资源测试至少一个应用的测试质量、以及测试者测试至少一个应用的加权测试质量。
在基于所述测试资源和所述测试能力信息对所述待选测试者集合中的测试者进行建模,得到所述测试者模型的集合之后,还可以更新测试者模型的集合,主要包括以下情况:
获取所述测试者模型的集合中至少一个测试者新反馈的测试报告,根据新反馈的测试报告更新对应测试者的测试者模型。
或者,获取新测试者反馈的测试报告,根据新测试者反馈的测试报告建模,得到新测试者对应的测试者模型,以更新所述测试者模型的集合。
通过更新测试者模型,能够更加完善测试者模型的参考价值和准确度。
由于上述历史数据集合还可包括各个测试者所反馈的测试报告集合,那么要建立测试者模型,还需要通过循环遍历来计算出上述测试者、测试者的测试资源与测试者的测试者能力信息之间的对应关系,确定出对应关系后,即可进行测试者建模的操作。本申请中,主要通过以下步骤确定出上述测试者模型的集合:
a、先从所述测试报告集合中确定所述待选测试者集合,所述待选测试者集合中的测试者都参与过所述历史应用的测试任务。可选的,所述历史应用的个数的至少一个,所述待测应用与所述历史应用可相同或不同。一个测试者参与过的众包测试越多,其所建立的测试者模型就越有参考价值,当待测应用与所述历史应用相同时,可以是针对历史应用的版本更新的测试,也可是对历史应用的重新测试;当待测应用与所述历史应用不同时,则表示是针对新的应用进行的测试。
b、然后,根据所述待选测试者集合计算第一测试资源集合和第一测试质量集合。
其中,所述第一测试资源集合包括多个测试资源子集合,每个测试资源子集合对应一个测试者;所述第一测试质量集合包括所述待选测试者集合中各测试者利用至少一个测试资源测试至少一个应用的测试质量、以及所述待选测试者集合中各测试者测试至少一个应用的加权测试质量。其中,对于一个测试者而言,加权测试质量是指该测试者测试每个应用所得到的至少一个测试质量的加权平均值。
本申请中的测试者模型可以是在选择目标测试者集合时,实时的建立,也可以是预先基于历史数据集合建立。预先建立的测试者模型可有效的缩短选择目标测试者集合的时间,从而提高运算效率。
c、再根据所述第一测试资源集合和所述第一测试质量集合生成所述测试者模型的集合。
可见,由于该种建模机制是基于众测平台中每个测试者的测试能力与测试资源在粗粒度和细粒度上进行建模,所以最终得到的测试者模型更具备众包测试的参考价值,能够有效的、真实的去预测各个测试者的测试效果。
具体的建模过程可由测试者资源与能力建模器完成。
测试者资源与能力建模器的输入为:众包测试任务的历史数据集合H,H中包括多个被测试的历史应用的测试报告集合,每个历史应用可被多个测试者w测试,每个历史应用测试任务都对应一个测试报告集合。测试报告包括与测试历史应用对应的测试者w,每个测试者w所拥有的测试资源子集合Rw。
测试者资源与能力建模器的输出为:每个测试者w的测试者模型,测试者模型包括每个测试者w所拥有的测试资源子集合Rw,每个测试者w使用其所拥有的每个测试资源测试应用的测试质量(可用CScores表示,例如C1Scores表示测试者使用测试资源C1测试应用的测试质量),以及每个测试者w使用其所拥有的测试资源子集合测试应用的加权测试质量可用GScores表示)。
如图5所示,具体过程如下:
(1)循环遍历H中每个历史应用对应的测试报告集合,从测试报告集合中获取参与该历史应用测试任务的测试者集合,形成众测平台中的测试者全集U,并结束循环遍历。
(2)循环遍历U中的每个测试者u,分别按照如下步骤(3),计算U中的每个测试者u的测试资源子集合Ru,并按照步骤(4)计算测试者u的CScores和GScore。
(3)循环遍历H中的每个历史应用测试任务对应的测试报告集合,取其中每个测试报告的测试者信息w,如果测试者信息w与U中的某个测试者u的信息完全一致,那么可确定w与u为同一个测试者,那么就表示匹配出与测试者信息对应的测试报告。那么步骤(2)中的测试者u的测试资源子集合Ru=Ru∪{c|c∈R策略资源集合},待U中的所有测试者u都匹配到测试报告后,即可结束循环遍历。
(4)循环遍历H中的每个历史应用测试任务对应的应用发包者对其计算的Scores,取其中每个测试报告的测试者信息w,测试者信息w与U中的某个测试者u的信息完全一致,那么可确定w与u为同一个测试者,那么就表示匹配出与测试者信息对应的测试报告。那么CScores_c=func(Scores_c,CScores),GScore=func(Scores_G,GScore),其中CScores_c1为测试者使用测试资源c1测试应用得到的质量评分,func为任意累计函数,例如线性求和函数、平均值函数,最大/最小值函数等,func可以根据不同众测场景进行设定,具体本申请不作限定。结束循环遍历。
(5)根据u、Ru、CScores和GScore建立测试者u的测试者模型,然后输出每个测试者u的测试者模型,该测试者模型为测试者测试应用的资源与能力模型。
可选的,上述步骤(3)和步骤(4)可以合并到同一个循环遍历中。
可选的,在一些发明实施例中,所述基于所述测试者模型的集合和所述任务描述信息,从所述待选测试者集合中选择测试所述待测试应用的目标测试者集合,可包括:
基于所述测试者模型的集合、所述测试者期望值和所述覆盖度期望值、所述待选测试者集合中各测试者的测试资源子集合、所述待选测试者集合中各测试者的测试资源子集合之间的交集、以及所述测试资源覆盖度的约束条件,从所述待选测试者集合中选择所述目标测试者集合;所述约束条件包括第一比值趋于或者不小于所述覆盖度期望值。
其中,所述第一比值是指当前选中的测试者集合的实际测试资源集合与所述测试资源期望集合的比值,所述实际测试资源集合是指所述目标测试者集合中各测试者的测试资源子集合的并集。第一比值用于度量当前已经选中的测试者集合是否覆盖了测试资源期望集合中的所有测试资源。当该第一比值达到任务描述信息中给定的覆盖度期望值后,就表示当前已经选中的测试者集合已覆盖测试资源期望集合中的所有或大部分的测试资源,可以结束迭代。
具体来说,选择所述目标测试者集合可采用评分策略和鸽巢策略,本申请中,可以单独采用评分策略或鸽巢策略来挖掘目标测试者集合,也可同时采用两种策略,具体本申请不作限定。本申请实施例中给出的评分策略和鸽巢策略可由众包测试策略挖掘器实现,众包测试策略挖掘器可包含评分策略挖掘器和鸽巢策略挖掘器这两个***组件,二者拥有不同的特征。下面分别进行说明:
一、基于评分策略选择上述目标测试者集合
具体来说,首先从所述待选测试者集合中选择测试者w,以及获取所述测试者w的测试资源子集合,所述测试者w是指所述待选测试者集合中的测试者。
然后,利用迭代算法计算第一评分公式,得到一个目标测试者,所述第一评分公式表示测试资源覆盖度与测试质量的加权值,所述目标测试者是指使得所述第一评分公式中测试资源覆盖度与测试质量中的至少一个最大的测试者,满足其中至少一个即可作为目标测试者,也可以不选最大的,从超过某一阈值的测试者集合中选一个作为目标测试者也可以。
每次迭代得到一个目标测试者后,将所述目标测试者加入候选测试者集合,并进行下一次迭代计算。
当所述第一比值趋于1或者大于等于1时,结束迭代计算,然后将迭代计算结束后得到的候选测试者集合作为所述目标测试者集合。
可选的,在一些实施方式中,在基于评分策略挖掘器进行众包测试策略的挖掘时,可以贪婪方式,基于k次迭代选取,每次迭代选择一个使评分公式结果最大化的测试者。在对发包策略进行挖掘时,使得可以更加充分地分析候选测试者在多个维度上对候选测试者集合(即当前已选取的测试者集合)的测试资源覆盖度和/或测试质量的影响。其引入一个评分公式,从多个维度,度量每个候选测试者在被选取后为目标测试者集合所带来的增量(包括测试资源覆盖度增量和/或测试质量增量)。本申请的评分公式可以增加评分项、或者公式变型等,以达到扩展到多种评分维度的目的,具体如何扩展,以及设置的评分维度本申请均不作限定。
二、基于鸽巢策略选择上述目标测试者集合
具体来说,可基于所述测试者模型的集合、所述测试者期望值和所述覆盖度期望值、所述待选测试者集合中各测试者的测试资源子集合以及鸽巢策略,从所述待选测试者集合中选择所述目标测试者集合;所述约束条件包括第一比值趋于或者不小于所述覆盖度期望值。
其中,所述第一比值是指当前选中的实际测试资源集合与所述测试资源期望集合的比值,由于实际测试者集合中可能会存在测试资源重叠的测试者,所以,所述实际测试资源集合是指所述目标测试者集合中各测试者的测试资源子集合的并集。
可选的,在一些实施方式中,基于鸽巢策略选择上述目标测试者集合时,可利用迭代算法从所述待选测试者集合中选择目标测试者,所述目标测试者是指每次迭代计算中为候选测试者集合提供最大测试质量增量的候选测试者。
然后将所述目标测试者加入候选测试者集合,计算所述候选测试者集合对应的实时测试资源集合。当所述实时测试资源集合与所述测试资源期望集合的交集为所述测试资源期望集合时,相当于已全部覆盖测试资源期望集合中的资源,甚至已超过,也可认为是满足:第一比值趋于或者不小于所述覆盖度期望值。由此,可以结束迭代计算,并将迭代计算结束后得到的候选测试者集合作为所述目标测试者集合。
基于评分策略或者鸽巢策略得到上述目标测试者集合后,所述目标测试者集合所对应的测试资源集合与所述测试资源期望集合的交集为所述测试资源期望集合。
可见,基于鸽巢策略,每次都可以从满足鸽巢原理的候选测试者中选择出能使质量最大化的测试者。在对众包测试策略进行挖掘时,使得可以更加充分地分析待选测试者集合中的各候选个测试者在测试资源覆盖度上对已选取的候选测试者集合的影响,最后能挖掘出符合众包测试任务的测试者集合。
可选的,在一些实施方式中,在基于鸽巢策略挖掘器进行众包测试策略的挖掘时,可以贪婪方式,基于k次迭代选取,每次迭代时,都从满足鸽巢原理的候选测试者中选择一个能使测试质量最大化的候选测试者,并将其作为目标测试者。在对众包测试策略进行挖掘时,使得可以更加充分地分析候选测试者在测试环境覆盖度上对候选测试者集合的影响。本申请基于鸽巢原理对候选测试者进行筛选时,只从满足该鸽巢原理的候选测试者中进行筛选。
其中,评分策略挖掘器与鸽巢策略挖掘器适合于不同的实际场景,二者可以同时进行,也可以协作以形成互补,可以动态地按照需求自动选择部署。评分策略挖掘器能够支持除测试环境覆盖度和测试质量以外,更多复杂的个性化目标。鸽巢策略挖掘器可以在一定条件下,达到100%的测试环境覆盖度,并且在此条件基础上,使得测试质量最大化。在实际应用时,可灵活部署,具体本申请不作限定。
下面对评分策略挖掘器与鸽巢策略挖掘器分别进行举例说明。
一、基于评分策略挖掘器挖掘目标测试者集合
具体来说,本申请实施例给出的评分策略挖掘器可以正则表达式的贪婪匹配的方式,以及通过k次迭代的方式来逐步挖掘出最佳的测试者集合。k为上述任务描述信息中测试所述待测应用的测试者总数,因此,需要进行k次迭代,每次迭代都从当前的待选测试者集合中,选择一个目标测试者(即最佳测试者)加入到当前的候选测试者集合Wo中,经过k次迭代选取后,Wo中可包括k个最佳测试者。选择目标测试者的标准是能够使得候选测试者集合Wo的测试质量增量最大,并且能够覆盖E中待覆盖测试环境的个数最多。
为了能够在每次迭代中挖掘出目标测试者,可引入一个评分公式来度量每个候选测试者的分数,即其能为目标测试者集合所带来的好处的多寡。假设任务描述信息中指示的测试资源期望集合为Et,W为历史数据集合中的测试者集合。在从W中预筛选出一个合适的待选测试者集合W1后,可以通过评分公式来度量候选测试者的测试资源覆盖度和测试质量,可分别为测试资源覆盖度和测试质量设置一个权重,根据评分公式计算出二者的加权值,在每次迭代中选择目标测试者时,可直接采用计算出的加权值来选取加权值做最大的候选测试者为目标测试者。
可见,基于评分策略,能够保证运算效率的前提下,获取有效的目标测试者集合,使得在对发包策略进行挖掘时,使得可以更加充分地分析待选取测试者在多个维度上对已选取集合的影响。
本申请提供上述第一评分公式的一种形式,如下:
其中,α为测试资源覆盖度的权重,(1-α)为测试质量的权重,α∈[0,1],C0是指所述测试资源期望集合Et中待覆盖的测试资源集合,Wo是指候选测试者集合,w’是指所述待选测试者集合中的候选测试者,W1是指所述待选测试者集合,是指测试者w的测试资源子集合与所述待选测试者集合W1的交集,是指W1中的候选测试者w’为Co提供的最大测试资源增量,σ({ω},W0)+是指测试者w为Wo提供的测试质量增量;σ({ω′},W0)是指候选测试者w’为Wo提供的测试质量增量,maxω′∈W1σ({ω′},W0)+是指W1中的候选测试者w’为Wo提供的最大测试质量增量。
可见,上述第一评分公式的第一部份度量了该测试者w对于候选测试者集合W0在测试覆盖度上的贡献,第二部分度量了测试者w在测试质量上的贡献,而每部分的分母即为W1中所有待选测试者在第二部分上贡献的最大值。本申请引入上述第一评分公式,能够从多个维度度量每个待选测试者在被选取后对候选测试者集合所带来的好处多寡,从而识别出能够对众包测试带来较佳测试效果的测试者。并且该第一评分公式还可以灵活扩展到多种评分维度。
通过上述第一评分公式即可计算出Wo中的每个测试者w的分值。
极限情况下,如果为0,那么就为1。
如果maxω′∈W1σ({ω′},W0)+)为0,那么)就为1。
如图6所示,针对k个测试者的选取,通过评分策略挖掘器计算出上述众包测试策略的具体步骤如下:
(1)首选初始化候选测试者集合Wo,以及设置C0=Et。
(2)执行k轮迭代,每次迭代都选取使得上述第一评分公式最佳的候选测试者,将最佳的候选测试者作为目标测试者,并将其加入到候选测试者集合Wo中,还可以删除C0中已被覆盖的测试资源。
(3)在k轮迭代之后,如果|Wo|≥k,则表示Et中所有的期望测试环境Ei都已经被当前的候选测试者集合Wo中测试者所覆盖,甚至当前的候选测试者集合Wo中测试者的实际测试资源集合与Et的交集为Wo的子集,那么返回当前的候选测试者集合Wo作为目标测试者集合;如果|Wo|<k,则表示Et中所有的期望测试环境Ei还未完全被当前的候选测试者集合Wo中测试者所覆盖,则返回当前的候选测试者集合Wo及其能够达到的测试资源覆盖度。
为了提高评分策略挖掘器能够从W中找到完全覆盖Et的一个Wo的可能性,可以在上述第一评分公式中增加一个额外评分项进行扩展,这样就可以实现除了支持测试资源覆盖度与测试质量之外,还能够达到其他众包测试任务所需达到的目标。
二、基于鸽巢策略挖掘器挖掘目标测试者集合
具体来说,本申请实施例中的鸽巢策略挖掘器基于鸽巢原理,鸽巢原理原理如下:
如果最终输出的目标测试者集合Wo能够完全覆盖给定的测试资源期望集合Et,Wo中可包含k个测试者。那么Wo中至少有一个测试者能够覆盖的测试资源不少于个,其中是向上取整函数,也就是说Wo中能够覆盖高于的测试资源的测试者数目是至少一个。
基于上述原理,如图7所示,针对k个测试者的选取,本申请实施例中的鸽巢策略挖掘器的具体步骤如下:
(1)首先初始化候选测试者集合Wo,以便后续迭代计算中更新作为候选测试者集合的Wo。
其中,在初始化时,并且设置C0=Et,Et为上述测试资源期望集合,Et包括多个期望测试资源,期望测试资源是指期望被选中的目标测试者所具有的测试资源子集合中的测试资源,若选中了某个测试者作为目标测试者,则可认为该目标测试者所具有的测试资源子集合中的至少有一个测试资源为所述测试资源期望集合中的期望测试资源。
(2)执行k次迭代,在每次迭代的过程中,选取满足鸽巢原理且能为当前的候选测试者集合Wo的测试质量带来最大增量的目标测试者。如果当前无满足鸽巢原理的测试者,则返回当前的Wo及Wo相对于Et所能够达到的测试覆盖度;如果当前存在满足鸽巢原理的测试者,则进行步骤(3)。
例如在第3次迭代完成后,Wo中已经包含3个目标测试者,当在第4次迭代选择下一个目标测试者时,可以当前包含3个目标测试者的Wo为基础,选择一个满足鸽巢原理且能够为当前包含3个目标测试者的Wo带来最大测试质量增量的测试者A,并将该测试者A作为第4个迭代选中的目标测试者,将该测试者A加入作为候选测试者集合的Wo中,使得Wo更新为包含4个目标测试者的集合。每迭代一次,都会选择一个目标测试者,并更新作为候选测试者集合的Wo,每轮迭代选择目标测试者都可以参考此处,均不再赘述。
(3)在k轮迭代中的每次迭代之后,都进行一次如下判断:判断Et中所有的期望测试环境是否都已经被当前的候选测试者集合Wo中测试者所覆盖,如果|Wo|≥k,则表示Et中所有的期望测试资源都已经被当前的候选测试者集合Wo中测试者所覆盖,那么该算法将会返回最后得到的Wo作为目标测试者集合;如果|Wo|<k,则表示Et中所有的期望测试资源还未完全被当前的候选测试者集合Wo中测试者所覆盖,则返回当前的Wo及Wo相对于Et所能够达到的测试覆盖度。
当k≥|Et|时,鸽巢策略挖掘器总可以挖掘出一个包含k个测试者的目标测试者集合Wo,满足其作为一个整体能够完全覆盖期望的测试资源期望集合Et的约束目标,如果在W中的确存在这样的集合,其中|Et|为测试资源期望集合Et中的测试资源总数。
为便于理解,以下以众测平台A为例。图8为该众测平台A的服务器拓扑结构示意图,众测平台A包括后台处理服务器、网页服务(webservice)服务器和数据库,众测平台A可采用客户机/服务器结构(英文全称:Client/Server Structs,英文简称:C/S)向测试者提供众测服务。应用发包者和测试者都安装待众测的应用,由应用发包者针对该应用发起众包测试任务,在收到测试者反馈的测试报告后对每个测试报告进行评分。webservice服务器是服务端的总接口服务器,其中部署了多个网页(web)服务来对测试者和应用发包者进行服务,其内部合并了策略计算服务器和发包服务器的处理过程。后台处理服务器合并测试结果服务器和建模服务器的功能,其包括测试者资源与能力建模器、测试任务需求抽取器。
下面以众测平台A中的历史数据集合为例对众包测试策略的挖掘过程进行说明。该历史数据集合中,共有836个历史测试任务,每个测试任务对应一个历史应用,共2385个测试者参与测试。
首先,利用测试者资源与能力建模器对每个测试者的测试资源与测试能力进行建模,得到2385个测试者模型的集合。例如选取其中的4个测试者进行举例说明,即待选测试者集合W={w1,w2,w3,w4}。
测试者资源与能力建模器对历史测试任务和历史测试结果的分析,测试者为手机,测试者资源包括测试者地址、测试者操作***、网络制式和手机品牌,分析后,输出的结果如下:
Rw1={北京,Android 4.1,***,华为手机},w1.CScores={1,0.5,0.5,0.4}
Rw2={广州,Android 4.4,***,苹果手机},w2.CScores={0.3,1,0.5,0.4,0.3}
Rw3={成都,Android 4.3,***,联想手机},w3.CScores={0.2,0.4,1,0.4}
Rw4={北京,Android 4.4,***,苹果手机},w4.CScores={1,0.4,0.5,1}
其中,Rw1表示测试者w1的测试资源集合,w1.CScores表示测试者w1的测试质量分值,其他同理。
假设整体评分计算方法为测试资源评分中的最小值。那么可得到:
w1.GScore=0.4,w2.GScore=0.3,w3.GScore=0.2,w4.GScore=0.4,其中,w1.GScore表示测试者w1的整体测试质量分值,其他同理。
测试任务需求抽取器从待发布的众包测试任务流中抽取众包测试任务A的任务描述信息,根据众包测试任务A的任务描述信息可计算出该众包测试任务A的期望测试该应用的测试者总数k(以k=2为例),以及计算出该众包测试任务A的测试资源期望集合Et,Et={北京,成都,Android 4.4,Android 4.3,***}。假设一个测试者集合的评分计算方法为所有测试者的Gscore评分之和,下面分别针对当采用评分策略挖掘器和鸽巢策略挖掘器挖掘出包含2个目标测试者的目标测试者集合进行说明。
一、采用评分策略挖掘器挖掘目标测试者集合。
由于k=2,所以只需要进行2次迭代选取2个候选测试者。假设测试资源覆盖度的权重α=0.5,采用上述评分公式进行评分的计算,初始状态时,候选测试者集合C0=Et,当前的待选测试者集合W={w1,w2,w3,w4}。在第一次迭代结束后,第一次迭代的结果如下:
对于测试者w1:Score(w1,Wo,C0)=0.5(1/3)+(1-0.5)(0.4/0.4)=0.67
对于测试者w2:Score(w2,Wo,C0)=0.5(2/3)+(1-0.5)(0.3/0.4)=0.705
对于测试者w3:Score(w3,Wo,C0)=0.5(2/3)+(1-0.5)(0.2/0.4)=0.583
对于测试者w4:Score(w4,Wo,C0)=0.5(3/3)+(1-0.5)(0.4/0.4)=1
其中,Wo表示候选测试者集合,C0表示测试资源期望集合中待覆盖的测试资源集合。Score(w1,Wo,C0)表示测试者w1的测试资源和测试能为候选测试者集合Wo所带来的质量分值,以及测试者w1的测试资源子集合相对于C0的测试资源覆盖度分值,其他同理。
可见,测试者(w1,w2,w3,w4)中,评分最高的测试者是w4,其在第一次迭代中为Wo带来最大测试质量增量,以及为C0带来最大测试资源覆盖度增量。所以,可以将测试者w4作为目标测试者w。
并且,在本次迭代中,当前待覆盖的测试资源集合C0=C0\Rw={成都,Android4.3};Wo=Wo∪{w}={w4};W1={w1,w2,w3}。由于|Wo|=k,因此进入第二次迭代,第二次迭代结果如下:
对于测试者w1:Score(w1,Wo,C0)=0.5(0/2)+(1-0.5)(0.4/0.4)=0.6
对于测试者w2:Score(w2,Wo,C0)=0.5(0/2)+(1-0.5)(0.3/0.4)=0.375
对于测试者w3:Score(w3,Wo,C0)=0.5(2/2)+(1-0.5)(0.2/0.4)=0.75
与第一次迭代的结果分析同理,可知第二次迭代中,候选测试者集合(w1,w2,w3)中,评分最高的测试者w为测试者w3,当前待覆盖的测试资源集合C0=C0\Rw={};Wo=Wo∪{w}={w4,w3};当前的待选测试者集合W={w1,w2}。
可见,第二次迭代后,Wo中所包含的测试者总数|Wo|=k,由于w∈Wo,返回(Wo,1)。由输出的Wo可知,Wo所能达到的测试资源覆盖度为1,所能达到的测试质量为:w4.Gscore+w3.Gscore=0.8。所以,第二次迭代后即可退出迭代循环。
因此,输出的众包测试策略为:测试者w3和测试者w4,即目标测试者集合为{w4,w3},该测试者组合{w4,w3}所能达到的测试环境覆盖度为100%,测试质量为:0.8。
二、采用鸽巢策略挖掘器挖掘目标测试者集合。
由于k=2,同样只需要进行2次迭代选取2个候选测试者。假设测试资源覆盖度的权重α=0.5,初始状态时,候选测试者集合C0=Et,当前的待选测试者集合W={w1,w2,w3,w4}。
在第一次迭代结束后,第一次迭代的结果如下:
由于因此满足条件的测试者只有w4,因此:第一次迭代可选择w4作为目标测试者。
因此,第一次迭代得到的目标测试者w为w4;C0=C0\Rw={成都,Android 4.3};Wo=Wo∪{w}={w4};W1={w1,w2,w3}。
由于|Wo|=k,因此进入第二次迭代:
由于因此满足条件的测试者只有w3,第一次迭代可选择w3}作为目标测试者。
因此w=w3;C0=C0\Rw={},Wo=Wo∪{w}={w4,w3},W={w1,w2}。
此时,|Wo|=k,退出迭代循环。因为w∈Wo,则表明最后输出的Wo能够覆盖Et中所有的测试资源,所以返回(Wo,1).由输出的Wo可知,Wo所能达到的测试资源覆盖度为1,所能达到的测试质量为:w4.Gscore+w3.Gscore=0.8。
因此,输出的众包测试策略为:测试者w3和测试者w4,即目标测试者集合为{w4,w3},该测试者组合{w4,w3}所能达到的测试环境覆盖度为100%,测试质量为:0.8。
测试资源期望集合、测试质量、测试资源覆盖度、测试能力信息、测试者模型、测试者集合、测试者资源子集合、众包测试策略、评分策略和鸽巢策略等特征也同样适用于本申请中的图9和图10所对应的实施例,后续类似之处不再赘述。
以上对本申请中一种处理众包测试数据的方法进行说明,以下对执行上述处理众包测试数据的方法的装置进行描述,该装置可执行上述图2-图8任一所示的技术方案。参照图9,对用于处理众包测试数据的装置90进行说明,该装置90可以是作为服务端的服务器,也可以是部署在服务器端的应用,也可以称之为客户端,该装置90还可以是作为服务端的终端设备,具体本申请对其应用场景不作限定。该装置90包括:
收发模块901,用于获取待测应用的任务描述信息,所述任务描述信息用于指示对所述待测应用进行众包测试。
处理模块902,用于基于测试者模型的集合和所述收发模块901获取的所述任务描述信息,从待选测试者集合中选择测试所述待测试应用的目标测试者集合;以及根据所述目标测试者集合生成众包测试策略,由收发模块根据所述众包测试策略将所述待测应用下发至所述目标测试者集合中的各测试者。
本发明实施例中,处理模块902基于所述任务描述信息和已有的测试者模型的集合,从所述待选测试者集合中选择测试所述待测试应用的目标测试者集合,再将根据所述目标测试者集合生成的众包测试策略将所述待测应用下发至所述目标测试者集合中的各测试者,能够提高选择目标测试者集合中测试者的效率,又能够发掘出测试资源好且测试能力佳的潜力测试者,这些潜力测试者能够为应用发包者提供较好的应用测试报告,以供应用发包者对应用进行漏洞修补。
可选的,在一些发明实施例中,所述任务描述信息包括测试者期望值和测试指标,所述测试者期望值是指测试所述待测应用的测试者总数,所述测试指标包括测试质量,以及测试资源覆盖度的覆盖度期望值中的至少一项。
所述众包测试策略是指用于选择能够满足测试资源覆盖度的约束条件,以及满足使得众包测试质量最大化的要求,且进行众包测试的测试者集合的策略。
可选的,所述任务描述信息还包括测试资源期望集合的指示信息。
可选的,在一些发明实施例中,所述测试者模型的集合包括至少一个测试者的测试者模型,测试者模型包括测试者的测试资源子集合、测试者利用至少一个测试资源测试至少一个应用的测试质量、以及测试者测试至少一个应用的加权测试质量。
本申请实施例中,处理模块902可基于评分策略和鸽巢策略选择所述目标测试者集合,可以单独采用评分策略或鸽巢策略来挖掘目标测试者集合,也可同时采用两种策略,具体本申请不作限定。下面分别进行说明:
可选的,在一些发明实施例中,基于评分策略获取目标测试者集合时,所述处理模块902具体用于:
基于所述测试者模型的集合、所述测试者期望值和所述覆盖度期望值、所述待选测试者集合中各测试者的测试资源子集合、所述待选测试者集合中各测试者的测试资源子集合之间的交集、以及所述测试资源覆盖度的约束条件,从所述待选测试者集合中选择所述目标测试者集合;所述约束条件包括第一比值趋于或者不小于所述覆盖度期望值;
其中,所述第一比值是指当前选中的测试者集合的实际测试资源集合与所述测试资源期望集合的比值,所述实际测试资源集合是指所述目标测试者集合中各测试者的测试资源子集合的并集。
可选的,在一些发明实施例中,所述处理模块902具体用于:
从所述待选测试者集合中选择测试者w,以及获取所述测试者w的测试资源子集合,所述测试者w是指所述待选测试者集合中的测试者;
利用迭代算法计算第一评分公式,得到一个目标测试者,所述第一评分公式表示测试资源覆盖度与测试质量的加权值,所述目标测试者是指使得所述第一评分公式中测试资源覆盖度与测试质量中的至少一个最大的测试者;
每次迭代得到一个目标测试者后,将所述目标测试者加入候选测试者集合,并进行下一次迭代计算;
当所述第一比值趋于1或者大于等于1时,结束迭代计算,将迭代计算结束后得到的候选测试者集合作为所述目标测试者集合。可见,处理模块902基于评分策略,能够保证运算效率的前提下,获取有效的目标测试者集合,使得在对发包策略进行挖掘时,使得可以更加充分地分析待选取测试者在多个维度上对已选取集合的影响。
可选的,在一些发明实施例中,所述第一评分公式如下:
其中,α为测试资源覆盖度的权重,(1-α)为测试质量的权重,α∈[0,1],C0是指所述测试资源期望集合中待覆盖的测试资源集合,Wo是指候选测试者集合,w’是指所述待选测试者集合中的候选测试者,W1是指所述待选测试者集合,是指测试者w的测试资源子集合与所述待选测试者集合W1的交集,是指W1中的候选测试者w’为Co提供的最大测试资源增量,σ({ω},W0)+是指测试者w为Wo提供的测试质量增量;σ({ω′},W0)是指候选测试者w’为Wo提供的测试质量增量,maxω′∈w1σ({ω′},W0)+是指W1中的候选测试者w’为Wo提供的最大测试质量增量。可见,引入上述第一评分公式后,即可从多个维度度量每个待选测试者在被选取后对候选测试者集合所带来的好处多寡,从而识别出能够对众包测试带来较佳测试效果的测试者。本申请的第一评分公式可以增加评分项、或者公式变型等,以达到扩展到多种评分维度的目的,具体如何扩展,以及设置的评分维度本申请均不作限定。
可选的,在一些发明实施例中,基于鸽巢策略获取目标测试者集合时,所述处理模块902具体用于:
基于所述测试者模型的集合、所述测试者期望值和所述覆盖度期望值、所述待选测试者集合中各测试者的测试资源子集合以及鸽巢策略,从所述待选测试者集合中选择所述目标测试者集合;所述约束条件包括第一比值趋于或者不小于所述覆盖度期望值;
其中,所述第一比值是指当前选中的实际测试资源集合与所述测试资源期望集合的比值,所述实际测试资源集合是指所述目标测试者集合中各测试者的测试资源子集合的并集。
可选的,在一些发明实施例中,所述处理模块902具体用于:
利用迭代算法从所述待选测试者集合中选择目标测试者,所述目标测试者是指每次迭代计算中为候选测试者集合提供最大测试质量增量的候选测试者;
将所述目标测试者加入候选测试者集合,计算所述候选测试者集合对应的实时测试资源集合;
当所述实时测试资源集合与所述测试资源期望集合的交集为所述测试资源期望集合时,结束迭代计算,将迭代计算结束后得到的候选测试者集合作为所述目标测试者集合。可见,基于鸽巢策略,每次都可以从满足鸽巢原理的候选测试者中选择出能使质量最大化的测试者。在对众包测试策略进行挖掘时,使得可以更加充分地分析待选测试者集合中的各候选个测试者在测试资源覆盖度上对已选取的候选测试者集合的影响,最后能挖掘出符合众包测试任务的测试者集合。
所述处理器902基于上述评分策略或这鸽巢策略获取的目标测试者集合能够满足期望即,所述目标测试者集合对应的测试资源集合与所述测试资源期望集合的交集为所述测试资源期望集合。
可选的,在一些发明实施例中,所述处理模块902在所述基于所述测试者模型的集合和所述任务描述信息,从所述待选测试者集合中选择测试所述待测试应用的目标测试者集合之前,还用于:
获取历史数据集合,所述历史数据集合包括待选测试者集合中测试者的测试资源和测试者的测试能力信息;
基于所述测试资源和所述测试能力信息对所述待选测试者集合中的测试者进行建模,得到所述测试者模型的集合。可见,基于测试者模型可有效的缩短选择目标测试者集合的时间,从而提高运算效率。
可选的,在一些发明实施例中,所述历史数据集合还包括测试者反馈的测试报告集合,所述处理模块902具体用于:
从所述测试报告集合中确定所述待选测试者集合;
根据所述待选测试者集合计算第一测试资源集合和第一测试质量集合;
其中,所述第一测试资源集合包括多个测试资源子集合,每个测试资源子集合对应一个测试者;所述第一测试质量集合包括所述待选测试者集合中各测试者利用至少一个测试资源测试至少一个应用的测试质量、以及所述待选测试者集合中各测试者测试至少一个应用的加权测试质量。
然后根据所述第一测试资源集合和所述第一测试质量集合生成所述测试者模型的集合。
由此可见,由于该种建模机制是基于众测平台中每个测试者的测试能力与测试资源在粗粒度和细粒度上进行建模,所以最终得到的测试者模型更具备众包测试的参考价值,能够有效的、真实的去预测各个测试者的测试效果。
可选的,在一些发明实施例中,所述处理模块902在基于所述测试资源和所述测试能力信息对所述待选测试者集合中的测试者进行建模,得到所述测试者模型的集合之后,至少还执行以下步骤之一:
获取所述测试者模型的集合中至少一个测试者新反馈的测试报告,根据新反馈的测试报告更新对应测试者的测试者模型;
或者,获取新测试者反馈的测试报告,根据新测试者反馈的测试报告建模,得到新测试者对应的测试者模型,以更新所述测试者模型的集合。
需要说明的是,在本申请实施例(包括图9所示的各实施例)中的收发模块对应的实体设备可以为收发器,所有的处理模块对应的实体设备可以为处理器。图9所示的各装置均可以具有如图10所示的结构,当其中一种装置具有如图10所示的结构时,图10中的处理器和收发器实现前述对应该装置的装置实施例提供的处理模块和收发模块相同或相似的功能,图10中的存储器存储处理器执行上述数据处理的方法时需要调用的程序代码。
图11是本发明实施例提供的一种服务器结构示意图,该服务器1100可因配置或性能不同而产生比较大的差异,其可以包括一个或一个以***处理器(英文全称:centralprocessing units,英文简称:CPU)1122(例如,一个或一个以上处理器)和存储器1132,一个或一个以上存储应用程序1142或数据1144的存储介质1130(例如一个或一个以上海量存储设备)。其中,存储器1132和存储介质1130可以是短暂存储或持久存储。存储在存储介质1130的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1122可以设置为与存储介质1130通信,在服务器1100上执行存储介质1130中的一系列指令操作。
服务器1100还可以包括一个或一个以上电源1126,一个或一个以上有线或无线网络接口1150,一个或一个以上输入输出接口1158,和/或,一个或一个以上操作***1141,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图11所示的服务器结构。具体来说,上述中央处理器1122通过调用程序指令执行如下操作:
通过输入输出接口1158获取待测应用的任务描述信息,所述任务描述信息用于指示对所述待测应用进行众包测试。
基于测试者模型的集合和所述收发模块获取的所述任务描述信息,从待选测试者集合中选择测试所述待测试应用的目标测试者集合;
根据所述目标测试者集合生成众包测试策略,由收发模块根据所述众包测试策略将所述待测应用下发至所述目标测试者集合中的各测试者。
可选的,所述任务描述信息包括测试者期望值和测试指标,所述测试者期望值是指测试所述待测应用的测试者总数,所述测试指标包括测试质量,以及测试资源覆盖度的覆盖度期望值中的至少一项。
所述众包测试策略是指用于选择能够满足测试资源覆盖度的约束条件,以及满足使得众包测试质量最大化的要求,且进行众包测试的测试者集合的策略。
所述任务描述信息还可包括测试资源期望集合的指示信息。
可选的,所述测试者模型的集合包括至少一个测试者的测试者模型,测试者模型包括测试者的测试资源子集合、测试者利用至少一个测试资源测试至少一个应用的测试质量、以及测试者测试至少一个应用的加权测试质量。
可选的,在一些发明实施例中,上述中央处理器1122通过调用程序指令执行如下操作:
基于所述测试者模型的集合、所述测试者期望值和所述覆盖度期望值、所述待选测试者集合中各测试者的测试资源子集合、所述待选测试者集合中各测试者的测试资源子集合之间的交集、以及所述测试资源覆盖度的约束条件,从所述待选测试者集合中选择所述目标测试者集合;所述约束条件包括第一比值趋于或者不小于所述覆盖度期望值。
其中,所述第一比值是指当前选中的测试者集合的实际测试资源集合与所述测试资源期望集合的比值,所述实际测试资源集合是指所述目标测试者集合中各测试者的测试资源子集合的并集。
可选的,在一些发明实施例中,上述中央处理器1122通过调用程序指令具体执行如下操作:
从所述待选测试者集合中选择测试者w,以及获取所述测试者w的测试资源子集合,所述测试者w是指所述待选测试者集合中的测试者;
利用迭代算法计算第一评分公式,得到一个目标测试者,所述第一评分公式表示测试资源覆盖度与测试质量的加权值,所述目标测试者是指使得所述第一评分公式中测试资源覆盖度与测试质量中的至少一个最大的测试者;
每次迭代得到一个目标测试者后,将所述目标测试者加入候选测试者集合,并进行下一次迭代计算;
当所述第一比值趋于1或者大于等于1时,结束迭代计算,将迭代计算结束后得到的候选测试者集合作为所述目标测试者集合。
可选的,在一些发明实施例中,上述中央处理器1122通过调用程序指令具体执行如下操作:
基于所述测试者模型的集合、所述测试者期望值和所述覆盖度期望值、所述待选测试者集合中各测试者的测试资源子集合以及鸽巢策略,从所述待选测试者集合中选择所述目标测试者集合;所述约束条件包括第一比值趋于或者不小于所述覆盖度期望值;
其中,所述第一比值是指当前选中的实际测试资源集合与所述测试资源期望集合的比值,所述实际测试资源集合是指所述目标测试者集合中各测试者的测试资源子集合的并集。
可选的,在一些发明实施例中,上述中央处理器1122通过调用程序指令具体执行如下操作:
利用迭代算法从所述待选测试者集合中选择目标测试者,所述目标测试者是指每次迭代计算中为候选测试者集合提供最大测试质量增量的候选测试者;
将所述目标测试者加入候选测试者集合,计算所述候选测试者集合对应的实时测试资源集合;
当所述实时测试资源集合与所述测试资源期望集合的交集为所述测试资源期望集合时,结束迭代计算,将迭代计算结束后得到的候选测试者集合作为所述目标测试者集合。
可选的,在一些发明实施例中,上述中央处理器1122在所述基于所述测试者模型的集合和所述任务描述信息,从所述待选测试者集合中选择测试所述待测试应用的目标测试者集合之前,还通过调用程序指令,执行以下操作:
通过输入输出接口1158获取历史数据集合,所述历史数据集合包括待选测试者集合中测试者的测试资源和测试者的测试能力信息。
基于所述测试资源和所述测试能力信息对所述待选测试者集合中的测试者进行建模,得到所述测试者模型的集合。
可选的,在一些发明实施例中,所述历史数据集合还包括测试者反馈的测试报告集合,上述中央处理器1122具体执行以下操作:
从所述测试报告集合中确定所述待选测试者集合;
根据所述待选测试者集合计算第一测试资源集合和第一测试质量集合;
其中,所述第一测试资源集合包括多个测试资源子集合,每个测试资源子集合对应一个测试者;所述第一测试质量集合包括所述待选测试者集合中各测试者利用至少一个测试资源测试至少一个应用的测试质量、以及所述待选测试者集合中各测试者测试至少一个应用的加权测试质量;
根据所述第一测试资源集合和所述第一测试质量集合生成所述测试者模型的集合。
可选的,在一些发明实施例中,所述历史数据集合还包括测试者反馈的测试报告集合,上述中央处理器1122在基于所述测试资源和所述测试能力信息对所述待选测试者集合中的测试者进行建模,得到所述测试者模型的集合之后,至少还执行以下操作之一:
获取所述测试者模型的集合中至少一个测试者新反馈的测试报告,根据新反馈的测试报告更新对应测试者的测试者模型;
或者,获取新测试者反馈的测试报告,根据新测试者反馈的测试报告建模,得到新测试者对应的测试者模型,以更新所述测试者模型的集合。
本申请还提供一种计算机存储介质,该介质存储有程序,该程序执行时包括上述用于处理众包测试数据的装置执行上述处理众包测试数据的方法中的部分或者全部步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
以上对本申请所提供的技术方案进行了详细介绍,本申请中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (29)
1.一种处理众包测试数据的方法,其特征在于,所述方法包括:
获取待测应用的任务描述信息,所述任务描述信息用于指示对所述待测应用进行众包测试;
基于测试者模型的集合和所述任务描述信息,从待选测试者集合中选择测试所述待测试应用的目标测试者集合;
根据所述目标测试者集合生成众包测试策略,并根据所述众包测试策略将所述待测应用下发至所述目标测试者集合中的各测试者。
2.根据权利要求1所述的方法,其特征在于,所述任务描述信息包括测试者期望值和测试指标,所述测试者期望值是指测试所述待测应用的测试者总数,所述测试指标包括测试质量,以及测试资源覆盖度的覆盖度期望值中的至少一项;
所述众包测试策略是指用于选择能够满足测试资源覆盖度的约束条件,以及满足使得众包测试质量最大化的要求,且进行众包测试的测试者集合的策略。
3.根据权利要求2所述的方法,其特征在于,所述任务描述信息还包括测试资源期望集合的指示信息。
4.根据权利要求3所述的方法,其特征在于,所述测试者模型的集合包括至少一个测试者的测试者模型,测试者模型包括测试者的测试资源子集合、测试者利用至少一个测试资源测试至少一个应用的测试质量、以及测试者测试至少一个应用的加权测试质量。
5.根据权利要求4所述的方法,其特征在于,所述基于所述测试者模型的集合和所述任务描述信息,从所述待选测试者集合中选择测试所述待测试应用的目标测试者集合,包括:
基于所述测试者模型的集合、所述测试者期望值和所述覆盖度期望值、所述待选测试者集合中各测试者的测试资源子集合、所述待选测试者集合中各测试者的测试资源子集合之间的交集、以及所述测试资源覆盖度的约束条件,从所述待选测试者集合中选择所述目标测试者集合;所述约束条件包括第一比值趋于或者不小于所述覆盖度期望值;
其中,所述第一比值是指当前选中的测试者集合的实际测试资源集合与所述测试资源期望集合的比值,所述实际测试资源集合是指所述目标测试者集合中各测试者的测试资源子集合的并集。
6.根据权利要求5所述的方法,其特征在于,所述基于所述测试者模型的集合、所述测试者期望值和所述覆盖度期望值、所述待选测试者集合中各测试者的测试资源子集合、所述待选测试者集合中各测试者的测试资源子集合之间的交集,以及所述测试资源覆盖度的约束条件,从所述待选测试者集合中选择所述目标测试者集合,包括:
从所述待选测试者集合中选择测试者w,以及获取所述测试者w的测试资源子集合,所述测试者w是指所述待选测试者集合中的测试者;
利用迭代算法计算第一评分公式,得到一个目标测试者,所述第一评分公式表示测试资源覆盖度与测试质量的加权值,所述目标测试者是指使得所述第一评分公式中测试资源覆盖度与测试质量中的至少一个最大的测试者;
每次迭代得到一个目标测试者后,将所述目标测试者加入候选测试者集合,并进行下一次迭代计算;
当所述第一比值趋于1或者大于等于1时,结束迭代计算,将迭代计算结束后得到的候选测试者集合作为所述目标测试者集合。
7.根据权利要求6所述的方法,其特征在于,所述第一评分公式如下:
其中,α为测试资源覆盖度的权重,(1-α)为测试质量的权重,α∈[0,1],C0是指所述测试资源期望集合中待覆盖的测试资源集合,Wo是指候选测试者集合,w’是指所述待选测试者集合中的候选测试者,W1是指所述待选测试者集合,是指测试者w的测试资源子集合与所述待选测试者集合W1的交集,是指W1中的候选测试者w’为Co提供的最大测试资源增量,σ({ω},W0)+是指测试者w为Wo提供的测试质量增量;σ({ω′},W0)是指候选测试者w’为Wo提供的测试质量增量,是指W1中的候选测试者w’为Wo提供的最大测试质量增量。
8.根据权利要求4述的方法,其特征在于,所述基于所述测试者模型的集合和所述任务描述信息,从所述待选测试者集合中选择测试所述待测试应用的目标测试者集合,包括:
基于所述测试者模型的集合、所述测试者期望值和所述覆盖度期望值、所述待选测试者集合中各测试者的测试资源子集合以及鸽巢策略,从所述待选测试者集合中选择所述目标测试者集合;所述约束条件包括第一比值趋于或者不小于所述覆盖度期望值;
其中,所述第一比值是指当前选中的实际测试资源集合与所述测试资源期望集合的比值,所述实际测试资源集合是指所述目标测试者集合中各测试者的测试资源子集合的并集。
9.根据权利要求8所述的方法,其特征在于,所述基于所述测试者模型的集合、所述测试者期望值和所述覆盖度期望值、所述待选测试者集合中各测试者的测试资源子集合以及鸽巢策略,从所述待选测试者集合中选择所述目标测试者集合,包括:
利用迭代算法从所述待选测试者集合中选择目标测试者,所述目标测试者是指每次迭代计算中为候选测试者集合提供最大测试质量增量的候选测试者;
将所述目标测试者加入候选测试者集合,计算所述候选测试者集合对应的实时测试资源集合;
当所述实时测试资源集合与所述测试资源期望集合的交集为所述测试资源期望集合时,结束迭代计算,将迭代计算结束后得到的候选测试者集合作为所述目标测试者集合。
10.根据权利要求8或9所述的方法,其特征在于,所述目标测试者集合对应的测试资源集合与所述测试资源期望集合的交集为所述测试资源期望集合。
11.根据权利要求1或2所述的方法,其特征在于,在所述基于所述测试者模型的集合和所述任务描述信息,从所述待选测试者集合中选择测试所述待测试应用的目标测试者集合之前,所述方法还包括:
获取历史数据集合,所述历史数据集合包括待选测试者集合中测试者的测试资源和测试者的测试能力信息;
基于所述测试资源和所述测试能力信息对所述待选测试者集合中的测试者进行建模,得到所述测试者模型的集合。
12.根据权利要求11所述的方法,其特征在于,所述历史数据集合还包括测试者反馈的测试报告集合,所述基于所述待选测试者集合中测试者的测试资源和所述待选测试者集合中测试者的测试能力信息对所述待选测试者集合中的测试者进行建模,得到所述测试者模型的集合,包括:
从所述测试报告集合中确定所述待选测试者集合;
根据所述待选测试者集合计算第一测试资源集合和第一测试质量集合;
其中,所述第一测试资源集合包括多个测试资源子集合,每个测试资源子集合对应一个测试者;所述第一测试质量集合包括所述待选测试者集合中各测试者利用至少一个测试资源测试至少一个应用的测试质量、以及所述待选测试者集合中各测试者测试至少一个应用的加权测试质量;
根据所述第一测试资源集合和所述第一测试质量集合生成所述测试者模型的集合。
13.根据权利要求11或12所述的方法,其特征在于,所述历史应用的个数的至少一个,所述待测应用与所述历史应用相同或不同。
14.根据权利要求11-13任一所述的方法,其特征在于,在基于所述测试资源和所述测试能力信息对所述待选测试者集合中的测试者进行建模,得到所述测试者模型的集合之后,所述方法至少还包括以下之一:
获取所述测试者模型的集合中至少一个测试者新反馈的测试报告,根据新反馈的测试报告更新对应测试者的测试者模型;
或者,获取新测试者反馈的测试报告,根据新测试者反馈的测试报告建模,得到新测试者对应的测试者模型,以更新所述测试者模型的集合。
15.一种用于处理众包测试数据的装置,其特征在于,所述装置包括:
收发模块,用于获取待测应用的任务描述信息,所述任务描述信息用于指示对所述待测应用进行众包测试;
处理模块,用于基于测试者模型的集合和所述收发模块获取的所述任务描述信息,从待选测试者集合中选择测试所述待测试应用的目标测试者集合;
根据所述目标测试者集合生成众包测试策略,由收发模块根据所述众包测试策略将所述待测应用下发至所述目标测试者集合中的各测试者。
16.根据权利要求15所述的装置,其特征在于,所述任务描述信息包括测试者期望值和测试指标,所述测试者期望值是指测试所述待测应用的测试者总数,所述测试指标包括测试质量,以及测试资源覆盖度的覆盖度期望值中的至少一项;
所述众包测试策略是指用于选择能够满足测试资源覆盖度的约束条件,以及满足使得众包测试质量最大化的要求,且进行众包测试的测试者集合的策略。
17.根据权利要求16所述的装置,其特征在于,所述任务描述信息还包括测试资源期望集合的指示信息。
18.根据权利要求17所述的装置,其特征在于,所述测试者模型的集合包括至少一个测试者的测试者模型,测试者模型包括测试者的测试资源子集合、测试者利用至少一个测试资源测试至少一个应用的测试质量、以及测试者测试至少一个应用的加权测试质量。
19.根据权利要求18所述的装置,其特征在于,所述处理模块具体用于:
基于所述测试者模型的集合、所述测试者期望值和所述覆盖度期望值、所述待选测试者集合中各测试者的测试资源子集合、所述待选测试者集合中各测试者的测试资源子集合之间的交集、以及所述测试资源覆盖度的约束条件,从所述待选测试者集合中选择所述目标测试者集合;所述约束条件包括第一比值趋于或者不小于所述覆盖度期望值;
其中,所述第一比值是指当前选中的测试者集合的实际测试资源集合与所述测试资源期望集合的比值,所述实际测试资源集合是指所述目标测试者集合中各测试者的测试资源子集合的并集。
20.根据权利要求19所述的装置,其特征在于,所述处理模块具体用于:
从所述待选测试者集合中选择测试者w,以及获取所述测试者w的测试资源子集合,所述测试者w是指所述待选测试者集合中的测试者;
利用迭代算法计算第一评分公式,得到一个目标测试者,所述第一评分公式表示测试资源覆盖度与测试质量的加权值,所述目标测试者是指使得所述第一评分公式中测试资源覆盖度与测试质量中的至少一个最大的测试者;
每次迭代得到一个目标测试者后,将所述目标测试者加入候选测试者集合,并进行下一次迭代计算;
当所述第一比值趋于1或者大于等于1时,结束迭代计算,将迭代计算结束后得到的候选测试者集合作为所述目标测试者集合。
21.根据权利要求20所述的装置,其特征在于,所述第一评分公式如下:
其中,α为测试资源覆盖度的权重,(1-α)为测试质量的权重,α∈[0,1],C0是指所述测试资源期望集合中待覆盖的测试资源集合,Wo是指候选测试者集合,w’是指所述待选测试者集合中的候选测试者,W1是指所述待选测试者集合,是指测试者w的测试资源子集合与所述待选测试者集合W1的交集,是指W1中的候选测试者w’为Co提供的最大测试资源增量,σ({ω},W0)+是指测试者w为Wo提供的测试质量增量;σ({ω′},W0)是指候选测试者w’为Wo提供的测试质量增量,是指W1中的候选测试者w’为Wo提供的最大测试质量增量。
22.根据权利要求18所述的装置,其特征在于,所述处理模块具体用于:
基于所述测试者模型的集合、所述测试者期望值和所述覆盖度期望值、所述待选测试者集合中各测试者的测试资源子集合以及鸽巢策略,从所述待选测试者集合中选择所述目标测试者集合;所述约束条件包括第一比值趋于或者不小于所述覆盖度期望值;
其中,所述第一比值是指当前选中的实际测试资源集合与所述测试资源期望集合的比值,所述实际测试资源集合是指所述目标测试者集合中各测试者的测试资源子集合的并集。
23.根据权利要求22所述的装置,其特征在于,所述处理模块具体用于:
利用迭代算法从所述待选测试者集合中选择目标测试者,所述目标测试者是指每次迭代计算中为候选测试者集合提供最大测试质量增量的候选测试者;
将所述目标测试者加入候选测试者集合,计算所述候选测试者集合对应的实时测试资源集合;
当所述实时测试资源集合与所述测试资源期望集合的交集为所述测试资源期望集合时,结束迭代计算,将迭代计算结束后得到的候选测试者集合作为所述目标测试者集合。
24.根据权利要求15或16所述的装置,其特征在于,所述处理模块在所述基于所述测试者模型的集合和所述任务描述信息,从所述待选测试者集合中选择测试所述待测试应用的目标测试者集合之前,还用于:
获取历史数据集合,所述历史数据集合包括待选测试者集合中测试者的测试资源和测试者的测试能力信息;
基于所述测试资源和所述测试能力信息对所述待选测试者集合中的测试者进行建模,得到所述测试者模型的集合。
25.根据权利要求24所述的装置,其特征在于,所述历史数据集合还包括测试者反馈的测试报告集合,所述处理模块具体用于:
从所述测试报告集合中确定所述待选测试者集合;
根据所述待选测试者集合计算第一测试资源集合和第一测试质量集合;
其中,所述第一测试资源集合包括多个测试资源子集合,每个测试资源子集合对应一个测试者;所述第一测试质量集合包括所述待选测试者集合中各测试者利用至少一个测试资源测试至少一个应用的测试质量、以及所述待选测试者集合中各测试者测试至少一个应用的加权测试质量;
根据所述第一测试资源集合和所述第一测试质量集合生成所述测试者模型的集合。
26.根据权利要求24或25所述的装置,其特征在于,所述处理模块在基于所述测试资源和所述测试能力信息对所述待选测试者集合中的测试者进行建模,得到所述测试者模型的集合之后,至少还执行以下步骤之一:
获取所述测试者模型的集合中至少一个测试者新反馈的测试报告,根据新反馈的测试报告更新对应测试者的测试者模型;
或者,获取新测试者反馈的测试报告,根据新测试者反馈的测试报告建模,得到新测试者对应的测试者模型,以更新所述测试者模型的集合。
27.一种用于处理众包测试数据的装置,其特征在于,所述装置包括至少一个连接的处理器、存储器、发射器和接收器,其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器中的程序代码来执行权利要求1-14任一所述的方法。
28.一种计算机存储介质,其特征在于,其包括指令,当其在计算机上运行时,使得计算机执行权利要求1-14任一所述的方法。
29.一种包含指令的计算机程序产品,其特征在于,当其在计算机上运行时,使得计算机执行权利要求1-14任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710340474.4A CN108874655B (zh) | 2017-05-15 | 2017-05-15 | 一种处理众包测试数据的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710340474.4A CN108874655B (zh) | 2017-05-15 | 2017-05-15 | 一种处理众包测试数据的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108874655A true CN108874655A (zh) | 2018-11-23 |
CN108874655B CN108874655B (zh) | 2021-12-24 |
Family
ID=64320169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710340474.4A Active CN108874655B (zh) | 2017-05-15 | 2017-05-15 | 一种处理众包测试数据的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108874655B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109324978A (zh) * | 2018-11-28 | 2019-02-12 | 北京精密机电控制设备研究所 | 一种多人协同的软件测试管理*** |
CN109918308A (zh) * | 2019-03-13 | 2019-06-21 | 网易(杭州)网络有限公司 | 基于众包的测试方法及服务器、存储介质 |
CN110096569A (zh) * | 2019-04-09 | 2019-08-06 | 中国科学院软件研究所 | 一种众测人员集合推荐方法 |
CN110222940A (zh) * | 2019-05-13 | 2019-09-10 | 西安工业大学 | 一种众包测试平台测试人员推荐算法 |
CN110708279A (zh) * | 2019-08-19 | 2020-01-17 | 中国电子科技网络信息安全有限公司 | 一种基于群体智能的漏洞挖掘模型构建方法 |
CN111291376A (zh) * | 2018-12-08 | 2020-06-16 | 南京慕测信息科技有限公司 | 一种基于众包和机器学习的web漏洞验证方法 |
CN111770002A (zh) * | 2020-06-12 | 2020-10-13 | 南京领行科技股份有限公司 | 测试数据转发控制方法、装置、可读存储介质和电子设备 |
CN111966585A (zh) * | 2020-08-04 | 2020-11-20 | 中国建设银行股份有限公司 | 一种测试任务的执行方法、装置、设备及*** |
CN112398705A (zh) * | 2019-08-16 | 2021-02-23 | ***通信有限公司研究院 | 网络质量评测方法、装置、设备和存储介质 |
CN112817870A (zh) * | 2021-02-26 | 2021-05-18 | 北京小米移动软件有限公司 | 软件测试方法、装置及介质 |
CN112988567A (zh) * | 2021-01-26 | 2021-06-18 | 广州番禺职业技术学院 | 一种众包测试自动化评估方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100293026A1 (en) * | 2009-05-18 | 2010-11-18 | Microsoft Corporation | Crowdsourcing |
US20140122188A1 (en) * | 2011-10-17 | 2014-05-01 | CrowdFlower, Inc. | Predicting future performance of multiple workers on crowdsourcing tasks and selecting repeated crowdsourcing workers |
US20140304833A1 (en) * | 2013-04-04 | 2014-10-09 | Xerox Corporation | Method and system for providing access to crowdsourcing tasks |
CN104579854A (zh) * | 2015-02-12 | 2015-04-29 | 北京航空航天大学 | 众包测试方法 |
US9383976B1 (en) * | 2015-01-15 | 2016-07-05 | Xerox Corporation | Methods and systems for crowdsourcing software development project |
CN106294118A (zh) * | 2015-06-12 | 2017-01-04 | 富士通株式会社 | 信息处理设备以及信息处理方法 |
CN106371840A (zh) * | 2016-08-30 | 2017-02-01 | 北京航空航天大学 | 基于众包的软件开发方法及装置 |
CN106708600A (zh) * | 2016-12-12 | 2017-05-24 | 大连理工大学 | 一种基于多智能体建模和专家***的众包平台最优投放策略生成器 |
-
2017
- 2017-05-15 CN CN201710340474.4A patent/CN108874655B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100293026A1 (en) * | 2009-05-18 | 2010-11-18 | Microsoft Corporation | Crowdsourcing |
US20140122188A1 (en) * | 2011-10-17 | 2014-05-01 | CrowdFlower, Inc. | Predicting future performance of multiple workers on crowdsourcing tasks and selecting repeated crowdsourcing workers |
US20140304833A1 (en) * | 2013-04-04 | 2014-10-09 | Xerox Corporation | Method and system for providing access to crowdsourcing tasks |
US9383976B1 (en) * | 2015-01-15 | 2016-07-05 | Xerox Corporation | Methods and systems for crowdsourcing software development project |
CN104579854A (zh) * | 2015-02-12 | 2015-04-29 | 北京航空航天大学 | 众包测试方法 |
CN106294118A (zh) * | 2015-06-12 | 2017-01-04 | 富士通株式会社 | 信息处理设备以及信息处理方法 |
CN106371840A (zh) * | 2016-08-30 | 2017-02-01 | 北京航空航天大学 | 基于众包的软件开发方法及装置 |
CN106708600A (zh) * | 2016-12-12 | 2017-05-24 | 大连理工大学 | 一种基于多智能体建模和专家***的众包平台最优投放策略生成器 |
Non-Patent Citations (1)
Title |
---|
李勇军: "软件众包任务分配方法", 《计算机***应用》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109324978A (zh) * | 2018-11-28 | 2019-02-12 | 北京精密机电控制设备研究所 | 一种多人协同的软件测试管理*** |
CN109324978B (zh) * | 2018-11-28 | 2022-05-24 | 北京精密机电控制设备研究所 | 一种多人协同的软件测试管理*** |
CN111291376A (zh) * | 2018-12-08 | 2020-06-16 | 南京慕测信息科技有限公司 | 一种基于众包和机器学习的web漏洞验证方法 |
CN109918308A (zh) * | 2019-03-13 | 2019-06-21 | 网易(杭州)网络有限公司 | 基于众包的测试方法及服务器、存储介质 |
CN110096569A (zh) * | 2019-04-09 | 2019-08-06 | 中国科学院软件研究所 | 一种众测人员集合推荐方法 |
CN110222940A (zh) * | 2019-05-13 | 2019-09-10 | 西安工业大学 | 一种众包测试平台测试人员推荐算法 |
CN110222940B (zh) * | 2019-05-13 | 2023-06-23 | 西安工业大学 | 一种众包测试平台测试人员推荐算法 |
CN112398705A (zh) * | 2019-08-16 | 2021-02-23 | ***通信有限公司研究院 | 网络质量评测方法、装置、设备和存储介质 |
CN110708279B (zh) * | 2019-08-19 | 2021-08-13 | 中国电子科技网络信息安全有限公司 | 一种基于群体智能的漏洞挖掘模型构建方法 |
CN110708279A (zh) * | 2019-08-19 | 2020-01-17 | 中国电子科技网络信息安全有限公司 | 一种基于群体智能的漏洞挖掘模型构建方法 |
CN111770002A (zh) * | 2020-06-12 | 2020-10-13 | 南京领行科技股份有限公司 | 测试数据转发控制方法、装置、可读存储介质和电子设备 |
CN111966585A (zh) * | 2020-08-04 | 2020-11-20 | 中国建设银行股份有限公司 | 一种测试任务的执行方法、装置、设备及*** |
CN112988567A (zh) * | 2021-01-26 | 2021-06-18 | 广州番禺职业技术学院 | 一种众包测试自动化评估方法及装置 |
CN112988567B (zh) * | 2021-01-26 | 2022-02-15 | 广州番禺职业技术学院 | 一种众包测试自动化评估方法及装置 |
CN112817870A (zh) * | 2021-02-26 | 2021-05-18 | 北京小米移动软件有限公司 | 软件测试方法、装置及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108874655B (zh) | 2021-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108874655A (zh) | 一种处理众包测试数据的方法及装置 | |
CN109347697B (zh) | 机会网络链路预测方法、装置及可读存储介质 | |
Van Haute et al. | Platform for benchmarking of RF-based indoor localization solutions | |
CN103257921B (zh) | 一种基于改进随机森林算法的软件故障预测***及其方法 | |
Caimo et al. | Bergm: Bayesian exponential random graphs in R | |
CN100523860C (zh) | 利用无线信号强度的设备位置测量***的定标 | |
CN108710949A (zh) | 用于创建机器学习建模模板的方法及*** | |
CN110363286A (zh) | 神经网络模型的生成方法及装置 | |
CN105812461B (zh) | 一种移动云环境情景感知计算迁移方法 | |
CN110221965A (zh) | 测试用例生成、测试方法、装置、设备及*** | |
CN109814933A (zh) | 一种业务数据处理方法及装置 | |
CN109299420A (zh) | 社交媒体账号处理方法、装置、设备及可读存储介质 | |
CN108337656A (zh) | 一种移动群智感知激励方法 | |
CN109460348A (zh) | 游戏服务器的压测方法和装置 | |
CN109960619A (zh) | 一种性能测试平台及方法 | |
CN106919564A (zh) | 一种基于移动用户行为的影响力度量方法 | |
CN110363427A (zh) | 模型质量评估方法和装置 | |
WO2023206771A1 (zh) | 基于决策流图的环境建模方法、装置和电子设备 | |
Pietrantuono et al. | Run-time reliability estimation of microservice architectures | |
CN105207726B (zh) | 无线信道综合测试装置 | |
CN110413510A (zh) | 一种数据处理方法、装置及设备 | |
CN109376419A (zh) | 一种数据建模的方法、装置、电子设备及可读介质 | |
CN109753275A (zh) | 应用编程接口的推荐方法、装置、存储介质和电子设备 | |
CN109710535A (zh) | 用于语音对话平台的服务校验方法及*** | |
Xu et al. | FIMI: A constant frugal incentive mechanism for time window coverage in mobile crowdsensing |
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 |