基于深度强化学习的Web服务众包测试任务分配方法与流程

文档序号:19385342发布日期:2019-12-11 00:53阅读:785来源:国知局
导航: X技术> 最新专利> 计算;推算;计数设备的制造及其应用技术
基于深度强化学习的Web服务众包测试任务分配方法与流程

本发明涉及数据处理技术领域,尤其涉及一种基于深度强化学习的web服务众包测试任务分配方法。



背景技术:

随着web服务的应用越来越广泛,对其能否正常执行并达到预期功能效果的需求也日益迫切。为确保web服务满足其预期的功能和质量要求,必须对其进行全面测试。对web服务进行测试需要测试人员具有一定程度的相关知识和能力,比如测试用例设计能力、相应的编程能力和测试报告撰写能力等。在这种情况下,传统的测试方法和测试工具难以满足上述要求。

近年来出现的众包测试形式可以很好地考虑合适测试人员的选择问题,以提高服务测试的效果。但是,在众包测试中,如何将测试任务分配给更合适的测试人员,同时又以尽可能低的测试成本来获得更好的测试结果是一个非常重要的问题。比较常见的方法是将这类众包测试任务分配问题规约为一个优化问题来处理,将该问题建模为一个约束求解问题,使用精确式算法或启发式算法对其进行优化求解,但众包平台上时刻有新任务和新工人加入,这种方式在每次分配时都需要大量计算,因此,它更适合解决离线众包测试任务分配问题。对于众包测试环境中的web服务测试任务分配问题,更希望能够在线进行测试任务分配。



技术实现要素:

根据现有技术存在的问题,本发明公开了一种基于深度强化学习的web服务众包测试任务分配方法,具体包括如下步骤:

根据众包平台上的工人池和任务池内的数据信息、对深度强化学习的web服务测试任务分配模型进行训练;

众包平台接收需求者提交的测试任务,使用完成训练的web服务测试任务分配模型进行测试任务的分配;

工人接受并执行任务、将任务测试结果反馈给众包平台,众包平台将工人反馈的测试结果传送给相应的任务需求者。

进一步的,所述采用深度强化学习的web服务测试任务分配模型进行训练具体方式为:

将每个测试任务定义为深度强化学习网络的一个状态s、为每个测试任务选择某个测试工人作为一个动作a、将强化学习中的回报值r设置为任务s分配给测试工人a得到的任务完成质量;

设置三项约束条件分别为:测试工人的能力大于测试任务的难度等级,测试任务分配至测试工人需要支付的报酬小于测试任务的最大成本,每个测试工人执行任务的数量小于设定阈值;

将每个测试任务s传递给当前q值网络,当前q值网络反馈出使q值最大的动作a、同时满足三项约束条件,即动作a为当前任务s选择的工人,将当前任务选择的结果作为一个组合(s,a,r,s')存储至回放记忆单元中、其中s'为下一个需要分配的任务;

使用回放记忆单元中的数据对当前q值网络和目标q值网络进行参数学习更新:将回放记忆单元中的一条数据(s,a)对传递给当前q值网络;

当前q值网络输出其对应的q值q(s,a)、并将q(s,a)传递给dqn误差函数,将回放记忆单元中该条数据中的下一个任务s'传递给目标q值网络,目标q值网络输出使s'的q值最大的动作a',并将得到的最大q值maxq(s',a')传递给dqn误差函数,将回放记忆单元中该条数据的回报值r传递给dqn误差函数。

由于采用了上述技术方案,本发明提供的一种基于深度强化学习的web服务众包测试任务分配方法,该方法能够实时的为web服务众包测试任务选择合适的众包测试工人,可以提升测试效果,提高工作效率。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明方法的流程图。

具体实施方式

为使本发明的技术方案和优点更加清楚,下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚完整的描述:

如图1所示的一种基于深度强化学习的web服务众包测试任务分配方法,具体包括如下步骤:

s1:根据众包平台上的工人池(即工人集合)和任务池(即web服务众包测试任务集合)中的数据,对基于深度强化学习的web服务测试任务分配模型进行训练;

进一步的,对基于深度强化学习的web服务测试任务分配模型进行训练具体采用如下步骤:

s11:结合实际众包测试环境,将dqn(deepq-learningnetwork)作为解决服务测试任务分配问题的方法。原因是众包测试环境比较复杂,“状态”和“动作”都非常之多,使用传统的强化学习中的q-learning方法难以处理这种离散动作非常多的情况,因为其需要将各个状态对应动作的q值(回报值)存在一个二维表格中。因此,引入神经网络,采用深度强化学习中的dqn方法来解决服务测试任务分配问题。

s12:将每个任务作为强化学习中的一个“状态”(state,下文中简写为s),为任务选择某个测试工人作为一个“动作”(action,下文中简写为a),强化学习中的“回报值”(reward,下文中简写为r)设置为任务s分配给测试工人a得到的任务完成质量;

基于dqn解决web服务众包测试任务分配的方法中各参数变量定义如下:

state(s):表示某个任务,在多对多的分配环境中,需要对同一个任务重复执行多次分配操作,以分配给不同的工人。在选择工人的过程中使用ε-greedy策略(即以一定的概率p来根据q值选择,以1-p的概率进行随机选择)。当为任务分配的一系列工人满足该任务条件后,则停止选择,进入下一个任务。

action(a):表示选择众包测试工人,动作空间为所有工人。

reward(r):表示任务选取某个工人后获得的即时回报奖励值。即为某任务选择的一系列工人可以得到如下公式中的回报值r。

其中,c1和c2是两个权重系数,且c1+c2=1。qi为任务s分配的一系列测试工人在知识领域i内的能力值之和,t为完成任务s所需的知识领域的数量,表示为任务s分配的一系列工人在能力方面的任务完成质量;ws表示为任务s分配的一系列测试工人所需的报酬之和,ws为任务s的成本阈值。

dqn中的q值更新公式为:

α为学习速率(learning_rate),通常设定为0.01,学习速率α越大,保留之前训练的效果就越少;r是眼前回报,为以往的回报;γ为折扣因子(discountfactor),γ越大,就越重视以往经验,越小越重视眼前回报r。

选择行为的策略是ε-greedy,设定初始值为0.9。如当ε=0.9,则按照以90%的概率利用最优q值选择行为,以10%的概率随机选择行为。

s13:将分配的目标设置为使服务测试任务分配的质量(质量指的是为该任务选择的一系列工人的能力最高,而需要支付给测试工人的报酬总和最小)最高;

s14:分配过程中的约束条件有如下三类:

约束1:为每个任务分配的一系列众包测试工人在某个知识领域内的能力之和qi达到该任务在该知识领域内的难度等级;

约束2:每个任务支付给分配给其的一系列众包测试工人的报酬之和ws小于或等于任务可接受的最大成本;

约束3:每个测试工人可以执行的任务数量小于设定的阈值;

s15:将每个需要进行分配的任务s传递给当前q值网络,当前q值网络反馈一个可使q值(回报值)最大的动作a(argmaxq(s,a)),并且满足设置的约束条件。该动作a即为当前为任务s选择的工人;

s16:将该次选择的结果作为一个组合(s,a,r,s')存储到回放记忆单元中,作为其中的一条存储数据。s'为下一个需要分配的任务。

s17:使用回放记忆单元中的数据对神经网络进行参数学习更新:将回放记忆单元其中一条数据的一个(s,a)对传递给当前q值网络,该网络给出其对应的q值q(s,a),并传递给dqn误差函数,用于误差函数的计算。将回放记忆单元中该条数据中的下一个任务s'传递给目标q值网络,该网络给出能使s'的q值最大的动作a',并将得到的最大q值(maxq(s',a'))传递给dqn误差函数,用于误差函数的计算。回放记忆单元中该条数据的回报值r传递给dqn误差函数,进行误差函数的计算。

误差函数为:

l(θ)=e[(targetq-q(s,a;θ))2]

targetq为目标q值,且θ为网络参数,q(s,a;θ)为当前q值。

s18:计算dqn误差函数的梯度(即求l(θ)关于θ的梯度)。dqn误差函数的梯度会反馈给当前q值网络,以学习更新该层网络中的参数。

s19:每隔n步(隔一定的步数),都会更新一次目标q值网络,更新方式是将当前q值网络中的各个参数设置直接复制给目标q值网络。

s2:任务需求者发布web服务众包测试任务到众包平台;

s3:众包平台接受需求者提交的测试任务,使用训练好的任务分配模型进行测试任务的分配;

其中,每个web服务测试任务都由以下属性构成:

任务编号id,任务在各个知识领域i内的技能要求值qi,任务可接受的最大成本c。

每个众包测试工人都由以下属性构成:

工人编号id,工人在各个知识领域i内拥有的技能值si,,工人对完成任务的报酬要求ci。

s4:工人接受并开始执行任务;

s5:工人将任务测试结果反馈给众包平台,平台会将这些结果反馈给相应的任务需求者。

本发明公开的一种基于深度强化学习的web服务众包测试任务分配方法,本技术方案通过使用深度强化学习方法dqn来训练web服务测试任务分配模型,达到了对web服务众包测试任务进行实时分配的效果,可以在一定程度上保证测试任务能够交由众包测试平台上比较合适的测试人员来处理,提升了测试效果。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

完整全部详细技术资料下载
当前第1页 1  2 
相关技术
  • 一种应用回滚方法、装置及存储...
  • 回归测试的流程覆盖方法、服务...
  • 异常软件检测方法、装置、计算...
  • 一种python语言代码走查...
  • 一种Apache Ant集成...
  • 图数据库测试方法、系统、设备...
  • 测试用户界面的方法、装置、电...
  • 一种BDMS自动化测试方法与...
  • 一种操作系统问题分级处理系统...
  • 一种结合静态依赖和动态执行规...
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1

深圳SEO优化公司建网站优化坪环网站优化公司哪家好漯河教育网站优化通过关键词优化提升企业网站政府网站分析与优化电子书河源网站优化排名孝昌县网站做优化要多少钱江津如何优化网站网站快速优化外包怎么设置网站优化目录网站排名优化软件哪个好用无锡网站优化招聘坪地网站优化公司流程如何优化企业网站关键词昆山网站优化售后服务泉州网站优化营商龙华网站推广优化怎么做织梦网站需要优化黄石产品网站优化公司优化网站排名用金手指靠谱犀牛云网站优化骗人大丰网站搜索优化方案东城网站排名优化凯里哪家网站优化公司好电子网站优化技巧网站推广及优化贵阳快速优化网站嘉兴网站优化找哪家海安市网站关键词优化厂家辽宁传统行业网站优化有什么方法歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化