慕测科技面向众包测试的统一任务分配系统( 二 )


测试任务定价模块 。对于众包模式而言, 任务定价是其核心要素 。 为了激励众包工人更加积极主动地完成被分配的测试任务 , 系统为每个测试任务设定一定份额的执行积分进行鼓励 。 当众包工人接受系统分配的待执行测试任务并在一定时间内顺利完成时 , 其将获取相应执行积分;否则 , 如果众包工人某一次拒绝了测试任务 , 此任务的执行积分将被重新计算以增加再次分配时被工人接受的可能性 , 使得众包测试系统的任务分配更人性化 。
众包工人执行状态记录模块 。工人每次拉取任务时系统经过适配后会为其分配任务 , 测试任务的分配记录以及其被执行的次数系统都将进行保存 。 与此期间 , 系统对众包工人在分配到测试任务之后采取的决策措施(接受/拒绝)进行监督并记录 , 以此统计任务分配的完成率等系统评估指标作为对任务分配系统进行有效性验证的衡量依据 。 本模块采取与其它三个模块异步进行的方式在整个众包测试过程中不间断运作 。
为了保证系统的高可用 , 高性能与高并发特性 , 本系统采用前后端分离的模式 , 前端利用 Angular 框架实现 , 后端通过 Spring Boot 微服务框架实现 。 系统使用关系型数据库 MySQL 进行存储各类数据 , 包括用户基础数据 , 过程数据和结果数据等 , 同时利用 Redis 作为分布式缓存以实现无状态服务 。
三、 项目案例成效
为验证任务分配系统的可靠性 , 以及系统相关算法设计的有效性 , 本节将从依托本平台进行的三个众包测试案例进行分析 , 通过对众包工人行为的记录数据进行多维度对比 , 完成对系统的评估工作 。 三件案例皆以全国大学生软件测试大赛为背景 , 报名人员为来自国内各大高校的学生 。
表 1.测试案例数据统计表

慕测科技面向众包测试的统一任务分配系统
本文插图

记录工人执行操作并做数据统计 , 结果如表 1 所示 。 从指标任务完成率上看 , 三个案例的完成度分别为 43.7%、55.7% 和 87.3% , 任务的完成比例逐渐增加 , 且增长率从 12% 到 31.6%出现显著提升;从有效缺陷检测率上看 , 在案例一中有效检测率只有 29.8% , 而在案例三中已经高达 68.5%;最后是测试需求覆盖率 , 案例一的覆盖程度只有一半左右 , 案例二中需求的覆盖就已经突破了 90% , 而在案例三中测试需求已实现 100% 全覆盖 。 结合表数据进行分析可以很容易发现 , 任务完成率、有效缺陷检测率和测试需求覆盖率三者系统评估指标在每一次众包测试案例中都出现较大幅度的提升 , 这是因为系统在适配过程中 , 需要以工人们的历史测试数据为依据 , 随着数据累计的增多 , 系统为工人们分配的任务将更加精确从而提高测试效率 。
从另外一方面来看 , 评估指标的增长意味着任务分配系统中存在的“老”用户也是逐渐增多 。 结合参赛数据统计进行分析 , 案例一中报名参赛人数为 168 人 , 提交测试报告为 61 人 , 案例二中报名参赛人数为 384 人 , 提交测试报告为 171 人 , 无论是报名人数还是实际参与率(报名人数中提交测试报告人数的比例)存在明显增加 。 而案例三中报名人数只有 85 人 , 考虑到该次比赛于 8 月举办 , 学生们几乎都已放假在家 , 因此愿意花费额外时间参加比赛的人员比例太低 , 但具有历史测试记录有 36 人 , 实际参与率为 42.4% , 与案例二中的实际参与率 44.5%相差不大 。
综上所述 , 任务分配系统在完成任务的合理分配和提高整体测试效率方面取得了良好的成果 , 同时能够帮助众包工人对众测平台的粘性培养 , 降低测试成本有着积极的促进作用 , 符合预期 。
四、致谢
本文由南京大学软件学院智能软件工程实验室 2018 级硕士许金撰写
【慕测科技面向众包测试的统一任务分配系统】感谢国家自然科学基金项目:基于可理解信息融合的人机协同移动应用测试研究(61802171) , 国家重点研发计划:信息产品及科技服务集成化众测服务平台研发与应用 (2018YFB1403400)的支持


推荐阅读