论文部分内容阅读
众包软件测试可以快速地以较低的成本获得大量真实的用户反馈,是一种新型的分布式测试方法和生产组织模式。最近出现了若干技术将众包应用于特定软件测试任务,如Web应用程序测试、开源测试和游戏beta测试等。在利用众人集体的努力而获得的成效虽然是显而易见的,但对众包软件测试的质量保证问题却知之甚少。为此,如何有效地整合互联网上的大量人力和机器资源协作测试,获得高质量的测试结果是一个有趣且具有挑战性的课题。本文从众包软件测试的任务指派和反馈Bug报告处理两个侧面改进众包软件测试的质量保证,论文的具体贡献如下:(1)提出基于多任务匹配的众包协作测试框架PM2CT,从任务划分、多任务匹配和结果处理三个环节入手改善测试质量。应用于Web协作测试,多任务匹配算法使用能力匹配策略将相应难度的测试任务动态地派给相应的测试人员,使越复杂的Web页面能够接收更多的测试,保证测试的覆盖率和可靠的测试结果。通过仿真实验对比分析,PM2CT的测试性能要优于CPLEX求解器和有代表性的基于众包的Web应用测试方法。(2)针对Bug报告有噪音且数据分布不平衡的问题,提出-一种基于实例模糊熵和RSMOTE的Bug严重性识别方法FER。其特点是先使用模糊最近邻规则(F-KNN)选出高质量的Bug报告类,再使用RSMOTE方法对这些分布不平衡的类别进行处理。通过对Eclipse,Mozilla,GNOME三个数据集验证,实验结果说明FER方法可以有效地提高Bug报告严重程度的识别性能。(3)提出一种基于特征选择和RSMOTE的高影响Bug报告识别方法。通过Camel和Wicket两个数据集上的对比分析,实验结果表明本工作的方法能够有效地增强Bug报告训练集,提高高影响力Bug报告的识别能力。(4)针对RSMOTE随机采样产生的不确定性问题,提出一种使用Chouqet模糊积分集成多次RSMOTE来识别Bug严重程度的方法FC-FI。它首先多次使用RSMOTE处理不平衡数据集,据此训练多个分类器,再使用Chouqet模糊积分方法集成这些分类器来预测Bug报告的严重程度。Eclipse,Mozilla,GNOME三个数据集上实验结果说明FC-FI要比Major Voting,Bagging,Adaboost的性能更好。(5)针对有些平台Bug报告训练数据不足的问题,提出一种基于文本数据挖掘和粗糙集的知识迁移方法KTC。它先对已标注的Bug报告使用基于粗糙集的IDR策略进行特征提取,并将提取到的特征信息迁移到训练数据不足的平台项目中来,以此学习识别具有高影响力的Bug报告。通过对Eclipse,Mozilla两个已标注信息的Bug报告数据集进行特征提取,迁移学习识别未标注的安卓Bug报告。实验结果表明KTC方法可以有效地提取已标注Bug报告数据集中的特征信息作为知识库,来识别安卓平台的高影响力Bug报告。