得物质量管理体系的建设与应用

news2025/1/21 11:59:03

一、背景

质量保障是一门基于软件测试的系统化工程,遵循渐进式的发展规律。通过因地制宜地制定落地策略,设计场景方案,获取试验结果,并加以循环往复。最终,在每一位得物测试工程师的共同努力下,积累出一套适应得物技术的质量保障方法论,即本文介绍的得物质量管理体系。

二、建设“四化”体系

得物质量管理体系,历经三年的建设,现已拥有了完备的机制、流程方法以及工具。目标是通过实现标准化、线上化、自动化以及智能化,最终形成立体的得物质量管理体系。其中:

  • “机制”即:(研发)质量保障机制。以“迭代质量评审机制”为基础,每迭代开展,上线风险可控,方可准出。

  • “流程”即:测试&协同流程。分为测试流程以及协同流程。测试流程的应用,用于不偏不倚地反映研发质量;辅以测试质量校准。协同流程的有效应用则会帮助测试质量提升。因此,引入协同质量,用以稳定测试质量,保障最终线上稳定。

  • “方法”即:落地实施方法。以业务域“质量月”活动为主要载体,持续优化研发过程质量,包括跨域评审、CR合并、准时提测、冒烟通过、缺陷日清、缺陷引入、缺陷逃逸等基础指标。

  • “工具”即:质量工程工具。围绕稳定、质量、效率、安全、体验、合规为核心,完善工具支撑能力。每个工具的最终都会指向到核心的一项中去,如:RDC 用于使得研发流程标准化、线上化以及部分自动化,以提升协同效率,从而优化交付“效率”;质量大盘作为研发过程质量洞察的可观测性工具,服务于过程“质量”。现有的工具(研发工具链)如下图所示:

图片

  • “迭代质量评审机制”是质量平台全域统一的评审机制。依托于质量大盘为主要工具,结合各业务域的质量保障组合策略,聚焦于每个迭代版本的质量与效能下钻分析。识别当前迭代内,影响到交付的风险以及相对应的规避措施,确保在低风险或者风险可控的情况下发布上线。

  • “内建质量”俗称“研发质量”,提测后正式固化。“测试质量”通过缺陷逃逸水平,反应测试覆盖的全面性,同时,可校准研发质量。“协同质量”用以稳定测试质量,保障最终的线上稳定。举例说明如下:

    • 需求未能准时提测,带来的测试执行进度风险;

    • 频繁过程变更带来估时偏差,返工损耗,甚至遗漏的变更覆盖。

  • “质量月”专项活动在得物技术各业务域全面推广,通过“事前”应用跨域 用例评审机制,拉通上下游协同技术实现与验证覆盖场景;“事中”应用“迭代质量评审机制”,有效评估过程质量风险,严格把控准出的需求质量;“事后”应用“线上事件复盘机制”,形成结果校验,以指导下一迭代在开发、测试、发布、生产各阶段的细节优化与改进。在取得全面结果后,该活动所倡导的“质量”关键词,早已融入到每一位得物技术人的意识中,日常践行高质量地交付标准。

  • “机制、流程、方法、工具”的关系,定义为机制设定了质量管理的总体框架和目标,流程定义了达成这些目标的具体步骤,方法是在流程的每个步骤中采取的具体实施技术,而工具则是执行方法和流程所需的辅助设备或软件。这四个概念相互依赖,相互促进,共同构成了研发质量管理的整体体系,确保产品和服务从设计到交付的每个环节都能满足预定的质量标准。

三、机制的目标与框架

质量是质量保障机制的立身之本,稳定是有效质量活动的自然结果。通过合理的故障定义与分级作为牵引目标,遵从不出大问题(故障),小问题快速恢复(冒烟点/事件),将故障影响尽可能最小化(故障影响 = 故障影响面 x 故障修复时长)的原则加以校验。

随着得物业务规模的迅猛发展,得物App可用率、资损防控、隐私合规、数据安全等方面面临着严峻挑战。得物技术依据业务特性分而治之,同时,依据生产故障等级逐层降级达到化整为零的效果,取得生产故障总数连续下降的佳绩。如下图所示:

图片

质量保障机制的框架描述为:以质量管理白皮书 V2.0澄清阶段的质量目标,具象化地定义相应的执行规范与配套要求。在迭代过程中应用迭代质量评审,于准出前识别风险并做下钻归因诊断,形成风险降级或风险规避的具体措施,并加以在上线前落实;最终,通过迭代质量复盘,还原过程典型现场,举一反三;同时,以线上运营结果校准/修正目标及其配套规范的适配性。整个过程如下图所示:

图片

进而通过重复上述循环,形成螺旋式的上升效果,有节奏地递进到更高的目标。

图片

图片

值得指出的是,经过上百个迭代的优化,研发质量显著提升超60%,技术债务大量减少70%;过程基础质量指标,如准时提测率、冒烟通过率稳定在99%以上。

图片

图片

四、流程与规范

得物项目管理,通过Sponsor 区分业务与技术两种类型的需求类型;同时,依据需求复杂度、规模等考量落入迭代或项目中,进行交付。针对四种组合,即业务迭代、业务项目、技术迭代以及技术项目。测试的流程与规范略有差异,分别制定了业务/技术迭代需求质量保障流程与规范、业务/技术独立项目质量保障流程与规范(含小项目)。下图为通用测试流程与规范:

图片

其中,特别制定质量平台业务/技改需求质量保障方案,定义测试关键Action、准出标准、以及工具平台,细化指导测试团队开展工作,如下图所示:

图片

过程中,基于case驱动优化改进,沉淀出跨域用例评审流程与规范质量平台跨域用例评审机制实施方案V2.0,以规避多业务域横向协作引起的边界问题未覆盖情况。

此外,针对业务/技术项目,制定质量平台业务/技改项目质量保障方案,细化测试Owner的职责与执行规范。针对业务刷数的场景,制定业务刷数测试方案,明确流程规范,降低高频的业务刷数变更带来的变更风险。

五、方法与工具

测试用例,是最基础的测试资产,正如代码之于API,API之于分布式系统。借助各类工具平台可转化或加工成多种形式的“测试产品”。而各类“测试产品”的应用依托于得物业务域的研发、测试同学的落地实践,通过三年的连续积累,形成了百家争鸣,蓬勃发展的态势。以下是一些典型的实践:

  • 接口自动化测试,作为回归测试的主要方法,也是经典的测试执行提效方法。通过接口自动化平台,应用于开发自测、冒烟(准入)以及集成回归阶段。ROI呈现线性关系,对于高频迭代的模式下,自动化测试能够做到核心链路的可用保障;尤其在服务/接口迁移,架构治理等技改项目中收益最大化,为技术债务清偿保驾护航。

  • 流量回放,作为上线前的测试兜底方法,通过流量录制回放平台,应用于预发阶段。通过简单的生产录制,预发回放方式,较低成本获得一次较真实的用户场景覆盖。结合接口覆盖率,挑选或构造增量流量到流量池,使得分布更全面。由于其低成本的应用方式,可低成本地应用于发布前的兜底测试;另外,针对服务/数据迁移,局部重构等变更极其应用友好,大大降低测试投入。

  • 精准测试,作为辅助测试分析与执行方法,查漏补缺提升测试覆盖率,测得更准。通过精准测试平台,应用于冒烟阶段(提测后),依据代码变更,配合已维护的标签及绑定关系,如资损字段、资损码、(越权)敏感等。推荐测试用例执行覆盖。如果出现差集,即未有关联的接口,往往需要CR 并评估覆盖计划。其应用既能校验变更Scope评估准确性,又能评估测试分析的全面性,对于业务/系统模块的理解形成了正反馈。

  • 监控告警,作为线下辅助测试执行的方法,查漏补缺拦截异常缺陷,测得更细。通过监控平台,应用于线下测试执行阶段。开发、测试同学共同制定业务告警规则,以实现告警聚合与收敛;在此基础之上,实现告警洞察与缺陷转化,以T或T+1日清方式加以良性应用。

  • 前端巡检,作为用户体验的主动响应方法,每日巡检关注用户侧使用反馈,早发现早修复。通过前端巡检平台,针对存量URL 通过近xx日TOP访问记录导入,设置定时任务巡检;增量通过精准URL推荐导入,巡检覆盖。在预发阶段可以提前拦截JS Error异常,在生产运营阶段可以做到早发现早介入,先于用户主动拦截。

  • 资损防控Dcheck,作为资损拦截的有效办法,实时对账,早发现早止血。通过Dcheck平台,以线上线下结合的方式应用。线下演练资损场景,并能起到脚本规则的保鲜作用;线上实时监听,异常告警。

图片

在工具应用方面,值得关注的是,有三个成本需持续优化以逐步降低:

  • 测试用例的“转化”成本(开发投入度)

  • 工具间相互“支持”成本(集成费力度)

  • 各类工具的“应用”成本(工具易用度)

下图是一些效率优化点及优化思路。

图片

最终,有了工具原子能力清晰,组合应用便捷的效果,让测试工程师逐渐专注于对业务系统的深入理解,对技术实现的精细评审,从而完成合理的测试策略制定与敏捷实施。

六、聚焦“关键词”

得物技术“关键词”作为官方划的重点,是纷繁复杂工作开展的价值判断依据,亦是阶段复盘总结的中心思想,更是有效业务支撑的前哨与灯塔,指引技术工作做对、做好。以终为始,围绕“关键词”不懈实践,持续收获。

图片

  • 稳定,一般情况下是有效质量保障的自然结果。往往由稳定性或运维团队主导,对线上进行实时监控,故障应急响应。生产故障数及其分布是主要核准指标。策略上遵从:不出大问题,小问题快速恢复,将故障影响尽可能最小化,即:故障影响 = 故障影响面 x 故障修复时长。

  • 效率,通过业务交付能力、计划保障能力以及过程协同能力自底向上逐级支撑与保障以实现高效的目的,也就是用数据呈现“多”与“快”,结合NPS 拟合业务体感。

  • 体验,面向用户改善使用得物产品的体验。使得App更好逛,商品更好买/卖,售后更放心等。针对得物App进行启动、首响、性能、包体积、安全隐私合规等多方面的度量,基线防劣化以及竞品评级追踪。

  • 成长,软件工程是一门重实践学科,实践、持续实践,实践中获得的积累就是工程师成长的获得。依据费曼学习法,结合博客想清楚、写出来、通过分享讲明白。

  • 创新,通过“组合创新”、“AI创新”在稳定、效率方面深入挖掘找到有效的场景。稳定方面,聚焦覆盖全面性及覆盖颗粒度;效率方面,聚焦实施、运营降低。

七、总结

  • 机制设定了质量管理的总体框架和目标,流程定义了达成这些目标的具体步骤,方法是在流程的每个步骤中采取的具体实施技术,而工具则是执行方法和流程所需的辅助设备或软件。这四个概念相互依赖,相互促进,共同构成了研发质量管理的整体体系,确保产品和服务从设计到交付的每个环节都能满足预定的质量标准。

  • 质量保障机制的框架描述为:以质量管理白皮书澄清阶段的质量目标,具象化地定义相应的执行规范、要求;在迭代过程中应用迭代质量评审,于准出前识别风险并做下钻归因诊断,形成风险降级或风险规避的具体措施,并加以在上线前落实;最终,通过迭代质量复盘,还原过程典型现场,举一反三;同时,以线上运营结果校准/修正目标及其配套规范的适配性。

  • 测试用例,是最基础的测试资产,正如代码之于API,API之于分布式系统。借助各类工具平台可转化或加工成多种形式的“测试产品”。

  • 有了工具原子能力清晰,组合应用便捷的效果,让测试工程师逐渐专注于对业务系统的深入理解,对技术实现的精细评审,从而完成合理的测试策略制定与敏捷实施。

  • 得物技术“关键词”作为官方划的重点,是纷繁复杂工作开展的价值判断依据,亦是阶段复盘总结的中心思想,更是有效业务支撑的前哨与灯塔,指引技术工作做对、做好。以终为始,围绕“关键词”不懈实践,持续收获。

*文/布鲁斯

本文属得物技术原创,更多精彩文章请看:得物技术官网

未经得物技术许可严禁转载,否则依法追究法律责任!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1681869.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Moe 混合多专家模型 原理 + 大模型的有性繁殖

Moe 混合多专家模型 原理 大模型的有性繁殖 MoE 介绍标准 Transformer 编码器MoE Transformer 编码器专家网络层 大模型的有性繁殖mergekit 合并 多个专家模型 的方式1. SLERP(球面线性插值)2. TIES3. DARE4. Passthrough5. Linear mergekit 合并 多个专…

vue3中实现简繁体转换

由于项目在大陆和台湾同胞同步使用,因此需要实现中文的简繁体转换,实现输入简体,能搜索出简体和繁体的相关内容,输入繁体,也能搜索出简繁体相关内容。忽略简繁体,扩大搜索范围。 引入插件: np…

一休:一款专业的休息提醒软件

对于长期使用电子产品的人来说,保护眼睛至关重要,不论是工作还是学习,适当的休息都是必要的,保护视力要牢记20-20-20法则,眼科医生陶勇也科普过: 使用电脑工作和学习时,容易会忘记时间&#x…

在面对各种问题时,我们应该如何进行数据分析

python数据分析汇总 前言一、对比分析概念特征类型案例Matplotlib的颜色字母对照表解决遇到未知函数 二、相关性分析概念类型案例一案例二 三、时间序列分析概念类型案例 四、回归分析概念类型案例一案例二案例三 五、决策树概念计算过程案例 六、主成分分析概念计算过程案例 七…

【手势识别-UILongPressGestureRecognizer长按 Objective-C语言】

一、我们来说这个长按啊, 1.长按这个手势,也是,步骤都是一样的,首先,也是这三大步啊, 1)创建手势对象 2)对某一个view添加手势 3)实现手势的方法 首先,也是三大步, 1)创建手势对象:首先,你要告诉我,你要使用哪一个手势,我要使用一个叫做UILongPressGesture…

[牛客网]——C语言刷题day4

答案:B 解析: a是数组首元素的地址,a1的步长是int,所以是2 &a是数组的首地址,&a1步长是int[5] ptr是int类型的指针,指向a数组的尾后位置,ptr-1的步长是int,所以是a数组的最后一个元素5 答案&am…

【无标题】海图微电子产品

一、HT2300 1、产品介绍 HT2300在全分辨率 (1920 H 1080 V) 下,它们的帧率可达2500fps。加上全局快门像素和低噪声等特性,可满足对高分辨率,高速CMOS图像传感器的需求,适用于科学研究,工业检测和数字影视中高速视频捕捉…

WebRTC实时音视频通话之语音通话设计与实践

一、背景 在移动互联网流量时代,很多业务场景都有音视频通信的需求,比如IM场景,除了文字交流还需要音视频通话进行实时交互。为了帮助58、赶集、安居客等业务线更好的为用户提供服务,节约沟通成本,提升效率&#xff0…

HNU-算法设计与分析-作业5

第五次作业【回溯算法】 文章目录 第五次作业【回溯算法】<1> 算法分析题5-3 回溯法重写0-1背包<2> 算法分析题5-5 旅行商问题&#xff08;剪枝&#xff09;<3> 算法实现题5-2 最小长度电路板排列问题<4> 算法实现题5-7 n色方柱问题<5> 算法实现…

最近很火的粘土滤镜被玩坏了,教你用AI绘画SD免费无限制使用,附教程!

大家好&#xff0c;我是阿威。 最近在小红书上&#xff0c;“粘土特效”、“粘土滤镜”异常爆火&#xff0c;被网友玩出了花。 原来&#xff0c;一款海外修图工具——Remini&#xff08;类似妙鸭相机&#xff09;上线AI滤镜功能&#xff0c;其中就包括粘土滤镜&#xff0c;非常…

WPS如何把多个表格合并到一个表格里面?

注意&#xff1a;此功能需要wps会员。 例如&#xff1a;这里有3个表格。 现在希望合并3个表格到一起&#xff0c;如下图所示。 新建一个表格&#xff0c;打开表格。 选择 开始->工作表->合并表格->整合成为一个工作薄。 弹出对话框&#xff0c;选择添加文件&#xff…

Pencils Protocol Season 2 收官在即,Season 3 携系列重磅权益来袭

此前Scroll生态LaunchPad &聚合收益平台Pencils Protocol&#xff08;原Penpad&#xff09;&#xff0c;推出了首个资产即其生态代币PDD的Launch&#xff0c;Season 2活动主要是用户通过质押ETH代币、组件战队等方式&#xff0c;来获得Point奖励&#xff0c;并以该Point为依…

剪辑师创作必备声音素材,BGM背景音效素材合集1万款

一、素材描述 本套音效包含了全面丰富的声音效果&#xff0c;如动物、运输、人群、天气、航空、军事、Foley声音等&#xff0c;以及世界各地的场景声效等&#xff0c;可能是同类音效中最为全面的&#xff0c;共由三套声音素材组合而成&#xff0c;1、熊猫背景音乐3800首&#…

Java数据类型:引用类型

Java的数据类型可以分为基本数据类型(8种)和引用类型。 本文将深入探讨引用类型的概念、使用方法、工作原理&#xff0c;并通过代码示例加以说明&#xff0c;帮助读者全面理解这一Java编程的核心要素。 1. 引用类型的定义 引用类型&#xff0c;顾名思义&#xff0c;是用于存…

2024年抖店保证金交多少?保证金常见问题解答,一文解决你所有疑惑

大家好&#xff0c;我是电商花花 新手如果想要开抖音小店&#xff0c;有一个大坑是必须要避开的。 就是我们店铺开通之后&#xff0c;我们一定要交保证金&#xff0c;如果不交&#xff0c;那就是0元开店。 很多新手听别人说做抖音小店可以0元开店&#xff0c;不用缴纳保证金就…

亚马逊测评真人号与自养号:如何选择?区别与作用全面解析

亚马逊卖家都希望能打造出热销产品的产品列表&#xff0c;因为评论对于列表的曝光和流量有着巨大的影响。然而&#xff0c;获取有效的产品评论并不容易&#xff0c;许多卖家为了提高自己产品在同类别中的竞争力&#xff0c;选择进行测评。测评可以快速提高产品的排名、权重和销…

2万字实操入门案例之在Springboot框架下用Mybatis简化JDBC开发实现基础的操作MySQL之预编译SQL主键返回增删改查

环境准备 准备数据库表 use mybatis;-- 部门管理 create table dept(id int unsigned primary key auto_increment comment 主键ID,name varchar(10) not null unique comment 部门名称,create_time datetime not null comment 创建时间,update_time datetime not null comme…

微信小程序之九宫格抽奖

1.实现效果 2. 实现步骤 话不多说&#xff0c;直接上代码 /**index.wxml*/ <view class"table-list flex fcc fwrap"><block wx:for"{{tableList}}" wx:key"id"><view class"table-item btn fcc {{isTurnOver?:grayscale…

使用API有效率地管理Dynadot域名,默认将域名隐形转发至其他界面

关于Dynadot Dynadot是通过ICANN认证的域名注册商&#xff0c;自2002年成立以来&#xff0c;服务于全球108个国家和地区的客户&#xff0c;为数以万计的客户提供简洁&#xff0c;优惠&#xff0c;安全的域名注册以及管理服务。 Dynadot平台操作教程索引&#xff08;包括域名邮…

[通俗易懂]《动手学强化学习》学习笔记3-第5-13章

文章目录 前言小总结&#xff08;前文回顾&#xff09;问题1&#xff1a;问题2&#xff1a;问题3&#xff1a;补充一点 0.26.2版本gym环境问题 前言 参考&#xff1a; 《动手学强化学习》作者&#xff1a;张伟楠&#xff0c;沈键&#xff0c;俞勇 动手学强化学习 网页版 动手学…