基于强化学习的测试日志智能分析实践

基于,强化,学习,测试日志,智能,分析,实践 · 浏览次数 : 360

小编点评

**测试日志智能分析方案** **摘要** 测试日志智能分析是提升智能化测试效率的关键步骤。随着软件规模的增长,加快测试速度降低成本、实现智能化测试是至关重要的。本文介绍了一种失败测试日志分析方案,其主要流程包括数据采集、数据预处理、特征生成、模型生成和智能分析等步骤。 **主要技术** *强化学习 *主动学习 *word2vec *TextCNN **方案流程** 1. 数据采集并标注 2. 数据预处理 3. 特征生成 4. 模型生成和智能分析 5. 性能分析 **性能提升** *分析准确率可达到90%以上 *免人工复核占比52.78% **落地效果** *华为100多个产品线支持自主接入和分析 *提供自动预处理规则管理、效果展示及训练模型分析功能 **结论** 该方案有效地提升了测试日志智能分析的效率,可以帮助减少人工工作量,提高测试效率。

正文

摘要:测试日志智能分析是提升智能化测试效率的一个关键步骤。

本文分享自华为云社区《【智能化测试专题】基于强化学习的测试日志智能分析实践》,作者: DevAI 。

随着软件规模的不断扩增,加快测试时间降低成本、实现智能化测试是至关重要的,而测试日志智能分析是提升智能化测试效率的一个关键步骤。当前由自动化测试阶段产生的大量日志,主要依赖人工分析,而人工分析工作量大、耗时较长,以华为某产品线为例,每月都会产生30-40万的测试失败日志,而人工分析每天仅能分析20-30条日志。此外人工分析时,很大一部分工作是分析重复或同类问题,且测试人员分析经验复用困难,严重制约测试效率。

测试日志智能分析是从日志采集、日志解析与预处理、失败日志根因分析及分类以及数据可视化的一整套解决方案。日志分析的发展从传统的基于规则引擎的算法,到现在的基于机器学习与AI技术的算法方案,其自动化程度得到了很大的提升, 然而它依然会面临着一些问题:1)算法和业务之间存在一定的信息差,业务需要理解算法层面所需要的关键信息,才可能使得所提供的信息是有效的。2)算法方面也需要协同产品方面的专家,来进行特征提取,而专家资源受限。3)其解决方案需要针对不同产品特性进行调参、优化模型等,但模型需要海量历史数据和标准化的标注,业务方标注准确率堪忧。

针对上述问题,我们基于强化学习和主动学习,提出了一种失败测试日志分析方案,其主要流程如图1所示。该方案包括了:1) 数据采集 2)数据预处理3)特征生成 4)模型生成 5)智能分析等模块。

1. 数据采集

日志智能分析的任务是有监督/半监督学习任务,我们需要事先对数据进行收集与标注,针对测试人员标注好的数据,我们按8:2的比例进行训练数据和测试数据的切分。平均地,训练数据的量级可达到万级以上,测试数据的量级可达到千级/万级以上。

2. 数据预处理

测试日志文本通常是非结构化的日志文本,文本长度通常较长,单个日志大小平均可达300KB,我们需要事先进行文本清洗和预处理,来过滤与失败类别无关的信息,聚焦到与任务相关的有效信息上。预处理步骤会先移除不需要的格式,比如解析html格式文本,提取相应的日志内容;接着,提取的日志内容会分别经过基于通用规则的方法和基于用户自定义规则的方法,来进行数据的清洗和分词。这里的通用规则是综合多个业务提炼的规则,用户自定义规则则是用户针对当前业务生成的规则和自定义词典(包括专业名词和停用词等),可适配到各个业务。

3. 特征生成

日志文本特征向量构建主要选取了基于word2vec的向量化方法和基于TextCNN的向量化方法来。日志文档特征向量是利用word2vec方法生成的词向量与对数词频加权平均后的结果,以及TextCNN直接生成文档向量。

4. 模型生成与智能分析

模型生成与智能分析主要是结合了强化学习和主动学习,来对是否给出正确预测进行奖罚。对于新采集到的日志,会跟日志库中的数据进行比较,选出top-k个距离最近的日志样本,若距离超出一定阈值,则不给出分析结论,若符合阈值内的样本则加入候选集中,并且强化学习模型会计算候选集的得分,根据得分判断是否给出失败原因描述。最后由人工去确认失败原因是否正确以此是否做出奖励或惩罚,从而不断优化强化学习模型。

5. 性能分析

相比于业界主流方法,该模型的分析准确率能够达到90%以上,算法时间整体从501.2s提升在2.1s左右。另外智能分析模型在某产品落地时,免人工复核占比52.78%。

6. 自助接入

测试日志智能分析已经落地华为100多个产品线,为用户提供了自主接入、自主训练、结果分析的功能:提供自动的预处理规则管理、预处理效果展示,支持用户一键式自助训练模型,观测模型分析准确率与结果。

7. 总结

在华为多个产品业务背景下,本文提出了一种有效的日志智能分析方案,可以学习历史测试日志,对现网失败用例根因智能定界,大大减少了重复问题的定位,减轻了测试人员的工作量,另外针对不同产品的数据特征,可以适配合适的模型方案,并提供了用户自助接入与分析的功能。相比于基于规则的分析方法,本文方法不需要维护复杂的规则表以及规则冲突的情况,另外相比于传统监督学习的方法,本文方法更适用于有大量人工标记且数据稀疏的情况,来提升预测结果的准确性。我们也将持续地关注业界学界的最佳实践及新模型,以探索更优的解决方案。

文章来自PaaS技术创新Lab,PaaS技术创新Lab隶属于华为云,致力于综合利用软件分析、数据挖掘、机器学习等技术,为软件研发人员提供下一代智能研发工具服务的核心引擎和智慧大脑。我们将聚焦软件工程领域硬核能力,不断构筑研发利器,持续交付高价值商业特性!加入我们,一起开创研发新“境界”!

PaaS技术创新Lab主页链接:https://www.huaweicloud.com/lab/paas/home.html

 

点击关注,第一时间了解华为云新鲜技术~

与基于强化学习的测试日志智能分析实践相似的内容:

基于强化学习的测试日志智能分析实践

摘要:测试日志智能分析是提升智能化测试效率的一个关键步骤。 本文分享自华为云社区《【智能化测试专题】基于强化学习的测试日志智能分析实践》,作者: DevAI 。 随着软件规模的不断扩增,加快测试时间降低成本、实现智能化测试是至关重要的,而测试日志智能分析是提升智能化测试效率的一个关键步骤。当前由自动

TCP内核参数与Nginx配置的简单测试

背景 昨天晚上整理了下几个TCP内核的参数. 学习到了一点内核参数的影响. 但是因为时间比较晚了没有继续钻研与nginx的关系 今天想着继续研究一下TCP的部分参数与nginx的关系 每个系统都不一样. 结果可能跟内核版本和内核参数强相关. 我这里用的是基于ARM的银河麒麟 还有基于x86的Open

动手造轮子自己实现人工智能神经网络(ANN),解决鸢尾花分类问题Golang1.18实现

人工智能神经网络( Artificial Neural Network,又称为ANN)是一种由人工神经元组成的网络结构,神经网络结构是所有机器学习的基本结构,换句话说,无论是深度学习还是强化学习都是基于神经网络结构进行构建。关于人工神经元,请参见:人工智能机器学习底层原理剖析,人造神经元,您一定能看

MindSpore强化学习:使用PPO配合环境HalfCheetah-v2进行训练

本文分享自华为云社区《MindSpore强化学习:使用PPO配合环境HalfCheetah-v2进行训练》,作者: irrational。 半猎豹(Half Cheetah)是一个基于MuJoCo的强化学习环境,由P. Wawrzyński在“A Cat-Like Robot Real-Time L

动手实践丨基于ModelAtrs使用A2C算法制作登月器着陆小游戏

摘要:在本案例中,我们将展示如何基于A2C算法,训练一个LunarLander小游戏。 本文分享自华为云社区《使用A2C算法控制登月器着陆》,作者:HWCloudAI 。 LunarLander是一款控制类的小游戏,也是强化学习中常用的例子。游戏任务为控制登月器着陆,玩家通过操作登月器的主引擎和副引

实践讲解强化学习之梯度策略、添加基线、优势函数、动作分配合适的分数

摘要:本文将从实践案例角度为大家解读强化学习中的梯度策略、添加基线(baseline)、优势函数、动作分配合适的分数(credit)。 本文分享自华为云社区《强化学习从基础到进阶-案例与实践[5]:梯度策略、添加基线(baseline)、优势函数、动作分配合适的分数(credit)》,作者: 汀丶。

强化学习实践:Policy Gradient-Cart pole游戏展示

摘要:智能体 agent 在环境 environment 中学习,根据环境的状态 state(或观测到的 observation),执行动作 action,并根据环境的反馈 reward(奖励)来指导更好的动作。 本文分享自华为云社区《强化学习从基础到进阶 - 案例与实践 [5.1]:Policy

深度Q网络:DQN项目实战CartPole-v0

摘要:相比于Q learning,DQN本质上是为了适应更为复杂的环境,并且经过不断的改良迭代,到了Nature DQN(即Volodymyr Mnih发表的Nature论文)这里才算是基本完善。 本文分享自华为云社区《强化学习从基础到进阶-案例与实践[4.1]:深度Q网络-DQN项目实战CartP

图神经网络综述:模型与应用

图神经网络综述:模型与应用 引言 图是一种数据结构,它对一组对象(节点)及其关系(边)进行建模。近年来,由于图结构的强大表现力,用机器学习方法分析图的研究越来越受到重视。图神经网络(GNN)是一类基于深度学习的处理图域信息的方法。由于其较好的性能和可解释性,GNN 最近已成为一种广泛应用的图分析方法

NeurIPS 2022:基于语义聚合的对比式自监督学习方法

摘要:该论文将同一图像不同视角图像块内的语义一致的图像区域视为正样本对,语义不同的图像区域视为负样本对。 本文分享自华为云社区《[NeurIPS 2022]基于语义聚合的对比式自监督学习方法》,作者:Hint 。 1.研究背景 近些年来,利用大规模的强标注数据,深度神经网络在物体识别、物体检测和物体