CN114020650B - 众测任务分配方法、装置、电子设备及存储介质 - Google Patents
众测任务分配方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114020650B CN114020650B CN202210019428.5A CN202210019428A CN114020650B CN 114020650 B CN114020650 B CN 114020650B CN 202210019428 A CN202210019428 A CN 202210019428A CN 114020650 B CN114020650 B CN 114020650B
- Authority
- CN
- China
- Prior art keywords
- task
- distributed
- tested
- testing
- people
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3696—Methods or tools to render software testable
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提出一种众测任务分配方法、装置、电子设备及存储介质,属于测试技术领域,方法应用于服务器,服务器包括数据库,数据库存储有知识图谱和众测工人的历史参与任务信息,方法包括:利用预设的联合学习模型,预测出各众测工人对待分配任务组中各个待分配任务的偏好值,从而根据偏好值,将待分配任务组中的各个待分配任务分配给各众测工人,待分配任务包括待测试任务,进而统计出每个待测试任务的页面覆盖率,根据页面覆盖率确定出需要继续分配的目标待测试任务,根据偏好值,继续对目标待测试任务进行分配,以能够提高任务分配的合理性和测试质量。
Description
技术领域
本发明涉及测试技术领域,具体而言,涉及一种众测任务分配方法、装置、电子设备及存储介质。
背景技术
众包指的是一个公司或机构把过去由员工执行的工作任务,以自由自愿的形式外包给非特定(而且通常是大型的)大众志愿者的做法。在软件测试过程中,也经常采用众包测试(简称众测)的方式,招募大量测试工人对待测软件进行测试。众包测试能够解决传统测试过程中,测试人员组成单一、周期长、成本高等问题。
目前,有很多众包测试任务分配的方法,传统的众包测试平台多采用人工分配任务或众测工人自行探索的方式,来进行任务分配。但是,人工分配任务的方式,容易出现测试工人与所分配的测试任务不适宜的情况,众测工人自行探索的方式,难以保证测试需求的全覆盖。显然,现有的众包测试任务分配方法由于分配不合理,而导致测试质量较差。
发明内容
有鉴于此,本发明的目的在于提供一种众测任务分配方法、装置、电子设备及存储介质,其能够改善现有的众包测试任务分配方法由于分配不合理,而导致测试质量较差的问题。
为了实现上述目的,本发明实施例采用的技术方案如下。
第一方面,本发明提供一种众测任务分配方法,采用如下的技术方案。
一种众测任务分配方法,应用于服务器,所述服务器包括数据库,所述数据库存储有知识图谱和众测工人的历史参与任务信息,所述方法包括:
接收待分配任务组,利用预设的联合学习模型,预测出各众测工人对所述待分配任务组中各个待分配任务的偏好值,其中,所述联合学习模型基于所述历史参与任务信息和所述知识图谱训练得到,用于预测所述众测工人对待处理任务的偏好值;
根据所述偏好值,将所述待分配任务组中的各个待分配任务分配给各所述众测工人,所述待分配任务包括待测试任务;
接收各所述众测工人针对接受的所述待测试任务上传的缺陷报告,统计出每个所述待测试任务的各个测试页面关于缺陷的页面覆盖率;
根据所述页面覆盖率确定出需要继续分配的目标待测试任务,根据所述偏好值,继续对所述目标待测试任务进行分配。
可选地,所述根据所述页面覆盖率确定出需要继续分配的目标待测试任务,根据所述偏好值,继续对所述目标待测试任务进行分配的步骤,包括:
针对每个所述待测试任务,判断所述待测试任务是否为页面覆盖率低于预设阈值的目标待测试任务,若是,则根据各所述众测工人对所述目标待测试任务的偏好值,继续分配所述目标待测试任务,直至所述目标待测试任务的页面覆盖率满足所述预设阈值。
可选地,所述待分配任务还包括待审核任务,所述方法还包括:
记录各所述众测工人对分配的所述待测试任务的接受情况,以及记录各所述众测工人对分配的所述待审核任务的审核情况;其中,所述接受情况包括接受次数和拒绝次数,所述审核情况包括总审核次数和对分配的所述待审核任务的审核次数;
计算出所述接受次数与总分配次数之间的比率,将该比率作为分配评估指标;
计算出所述对分配的待审核任务的审核次数与所述总审核次数之间的比例,将该比率作为审核评估指标;
根据所述分配评估指标和/或所述审核评估指标,判断是否重新训练所述联合学习模型。
可选地,所述根据所述偏好值,将所述待分配任务组中的各个待分配任务分配给各所述众测工人的步骤,包括:
按照各所述众测工人对每个所述待分配任务的偏好值从高到低的顺序,将每个所述待分配任务依次分配各所述众测工人,直至接受每个所述待分配任务的众测工人数量达到预设人数。
可选地,所述方法还包括训练联合学习模型的步骤,该步骤包括:
根据各所述众测工人的所述历史参与任务信息,构建用户-项目交互矩阵,所述用户-项目交互矩阵表征各众测工人与历史测试任务的参与关系;
从所述知识图谱提取各所述众测工人的历史任务行为信息,所述知识图谱表征众测工人信息、缺陷信息、缺陷报告审核行为、众测任务信息之间的关系;
将所述用户-相互交互矩阵和所述历史任务行为信息划分为训练集、验证集及测试集;
结合所述训练集、验证集及测试集,通过梯度下降迭代的方式训练RippleNet网络,得到联合学习模型。
可选地,所述方法还包括构建知识图谱的步骤,该步骤包括:
将各所述历史参与任务信息进行分词,得到多个概念实体;所述历史参与任务信息包括众测工人信息、测试用例、缺陷报告和缺陷报告审核行为;
根据领域内知识的逻辑关系定义所述概念实体之间的关系,以所述概念实体作为节点,以所述关系作为节点之间的连边,构建知识图谱。
可选地,所述方法还包括:
当所述众测工人录入缺陷报告时,根据所述缺陷报告的缺陷属性和描述信息,调取相似度达到条件值的历史缺陷报告并显示,以供所述众测工人补充或审核所述历史缺陷报告。
第二方面,本发明提供一种众测任务分配装置,采用如下的技术方案。
一种众测任务分配装置,所述方法还包括:
当所述众测工人录入缺陷报告时,根据所述缺陷报告的缺陷属性和描述信息,从历史存储的缺陷报告中调取相似度达到条件值的历史缺陷报告并显示,以供所述众测工人补充或审核所述历史缺陷报告。
第三方面,本发明提供一种电子设备,采用如下的技术方案。
一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现如第一方面所述的众测任务分配方法。
第四方面,本发明提供一种存储介质,采用如下的技术方案。
一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的众测任务分配方法。
本发明实施例提供的众测任务分配方法、装置、电子设备及存储介质,利用联合学习模型,预测出各众测工人对每个待分配任务的偏好值,根据偏好值,将各个待分配任务分配给众测工人,并接收众测工人对接受的待测任务进行测试后上传的缺陷报告,来统计出每个待测试任务的页面覆盖率,进而根据页面覆盖率确定出目标待测试任务,根据偏好值,继续将目标待测试任务分配给众测工人,从而能够根据众测工人的偏好来给众测工人分配更合适的待分配任务,并根据页面覆盖率对已分配过的目标待测试任务(即未达预期测试结果的测试任务)再次分配,从而能够提高任务分配的合理性,进而能够提高测试质量。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的电子设备的方框示意图。
图2示出了本发明实施例提供的分配系统的方框示意图。
图3示出了本发明实施例提供的一种众测任务分配方法的流程示意图。
图4示出了本发明实施例提供的图3中S103的部分子步骤的流程示意图。
图5示出了本发明实施例提供的图3中S107的部分子步骤的流程示意图。
图6示出了本发明实施例提供的众测任务分配方法的另一部分步骤的流程示意图。
图7示出了知识图谱的示意图。
图8示出了本发明实施例提供的众测任务分配方法的又一部分步骤的流程图。
图9示出了本发明实施例提供的众测任务分配方法的部分步骤的流程图。
图10示出了本发明实施例提供的众测任务分配装置的方框示意图。
图标:100-电子设备;110-存储器;120-处理器;130-通信模块;140-分配系统;150-客户端;160-众测任务分配装置;170-数据库;180-计算模块;190-第一分配模块;200-第二分配模块;210-众测平台。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
传统的众包测试平台多采用人工分配任务或众测工人自行探索的方法,人工分配任务的方法没有考虑众测工人参与并完成任务的情况,从而在部分众测工人缺席的情况下,容易导致部分众包任务不能正常完成。并且,人工分配任务的方法忽略这种特性而不能根据工人的优势和任务的特性将任务分配给最适宜的众测工人。而众测工人自行探索的方式虽然满足了众测工人的偏好,但无法保证测试需求的覆盖率。因此,目前的众包测试任务分配方法的任务分配均存在不合理性,导致测试质量和效果较差。
基于上述考虑,本发明提供一种众测任务分配方法、装置、电子设备及存储介质。
请参照图1,是电子设备100的方框示意图。电子设备100包括存储器110、处理器120及通信模块130。存储器110、处理器120以及通信模块130各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
其中,存储器110用于存储程序或者数据。存储器110可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(ErasableProgrammable Read-Only Memory,EPROM),电可擦除只读存储器(Electric ErasableProgrammable Read-Only Memory,EEPROM)等。
处理器120用于读/写存储器110中存储的数据、计算机程序或机器可执行指令,并执行相应地功能。处理器120执行存储器110中存储的计算机程序或机器可执行指令时,实现本发明提供的众测任务分配方法。
通信模块130用于通过所述网络建立电子设备100与其它通信终端之间的通信连接,并用于通过网络收发数据。
应当理解的是,图1所示的结构仅为电子设备100的结构示意图,所述服务器还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
其中,电子设备100可以为但不限于是:个人计算机、服务器、智能终端。
可选地,在一种实施方式中,请参照图2,为分配系统140的方框示意图,该分配系统140包括众测任务分配装置160和多个客户端150,众测任务分配装置160与多个客户端150均通过网络通信连接,众测任务分配装置160包括众测平台210和数据库170,数据库170包括MongoDB数据库170和Neo4j图数据库170。
众测工人将自身的历史参与任务信息通过客户端150上传至众测任务分配,数据库170将任务,众测任务分配装置160接收历史参与任务信息后存储至MongoDB数据库170。
Neo4j图数据库170中存储有根据历史参与任务信息构建的知识图谱。
众测任务分配装置160还包括前端服务器、Docker容器、后端服务器,前端服务器可以使用Angular2框架,后端服务器可以使用Spring Boot框架。Docker容器部署有众测任务分配装置160的各个功能模块(众测平台210)的应用程序。
众测工人可以通过客户端150登录众测平台210浏览众测任务信息,以及参与众测任务,并在获取token信息后,可以通过URL跳转到众测平台210执行具体的众测任务。其中,token是一个序列化的唯一字符串,包含了众测任务和众测工人相关信息。
众测系统中的众测任务分配装置160可以实现本发明提供的众测任务分配方法。
在一种实施方式中,参照图3,为本发明提供的众测任务分配方法的流程示意图,包括如下步骤。在本实施方式中,主要以该方法应用于图2中的众测任务分配装置160来举例说明。
S101,接收待分配任务组,利用预设的联合学习模型,预测出各众测工人对待分配任务组中各个待分配任务的偏好值。
其中,联合学习模型基于历史参与任务信息和知识图谱训练得到,用于预测众测工人对待处理任务的偏好值。
具体地,测试管理员通过客户端150将待分配任务组发送至众测任务分配装置160,众测任务分配装置160接收到待测试任务后,利用预设的联合学习模型,预测出各众测工人对待分配任务组中各个待分配任务的偏好值。
众测工人为已注册的众测工人,待分配任务组中包括至少一个待分配任务。
并且得到各众测工人对各个待分配任务的偏好值之后,众测任务分配装置160会将偏好值进行存储。
S103,根据偏好值,将待分配任务组中的各个待分配任务分配给各众测工人。
其中,待分配任务包括待测试任务。
具体地,众测任务分配装置160根据得到的偏好值,将待分配任务组中的各个待分配任务分配给各众测工人。
并且,可以以邮件的方式通知众测工人有新分配的任务。众测工人通过客户端150登录众测任务分配装置160的众测平台210时,即可看到新分配的任务。
S105,接收各众测工人针对接受的待测试任务上传的缺陷报告,统计出每个待测试任务的各个测试页面关于缺陷的页面覆盖率。
页面覆盖率指的是待测试任务中出现缺陷的测试页面数所占的比率。
具体地,接收众测任务分配装置160分配的待测试任务的众测工人,在完成待测试任务的测试后,将待测试任务的缺陷报告通过客户端150上传至众测任务分配装置160。众测任务分配装置160接收到缺陷报告后,统计出每个待测试任务的各个测试页面关于缺陷的页面覆盖率。
S107,根据页面覆盖率确定出需要继续分配的目标待测试任务,根据偏好值,继续对目标待测试任务进行分配。
具体地,众测任务分配装置160根据页面覆盖率确定出目标待测试任务后,调取存储的各个众测工人对目标待测试任务的偏好值,根据偏好值,继续将目标待测试任务分配给各众测工人。
在上述众测任务分配方法中,利用联合学习模型,预测出各众测工人对每个待分配任务的偏好值,根据偏好值,将各个待分配任务分配给众测工人,进一步结合统计出每个待测试任务的页面覆盖率,来确定出目标待测试任务,并根据偏好值,继续将目标待测试任务分配给众测工人,从而能够根据众测工人的偏好来给众测工人分配更合适的待分配任务,并根据页面覆盖率对已分配过的目标待测试任务(即未达预期测试结果的测试任务)再次分配,从而能够提高任务分配的合理性,进而能够提高测试质量。
进一步地,请继续参照图3,众测任务分配方法还包括S108。
S108,当众测工人录入缺陷报告时,根据缺陷报告的缺陷属性和描述信息,调取相似度达到条件值的历史缺陷报告并显示,以供众测工人补充或审核历史缺陷报告。
具体地,众测工人通过客户端150在众测任务分配装置160的众测平台210中录入缺陷报告时,众测任务分配装置160根据缺陷报告的缺陷属性和描述信息,从数据库170中存储的历史缺陷报告中匹配出相似度达到条件值的历史缺陷报告,并在众测平台210上显示。使得众测工人可以补充该历史缺陷报告,或对该历史缺陷报告进行审核。
并且,审核包括但不限于是:点赞、点踩和评论。
其中,相似度可以为录入的缺陷报告与历史缺陷报告相同的缺陷属性和描述信息所占的比率。条件值,为预设的数值。
通过在众测工人录入(编辑)缺陷报告时,实时根据众测工人输入的缺陷属性和描述信息推荐相似的历史缺陷报告,使得众测工人可以查看相似的历史缺陷报告,进行审核或在历史缺陷报告的基础上进行增益补充,能够减少缺陷报告的重复,进而能够提高测试数据的质量。
在一种实施方式中,针对上述S103,参照图4,图4中包括S103的部分子步骤,具体地包括S103-1。
S103-1,按照各众测工人对每个待分配任务的偏好值从高到低的顺序,将每个待分配任务依次分配各众测工人,直至接受每个待分配任务的众测工人数量达到预设人数。
具体地,众测任务分配装置160针对每个待分配任务,按照各众测工人对该待分配任务的偏好值从高到低的顺序,将该待分配任务分配给预设人数的众测工人。若有众测工人拒绝该待分配任务,则继续按照偏好值的顺序,分配该待分配任务,直至接受该待分配任务的众测工人达到预设人数。
以预设人数为5人,已注册的众测工人为50人为例,针对一个待分配任务,先将待分配任务分配给50人中偏好值最高的前五位,若其中有一位拒绝了该待分配任务,或者预设时间内未接受该待分配任务,则将待分配任务分配给偏好值排名第六的众测工人,若排名第六的众测工人接受了该待分配任务,则分配初步结束,否则,分配继续直至共有五个众测工人接受该待分配任务。
在一种实施方式中,针对上述步骤S107,参照图5,图5为S107的部分子步骤的流程示意图,针对每个待测试任务,均执行以下步骤。
S107-1,判断待测试任务是否为页面覆盖率低于预设阈值的目标待测试任务。若是,则执行步骤S107-2,否则该待测试任务的分配结束。
S107-2,根据各众测工人对目标待测试任务的偏好值,继续分配目标待测试任务。S107-2结束后,返回S107-1,直至目标待测试任务的页面覆盖率满足预设阈值。
其中,S107-2中“继续分配目标待测试任务”的方法可以为:调取存储的各众测工人对该目标待测试任务的偏好值,选择之前未接受该目标待测试任务且偏好值最高的前几位众测工人,分配该目标待测试任务。
预设阈值为根据历史经验或期望需求设置的值,且不同的待测试任务可以有不同的预设阈值。即可以根据实际需求,设置预设阈值。
通过上述步骤,实现各待测试任务的测试需求覆盖率(即页面覆盖率)达标,从而有助于提高测试质量。
需要说明的是,数据库170中存储的知识图谱表征众测工人信息、缺陷信息、缺陷报告审核行为、众测任务信息之间的关系。
进一步地,本发明提供的众测任务分配方法还包括构建知识图谱的步骤。在一种实施方式中,参照图6,图6为构建知识图谱的部分步骤的流程示意图,包括如下步骤。
S201,将各历史参与任务信息进行分词,得到多个概念实体。
其中,历史参与任务信息包括众测工人信息、测试用例、缺陷报告和缺陷报告审核行为。
众测工人信息可以包括身份ID。
测试用例中包括提交该测试用例的众测工人的身份ID,该测试用例唯一的用例标识,以及该测试用例对应的测试任务唯一的任务标识。
缺陷报告包括提交该缺陷报告的众测工人的身份ID,该缺陷报告唯一的报告标识,以及该缺陷报告对应的测试任务唯一的任务标识。
缺陷报告审核行为包括众测工人的身份ID,被审核的缺陷报告唯一的报告标识,以及审核行为。审核行为包括点赞和点踩。
概念实体包括但不限于:身份ID、用例标识、任务标识、报告标识、审核行为、缺陷漏洞类别、缺陷严重等级、缺陷报告复现程度、缺陷报告的父子报告、测试任务关键词和测试任务的三级页面信息。
S202,根据领域内知识的逻辑关系定义概念实体之间的关系,以概念实体作为节点,以关系作为节点之间的连边,构建知识图谱。
其中,关系包括同一缺陷漏洞类别,缺陷报告同属一个测试任务,缺陷报告由同一众测工人提交,缺陷报告具有相同的父报告,以及缺陷报告被同一个众测工人审核。
参照图7,图7为本发明提供的一个小型的知识图谱的示意图。
通过上述步骤,将已注册的众测工人的历史参与任务信息进行整理,从而可以得到各个众测工人的历史行为信息。同时,根据知识图谱可以得到知众测工人信息、缺陷信息、缺陷报告审核行为、众测任务信息之间的关系。
应当理解的是,只要有新注册的众测工人,当新注册的众测工人上传自己的历史参与任务信息,或上传自己参与的测试任务的缺陷报告,众测任务分配装置160就会根据新注册的众测工人的历史参与任务信息、缺陷报告,更新知识图谱。
在上述知识图谱的基础上,本发明提供的众测任务分配方法,还包括训练联合学习模型的步骤。在一种实施方式中,参照图8,图8为训练联合学习模型的部分子步骤的流程示意图,包括如下步骤。
S301,根据各众测工人的历史参与任务信息,构建用户-项目交互矩阵。
其中,用户-项目交互矩阵表征各众测工人与历史测试任务的参与关系。
具体地,用户-项目交互矩阵为:
S302,从知识图谱提取各众测工人的历史任务行为信息。
其中,历史任务行为信息包括历史参与任务(即kg_final),以及代表三元组关系的头节点、关系和尾节点(即rating_final)。三元组关系指的是知识图谱中的三元组关系。
具体地,三元组关系可能为众测工人的身份ID,与身份ID连边的缺陷报告,以及与缺陷报告的缺陷类别等。
头节点和尾结点因关系不同而不同。
例如,在“bug.writeBy.bug”关系中,其对应的知识图谱三元组为“bug.writeBy.worker”,关系ID为3,头节点为bug,关系为writeBy,尾节点为worker。Worker表示众测工人,bug表示缺陷报告,writeBy表示提交者。
S303,将用户-相互交互矩阵和历史任务行为信息划分为训练集、验证集及测试集。
具体地,将用户-交互矩阵分成三份,将历史任务行为信息分成三份,训练集包括一份用户-交互矩阵和一份历史任务行为信息,验证集包括一份用户-交互矩阵和一份历史任务行为信息,测试集包括一份用户-交互矩阵和一份历史任务行为信息。
S304,结合训练集、验证集及测试集,通过梯度下降迭代的方式训练RippleNet网络,得到联合学习模型。
通过上述步骤S301-S302,训练得到的联合学习模型不仅考虑众包任务的特征,也利用了众包测试的领域内知识(知识图谱),从而将众测工人与众包测试的领域内知识结合作为联合学习模型得到偏好值的信息来源之一,以使得当某个众测工人的历史参与任务较少导致用户-项目交互矩阵稀疏时,知识图谱能够在一定程度上进行数据补充和信息辅助,从而能够提高联合学习模型预测出的偏好值准确性。
训练好的联合学习模型更为充分地考虑了众包测试任务的特征,众测工人的测试任务选择特点,以及众包测试领域内的知识,从而能够具有更高的预测准确度,进而有助于提高众测任务的分配质量和分配效率。
应当理解的是,选择RippleNet网络进行模型训练,只是其中一种实施方式,在其他的实施方式中,可以选择其他的神经网络进行模型训练。
在一种实施方式中,针对步骤S302,可通过以下步骤实现从知识图谱提取各众测工人的历史任务行为信息。
S1,调用match_entity()函数将知识图谱转为对应文件格式存入kg_rehashed.txt。
S2,从知识图谱中获得众测工人的历史参与任务,并存入ratings.txt。
S3,从kg_rehashed.txt中获得知识图谱的头节点中的测试任务标识列表。
S4,获得所有任务,并筛选出知识图谱头节点中出现的测试任务,以任务标识为key,index(指数)为value(值)存入item_dict。
S5,遍历kg_rehashed.txt,将任务标识转为index,写入kg_final.txt。
S6, 遍历ratings.txt,将众测工人的身份ID转为新的index 并用user_dict保存两者关系,筛选任务标识在item_dict出现的条目并将其转为任务index,存入rating_final.txt。
进一步地,上述步骤S101-S108中,待分配任务还包括待审核任务,在此基础上,参照图9,本发明提供的方法还包括以下步骤。
S401,记录各众测工人对分配的待测试任务的接受情况,以及记录各众测工人对分配的待审核任务的审核情况。
其中,接受情况包括接受次数和拒绝次数,审核情况包括总审核次数和对分配的所述待审核任务的审核次数。
S402,计算出接受次数与总分配次数之间的比率,将该比率作为分配评估指标。
具体地,分配评估指标的计算公式为:
S403,计算出对分配的待审核任务的审核次数与总审核次数之间的比例,将该比率作为审核评估指标。
具体地,审核评估指标的计算公式为:
S404,根据分配评估指标和/或审核评估指标,判断是否重新训练联合学习模型。
具体地,分配评估指标和审核评估指标均有各自对应的期望值,若分配评估指标未达到所对应的期望值,或审核评估指标未达到所对应的期望值,或者两者都未达到所对应的期望值,则判定需要重新训练联合学习模型。进而,采用S301-S304的步骤,重新训练联合学习模型。
通过上述步骤得到审核评估指标和分配评估指标,审核评估指标和分配评估指标可以用于衡量联合学习模型的预测准确度,当审核评估指标和分配评估指标中的至少一个未达到预设的期望(二者有各自对应的期望),则意味着联合学习模型的预测准确度存在不足,此时,可通过上述步骤S301-S304,重新训练联合学习模型。
根据审核评估指标和分配评估指标对联合学习模型进行评估,能够及时调整联合学习模型,以在一定程度上保证联合学习模型的预测准确性。
众测任务分配装置160上的众测平台210能够将测试需求中三级页面信息用树状结构可视化展示,标注出当前各个页面上总体找到的缺陷数量和当前众测工人发现的缺陷数量,以掌握总体测试动向。
应当理解的是,众测工人可以接受分配的待分配任务,也可以拒绝待分配任务并自行探索测试。
本发明提供的众测任务分配方法提供了一种高预测准确度的联合学习模型,基于联合学习模型,预测出各众测工人对待分配任务的偏好值,以根据偏好值将待分配任务分配给偏好值更高的众测工人,并根据待测试任务测试后的页面覆盖率,确定出页面覆盖率未达预设阈值的目标待测试任务,以根据该目标待测试任务所对应的偏好值,再次进行目标待测试任务的分配,直至目标待测试任务的页面覆盖率达到预设阈值。实现了个性化、适应性、合理性地分配众包任务,且分配的待测试任务的测试需求能够达到需求覆盖,从而减少测试报告指令参差不齐、测试需求覆盖率不达标、缺陷报告重复、效率低的问题,进而有助于提高测试质量。
应该理解的是,虽然图3-图9的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3-图9中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
为了执行上述实施例及各个可能的方式中的相应步骤,下面给出本发明提供的众测任务分配装置160的实现方式,可选地,该众测任务分配装置160可以采用上述图1所示的电子设备100的器件结构。进一步地,请参阅图10,图10为本发明实施例提供的一种众测任务分配装置160的功能模块图。需要说明的是,本实施例所提供的众测任务分配装置160,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。该众测任务分配装置160包括:数据库170、计算模块180、第一分配模块190和第二分配模块200。
数据库170,存储有知识图谱和众测工人的历史处理任务数据。
计算模块180,用于接收待分配任务组,利用预设的联合学习模型,预测出各众测工人对待分配任务组中各个待分配任务的偏好值。
其中,联合学习模型为基于历史处理任务和知识图谱训练得到,用于预测众测工人对待处理任务的偏好值的模型。
第一分配模块190,用于根据偏好值,将待分配任务组中的各个待分配任务分配给各众测工人。
其中,待分配任务包括待测试任务。
第二分配模块200,用于接收各众测工人针对接受的待测试任务上传的缺陷报告,统计出每个待测试任务的各个测试页面关于缺陷的页面覆盖率,根据页面覆盖率确定出需要继续分配的目标待测试任务,根据偏好值,继续对目标待测试任务进行分配。
可选地,上述模块可以软件或固件(Firmware)的形式存储于图1所示的存储器110中或固化于该电子设备100的操作系统(Operating System,OS)中,并可由图1中的处理器120执行。同时,执行上述模块所需的数据、程序的代码等可以存储在存储器110中。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种众测任务分配方法,其特征在于,应用于服务器,所述服务器包括数据库,所述数据库存储有知识图谱和众测工人的历史参与任务信息,所述方法包括:
接收待分配任务组,利用预设的联合学习模型,预测出各众测工人对所述待分配任务组中各个待分配任务的偏好值,其中,所述联合学习模型基于所述历史参与任务信息和所述知识图谱训练得到,用于预测所述众测工人对待处理任务的偏好值;
根据所述偏好值,将所述待分配任务组中的各个待分配任务分配给各所述众测工人,所述待分配任务包括待测试任务;
接收各所述众测工人针对接受的所述待测试任务上传的缺陷报告,统计出每个所述待测试任务的各个测试页面关于缺陷的页面覆盖率;
根据所述页面覆盖率确定出需要继续分配的目标待测试任务,根据所述偏好值,继续对所述目标待测试任务进行分配;
所述方法还包括训练联合学习模型的步骤,该步骤包括:
根据各所述众测工人的所述历史参与任务信息,构建用户-项目交互矩阵,所述用户-项目交互矩阵表征各众测工人与历史测试任务的参与关系;
从所述知识图谱提取各所述众测工人的历史任务行为信息,所述知识图谱表征众测工人信息、缺陷信息、缺陷报告审核行为、众测任务信息之间的关系;
将所述用户-相互交互矩阵和所述历史任务行为信息划分为训练集、验证集及测试集;
结合所述训练集、验证集及测试集,通过梯度下降迭代的方式训练RippleNet网络,得到联合学习模型。
2.根据权利要求1所述的众测任务分配方法,其特征在于,所述根据所述页面覆盖率确定出需要继续分配的目标待测试任务,根据所述偏好值,继续对所述目标待测试任务进行分配的步骤,包括:
针对每个所述待测试任务,判断所述待测试任务是否为页面覆盖率低于预设阈值的目标待测试任务,若是,则根据各所述众测工人对所述目标待测试任务的偏好值,继续分配所述目标待测试任务,直至所述目标待测试任务的页面覆盖率满足所述预设阈值。
3.根据权利要求1或2所述的众测任务分配方法,其特征在于,所述待分配任务还包括待审核任务,所述方法还包括:
记录各所述众测工人对分配的所述待测试任务的接受情况,以及记录各所述众测工人对分配的所述待审核任务的审核情况;其中,所述接受情况包括接受次数和拒绝次数,所述审核情况包括总审核次数和对分配的所述待审核任务的审核次数;
计算出所述接受次数与总分配次数之间的比率,将该比率作为分配评估指标;
计算出所述对分配的待审核任务的审核次数与所述总审核次数之间的比例,将该比率作为审核评估指标;
根据所述分配评估指标和/或所述审核评估指标,判断是否重新训练所述联合学习模型。
4.根据权利要求1或2所述的众测任务分配方法,其特征在于,所述根据所述偏好值,将所述待分配任务组中的各个待分配任务分配给各所述众测工人的步骤,包括:
按照各所述众测工人对每个所述待分配任务的偏好值从高到低的顺序,将每个所述待分配任务依次分配各所述众测工人,直至接受每个所述待分配任务的众测工人数量达到预设人数。
5.根据权利要求1或2所述的众测任务分配方法,其特征在于,所述方法还包括构建知识图谱的步骤,该步骤包括:
将各所述历史参与任务信息进行分词,得到多个概念实体;所述历史参与任务信息包括众测工人信息、测试用例、缺陷报告和缺陷报告审核行为;
根据领域内知识的逻辑关系定义所述概念实体之间的关系,以所述概念实体作为节点,以所述关系作为节点之间的连边,构建知识图谱。
6.根据权利要求1或2所述的众测任务分配方法,其特征在于,所述方法还包括:
当所述众测工人录入缺陷报告时,根据所述缺陷报告的缺陷属性和描述信息,调取相似度达到条件值的历史缺陷报告并显示,以供所述众测工人补充或审核所述历史缺陷报告。
7.一种众测任务分配装置,其特征在于,包括数据库、计算模块、模型训练模块、第一分配模块和第二分配模块;
所述数据库,存储有知识图谱和众测工人的历史处理任务数据;
所述计算模块,用于接收待分配任务组,利用预设的联合学习模型,预测出各众测工人对所述待分配任务组中各个待分配任务的偏好值;所述联合学习模型为基于所述历史处理任务和所述知识图谱训练得到,用于预测所述众测工人对待处理任务的偏好值的模型;
所述第一分配模块,用于根据所述偏好值,将所述待分配任务组中的各个待分配任务分配给各所述众测工人,所述待分配任务包括待测试任务;
所述第二分配模块,用于接收各所述众测工人针对接受的所述待测试任务上传的缺陷报告,统计出每个所述待测试任务的各个测试页面关于缺陷的页面覆盖率,根据所述页面覆盖率确定出需要继续分配的目标待测试任务,根据所述偏好值,继续对所述目标待测试任务进行分配;
所述模型训练模块,用于通过以下步骤训练联合学习模型:
根据各所述众测工人的所述历史参与任务信息,构建用户-项目交互矩阵,所述用户-项目交互矩阵表征各众测工人与历史测试任务的参与关系;
从所述知识图谱提取各所述众测工人的历史任务行为信息,所述知识图谱表征众测工人信息、缺陷信息、缺陷报告审核行为、众测任务信息之间的关系;
将所述用户-相互交互矩阵和所述历史任务行为信息划分为训练集、验证集及测试集;
结合所述训练集、验证集及测试集,通过梯度下降迭代的方式训练RippleNet网络,得到联合学习模型。
8.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现如权利要求1-6中任一项所述的众测任务分配方法。
9.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的众测任务分配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210019428.5A CN114020650B (zh) | 2022-01-10 | 2022-01-10 | 众测任务分配方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210019428.5A CN114020650B (zh) | 2022-01-10 | 2022-01-10 | 众测任务分配方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114020650A CN114020650A (zh) | 2022-02-08 |
CN114020650B true CN114020650B (zh) | 2022-04-12 |
Family
ID=80069725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210019428.5A Active CN114020650B (zh) | 2022-01-10 | 2022-01-10 | 众测任务分配方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114020650B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116415839B (zh) * | 2023-02-10 | 2023-11-28 | 华南师范大学 | 一种基于可解释机器学习的众包任务分配方法及系统 |
CN117422266B (zh) * | 2023-11-01 | 2024-04-30 | 烟台大学 | 基于工人偏好的任务分配方法、系统、装置、存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108197835A (zh) * | 2018-02-05 | 2018-06-22 | 北京航空航天大学 | 任务分配方法、装置、计算机可读存储介质及电子设备 |
CN111090585A (zh) * | 2019-12-09 | 2020-05-01 | 中国科学院软件研究所 | 一种基于众测过程的众测任务关闭时间自动预测方法 |
CN111415062A (zh) * | 2020-02-19 | 2020-07-14 | 平安科技(深圳)有限公司 | 众包任务分配方法、装置、电子设备及存储介质 |
CN111444332A (zh) * | 2020-03-13 | 2020-07-24 | 广州大学 | 众包知识验证环境下众包工人可靠性模型建立方法及装置 |
CN111666207A (zh) * | 2020-05-18 | 2020-09-15 | 中国科学院软件研究所 | 一种众包测试任务选择方法及电子装置 |
CN112819210A (zh) * | 2021-01-20 | 2021-05-18 | 杭州电子科技大学 | 空间众包中工人可拒绝下的在线单点任务分配方法 |
CN113806028A (zh) * | 2020-06-16 | 2021-12-17 | 阿里巴巴集团控股有限公司 | 一种空间众包任务分配方法及系统、计算机可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5916596B2 (ja) * | 2012-12-18 | 2016-05-11 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | タスク配分サーバ、タスク配分方法、およびタスク配分プログラム |
US10445671B2 (en) * | 2015-08-27 | 2019-10-15 | Accenture Global Services Limited | Crowdsourcing a task |
CN110400128B (zh) * | 2019-07-29 | 2020-06-23 | 电子科技大学 | 一种基于工人偏好感知的空间众包任务分配方法 |
CN111311115B (zh) * | 2020-03-12 | 2021-04-23 | 电子科技大学 | 一种基于空间众包社交影响偏好的组任务分配方法 |
-
2022
- 2022-01-10 CN CN202210019428.5A patent/CN114020650B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108197835A (zh) * | 2018-02-05 | 2018-06-22 | 北京航空航天大学 | 任务分配方法、装置、计算机可读存储介质及电子设备 |
CN111090585A (zh) * | 2019-12-09 | 2020-05-01 | 中国科学院软件研究所 | 一种基于众测过程的众测任务关闭时间自动预测方法 |
CN111415062A (zh) * | 2020-02-19 | 2020-07-14 | 平安科技(深圳)有限公司 | 众包任务分配方法、装置、电子设备及存储介质 |
CN111444332A (zh) * | 2020-03-13 | 2020-07-24 | 广州大学 | 众包知识验证环境下众包工人可靠性模型建立方法及装置 |
CN111666207A (zh) * | 2020-05-18 | 2020-09-15 | 中国科学院软件研究所 | 一种众包测试任务选择方法及电子装置 |
CN113806028A (zh) * | 2020-06-16 | 2021-12-17 | 阿里巴巴集团控股有限公司 | 一种空间众包任务分配方法及系统、计算机可读存储介质 |
CN112819210A (zh) * | 2021-01-20 | 2021-05-18 | 杭州电子科技大学 | 空间众包中工人可拒绝下的在线单点任务分配方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114020650A (zh) | 2022-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021017679A1 (zh) | 地址信息解析方法、装置、系统及数据获取方法 | |
CN114020650B (zh) | 众测任务分配方法、装置、电子设备及存储介质 | |
CN110766269A (zh) | 一种任务分配方法、装置、可读存储介质及终端设备 | |
CN111177473B (zh) | 人员关系分析方法、装置和可读存储介质 | |
Khari et al. | Comparison of six prioritization techniques for software requirements | |
CN113537807B (zh) | 一种企业智慧风控方法及设备 | |
CN107622326A (zh) | 用户分类、可用资源预测方法、装置及设备 | |
CN107256461B (zh) | 一种充电设施建设地址评价方法及系统 | |
CN114219242A (zh) | 车辆装备的效能评估方法及效能评估体系构建系统 | |
CN114782123A (zh) | 一种信用评估方法及系统 | |
Kniaz et al. | Method of selection of indicators in the context of information and analytical support of evaluation of development of foreign economic activity of enterprises | |
CN111882113A (zh) | 一种企业手机银行用户的预测方法和装置 | |
Ponelis et al. | A descriptive framework of business intelligence derived from definitions by academics, practitioners and vendors | |
CN114781948B (zh) | 用于确定员工工作质量的数据处理方法及相关装置 | |
CN115617670A (zh) | 软件测试管理方法、存储介质及系统 | |
CN115759862A (zh) | 预约揽件服务考核方法、装置、设备及存储介质 | |
CN114510405A (zh) | 指标数据评估方法、装置、设备、存储介质及程序产品 | |
CN108629506A (zh) | 风控模型的建模方法、装置、计算机设备和存储介质 | |
US7801757B2 (en) | Computer implemented customer value model in airline industry | |
CN113313470A (zh) | 一种基于大数据的就业类型评估方法及系统 | |
US8924918B2 (en) | Evaluation apparatus, an evaluation method and an evaluation program storing medium | |
de Alfaro et al. | Incentives for truthful evaluations | |
Ahmad et al. | The Adoption of Enterprise Architecture by Public Sector Organizations: Research in Brief | |
CN110400160B (zh) | 识别竞品用户的方法、装置、电子设备和存储介质 | |
JP2020009168A (ja) | 品質評価装置および品質評価方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |