揭秘百度智能测试在测试定位领域实践
作者 | intelligents

前几篇,别离介绍了测验活动测验输入、测验履行、测验剖析、测验定位和测验评价五个进程中测验输入、履行、剖析、评价的智能化研讨和实践,本章节要点介绍测验定位环节的智能化实践。

测验定位的首要作用是在构建失利或问题产生后,快速给出产生该现象的原因,以帮忙现象处理者给出合理的处置措施,下降问题处理时长,下降人力定位本钱和问题时长,依据原因进行分类一般也分为两种:

一、根因定位:即给出形成失利的实在原因(如代码问题);

二、行为定位:即给出形成失利的或许操作或改变,以快速进行处置,下降影响面。

测验定位智能化经过将数据、算法、工程等相关技能有机结合,从问题现象、问题相关数据、体系相关数据,运用战略或算法给出问题产生的操作项或根本原因,以终究给予问题处理者决议计划对应的处置行为。在该范畴的实践相对较少,百度QA也一直在探究研讨和实践。本章节将从多个实践的视点,本章节将从多个实践的视点,介绍相关范畴的目标、思路、涉及到的技能点,期望能给到咱们一定参阅。

一、 依据频谱的问题根因定位

依据频谱的问题根因定位期望能经过定位剖析技能手段,揭露出疑似代码问题范围,帮忙研制和测验人员在定位问题中快速修复,下降人效。依据频谱的问题根因定位在学术界研讨已久,其思路是运用测验用例履行进程中的程序元素信息(如测验成果、代码掩盖率),对内部代码做逻辑差异剖析,对代码行或代码块进行可疑度排序,从而去定位过错根源。其首要进程为运用插桩编译后的程序履行被测用例调集,对每一个测验用例的符号代码块/句子是否掩盖、是否经过进行剖析,以句子/代码块为统计单位,采集<ef,ep,nf,np>四元组特征(ef:失运用例中,该代码块履行的次数;ep:成功用例中,该代码块履行的次数;nf:失运用例中,该代码块未履行的次数;np:成功用例中,该代码块未履行的次数),经过多种可疑度公式(如Tarantula,Ochiai,Overlab等),将每个符号代码块/句子计算出一个可疑度值,并依据可疑度分数排序得到终究高危险代码片段调集。该剖析定位才能较为通用,可广泛应用到如单元测验、功用测验、diff测验等测验活动,大大下降人工排查定位本钱,后续也将持续探究,结合更多代码白盒元素,尝试更多问题根因定位手段不断提高定位才能,现在百度正在将该定位才能集成到主动化测验流水线中。

二、依据过错码的构建体系定位计划

在测验人员的日常工作中,各种主动化使命量大,其间的反常构建数多,流水线履行完后,事务线同学需求花许多人力在问题定位&标示和红灯修复上;一起,许多问题没有彻底闭环,人工处理止于问题标示和手动康复,导致同类问题反复呈现。为了处理此类问题,咱们期望对主动化反常构建进行主动标示、修复、问题闭环。过错码,是当时体系问题的一种较为直观反映。事务能结合代码注释、经验等,将过错码翻译为详细的过错原因;针对这原因一般有两种处理计划,一是可以依托主动化康复,二是需求人工介入处理。咱们将以上进程概括为主动标示战略、自愈战略、问题闭环战略。主动标示战略指由过错码得出过错原因后,主动化标示过错分类,节约人工定位标示耗时。这要求事务线将使命日志接入一致的日志体系或运用咱们规则的插件,并梳理一份过错码和过错分类的映射表,在插件中心进行注册。如此在问题产生时,东西便可以捕获过错日志,并提取其间的过错码,和过错分类做映射,并标示。自愈战略根底是主动标示战略。自愈战略接入需求先圈定主动重启的场景,即满意什么条件需求触发自愈,依赖东西产出的过错码,每一种条件为一种自愈子战略。判别当时满意自愈条件时,便触发自愈战略,如呈现红灯时重启环境等。可依据事务线需求,配置超时时刻、模块、内存等多个触发条件和自愈子战略,支撑事务线自行定制,较为灵敏。问题闭环战略同样依据主动标示战略,和自愈战略可以结合运用。在大概率需求人工介入的场景,主动创立问题的icafe卡片,卡片内容中描述问题、过错码和主动定位成果,由人工来承认问题的处理方式和处理成果。从问题呈现到卡片创立再到卡片状况被修正为处理完结,才算完结闭环。在项目事务线试点中,反常使命问题上报率到达100%,问题闭环率到达94%。

三、商业收入改变大盘止损决议计划定位介绍

商业收入改变大盘止损决议计划定位进程由报警接收, 报警定位确诊、毛病特征提取、止损决议计划、止损计划引荐组成,其核心是掩盖和确诊战略的有效性;其间掩盖又包括报警掩盖、目标掩盖两部分;报警掩盖首要需求掩盖产品线的各个子方向,目标掩盖是指对当时已掩盖报警的事务的监控目标齐备性的掩盖,包括体系稳定性目标掩盖、用商目标掩盖、宏观目标&事务进程目标结合齐备性目标的全体掩盖,经过齐备的报警目标掩盖能第一时刻感知商业大盘收入改变危险,依据报警信息制定一套毛病特征规范数据结构来解析不同报警取得通用的毛病特征;确诊战略对毛病特征进行战略剖析并终究给出有效的止损引荐计划,确诊战略的有效性对终究止损引荐的质量至关重要。当时确诊战略首要包括危险程度辨认战略用于判别报警危险程度;危险目标&报警辨认战略用于判别体系相关的危险目标/模块信息;反常点辨认战略用于承认事务实在反常时刻点;日志trace定位战略结合作用监控拓扑,对报警链路模块日志trace定位,完成准确定位到毛病模块,进而对模块程序/词典变更暂停或回滚止损;依据监控影响pv计算当时报警预估损失pv指数,预估线上问题级别, 给出止损建议;经过止损库战略梳理给出齐备的止损预案操作指导快速发起止损决议计划;为了更便于不同事务定制确诊战略,当时提供毛病确诊、止损决议计划战略支撑事务低本钱自定义编写,其间毛病特征可在承继通用战略的根底上自行编排、告诉款式可在根本规范格局下进行子编排处理。现在商业收入改变大盘止损决议计划定位已完结报警触发、确诊、止损引荐的全流程机制打通,并可直接给出止损决议计划计划。

四、查找UI展示case级定位方法

为了提高体系质量,质量保障同学一般会针对体系建造全方位的质量监控,虽然能召回的问题变多,但是随之而来的针对case级的定位,就会是一项耗时耗力的工作,ui展示case定位便是依据这个布景而来的。定位首要分为两个部分,一个是根底建造,二便是详细逻辑完成。根底建造是定位重要的一环,体系的复杂度会给咱们定位带来极大的挑战,越是复杂的体系就越难定位。针对这个问题咱们处理计划是建造完整的日志trace计划。首要为了节约资源,不独自存储日志,只存种子信息,一切日志保存一份;然后建造模块topo,将日志从上到下的进行递归检索,依据日志的内容生成请求链路。最终为了保证安全,建造流量管控,超时等机制。终究完结了秒级延迟和检索耗时的日志trace才能。二便是详细定位逻辑完成,首要是经过定位topo、结合case报警信息去触发全体的召回定位才能,然后经过日志里的进行进行正则化的匹配和提取,来判别在详细case的原因在哪些当地有体现,比方详细的资源为什么没有召回,在哪个当地被删去和修正,终究完成分钟级别的报警接收和主动定位。

———- END ———-

引荐阅读【技能加油站】系列:

揭秘百度智能测验在测验评价范畴实践

揭秘百度智能测验在测验剖析范畴实践‍

揭秘百度智能测验在测验主动履行范畴实践

揭秘百度智能测验在测验主动生成范畴的探究

【技能加油站】浅谈百度智能测验的三个阶段

【技能加油站】揭秘百度智能测验规模化落地

揭秘百度智能测试在测试定位领域实践