当前位置:首页 期刊杂志

软件众测服务模式探索与实践

时间:2024-05-04

黄静旋 尹珏贤 林怡坤

摘  要: 随着软件测试的需求不断提高,软件众测服务模式应运而生,实现企业、测评机构、测试人员之间互联互动,以群体协作和数据智能双轮驱动,实现资源共享、任务共同协作。本文对众测服务模式进行探索与实践,提出了众测服务模式、众测服务业务流程和众测服务应用场景,概括了众测服务面临的挑战并设计相应解决方案。从群智众测平台的实际众测服务情况看,众测服务模式可以满足多样性需求,且高效完成测试任务。

关键词: 众测服务; 软件测试; 群体协作; 群智

中图分类号:TP317          文獻标识码:A       文章编号:1006-8228(2023)06-110-04

Exploration and practice of software crowdsourced testing service model

Huang Jingxuan, Yin Juexian, Lin Yikun

(Guangdong Tops Soft-park Co,.LTD, Guangzhou, Guangdong 510663, China)

Abstract: With the increasing demand for software testing, the software crowdsourced testing service model has emerged. It realizes the interconnection and interaction among enterprises, evaluation institutions and testers, and achieves resource sharing and task collaboration with the two wheels drive of group cooperation and data intelligence. In this paper, we explore and practice the crowdsourced testing service model, propose its business process and application scenarios, summarize the challenges faced by crowdsourced testing service and design the corresponding solutions. From the actual situation of a real crowd testing platform, it is clear that the crowdsourced testing service model can meet diverse needs and complete testing tasks efficiently.

Key words: crowdsourced testing service; software testing; group cooperation; group intelligence

0 引言

近年来,随着信息技术的发展,软件的更新速度逐渐加快,软件测试周期随之不断缩减。传统软件测试通常由单一测评机构实施,测试资源有限,测试效率有待提高。软件测试的需求方通常希望得到高效的、大量的、高质量的测试反馈以迅速提升软件产品的质量,传统软件测试或无法满足日益增长的测试需求。众测服务模式为解决上述问题提供了新思路。众测模式是企业、测评机构、测试人员之间互联互动,实现闲置富余资源汇聚和有效配置的一种实现路径。

1 众测服务模式探索

1.1 众测服务模式

众包测试[1](简称“众测”)依托互联网技术,利用共享经济的特性,采用分布、协作的方式组织实施[2],协同测试资源,将原来由固定专职测试人员完成的测试任务迁移到平台上,按需通过临时招募非确定的、数量众多的测评机构或测试人员,利用大众的碎片时间在短期内共同协作完成一项测试任务。

众测服务模式的主体包括众测服务平台、软件制造企业、测评机构、测试人员。众测服务平台将软件制造企业、测评机构、测试人员联合起来,把测试环境、测试设备、测试工具、通用测试软件以及服务能力等资源汇聚起来并有效地配置。通过人员高效协作和测试资源融合,实现资源共享、任务共同协作。

1.2 众测服务平台建设

众测服务平台是众测服务模式中的关键角色,为众测服务的各参与方提供在线平台[3]。众测服务平台建设示意图如图1所示。

众测服务平台实现多层次多角度的集成化[4]。在资源方面,将多方众测资源进行柔性集成,如服务器、数据库、支持软件、测试工具等;在平台方面,将现有的测试平台和科技平台进行集成,如慕测平台、北斗测试平台、Web云测平台等;在工具方面,将课题研究技术和工具集成,如任务监控与决策支持工具、众测任务规划与调度工具、众测服务质量评估工具等;在测试流程方面,实现闭环众测服务一体化集成,从企业发包方提交测试任务到测试结束后分发奖励,实现测试过程全生命周期的一体化集成。

众测服务平台旨在提供可测、可评、可信的在线众测服务[5]。“可测”体现在平台形成面向多领域的、适应多种测试对象的、适配多种测试类型的众测服务。“可评”体现在平台对机构、人员、产品、服务多维度的质量评价。“可信”体现在过程可管控,数据可溯源,结果可信任。此外,在众测服务过程中,实现了智能化数据融合及赋能,平台具备众测任务与众测人员推荐与匹配、缺陷报告自动融合、测试报告自动生成等功能。

1.3 众测服务业务流程

众测服务业务流程如图2所示。企业发包方在平台发布任务、测试需求,可以选择定向发布、区域发布或广场发布。随后测评机构在平台接包,进行测试任务建模与任务规划,完成测试任务设计。众测平台根据任务设计在测试资源池中按需申请并构建资源,再将任务发布给对应群体。接下来,根据任务推荐机制招募人员,众测人员可以进行任务接包,执行众测任务并生成测试报告[6],在平台上提交测试结果。众测平台将多方提交的测试结果融合并自动生成测试报告,发包方接收并查看测试报告。最后,进行接包机构质量评价、众测服务质量评价和产品质量评价,根据评价结果完成费用核算,并将费用发放给众测人员。

1.4 众测服务应用场景

众测服务覆盖了对互联网应用、移动APP应用、智能终端、传感器和科技服务等众多测试对象的测试。在服务互联网方面,面向移动政务、金融服务、医疗卫生交通出行、生活服务等各类移动应用程序在设计开发测试、运营服务等阶段的功能、性能、兼容性、易用性、安全分析、数据质量评估、系统调优与故障定位等。在科技服务平台方面,面向科技服务平台如创业孵化平台、科技咨询、检验检测认证、综合科技服务科技信息管理服务平台等设计开发平台建设、运营服务各阶段的兼容性易用性、稳定性等测试、及用户访问等行为数据监控。在集成电路和智能传感器方面,面向芯片在设计、运营服务阶段的功能测试、稳定性和可靠性测试;面向北斗不同模组构成的北斗导航、精准授时等智能传感器、智能医疗、辅助驾驶等智能传感器和服务的功能性、接口、性能兼容性、可靠性等測试。

现列举一些典型的众测应用场景:

● 功能性测试:主要包括基于需求的功能测试、探索式测试;

● 兼容性测试:主要包括环境兼容性、浏览器兼容性测试;

● 用户体验测试:主要包括跨地域环境、真实用户使用环境和场景、真实用户操作习惯/时序、多种应用切换和交叉测试;

● 性能测试:其主要特点是网络环境复杂、执行环境多样、访问路径随机、并发用户量大;

● 渗透测试/漏洞挖掘:其主要特点是利用众多渗透测试人员、发挥其各自特长、经验实践、预测判断和掌握的相关工具,从不同角度挖掘潜漏洞;

● 适配性测试:其主要特点是目标终端广泛、品牌多样、操作系统多样、异构环境差异、支持软件复杂。

2 众测服务面临的挑战及应对方案

目前众测服务尚在探索阶段,仍面临许多挑战,例如数据筛选、质量评估、准入门槛等。为应对上述挑战,本文提出相应的解决方案。

挑战1 众测人员提交的数据存在大量重复或相似,如何从中筛选最有价值的数据?如何有效进行审核?

应对方案1 众测人员在线编写测试用例、提交缺陷报告,平台方对测试结果进行结构化处理,在线审核众测结果。基于文本相似性、图片相似性及标注分析技术,对高相似度的缺陷分组进行信息完整度判定,优选同组缺陷中的主缺陷报告,确定辅缺陷报告。基于专家经验及判断,对主、辅缺陷报告进行审核和优化调整。主/辅缺陷报告互换、转移、独立、升降级,专家审核缺陷并进行自助评分,随后自动生成测试报告,完成缺陷报告的自动融合。

挑战2 众测是一种弱组织的非确定性的临时人员组合,众测服务质量、产品质量、接包方质量该如何评价?

应对方案2 对众测服务质量进行评价,设计众测服务质量度量体系,建立众测服务质量评价标准。对众测接包方质量进行评价,实现面向接包方机构的评价模型,为发包方对接包方机构的选择提供了依据。对众测产品质量进行评估,基于服务质量和接包方质量对产品质量属性进行可信度评价,实现基于众测结果、过程、主体质量度量结果的产品质量多维融合评价。

挑战3 测试的专业性较强,众测人员群体中可能包含非专业的测试人员,如何降低众测准入门槛?

应对方案3 众测服务平台集成大量的众测资源构建工具,实现了众测云环境构建,分为基础物理资源、众测虚拟化资源池、众测资源管理平台、众测环境构建平台四个部分。平台能够构建各种服务器、桌面终端、测试工具、网络环境、操作系统、数据库、中间件以及支持软件等环境,众测接包人员可直接在环境上开展测试工作。平台可提供测试环境的动态生成、测试工具云化集成、运行状态监视控制等功能。众测资源构建能够提升资源利用率,降低众测人员的测试门槛。

3 众测服务实践案例

基于上文设计的众测服务模式,构建了群智众测服务平台(www.cofortest.com)。该平台是国家重点研发计划项目“信息产品及科技服务集成化众测服务平台研发与应用(2018YFB1403400)”的成果应用推广服务平台,在聚集第三方评测机构的基础上,采用标准驱动与检测认证相结合的服务模式提供开放共享和协作共赢的集成化众测服务,从技术体系、质量体系、运营体系三个维度建立了可持续汇聚其他测试服务机构的持续发展机制。群智众测平台自推出以来,为很多企业、机构提供了众测服务,吸引了海量注册用户,完成了诸多测试任务,现以某在线教育平台测试项目为例,简要介绍众测服务实践案例。

某在线教育平台测试项目的需求包含三个类别,分别是功能性测试、浏览器兼容性测试和性能众测。其中,功能性测试要求在Web端和小程序端均展开覆盖教育平台全功能的测试;浏览器兼容性测试要求在Web端的Chrome浏览器、360浏览器、QQ浏览器、Firefox浏览器、Edge浏览器和Safari浏览器开展测试;性能众测要求在Web端和小程序端完成签到、课程学习(在线视频点播)、课后评价、作业提交的测试,用户数量要求在200个以上。性能测试中,有200台以上的设备同时发起视频点播,覆盖多样化环境。测试时用户流量大对带宽要求高,常常无法评估实时播放的画面、画质、音视频同步情况以及终端上的显示效果。

在该项目的测试过程中,线上接包人数达166人,参与测试的接入终端达到259个,最高同时在线210余台设备,众测人员广泛分布于全国12个省市。测试执行时长达1h,众测人员在48h内提交测试结果,包含测试用例、测试结果记录及缺陷情况。最终有136名众测人员(259个测试终端)提交测试结果,其中,测试用例共计1286个,缺陷共计106个,每名用户提交的测试用例最多达到34个,每名用户发现缺陷最多达到6个。实践表明,众测服务模式可以满足发包方的多样需求,以高效协作的方式完成测试任务。

4 结束语

软件众测服务模式为信息时代的软件测试提供了新思路,以群体协作和数据智能双轮驱动,实现资源共享、任务共同协作。本文对众测服务模式进行了简要介绍,提出了完整的众测服务业务流程以及众测服务应用场景。针对众测服务目前面临的挑战设计了相应的解决方案。最后以群智众测平台为例,介绍了某具体测试项目的实践情况。众测服务模式实现了多方互联互动,汇聚群智[7],高效利用资源,具有广泛的应用前景。

参考文献(References):

[1] 章晓芳,冯洋,刘頔,等.众包软件测试技术研究进展[J].软件

学报,2018,29(1):69-88

[2] 冯剑红,李国良,冯建华.众包技术研究综述[J].计算机学报,

2015,38(9):1713-1726

[3] 王青,王崇骏,叶东升,等.信息产品及科技服务集成化众测

服务研究[J].中国基础科学,2020,22(2):43-48,62

[4] 陈渌萍,范兆霞.面向新一代信息技术产品的集成化众测

技术研发与实践[J].工业技术创新,2022,9(2):75-83

[5] 熊强,肖广涛.基于临时团队的信息安全众测平台知识共享

演化博弈研究[J].科技管理研究,2020,40(11):134-141

[6] 蔡婧璇,吴江,王诚坤.基于深度学习的众测报告有用性预测

研究[J].数据分析与知识发现,2020,4(11):102-111

[7] 徐立鑫,吳化尧.基于群体智能的软件工程方法综述[J].计算

机研究与发展,2020,57(3):487-512

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!