APP下载

移动应用众包测试质量影响因素分析

2018-10-16葛璐琦张逸飞

计算机应用 2018年9期
关键词:测试人员因素测试

成 静,葛璐琦,张 涛,刘 莹,张逸飞

(1.西安工业大学 计算机科学与工程学院,西安 710021; 2.西北工业大学 软件与微电子学院,西安 710072;3.西北工业大学 计算机学院,西安 710068)

移动应用众包测试是一种将传统内部执行的测试任务以自由自愿方式外包给网络匿名大众用户的测试行为[1]。众包测试因其可在线招募测试专家、无需准备测试环境与设备等低成本的测试方式而被移动应用开发商及个人所使用[2]。然而,因移动应用复杂的测试环境、多样化的测试需求、能力水平不一的测试参与人员,令移动应用众包测试的开展面临复杂的质量因素影响,测试质量难以得到有效保障。

目前,众包测试质量保证研究主要集中在以下方面:

1)众包工作者的信誉问题。通过评估工作者的信誉值,将其作为众包平台识别恶意工作者或选择接包方工作者的重要指标[3]。阮闪闪等[4]通过证据理论计算出众包测试者的直接信誉和间接信誉,评定综合信誉,检测出恶意工作者。肖江辉[5]通过对众包测试人员的可信度进行建模,根据测试人员的测试表现,提交的Bug数量以及Bug等级,给出一个可信度值,从而对众包测试人员的可信度进行评估。

2)众包平台的奖励机制。众包平台通过设置合理的激励机制,让接包工作者具有较高的工作动力[6]。一般情况下,众包平台都是通过提供金钱报酬的方法来促进工作者的动力。当众包工作者提交任务后,发包方将以现金的形式支付给工作者一定的工作报酬[7]。 Wen等[8]基于质量驱动的拍卖理论,提出了针对移动群智感知环境的众包激励机制。

3)众包结果的质量控制。通过对众包工作者提交的结果质量进行评估,来识别一些恶意的工作者,保证众包任务的质量[9]。目前最流行的方法是通过建立概率模型,并使用期望最大化(Expectation Maximization, EM)算法和其他推理工具计算误差率,进而对众包人员的工作进行评价[10]。

然而,上述研究仅对众包测试质量的保证措施开展,而未针对影响众包测试质量的基本关键因素进行深入分析。本文从众包测试人员、众包测试平台、众包测试任务这3个方面出发,结合斯皮尔曼相关分析、多元逐步回归技术对移动应用众包测试进行全面的质量影响因素分析,进而筛选出移动应用众包测试质量关键影响因素。

1 移动应用众包测试质量影响因素分析过程

移动应用众包测试质量影响因素的分析过程主要包括数据收集、斯皮尔曼相关系数分析、逐步回归法建立模型、模型评估这几个步骤,其具体过程如图1所示。

图1 移动应用众包测试质量影响因素分析过程

首先,通过抓包程序抓取众测平台上近几年的相关移动应用测试的数据,并从众包测试人员、众包测试平台、众包测试任务三个维度来分析对测试质量产生影响的因素。其次,通过斯皮尔曼相关系数计算各潜在因素与测试质量之间的相关性,识别出与测试质量显著相关的因素,剔除掉与测试质量相关性弱或无关的数据。最后,通过多元回归分析方法建立各影响因素与测试质量之间的分析模型,并使用相对平均误差对模型评估,当具备较好评估效果时,则结束关键质量影响因素的筛选过程。

表1 众包测试人员、平台及任务质量影响因素

2 潜在影响因素分析

针对目前已有的移动应用众包测试质量研究成果[11]以及移动应用众包测试相关特性,本文从众包测试人员、众包测试平台、众包测试任务3个方面对测试质量影响因素进行分析,并给出了相应的度量方式。移动应用众包测试质量影响因素如图2所示。

1)众包测试人员因素。

众包测试人员是众包测试任务的执行方,众包测试人员的专业能力以及信用问题等都会对众测结果产生极大影响,因此在众包测试任务执行过程中,邀请高水平、高信用的众包测试人员十分关键。

2)众包测试平台因素。

众包测试平台是众包测试工作的开展平台,为测试人员提供测试任务选择与接收以及测试相关工具。在测试平台方面,任务发布天数是衡量一个平台的重要因素,该因素说明平台用户的活跃程度。当存在较多活跃用户及任务数,任务质量也相对较高。

图2 移动应用众包测试质量影响因素

3)众包测试任务基本信息因素。

众包测试任务基本信息是众包测试任务发布的基本信息,如测试需求、薪酬、测试周期等。众包测试任务基本信息是对参与测试人员的筛选,也是测试人员衡量任务是否合适自己的标准,故众包测试任务的基本信息也对测试质量有潜在影响[12]。

综上所述,移动应用众包测试人员、平台及任务三个方面的影响因素及度量方式如表1所示。

3 影响因素评估模型

3.1 斯皮尔曼相关分析

为研究各潜在因素与测试质量之间的相关密切程度,分析出移动应用众包测试质量显著相关的因素,需要进行相关性分析。在正式进行研究之前,本文从模拟搭建的小型众包平台中提取了200个相关数据作为训练样本,经过研究对比,发现这些数据中影响因素与测试质量之间的联合分布不一定满足正态分布,因此在本文中采用斯皮尔曼相关系数来研究各潜在因素与测试质量之间的相关性。经过对训练样本的实验,发现采用斯皮尔曼相关系数可以快速且准确地筛选出移动应用众包测试关键影响因素,故证明本方法是有效的。

斯皮尔曼相关系数也称秩相关系数,是利用两个变量的秩次大小来作线性相关分析,对于原始变量的分布不作要求,属于非参数型统计方法。

斯皮尔曼相关系数计算时,需要对样本数据进行排秩,其计算公式如下:

(1)

其中:di2=(R1i-R2i)2,表示两变量之间秩差的平方,n为样本容量,表示该潜在影响因素与测试质量有n对样本值。rs的取值范围在-1~+1,即-1≤rs≤1,rs>0为正相关,rs<0为负相关,如果rs=0,表示两个变量之间完全不相关。

3.2 多元线性回归模型

利用相关系数分析,仅是获取因变量和自变量相关关系的方向和密切程度,需要通过回归分析建立分析模型进一步分析与测试质量显著相关的因素与测试质量之间的相互依赖关系。为了消除多重共线性对最终分析结果造成的干扰,本文采用逐步回归法建立分析模型。

使用逐步回归方法建立众包测试质量分析模型的过程中将逐个引入自变量,并在引入同时检查是否可以剔除某个变量,具体的实现步骤如下:

通过前一阶段斯皮尔曼相关系数分析,筛选出p个与众包测试质量显著相关的因素为自变量,测试质量为因变量,就可以建立多元回归模型。

多元回归模型建立步骤:

首先对p个质量影响因素xi(1≤i≤p)分别拟合线性回归模型

y=β0+βixi+ε

(2)

其中:β0,β1,…,βp是p+1个未知参数,ε是不可预测的随机误差,且通常假定ε~N(0,δ2)。y为因变量,即测试质量,影响因素xi为自变量,即上一阶段得出的与测试质量显著相关的影响因素。

然后计算F统计量:

(3)

其中:SSR(xi)表示通过该影响因素预测的测试质量与实际测试质量的均值的差的平方和,也称之为回归平方和;MSE(xi)表示通过该影响因素预测的测试质量与实际测试质量的差的平方和的均值。

选出F统计量中的最大值Fmax与测试质量影响因素的F临界值FE进行比较:若Fmax≤FE,即除该影响因素xi1外的其他影响因素中没有一个是统计上显著的,则选取过程结束,上一步选择的模型为最优模型;若Fmax>FE,则表示影响因素xi2质量的影响是显著的,则将自变量xi2选入模型中。

此外,需计算当xi2进入模型后,xi2对y的影响是否仍然显著。计算公式如下:

(4)

重复以上步骤,直到没有新的影响因素能进入模型,同时在模型之中的已有影响因素都无法剔除,则结束选择过程。最后一个模型即为所求的最优回归模型,其得出的结果即可反映各影响因素与测试质量间的依赖关系。其中该模型中的自变量便为与测试质量显著相关的影响因素,相关系数即为该影响因素与测试质量之间的密切程度。

4 仿真与分析

通过获取某移动应用众包测试平台相关数据,根据斯皮尔曼相关系数计算出各因素与测试质量之间的关联关系,进而筛选出关联性较强的关键影响因素,利用多元逐步回归法建立各影响因素与测试质量之间的线性关系。最后计算出模型预测结果与样本实际结果之间的平均相对误差完成对模型的评估分析。

4.1 数据获取

本文通过爬虫程序,获取了某移动应用众包测试平台上发布的各类测试信息,包括任务类型、任务薪酬、测试周期等,测试人员的测试经验、专业能力、信誉等级以及平台成熟度等相关数据。在获取到的2 048个测试任务数据中,分别统计众包测试人员、平台及任务样本数据如表2所示。

表2 众包测试人员、平台、任务样本数据

4.2 数据分析

根据获取到的数据以及各因素数据的分布特征进行相关性分析。利用3.1节中的斯皮尔曼相关分析法,计算各影响因素与测试质量之间的斯皮尔曼的相关系数,以及在0.05的显著性水平下,各影响因素与测试质量之间的斯皮尔曼显著性,计算结果如表3所示。

表3 斯皮尔曼相关系数结果

由表7可知,在显著性水平为0.05时,对测试质量有显著影响的因素有测试人员测试经验、测试人员专业能力、测试人员信誉度、参与任务数量、按时交稿任务数量、设计测试用例数量、测试用例执行数量、发现Bug数量、有效Bug数量、近期活跃用户数量、近期平均任务质量、任务类型、任务要求数目、需求文档长度这14个因素。其中任务要求数目和需求文档长度的相关系数为负数,表明其值越高,则测试质量越低,其余因素皆与测试质量呈正相关;收益、测试周期、测试环境等由于样本值分布比较集中,对测试任务区分性小,因此与测试质量没有显著相关性;测试人员专业能力和测试人员经验这两个因素之间具有重复性。因此可以筛选出测试人员专业能力、按时交稿任务数量、有效Bug数量、平均任务质量、任务类型、任务要求数目这6项为关键质量影响因素。

4.3 多元逐步回归模型有效性评估

4.3.1 多元逐步回归模型建立

将斯皮尔曼相关分析识别出的6个显著影响因素作为模型的输入,测试人员测试质量的分值作为输出,建立多元逐步回归模型。各影响因素的系数β、t检验值、P值以及方差膨胀因子(Variance Inflation Factor, VIF)的回归结果如表4所示。

根据表4可知,该回归模型中所有影响因素的P值是小于0.05的,表明其对测试质量有显著影响,并且各影响因素的方差膨胀因子VIF均小于1.5,表明多元线性回归模型中不存在多重共线性。

表4 回归系数表

依据多元回归结果,对测试质量有显著影响的6个关键质量影响因素,可以用式(5)的多元线性回归方程表示,其中TQ表示任务质量。

TQ=20.343+0.012×professionalAbility+0.291×SubmitTNum+0.087×ValidBugNum+0.577×TaskQuality+0.042×TaskType-0.153×TaskItemNum

(5)

从式(5)可以看到,在6项关键质量影响因素中,对移动应用众包测试质量影响程度最大的为近期平均任务质量,其次为按时交稿任务数量。所以发包方为了提高移动应用众包测试质量,可以考虑以上6个因素,尤其是可以选择近期平均任务质量高及按时交稿任务数量高的测试人员来完成任务。

4.3.2 模型评估

为验证多元线性回归模型结果的准确性,本文使用平均相对误差(Mean Relative Error, MRE)作为衡量指标,具体的计算公式如下:

(6)

其中:n为样本数量,Qi为样本值,Qi′为预测值,MRE的值越小表明模型的准确率越高,效果越好。本文随机抽取样本数据集中的近15天的数据为测试样本,进行模型效果的计算,计算结果MRE值为3.08%。根据式(5)对模型结果进行预测,并以模型的预测值与网站样本值作比较,在SPSS中建立如图3所示的散点图。

图3 预测值与样本值散点图

MRE的结果值为3.08%表明模型的平均相对误差很小,同时在图3可以看到,检验数据中样本值和预测值的结果非常接近,表明多元线性回归模型和样本数据集具备较好的拟合程度。因此,对于移动应用众包测试质量影响因素分析,本文构建的基于斯皮尔曼相关分析及多元逐步回归模型分析方法具有较好的适用性。

传统众包任务的评分机制往往是由众包任务的发布者及专业的评审人员根据提交的软件与需求的符合程度来对软件的质量打分,因此,众测平台采用的质量评价机制所提供的测试质量得分也可以比较客观地反映众包测试人员完成测试任务的程度,和发现bug的数量以及等级。然而这种评分机制仍可能存在发布者恶意差评、专家在大量任务评估时出现差错、消耗大量人力、评价效率低下等问题。为了进一步说明,本文在剔除任务发布者恶意差评的情况下,从测试样本中随机选取50,100,…,500组评分,以任务发布者评分为基准,分别计算本模型的评分及专家评分与任务发布者评分之间的平均相对误差。计算结果如图4所示。

由图4可知,随着样本数量的增加,专家评分的平均相对误差逐渐变大,而本模型评价的平均相对误差却稳定在一个相对较小的水平,说明本模型结果的可靠性。虽然大部分情况下,任务发布者的评分是客观的,但仍存在少数恶意差评的情况。通过本模型,可以高效且准确地对任务质量进行评价,也进一步说明本文筛选出的6个关键影响因素是准确的,可通过对这6个关键影响因素对测试质量进行控制与提升。

5 结语

由于影响移动应用众包测试质量的因素众多,难以从中识别关键影响因素。本文通过斯皮尔曼相关系数分析及逐步回归法建立分析模型对移动应用众包测试质量影响因素进行分析筛选,识别出移动应用众包测试关键质量影响因素。下一步将深入研究如何利用质量影响因素有效提高移动应用众包测试质量。

猜你喜欢

测试人员因素测试
腹部胀气的饮食因素
四大因素致牛肉价小幅回落
论职务犯罪侦查中测谎技术的应用与完善*
“摄问”测试
“摄问”测试
“摄问”测试
浅析软件测试中的心理学应用
短道速滑运动员非智力因素的培养
绿植防辐射只是个传说,是真的吗?
《流星花园》的流行性因素