当你作为测试负责人接手了一个新业务,你可能会面临这么两个核心的问题:
产品质量如何保障?
QA 团队如何建设?
这两个问题看似一个是职能方向,一个是业务方向,实质两者是相辅相成的。在本文中我将分享一些实践过程中的思路。整体的思路按照如下展开:
核心原则:将自己全身心投入到一线项目,做一个好的沟通者、观察者和记录者。
切忌 “新官” 上任 “三把火”,融入环境是第一要务。环境中的因素有很多,抓住“人” 与 “事”这两个核心要素。
人:团队的全体成员,建立相互了解和认知的桥梁,覆盖团队中的每一位角色——开发、产品、测试、运维、设计、交互等等。
怎么做?
工作上:冲刺一线业务(当然这里并不是一定是去负责某个特定的项目的质量保障工作),与不同的角色在整个研发活动中产生交互,建立相互的认知。
日常里:一起吃饭、打球是很好的人际交往润滑剂。
事:产品研发交付,需要深入的了解当前团队的研发流程及运转模式。前期需要做一个沟通者、观察者和记录者,切忌一上来就 “指点江山”,因为 “专家经验”,总是会让我们发现这个研发模式中的质效问题,但也许只是局部的、片面的。
核心原则:梳理出你所负责业务的业务图谱和产品矩阵,知边界,抓重点,做一个好的学习者
保持好的学习心态,做一个好的学习者,以业务为重心,团队内的成员都是学习的对象,向他们讨教业务。优先在 QA 团队内部展开业务沟通,然后延展到其他角色成员(开发、产品等),一般做法是:
与对应的项目测试 owner 进行有效的沟通,在了解业务的同时也能侧面了解 owner 对业务和系统的理解能力;
与对应的项目研发 owner 和产品进行有效的沟通,侧重点在于通过多角色的描述补充对业务的认知;
梳理自己理解的那份业务图谱和产品矩阵,与研发负责人沟通,明确业务边界以及重点产品保障。
知边界,抓重点:有了产品的边界和重点,才能将有限的资源投入去优先解决核心的问题。
核心原则:立足团队和个人两个视角盘点当前的状态。
1)关于团队
一个好的 QA 团队,从经验来看,要做好以下 3 个事情:
产品质量保障(根本)
团队梯度建设(动力)
团队影响力(发展)
在实践中可以通过这样的一个目标矩阵来衡量当前团队所处的状态(这是一个综合性的定性评价),当然这不是一个拍脑袋的结果,它需要有效的案例和数据支撑来说明。比如产品质量保障评估是合格,它的评估决策依据可能是这样的情况:测试目前以功能测试为主,线上质量基本达标,自动化覆盖低,没有开展持续集成等。
如何看待三者的关系,孰先孰后?孰重孰轻?事实上,产品质量保障是 QA 团队立足的 “根本”,团队梯度能力是保障根本的 “动力”,而团队影响力是团队持续发展的体现。对于业务及团队而言,目标导向下我们的关键目标都是产品质量保障,团队影响力和团队梯度能力都是帮助目标达成的重要因素。
这就回到最开始提到的两个问题:产品质量保障如何做?QA 团队如何建设?
2)关于成员
关于团队成员的盘点,目的在于了解你团队中的每位成员,了解他们的特点、技能水平以及诉求。建立好跟他们的信任和认同感,是接下来工作是否得心应手的保障。通过多方位向上向下沟通,分析每个成员的情况,并做好相应的记录(便于后续的目标制定和个人提升计划制定),也可以通过人才盘点九宫格有一个全局的认知,梳理团队的人员梯度,便于更好的决策是否适合的人在干着正确的事。
核心原则:立足业务目标,对标成熟的质量体系,通过沟通与量化的手段找到核心问题
实践原则
与团队成员一起沟通与量化,列出 TOPx 问题
逐条找到行业中的通用解决方案,并公开评审
结合当下实际,找到适合自己团队的解决方案
配以流程规范,坚持执行,直到解决本质问题
举个例子:
立足业务目标
梳理业务现状
找到核心问题
核心原则:立足业务目标,制定合理的、可衡量的团队关键目标。
关于目标的制定,需要回答好这几个问题
1)一个团队的目标从何而来?
团队目标应该从上一级目标拆解而来,服务和支撑于上一级目标。
举个例子:
业务大团队目标:XX产品要做到集团设备覆盖安装90%
目标拆解分析:在做快速增长的时候,功能质量、稳定性及用户体验会给用户是否有意愿安装使用带来较大的摩擦
关键目标制定(相对值和绝对值):
2021年线上缺陷率从3.5%降低到2.0%(相对值)
2021年业务系统可用率达到99.95%(绝对值)
2)如何检验团队目标的合理性?
候选目标是否与上一级目标一致
谁拥有对目标的主导权,我们团队还是其他团队
这个目标是否可衡量
完成该目标的主要力量是团队管理者还是团队成员
举个例子:
标准 | 说明 | 案例 |
候选目标是否与上一级目标一致 | 如果不一致,果断放弃 | 安装率的达成,一个很重要的基石是产品线上质量 |
谁拥有对目标的主导权,我们团队还是其他团队 | 你的团队应该对该目标有主导权 | QA 团队主导,推进整体产品研发达成 |
这个目标是否可衡量 | 目前要尽量做到可衡量 | 线上缺陷率 3.5% 降低到 2.0% |
完成该目标的主要力量是团队管理者还是团队成员 | 如果一个目标过多依赖团队管理者,团队成员就容易失去对这个目标的兴趣 | 一线的项目测试同学 |
3)目标如何制定、执行、评估?
举个例子:
关键目标:2021 年线上缺陷率从 3.5% 降低到 2.0%
行动准则 | 实际行动 |
把握关键:哪些环节对实现此目标最为关键 | 建设统一有效的研发流程规范和交付标准,做好各个环节的质量卡点,提升交付质量 |
对照标杆:在团队内外,实现此类目标的最佳实践有哪些 | 以平台支撑,实现流程规范化、交付标准化、贯穿垂直能力,提升交付质量 |
突破障碍:团队实现此目标的障碍有哪些?如何突破? | 团队人员质量意识不足,落实规范和标准,开展质量内建活动 |
寻求创新:为实现此目标,有没有更好的方法可以采用 | 引入精准测试,通过正向追溯对测试覆盖进行有效反馈,便于开展测试补充,提升覆盖度 |
核心原则:以目标为核心,结合问题,制定解决思路和规划
举个例子:
A 团队在 “产品质量保障” 层面需要从合格提升到优秀
制定规划:
核心原则:数据驱动,持续跟进。
通常对于目标考核的最小单位是季度考核,那么对于目标的结果,需要通过过程化的跟进来跟踪把控,以便提前识别风险,做出调整。
核心原则:将“质量体系”看作一个产品,持续迭代优化。
对于一个测试负责人而言,一般都会有自己的一套质量体系,到了一个新的业务,这个质量体系是否是照搬过来,直接上架,还是要因地制宜。可以换一个视角来看,将质量体系看作一个产品,那么对应的需求是“保障产品质量,提升研发效率”,在不同的业务以及团队中需要持续去迭代这个产品,才能保障解决当前业务的问题。
问个问题,一个成熟的产品,就必然能够解决任何业务的需求吗?答案是不能,很多时候 X 产品在 A 业务上满足了需求,那么放在 B 业务上可能会衍生出很多定制化需求和新增功能模块需求。
产品如此,“质量体系” 亦如此,比如这个质量体系是服务于一个中台项目的,那么应用到了一个偏客户端的项目,它就需要相应的迭代,需要补充建设关于客户端相关的测试能力,这是 “新增需求”。还有一种是 “需求完善” 及 “技术优化”。列举个例子,比如精准测试,在你的质量体系中之前只做了增量代码覆盖率统计分析(正向追溯,测试用例->代码的反馈),在迭代中增加了影响度分析以便推荐执行用例(反向追溯,代码->测试用例),这就是需求完善。
最后放一张我的 “产品” 目前的架构设计:
作者:甲壳虫师
原文链接:https://blog.csdn.net/qq_43111432/article/details/124200604