面向公平性的众包测试人员推荐方法及装置

文档序号:28864393发布日期:2022-02-12 02:46阅读:202来源:国知局
面向公平性的众包测试人员推荐方法及装置

1.本发明属于计算机技术领域,尤其涉及一种面向公平性的众包测试人员推荐方法及装置。


背景技术:

2.众包软件测试(简称众测)是指在软件正式发布前,软件公司将测试任务发布到互联网上的众测平台,平台上的众测人员执行测试,并提交众测报告。由于软件错误会导致用户流失和经济损失,在软件公司专业测试人员相对短缺的情况下,众测技术在当前互联网公司软件研发或更新过程中被广泛采用。
3.由于众测人员大多没有专业的软件测试背景、能力参差不齐,不同人员在众测任务上的表现差别明显;不合适的众测人员可能会遗漏缺陷、或者提交重复缺陷,导致资源浪费。因此如何为众测任务找到一组合适的众测人员,减少重复缺陷、提高缺陷检测率、更好地发挥人员的效能是至关重要的。
4.现有众测人员推荐技术均没有考虑推荐结果的公平性。例如中国专利申请cn110096569a公开了一种众测人员集合推荐方法,其步骤包括:根据历史众测任务的众测报告生成一技术术语库和每一众测报告对应的五元组;基于众测报告生成人员经验和领域背景信息;对应预处理的新众测任务,生成新众测任务的二元组;基于人员经验和领域背景,计算人员缺陷检测能力、人员活跃性、人员和新众测任务的相关性;根据相关性生成新众测任务的对应的推荐人集合。再如中国专利申请2020101816915公开了一种众包测试人员推荐与众包测试方法及电子装置,其步骤包括采集众包软件测试过程中一时间点的众测任务需求描述与各待推荐人员的历史众测报告,获取各所述待推荐人员的描述性术语向量集;计算各所述待推荐人员的测试充分度,得到各所述待推荐人员的过程上下文,并依据各所述待推荐人员的人员特点,得到各所述待推荐人员的资源上下文;将提取的各所述待推荐人员所述过程上下文与所述资源上下文的特征输入排序学习模型,得到初始推荐人员排序,并基于专长与设备的多样性贡献度对所述初始推荐人员排序进行重排序,得到最终推荐人员排序。上述专利虽然能够进行众测人员推荐,但没有考虑推荐结果中人员的公平性问题。
5.基于真实的众测平台数据和现有的众测人员推荐算法发现,现有推荐算法均存在公平性问题,即一些经验丰富的众测人员几乎在所有的众测任务中获得了推荐,而一些新手往往得不到推荐,这是推荐结果不公平的重要体现。在众测平台上,大多数的众测人员是经验相对欠缺、学习型的工人,这些工人更希望得到推荐,然而他们得不到推荐。这种现状的存在会潜在影响众测人员的积极性,进而阻碍众测平台的长期发展。如果能够考虑众测人员推荐的公平性,让大多数人都得到推荐,能够潜在消除人员背景对于人员活动带来的影响,促进众测人员成长和平台的繁荣。


技术实现要素:

6.为解决上述问题,本发明提出一种面向公平性的众包测试人员推荐方法及装置,为众包测试任务推荐一组人员,能够平衡人员在各个任务中得到推荐的机会,在不影响人员缺陷检测效率的基础上,促进人员推荐结果的公平性。
7.本发明的技术方案包括:
8.一种面向公平性的众包测试人员推荐方法,其步骤包括
9.将一众包任务的需求描述表示为描述性术语向量;
10.根据描述性术语向量与待推荐人员的属性信息,预测各待推荐人员在进行众包任务中的缺陷检测概率;
11.设定包含最大化缺陷发现概率和最小化推荐频率差异在内的若干个公平性目标,并进行多目标优化,获取众包测试人员推荐结果。
12.进一步地,通过以下步骤得到描述性术语向量:
13.1)分别获取每个历史众测任务及历史众测任务中每一众测报告的属性;
14.2)将历史众测报告与历史任务需求描述进行自然语言处理,并基于所述众测报告的属性,获取各历史众测报告与各历史任务需求的描述性术语向量及出现频率;
15.3)通过设定频率值,通过删除频率过高与频率过低的描述性术语向量,以构建描述性术语库;
16.4)结合描述性术语库,获取待推荐任务的描述性术语向量。
17.进一步地,通过以下步骤预测各众包测试人员在待推荐任务中的缺陷检测概率:
18.1)计算各历史众包测试任务的描述性术语向量;
19.2)基于历史众包测试任务中众测人员的属性信息,抽取众测人员的属性特征;
20.3)基于众测人员的属性特征与历史众包测试任务的描述性术语向量进行机器学习模型训练,得到缺陷检测概率模型;
21.3)将众包任务的描述性术语向量与各待推荐人员的属性特征输入缺陷检测概率模型,预测各待推荐人员在进行众包任务中的缺陷检测概率。
22.进一步地,所述属性信息包括:活跃性信息、偏好信息和专长信息。
23.进一步地,公平性目标还包括:最大化专长多样性和最大化设备多样性。
24.进一步地,通过以下步骤获取众包测试人员推荐结果:
25.1)分别计算第p个决策s
p
中各待推荐人员的缺陷发现概率目标值专长多样性度量值设备多样性度量值与推荐频率差异目标值
26.2)基于上述目标值,采用nsga-ii多目标优化框架进行多目标优化,获取众包测试人员推荐结果。
27.进一步地,缺陷发现概率的目标值其中n表示决策s
p
中待推荐人员的数目;wi是在决策s
p
中排在第i位的待推荐人员;bdp(wi)表示人员wi的缺陷发现概率。
28.进一步地,通过以下步骤计算专长多样性度量值
29.1)构建一专长多样性排序表r;
30.2)计算当一待推荐人员wi加入专长多样性排序表r时的专长多样性增益值其中profexp(wi,tj)为待推荐人员wi对于所述众包任务中的描述性技术术语tj的专长;
31.3)基于专长多样性增益值expdivdlt(wi,r),计算专长多样性度量值
32.进一步地,通过以下步骤设备多样性度量值:
33.1)构建一设备多样性排序表r


34.2)计算当一待推荐人员wi加入设备多样性排序表r

时的设备多样性增益值其中wi′
s attributes表示待推荐人员wi的设备相关属性;
35.3)基于设备多样性增益值devdivdlt(wi,r

),计算设备多样性度量值。
36.进一步地,推荐频率差异目标值其中n表示决策s
p
中待推荐人员的数目;wi是在决策s
p
中排在第i位的待推荐人员,recfrq(wi)表示待推荐人员wi过去一周被推荐的任务数占过去一周所有推荐任务的百分比。
37.一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行以上所述方法。
38.一种电子装置,包括存储器和处理器,其中存储器存储执行以上所述方法的程序。
39.与现有技术相比,本发明能够减轻不公平问题,产生更公平的推荐,而且本方明方法在产生更公平推荐的基础上,没有影响缺陷检测效率,还带来了缺陷检测效率的提升。
附图说明
40.图1为面向公平性的众测人员推荐方法框架图。
具体实施方式
41.下面将结合本发明实施方式,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明特定实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
42.本发明方法包括人员缺陷检测概率预测模型建立、人员缺陷检测概率预测、面向公平性的人员推荐三个部分。
43.首先是人员缺陷检测概率预测模型建立部分,其具体步骤为:
44.1)收集并预处理历史众测任务信息,包括以下几个子步骤:
45.1a)获取每个历史众测任务的开始时间和任务需求描述两个属性,获取众测任务中的每个众测报告的提交人、提交时间、是否为缺陷、自然语言描述四个属性;
46.1b)将所有众测报告和任务需求描述进行自然语言处理,并分别表示成每个众测报告和任务需求描述的描述性术语向量,包括以下几个子步骤:
47.将每个众测报告和任务需求描述均称为文档;
48.1b-1)将每个文档进行分词、去停用词、同义词替换操作,将其表示成一个包含j个
描述性术语tj的描述性术语向量;
49.1b-2)对于所有文档,计算每个术语的文档频率(每个术语在多少个众测报告中出现过),过滤掉文档频率前m%(比如5%)的术语和文档频率后n%(比如5%)的术语,剩余的术语即为描述性术语库;过滤掉文档频率前5%的术语是因为它们出现在很多的文档中,几乎不具有区分性,过滤掉文档频率后5%的术语也同样因为这些术语几乎不能带来区分性信息;
50.1b-3)基于描述性术语库对每个文档的术语向量进行过滤,过滤掉没有出现在描述性术语库中的词语,得到每个文档的描述性术语向量;
51.2)从活跃性、偏好、专长三个维度进行众测人员建模,包括以下几个子步骤:
52.2a)用numreports-x刻画众测人员的活跃性,表示某众测人员在过去x时间提交的报告、bug总数及和上一次提交的时间间隔,x可取值为2天、1周等;
53.2b)用probpref刻画众测人员偏好,表示某众测人员对于每个描述性术语的偏好,也就是该众测人员参加某个含有描述性术语tj的任务的概率;形式化表示为的任务的概率;形式化表示为其中w为任一众测人员,wk表示所有众测人员的遍历,tf_p(w,tj)表示众测人员w过去提交的报告中描述性术语tj出现的次数,基于人员过去提交报告的描述性术语向量得到,df_p(w)表示众测人员w总共提交的众测报告的数目;
54.2c)用probexp刻画众测人员专长,表示为某众测人员对于每个描述性术语的专长;形式化表示为其中w为任一众测人员,wk表示所有的众测人员的遍历,tf_e(w,tj)表示众测人员w过去发现的缺陷中描述性术语tj出现的次数,基于人员过去提交的含有缺陷的报告的描述性术语向量得到,df_e(w)表示众测人员w总共发现的缺陷数目;probpref和profexp的区别在于:前者是基于众测人员提交的报告进行度量的,而后者是基于众测人员发现的缺陷进行度量的;之所以将人员偏好和专长按照每个描述性术语进行刻画是因为这样能够更好的对于任务需求进行精确匹配;
55.3)抽取特征,建立并训练机器学习模型,能够预测某个人员在某个任务中发现缺陷的概率;包括以下几个子步骤:
56.3a)对于每个历史测试任务,根据步骤2,抽取人员在该时刻的活跃性、偏好和专长,抽取如下26个特征:
[0057][0058]
其中,编号1-12的特征可以通过第2步的人员活跃性属性得到;对于特征13-19,假设ti为该众测任务需求的任一描述性术语,idf(ti)(记为xi)表示众测任务中描述性技术术语ti的逆文档频率,probpref(w,ti)(记为yi)表示众测人员w对于描述性术语ti的偏好,特征13余弦相似性通过计算得到,特征14欧几里得相似性通过计算得到,特征15-19四类杰卡德相似性通过计算得到,其中a为xi大于给定阈值的描述性术语集合,b为yi大于给定阈值的描述性术语集合,阈值分别设定为0.0,0.1,0.2,0.3,0.4即代表四类杰卡德相似性;将yi表示为人员专长probexp(w,ti),用相同的方式得到特征20-26;
[0059]
3b)如果某人员在某众测任务中发现了缺陷,则该组特征的因变量记为1,否则记为0;
[0060]
3c)基于抽取得到的特征和因变量,用随机森林算法建立并训练关于人员缺陷检测概率的机器学习模型;
[0061]
再次是人员缺陷检测概率预测部分,其具体步骤为:
[0062]
4)获取待推荐任务的需求描述,并用步骤1b将其表示成描述性术语向量;
[0063]
5)按照步骤2,对于候选人员,从活跃性、偏好、专长三个维度进行人员建模;
[0064]
6)基于待推荐任务信息和候选人员建模,预测各个人员在待推荐任务中的缺陷检测概率,包括以下子步骤:
[0065]
6a)对于待推荐任务和候选人员,按照步骤3a,抽取26个特征;
[0066]
6b)将特征输入步骤3c训练好的机器学习模型,预测得到候选人员在待推荐任务中的缺陷检测概率;
[0067]
然后是面向公平性的人员推荐部分,采用nsga-ii多目标优化框架来进行多目标优化,每个多目标优化的决策被编码为n个候选众测人员的排列,共优化4个目标,分别是最
大化众测人员的缺陷发现概率,最大化众测人员的专长多样性,最大化众测人员的设备多样性,最小化众测人员推荐频率的差异。对于每个多目标优化的决策(也就是一组人员排序),每个目标的计算方式如下:
[0068]
7)目标1,众测人员的缺陷发现概率,根据步骤6得到的众测人员在待推荐任务中的缺陷发现概率,对于某个决策s
p
,该目标值计算为:
[0069][0070]
其中n表示该决策中众测人员的数目;wi是在该决策中排在第i位的众测人员;bdp(wi)表示人员wi的缺陷发现概率。
[0071]
(8)目标2,众测人员的专长多样性,首先定义专长多样性的增益值,来衡量相对于现有的人员排序列表r,新增加的众测人员带来的专长多样性。专长多样性增益值计算为:
[0072][0073]
其中第一部分是人员wi对于描述性技术术语tj的专长,后半部分估计了tj在多大程度上已经被现有排序列表的人员测试过了。
[0074]
对于某个决策s
p
,专长多样性度量为:
[0075][0076]
其中n是该决策中众测人员的总数目,wi是在该决策中排在第i位的众测人员。
[0077]
(9)目标3,众测人员的设备多样性,和目标2类似,定义设备多样性增益值来度量相对于现有排序列表r

,某个众测人员新增的设备多样性。
[0078]
设备多样性增益值度量为:
[0079][0080]
其中,wi′
s attributes表示众测人员wi的设备相关属性。
[0081]
对于某个决策s
p
的设备多样性和专长多样性计算方法相同。
[0082]
(10)目标4,众测人员推荐频率的差异,众测人员的推荐频率是基于过去一周该人员被推荐的结果得到的,表示为某人员过去一周被推荐的任务数占过去一周所有推荐任务的百分比。对于人员间推荐频率的差异,我们希望之前被很少推荐的人员能够排得比较靠前,从而整个列表中不同人员的推荐频率能够互相平衡。一个决策s
p
的推荐频率差异定义为:
[0083][0084]
其中,recfrq(wi)表示某人员过去一周被推荐的任务数占过去一周所有推荐任务的百分比。
[0085]
下面给出实验结果说明本方法在缺陷发现效率、推荐公平性方面的结果。
[0086]
本发明基于某众测平台在2017年5月1日-2017年11月1日期间进行的636个移动应
用众测任务,共涉及2404个众测人员和80200个众测报告。使用前500个项目作为训练集,在后136个项目上评价方法的性能。
[0087]
评价指标包括两个:bdr@k表示缺陷检测率,即前k个推荐的众测人员发现的缺陷占总缺陷的百分比,该值越大越好,取k为3,5,10,20进行分析。fairrate@k衡量推荐公平性,首先计算每个众测人员在过去一周的任务中被推荐的概率,然后得到推荐结果排名前k个人员的平均概率,该值越小越好,取k为3,5,10,20进行分析。
[0088]
对比最新的众测人员推荐方法来更好的说明本方法的优势,irec(junjie wang,ye yang,song wang,yuanzhe hu,dandan wang,qing wang:context-aware in-process crowdworker recommendation.icse 2020:1535-1546)是一种基于机器学习的人员推荐方法,能够基于历史数据的学习,找到最适合某众测任务的一组众测人员。
[0089]
分别给出bdr@k和fairrate两个指标对于本发明(图中简称fairrec)和基线方法的性能对比。
[0090][0091]
显而易见地,本发明方法显著优于基线方法。平均bdr@10为53%,这表示基于本方法推荐的前10个人,平均能够发现53%的缺陷,而基线方法的平均bdr@10为48%。
[0092]
本方明方法fairrate@5是7.4%,fairrate@20是26%,而基线方法fairrate@5是54%,fairrate@20是34%,这表明在过去一周中,使用基线方法,排名前5的人员在54%的任务中被推荐了,当使用本方明方法后,排名前5的众测人员仅在7%的任务中被推荐,排名前20的人员仅在26%的任务中被推荐。这种推荐频率的下降表明本发明方法能够减轻不公平问题,产生更公平的推荐,而且本方明方法在产生更公平推荐的基础上,没有影响缺陷检测效率,还带来了缺陷检测效率的提升。
[0093]
以上所述仅为本发明的较佳实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1