质量运营在智能支付业务测试中的初步实践

背景

毋庸置疑,质量是决定产品能否成功、企业能否持续发展的关键因素之一。对于“质量时代”下的互联网企业,如何在快速迭代的节奏中兼顾质量,真正落地“人人重视质量、人人创造质量、人人享受质量”,这是对QA的要求,也是整个产品技术团队面临的重要挑战。

质量运营,是将运营的思路注入到质量评估与改进工作中,它着眼于产品的全生命周期,以质量为中心,以数据为驱动,通过建设持续迭代的质量保障体系,最终提升交付质量。本文将聚焦研发过程中的提测阶段,以改进提测质量为例,从方案制定、策略应用、效果评估等几个方面,介绍质量运营在智能支付业务中的初步应用。

挑战

美团点评智能支付承担了整个公司所有线下交易,当前日交易量已经突破1000万单,是公司继外卖和摩拜之后,又一个千万级日订单的业务。业务高速增长、团队快速扩张的情况下,质量问题极易被放大化,如果不能及时得到处理,后续解决成本会越来越高。

存在的痛点

刚参与智能支付业务测试时遇到的几个问题,如下:

  1. 缺陷严重级别高,提测打回时常发生,如:核心功能未实现或实现与需求不符。
  2. 缺陷数量多,定位、修复、回归耗时长,如:越在上游引入的缺陷,修复的成本就越高,潜在的风险也越大。
  3. 各类低级缺陷,团队彼此间的信任度降低,如:文案错误、变量引用错误等编码大意导致的低级缺陷。

解决的难点

在尝试去改善时发现难以推动的几个问题,如下:

  1. 对暴露出的质量问题,如何更直观的在认知上达成一致?如:收到过很多类似的问题反馈:“xx的缺陷太多了,质量意识差”、“xx项目存在很大问题,需要尽快改进”,即使是基于事实得出的判断,这种偏主观的表达方式,对问题达成一致的认知带来很大的困难。
  2. 对已公认的质量问题,如何更快速的进行分析和定位?如:缺陷发生在测试阶段,但缺陷的引入可能是在需求阶段、设计阶段、开发阶段;某个时间段内的异常质量数据,可能是A项目或B项目,可能是C团队或D团队。问题类型细分、数据钻取能力等等,在问题的快速分析和定位中至关重要。
  3. 对已定位的质量问题,如何找到可以落地的改进措施?如:项目总结中常常会见到类似这样的描述:“加强自测”、“严格遵守项目流程”、“文档需要写的更详细些”,这种偏“形容词”的改进措施,很难实际操作,这也是整个质量改进过程中最大的一个难点。

思路

质量改进是一个持续迭代的过程,不可急于求成。按照质量运营的方法,基本思路为:分析痛点,找到抓手,持续运营,形成闭环。

基于提测阶段的质量问题特征,从痛点和难点中寻找突破点。大致思路为:

  1. 目标应达成一致:质量改进的目标是QA的KPI,并应该与关键干系人在愿景、目标上达成一致。
  2. 问题的客观呈现:提取核心度量指标,通过有效数据和典型案例说话。
  3. 数据的灵活钻取:尽可能全的提供各种维度的数据,并分层级展示。
  4. 改进措施可落地:对措施的多方Review、流程标准化到工具化的演进。

解决方案

解决方案的重中之重,是务必遵循PDCA来实现运转方式的闭环。具体如下:

确定问题与方向

通过痛点描述可知,缺陷是反映智能支付业务当前提测质量的最显著特征。提测质量的进一步分析,可通过缺陷的数量、缺陷的严重程度、缺陷的生成原因三个方向来展开。

缺陷数量

缺陷数量具体说明
缺陷总数指定统计规则下缺陷的数量,仅包含项目过程中提交的缺陷

缺陷的严重程度

严重级别具体说明使用范围
致命-Blocker影响核心功能的缺陷缺陷导致核心业务流程不可用,或产生较大影响
严重-Critical造成较大影响的功能性缺陷缺陷导致核心业务流程受影响,或导致非核心业务流程不可用
一般-Major影响较小的功能性缺陷缺陷导致非核心业务流程受影响,或导致用户体验类的问题
提示-Minor非功能性缺陷如:不影响正常功能的UI错误、无重大歧义的提示错误等
建议-Trivial优化建议非严格意义上的缺陷,一些可优化的点

缺陷的生成原因

生成原因具体说明
实现与文档不符RD实现与需求文档描述不一致
需求缺陷需求文档中缺少相应描述;需求变更
技术方案考虑不足前后端接口定义不一致;对边界、异常场景考虑不全等
环境问题被测服务不稳定;服务器或测试设备配置等引起的问题
第三方依赖依赖的外部系统引入的问题,如用户中心等
兼容性不同设备上出现的功能或展示异常类的问题
性能问题服务端性能:响应时间过长、CPU过高、GC频繁、没有分页、没有缓存等;
客户端功耗:包大小、冷启动时间、流量、内存泄漏OOM、加载时间、耗电量
安全问题XSS注入,SQL注入等
Bugfix引入由于修改Bug引入的缺陷
不是缺陷无效Bug;不能复现

度量指标及标准

针对缺陷的三个分析方向,提取出可度量的指标、定义合理的标准值,并与整个团队达成一致。

指标提取策略

  1. 典型性
    • 找最想要解决的问题。不追求全面,只针对Top问题提取指标,如:生成原因里最应该避免的是哪些。
    • 找最能反映问题的指标。如:缺陷数量有众多度量指标(新增数量、人均数量等等),为排除工作量影响,我们选择用千行代码缺陷率这个指标。
  2. 有效性
    • 除非对绝对数量有明确要求,否则尽量使用百分比作为度量指标。
    • 指标数据的计算方式,要求简单易懂,并务必得到相关人的认可。

标准制定策略

  1. 基于公司统一要求,如:Sonar千行代码严重问题数,统一标准为低于0.1。
  2. 基于公司各业务现状,如:缺陷相关指标按照公司各业务部门排行,取Top5的值作为标准线。
  3. 基于自身业务阶段持续调整,如:随着智能支付业务质量的持续改进,定义更严格的质量标准。

最终定义的指标与标准

度量指标指标说明标准值
千行代码缺陷率(缺陷总数/代码行数)* 1000移动端:< 0.45
前端:< 0.2
后端:< 0.15
Sonar千行代码严重问题数(Sonar严重问题数/代码行数)* 1000Blocker:0
总数:< 0.1
严重缺陷占比严重缺陷总数/缺陷总数< 3.5%
需求缺陷占比需求缺陷总数/缺陷总数< 10%
实现与文档不符缺陷占比实现与文档不符缺陷总数/缺陷总数< 10%

获取数据并展示

基于Metrics(美团点评工程质量中心提供的度量平台),能够快速的获取数据并展示。但要注意,部分指标的计算需要对Metrics提供的数据进行二次处理,以保证数据的精准性。如:在计算千行代码缺陷率时,需要排除掉开发自测缺陷等。

对于数据的展示形式,除了利用Metrics提供的各种图表外,最为关键的是要实现数据与问题(相关缺陷)的可关联,以便进行下一步分析。如下图所示(通过超链接方式进行关联):

数据与问题可关联

制定计划并改进

改进措施的制定和实施是整个质量改进过程中的重中之重。基于经验,给出三个策略。

自上而下与自下而上相结合

  • 自上而下:通过有效数据、典型案例,建设可信任的结果评估体系;以此为基础,利用每一个问题数据,在Leader层强化质量意识,借鉴向上管理的思路,实现质量改进的向下驱动。
  • 自下而上:通过案例复盘、数据钻取,对问题进行明确定位,让问题方基于工具即可将问题下沉到具体项目或具体角色,进而推进可落地的过程改进,并持续利用结果评估体系衡量改进效果,实现质量改进的向上闭环。

多维度的数据聚合与分析相结合

  • 周维度数据聚合:对周数据中的异常进行分析,并排除掉因周期偏短导致的数据噪点,重在对问题进行风险预警。
  • 月维度数据聚合:对月数据中的异常进行分析,并结合数据的变化趋势,重在对问题进行确认和改进。周维度和月维度相结合,构成了质量管理中的问题发现与改进周期。
  • 季度维度数据聚合:对季度数据的分析,重在得出对质量目标的完成度并给出质量评分,并对过程中的问题进行回顾和总结,构成了质量管理中的考核周期。

流程的标准化与工具化相结合

  • 在改进提测质量的初期阶段,对于流程的优化经常出现在各个项目总结的改进措施中,但大多是通过意识、模板或者口头提醒来实现,这无疑增加了流程的接入成本、执行难度,进而降低了流程的约束力。
  • 借鉴在制造业中常见的一种解决思路——“防呆措施”,在流程标准化之后,应尽可能将其工具化,提升流程的生命力。

  • 防呆措施的目的之一是防止不符合流程的产出物交付到下游。
  • 将防呆措施应用到提测流程,即应实现各项准入标准的自动化检查,类似如下提测时校验:

防呆措施

测试流程

回顾与反馈

主要从时间维度、项目维度两方面开展。

  1. 时间维度,各类周会、双周会、季度总结,对质量数据进行Review。
  2. 项目维度,重在项目复盘。复盘可以看成PDCA环和环之间的连接,有了它,PDCA才能环环相扣、周而复始。

迭代与推广

若改善有效,则进行推广。若改善无效,则分析原因,修改计划,重新启动另一轮PDCA。

  1. 指标与标准的持续迭代,如:过程中对Sonar千行严重问题数的标准由0.1提升到0。
  2. 度量模型与方法工具的推广,如:质量报表、Sonar在PR时触发检查不通过不允许Merge、提测准入自动化等等在其他业务的推广。

效果

对于效果的评估,主要从三方面进行说明。

  1. 质量数据的关注度
  2. 质量指标的达成度
  3. 过程质量改进对迭代效率的提升效果

质量数据关注度

主要体现在团队各方对质量报表的使用率。以下三张图分别为:智能支付QA、智能支付RD、智能支付RD Leader对质量报表的使用率走势。

智能支付QA

智能支付RD

智能支付RD

质量指标达成度

对质量指标的达成情况进行说明,其中:初始值为16年Q4的情况。

度量指标初始值标准值目标完成度
千行代码缺陷率移动端:0.7
前端:0.25
后端:0.3
移动端:< 0.45
前端:< 0.2
后端:< 0.15
整体达标,但存在个别方向缺陷率较高
Sonar千行代码严重问题数Blocker > 0
总数:0.2
Blocker:0
总数:< 0.1
达标
严重缺陷占比14%左右< 3.5%达标
需求缺陷占比18%左右< 10%达标
实现与文档不符缺陷占比< 10%< 10%达标,但有升高趋势,接近标准值

近几个Q的变化趋势,如下:

迭代效率提升效果

以客户端方向为例(之前过程质量存在较严重的问题),说明过程质量改进对迭代效率的提升效果。

总结

经过一段时间的摸索和实践,我们在提测质量上有了较明显的提升,过程中积累的方法、流程和工具也在推广使用。但提测质量只是全生命周期质量运营的一小部分,对于高速发展的智能支付业务,不仅要求整个质量保证体系的迭代优化,更要求全体成员不断提升质量思维、持续追求极致质量,进而形成一种质量文化,真正实现“人人重视质量、人人创造质量、人人享受质量”。

作者介绍

  • 勋伟,美团点评高级测试开发工程师,金融服务平台智能支付业务测试负责人,2015年加入美团点评。

招聘

如果你想学习互联网金融的技术体系,亲历互联网金融业务的爆发式增长,如果你想和我们一起,保证业务产品的高质量,欢迎加入美团金融工程质量组。有兴趣的同学可以发送简历到:fanxunwei#meituan.com。

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

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

相关文章

新手手册:Pytorch分布式训练

文 | 花花机器学习算法与自然语言处理单位 | SenseTime 算法研究员目录0X01 分布式并行训练概述0X02 Pytorch分布式数据并行0X03 手把手渐进式实战A. 单机单卡B. 单机多卡DPC. 多机多卡DDPD. Launch / Slurm 调度方式0X04 完整框架 Distribuuuu0X05 Reference文中所有教学代码和…

Hotel booking酒店预订——数据分析与建模

Hotel booking酒店预订——数据分析与建模&#xff1a;https://zhuanlan.zhihu.com/p/196757364?utm_sourcewechat_session 写文章Hotel booking酒店预订——数据分析与建模&#xff08;转载翻译自kaggle&#xff09;海上泊舟数据分析师数据源&#xff1a;https://www.science…

论文浅尝 - ICLR2020 | Pretrained Encyclopedia: 弱监督知识预训练语言模型

论文笔记整理&#xff1a;陈想&#xff0c;浙江大学博士&#xff0c;研究方向为自然语言处理&#xff0c;知识图谱。Wenhan Xiong, Jingfei Du, William Yang Wang, Veselin Stoyanov.Pretrained Encyclopedia: Weakly Supervised Knowledge-Pretrained Language Model来源&…

LeetCode 216. 组合总和 III(排列组合 回溯)

1. 题目 找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数&#xff0c;并且每种组合中不存在重复的数字。 说明&#xff1a; 所有数字都是正整数。 解集不能包含重复的组合。 示例 1: 输入: k 3, n 7 输出: [[1,2,4]]示例 2: 输入: k 3, n 9 输出…

“小众”之美——Ruby在QA自动化中的应用

前言 关于测试领域的自动化&#xff0c;已有很多的文章做过介绍&#xff0c;“黑科技”也比比皆是&#xff0c;如通过Java字节码技术实现接口的录制&#xff0c;Fiddler录制内容转Python脚本&#xff0c;App中的插桩调试等&#xff0c;可见角度不同&#xff0c;对最佳实践的理解…

软考中级 软件设计师资料(考点分析+复习笔记+历年真题+电子版课本)

软考中级 软件设计师资料&#xff08;考点分析复习笔记历年真题电子版课本&#xff09;&#xff1a; https://blog.csdn.net/weixin_44754772/article/details/113763165 软件设计师是软考中级职称&#xff0c;相比高级的难度而言&#xff0c;中级难度较低&#xff0c;每个人花…

关于NLP相关技术全部在这里:预训练模型、图神经网络、模型压缩、知识图谱、信息抽取、序列模型、深度学习、语法分析、文本处理...

神器推荐NLP近几年非常火&#xff0c;且发展特别快。像BERT、GPT-3、图神经网络、知识图谱等技术应运而生。我们正处在信息爆炸的时代、面对每天铺天盖地的网络资源和论文、很多时候我们面临的问题并不是缺资源&#xff0c;而是找准资源并高效学习。但很多时候你会发现&#xf…

LeetCode 77. 组合(回溯)

1. 题目 给定两个整数 n 和 k&#xff0c;返回 1 … n 中所有可能的 k 个数的组合。 示例:输入: n 4, k 2 输出: [[2,4],[3,4],[2,3],[1,2],[1,3],[1,4], ]来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode-cn.com/problems/combin…

论文浅尝 - AAAI2020 | 从异质外部知识库中进行基于图的推理实现常识知识问答...

会议&#xff1a;AAAI2020论文链接&#xff1a;https://arxiv.org/pdf/1909.05311.pdf摘要常识问答旨在回答需要背景知识的问题&#xff0c;而背景知识并未在问题中明确表达。关键的挑战是如何从外部知识中获取证据并根据证据做出预测。最近的研究要么从昂贵的人类注释中生成证…

插件化、热补丁中绕不开的Proguard的坑

文章主体部分已经发表于《程序员》杂志2018年2月期&#xff0c;内容略有改动。 ProGuard简介 ProGuard是2002年由比利时程序员Eric Lafortune发布的一款优秀的开源代码优化、混淆工具&#xff0c;适用于Java和Android应用&#xff0c;目标是让程序更小&#xff0c;运行更快&…

互联网高端社畜行话大全(表情包)

作者 | 洋气的圆圆君前几天&#xff0c;字节跳动CEO张一鸣发表的演讲刷屏朋友圈&#xff0c;其中不忘开讽互联网黑话。燃鹅&#xff0c;作为一只卑微的互联网社畜&#xff0c;哪天被父母问起来我们行业常说的“抓手”、“赋能”都是啥&#xff0c;答不好的话那是要被challenge自…

论文浅尝 | DeCLUTR: 无监督文本表示的深度对比学习

Giorgi, J. M., O. Nitski, G. D. Bader and B. Wang (2020). "DeCLUTR: Deep Contrastive Learning for Unsupervised Textual Representations." arXiv preprint arXiv:2006.03659.原文链接&#xff1a;https://arxiv.org/pdf/2006.03659GitHub项目地址&#xff1a…

MoCoV3:何恺明团队新作!解决Transformer自监督训练不稳定问题!

文 | happy源 | 极市平台论文链接: https://arxiv.org/abs/2104.02057本文是FAIR的恺明团队针对自监督学习Transformer的一篇实证研究。针对Transformer在自监督学习框架中存在的训练不稳定问题&#xff0c;提出了一种简单而有效的技巧&#xff1a;Random Patch Projection&…

LeetCode 496. 下一个更大元素 I(哈希)

1. 题目 给定两个没有重复元素的数组 nums1 和 nums2 &#xff0c;其中nums1 是 nums2 的子集。找到 nums1 中每个元素在 nums2 中的下一个比其大的值。 nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元素。如果不存在&#xff0c;对应…

论文浅尝 - AAAI2020 | 多模态基准指导的多模态自动文摘

论文笔记整理&#xff1a;刘雅&#xff0c;天津大学硕士。链接&#xff1a;https://aaai.org/ojs/index.php/AAAI/article/view/6525动机近年来&#xff0c;随着计算机视觉以及自然语言处理技术的发展&#xff0c;多模态自动文摘技术逐渐成为学术界和工业界研究的热点。当前的多…

改进YOLOv8注意力系列三:结合CrissCrossAttention、ECAAttention、EMAU期望最大化注意力

改进YOLOv8注意力系列三:结合CrissCrossAttention、ECAAttention、EMAU期望最大化注意力 代码CrissCrossAttention注意力ECAAttention通道注意力EMAU期望最大化注意力加入方法各种yaml加入结构本文提供了改进 YOLOv8注意力系列包含不同的注意力机制以及多种加入方式,在本文中…

美团点评智能支付核心交易系统的可用性实践

背景 每个系统都有它最核心的指标。比如在收单领域&#xff1a;进件系统第一重要的是保证入件准确&#xff0c;第二重要的是保证上单效率。清结算系统第一重要的是保证准确打款&#xff0c;第二重要的是保证及时打款。我们负责的系统是美团点评智能支付的核心链路&#xff0c;承…

Transformer太大了,我要把它微调成RNN

文 | 炼丹学徒编 | 小轶从前车马很慢&#xff0c;显卡跑的也慢&#xff0c;一生只够爱一个RNN。后来时代进步了&#xff0c;数据量和计算力阔绰了&#xff0c;堆叠起来的Transformer能够在更深更宽的模型结构里吃下去更多的数据。从19年的预训练浪潮开始&#xff0c;暴力美学兴…

论文浅尝 - JWS2020 | FEEL: 实体抽取和链接的集成框架

论文笔记整理&#xff0c;谭亦鸣&#xff0c;东南大学博士生。来源&#xff1a;JWS 2020链接&#xff1a;https://www.sciencedirect.com/science/article/pii/S157082682030010X?via%3Dihub介绍实体抽取和链接&#xff08;Entity extraction and linking, EEL&#xff09;是语…

一步步手动实现热修复(一)-dex文件的生成与加载

*本篇文章已授权微信公众号 guolin_blog &#xff08;郭霖&#xff09;独家发布 热修复技术自从QQ空间团队搞出来之后便渐渐趋于成熟。 我们这个系列主要介绍如何一步步手动实现基本的热修复功能&#xff0c;无需使用第三方框架。 在开始学习之前&#xff0c;需要对基本的热…