《2019年阿里妈妈智能质量中台建设.pdf》由会员分享,可在线阅读,更多相关《2019年阿里妈妈智能质量中台建设.pdf(52页珍藏版)》请在三个皮匠报告上搜索。
1、阿里妈妈智能质量中台建设目 录C O N T E N T S02技术背景及测试挑战测试终局的思考0304阿里妈妈智能质量中台的思考与设计智能质量中台的落地0506基于质量中台的持续交付01业务背景07测试技术体系的演进业务背景Part.01最早的广告刊登广告广告代理公司在线广告广告发展趋势客户端平台直通车定向品牌数据反作弊预估引擎平台训练引擎解决方案Java应用结算联盟中间件算法千亿pv百万级别qps千亿现金流40+核心应用679需求上线,1100+次应用发布1:4:6测试:工程:算法技术背景与测试挑战Part.02广告引擎的特点1.海量数据计算与极短RT的约束2.广告千人千面的特性带来系统可
2、解释性难题3.系统快速迭代中质量和效率的平衡4.测试复杂度高技术背景与测试挑战问速反馈极致追求实时数据链路个性化商业场景超大规模在线系统引擎系统对性能极高要求带来的挑战引擎在线实时系统对稳定性极高要求带来的挑战复杂业务场景和逻辑纵深的挑战高频迭代发布的挑战收入敏感系统结合个性化业务的问题debug的挑战工程算法平台对质量和效率的挑战千级别+线上发布性能极致追求工程和算法结合AI的演进:超大规模引擎工程系统和深度学习模型测试挑战大规模分布式加海量数据的C+引擎系统的挑战大量算法策略带来的结果不确定性的挑战测试终局的思考Part.03关于测试终极追求的定义对质量和效率的定义:质量:数学角度就是系统
3、输出的表现方差少(2016年)效率:Code 速率提升和反馈回路时间减少(2017年)代码速率:f(代码速率)=f(线下测试速率)+f(发布速率)+f(线上冒烟速率)代码速率=一行代码从开发到交付到线上的速率线下测试速率=一个case从编写到可运行的速率发布速率=一次变更发布到生产的速度线上冒烟速率=一次冒烟执行的速度测试效力=线下测试+线上冒烟测试的速率什么是质量、什么是效率,怎么定义?极致质量和效率的追求?关于终局的思考“极致”左移规模越来越大的工程系统和算法模型业务场景愈发多样和复杂快速迭代对研发效率的强诉求“极致”右移三个业务发展终局下测试的终局?线下测试场景和线上业务场景始终是有GA
4、P的Case编写和维护成本高线下测试线上测试测试活动终局终局极致质量和效率的追求阿里妈妈智能质量中台的思考与设计Part.04“人、智能化工具的高度结合从而推高阿里妈妈研发效能的天花板”基于质量效率思考推到出的质量中台演进短低长高冒烟测试对业务覆盖率Feedback Loop Time稳定性目标效力短板质量效率线上测试问题debug联调测试数据测试功能测试性能测试短低长高冒烟测试对业务覆盖率Feedback Loop Time线上测试问题debug联调测试数据测试功能测试性能测试平台能力建设基于质量能力中台定义并实现一种高置信度、快速、低成本的代码发布生产关系12341234 重新定义冒烟测试
5、 依托于问题debug质量闭环极致效率追求的测试平台无人值守的性能测试无人值守的发布验证智能质量中台测试的基础设施业务测试PTM质量中台+-研发效率解决方案研发效率数据化平台MarkovACP玄武华佗昆仑镜UT功能A/B性能A/B单模块测试联调测试预发联调稳定性测试线上测试线上debug线上监控git测试域发布&运维&测试右移研发域&测试左移代码管理C-popOOPSTesla黄金眼/alimonitorAonegitOrcArsenal镜像管理部署发布提测管理算法实验监控报警问题管理构建提测发布A/B test监控问题管理智能质量中台大促保障工作台实验平台攻防演练平台预案平台1.可编排、服务
6、化的代码生产质量流水线2.质量文化建设基石3.重塑新的研发生产关系智能质量中台的落地Part.05智能功能测试平台Markov智能线上测试平台玄武无人值守的智能压测平台ACP智能诊断平台线上巡检线下测试的演进?关于功能测试的思考方向想测即测极致的case编写的用户体验测试想法的快速映射为Case高效的用例管理高效的测试环境管理极致的运行效率极致左移对测试效率的极致追求诉求:测试产品Markov测试平台 多视角极致左移测试体系体系设计:抛弃传统模式,把功能测试、对比测试、性能测试左移到提测前 打破线上线下环境壁垒,把线上请求,数据,生产环境左移到发布前 功能、对比、性能、UT核心能力服务化 通过
7、可视化,pipeLine屏蔽研发流程复杂性核心价值:代码、应用、业务等多个视角衡量质量 最大程度保证功能测试覆盖度,逼近100%最大程度保证功能测试结果准确性UT功能对比性能真实数据真实环境提测发布联调5天UT功能对比性能真实数据真实环境提测发布联调1天4小时 提测已经逼近可上线状态智能功能测试平台Markov定位:1.测试效率的极致追求;2.线下测试的基础设施;3.基于测试能力服务化的质量生产关系重构。基础平台核心能力执行管理插件管理数据推荐环境管理数据管理UT功能测试对比测试性能测试环境管理可视化推荐用例管理质量评估RESTHSF调试环境智能交互代码质量评估功能无diff性能无diff极简
8、开发UTBVT专注业务CLI&可视化环境管理用例编写可视化标准&开放组件库用例运行自动编排组件化用例自动生成用例推荐智能化可视化&协同开发质量数据UT/测试覆盖率可衡量测试准入发布准入-OOPS自动化可编排PipeLine可编排测试模板标准化自动化&REST测试服务化开发者模式研发流程自动化用户:开发/算法1.极简开发模式,屏蔽研发流程复杂性,让用户专注业务代码开发2.测试极致左移,提高代码质量用户:测试/开发1.标准化、可编排引擎功能测试模板2.可视化用例编写,智能数据推荐3.稳定快速的环境部署能力用户:测试/质量运营1.快速/稳定/全流程质量保证2.提供测试准入3.提供发布准入平台Feat
9、ure功能测试的极致效率提升智能回归用例智能推荐用例膨胀数据智能推荐线上流量回流技术基于docker的分布式环境管理能力 测试环境docker化统一维护,测试环境10分钟以内构建完成。极致左移的CI技术 一键触发UT/功能回归/功能对比/性能对比全流程测试服务 原生的研发工作习惯Markov主要Feature诉求创新技术快速写case用例膨胀用例智能推荐数据智能推荐智能冒烟回流技术快速跑case智能回归技术提高覆盖率功能A/B test快速做性能性能A/B test快速触发CLI触发技术快速搭建环境环境管理创新技术简介 用例智能推荐框架层面的优化规范了自动化case流程提供了一定的业务封装li
10、b面向用户的case编写升级可视化编写用例智能推荐用例膨胀测试数据智能推荐线上回流生产用例用例膨胀智能推荐用例膨胀智能推荐要点:case级别推荐的基础上,更细粒度,更精准的测试数据推荐,case编写效率的进一步极致演进。推荐策略:模版推荐最长匹配推荐混合推荐创新技术简介 数据智能推荐创新技术简介 智能回归:用例动态编排算法 传统模式采用case总数与环境数进行平均的分配方式 智能回归模式:基于case运行时长数据动态分配Step 2:在多环境回归场景下Step 1:在单环境回归场景下 传统模式case by case的顺序执行 智能回归模式基于用例动态编排算法的执行方式。创新技术简介 智能回归
11、:反馈闭环创新技术简介 功能+性能 A/B Test目标:追求代码到性能验证的最短时效反馈目标:追求代码到功能验证的最短时效反馈创新技术简介 原生CLI触发技术目标:基于git的工作方式,将测试能力服务化内嵌到原生的开发工作方式中,实现“极致”的测试左移创新技术简介 智能冒烟回流技术传统功能测试流程冒烟调试法线上功能测试思考线上数据基于场景的业务Query抽取用例成本测试数据编写调试传统冒烟测试挑战:用例和功能点的matchAssert难度调试新的挑战:解法:端到端的Trace业务场景建模覆盖少智能线上测试平台玄武MBT的冒烟测试设计关键思考如何全场景的端到端的冒烟覆盖如何改变传统基于功能ca
12、se的覆盖率低维护成本高的冒烟冒烟测试方法论的变革以线上数据为基础的全场景覆盖冒烟通过字段和查询逻辑关系抽象为引擎建模场景抽象建模线上数据Log线上数据抽取全景监控数据映射端到端的Trace端到端的Trace日志中间节点的数据透出最后一个优化点:如何不断提高线上测试的业务场景覆盖率?智能线上测试平台玄武自我进化的测试技术引擎逻辑技术架构设计请求参数返回参数索引参数Tesla定义业务逻辑图谱功能描述逻辑细节字段映射验证分层单点逻辑验证规则统计验证规则推荐规则Query数据集合数据工厂算法挖掘Apriori聚类人工参与进化算法推荐进化算法推荐规则映射的query统计分布的流量抽取GAP真实覆盖率优
13、化的抓手期望理论覆盖率测试用例规则规则和query优化演进圈Trace数据Log数据数据业务model统计model整体架构和核心模块:玄武 业务Model抽取factsTrainingDataForecastDatarulesPatter MatcherBusiness ModelTest ResultreAssociation ruleBayes classifierRule EngineClustering algorithmAssertFeatureEngineeringfactsfacts核心能力:基于MBT思想的model测试线上真实query的大数据全场景业务覆盖覆盖率gap抓手
14、的自我进化业务Model可衡量othersfactsrulesrulesrulesreContent initiatorBusiness parserIntelligence AnalysisRules loader算法开始扫描数据库,对每个项进行记数1阶候选项目集是否大于最小支持度1阶频繁项目集Aprior-Gen运算2阶候选项目集2阶频繁项目集扫描数据库,对每个项进行计数.是否大于最小支持度Aprior-Gen运算K阶频繁项目集扫描数据库,对每个项进行计数K+1阶候选项目集K+1阶频繁项目集是否大于最小支持度算法结束玄武 规则智能学习:Apriori算法核心能力:业务变更自动处理,无需人工
15、介入自动识别新字段规则字段取值范围与异常检测大数据训练自动发掘,字段之间的关系(Apriori)Y.YNYN项集扫描过程Saas应用层(End Users)Paas应用层(Developers)Iaas应用层(Systems)Alidocker规则管理规则校验特征工程智能学习规则进化规则引擎(通用规则验证平台)查询线冒烟更新线冒烟单模块冒烟全景监控玄武分层架构冒烟域对比域索引对比前端对比ERPC数据对比性能域流程域稳定性压力测试环境部署扫core测试中心,可插拔式测试能力接入,可定制pipeline测试能力支撑业务线接入抓取线上请求接入玄武直通车业务定向业务云营销业务其他BU接入测试中心预发P
16、ipeline冒烟测试对比测试监控测试扫core异常请求性能测试断流测试通过,继续发布关闭报警发布应用镜像线上Pipeline测试中心冒烟测试测试通过报警退出玄武 无人值守发布验证流程测试失败环境部署资源分配镜像部署环境监控环境监控发布准入预发环境线上机房A线下测试通过开启报警观察效果继续发布线上机房B断流关闭报警发布应用镜像观察效果接流开启报警测试中心冒烟测试线上Pipeline测试通过自动回滚测试失败接流性能测试的思考性能测试:一种Case完全标准化的测试标准化的测试用例标准化的验证标准化的东西一定是可以自动化的是否可以全流程自动化?挑战:解法:基于压测场景的数据提取爬山算法的加压方式均值
17、飘逸算法的系统性能验证用例自动生成自动化校验测试数据自动生成无人值守的智能压测平台ACP核心点:无人值守的性能测试压测场景数据自动化抽取爬山算法+均值漂移探测系统性能极值性能指标多维化多协议多场景支持基于随机森林的校验模型创新技术简介数据工厂05TTswiftodps业务数据数据中心thread1thread2thread3thread4thread5threadnTime runnel业务处理随机抽取顺序选取抽样选取映射选取用户定义storageSlaveSlaveAgent测试打标+字段改写SlaveSlaveLocalJob过滤无效queryQuery测试打标白名单过滤用户规则改写数据校
18、验上传hdfsTT:pvlogSwift:预估回流数据创新技术简介无人值守方案无人值守的自动压测方案模型、算法主导压测过程代替人工压测无人值守的压测全流程pipeline异常点检测算法组件:Kmeans-算法均值漂移算法马氏距离,欧式距离检测算法压测流程算法组件:爬山算法退火算法无人值守的自动压测pipeline核心模型预估组件基于随机森林的模型基于dnn/rnn的模型根据业务线需要自定义选取流程算法自动调用模型预估服务进行预测压测到极限时调用异常点检测算法判定是否到达极限无人值守压测质量的另一个领域客户反馈的线上问题挑战:分布式实时系统架构客户收益敏感性业务场景膨胀和个性化算法的不可解释性解
19、法:1.端到端的系统Trace技术2.系统节点的数据透出3.系统快照4.秒级数据处理能力智能debug系统引擎在线系统Trace服务实时异步回写trace信息巡检冒烟系统在线trace数据流实时更新系统拟合存储智能判断诊断模型场景编排场景Model 1场景Model 2场景Model 3常规诊断投诉诊断风险诊断客户操作广告无展现系统状态不对创意出价未同步扣费大于出价投放超过预算投放地域不匹配禁搜词违规操作审核状态客户改价未生效客户计划上下线客户操作历史智能debug流程用户感知系统状态实时反馈系统状态、指标的收集实时大屏全景视图模块视图系统视图监控树模块报警Highlight系统监控大图运维工
20、具效果监控玄武(线上测试巡检)系统监控昆仑镜系统状态实时反馈大屏生产环境巡检日常变更透出监控误报标注监控无效标注模块下监控项列表监控运营报表监控异常状态提示全监控项展现异常监控追踪感知洞察处理基于质量中台一天落地的巡检方案基于质量中台一天落地的巡检方案直通车定向广告业务信息流品牌云营销机房1机房2机房机房3巡检场景玄武平台debug平台流量端全链路场景巡检业务场景链路节点全景业务指标巡检Rpm、ctr系统指标Qps、超时率、cpu等日志每五分钟是否存在error log每五分钟里相对过去7天是否存在新增error log重要文件巡检存在coredump文件机房内部算法配置文件不一致对比一致率三
21、机房对比一致率10分钟巡检分钟级排查质量兜底大促稳定性基于质量中台的持续交付Part.06“技术驱动业务,场景反哺技术”应用aNew应用b应用cNew应用dNew应用aNew应用cNew应用dNew应用aNew应用b应用cNew应用dNew应用aNew应用b应用cNew应用dNewperfperfperfperf依赖依赖依赖依赖Falg1Falg2Falg3应用aNewperf应用bperf应用cNew应用dNewperfperf依赖Markov玄武需求1需求2需求3感知代码全覆盖智能回归实时质量可编排极致左移感知变更全覆盖极致右移自学习线上线下感知多维度实时4小时4小时天级迭代UT服务化功能
22、测试功能无diff性能无diff单应用、新功能优化,功能不变多应用、新功能智能质量中台的持续交付 业务支撑无人值守发布静态代码分析单元测试功能测试集成测试打镜像GIT功能A/B test性能A/Btest预生产测试线上测试预发联调灰度生产线上测试CDCI集成测试效果系统监控工程效能看板实时状态反馈开发过程反馈效果反馈效能提升测试智能质量中台的持续交付 Flow.ci.cd智能质量中台的持续交付 效能解决方案专注业务极简模式打包/部署单元测试功能测试功能无diff性能无diff开发功能测试平台git压测平台对比平台监控平台需求管理巡检平台镜像/发布Paas层环境部署打镜像覆盖率功能测试压测对比测
23、试发布/冒烟开发环节效能解决方案方案设计:REST打通打镜像/部署等工程能力 可编排pipeLine串联测试能力 监控代码变更自动触发 快速反馈质量结果核心价值:开发同学专注业务开发 提交代码自动触发全流程 屏蔽研发流程中复杂性 快速逼近可上线状态结果:效能解决方案 4小时完成一次迭代 代码流水线 gitOps工作模式无人值守发布测试技术体系的演进Part.07“扩展测试的边界,建立全程智能质量体系”测试技术体系演进综述效率质量 全链路场景覆盖测试 线上测试 测试框架 交互式 推荐式 精准测试 功能测试平台 性能测试平台 冒烟测试平台 CI/CDCode 速率&反馈回路提升大范围深度广度覆盖提升测试平台化Case编写技术和使用机制的创新 Feedback loop时间 Pipeline 效率 Case编写运行效率 问题debug效率 算法测试 基于算法的测试谢 谢