QA如何体现价值?探索构建软件产品质量保障体系

受疫情影响,有短暂的专属时间来总结、反思、学习。下面的内容将分几个部分来介绍加入公司两年多的一些工作总结、心得。


在介绍探索构建质量保障体系历程之前,分享下对软件测试工程师这个职业的理解。

01

测试团队的价值

一家公司为什么要有测试团队存在?

基于国内大环境和软件开发公司现状,一般公司随着业务的发展会对线上产品质量有要求,需要有一个特定角色来帮助开发来检验交付物是否符合需求的预期,对于对产品质量有要求的公司,那这个角色就是专职的软件测试工程师。给大多数人的印象是测试人员是来找bug的,这么理解也没错,找bug只是测试的其中一项工作。

测试有两种角色,QAT,业务质量保障;QAD,测试开发。不论是哪种测试工种,做到好的QA,测试工作必须贯穿整个软件研发流程的每个阶段,每个阶段中的每个环节都需要有质量的完成,才能做到确保最终上线有质量。重要的是在质量和效率上坚守和找到平衡点。

图片

1.1、价值一:产品质量

测试团队首要的工作是确保线上不出P0P1级的缺陷影响生意,同时也需要在线下提升产品质量。高质量也为高效率打下基础,我们常说“没有质量就没有效率”。

1.2、价值二:降本增效

可能大伙第一反应为什么不是效率,我这里更进了一步,在提升效率的基础上还要降低成本。效率,从“利他”作为出发点,不仅仅是测试本身的效率,也需要帮助开发团队提高效率,缩短研发周期,帮BD、产品和运营团队提高工作效率。

02

探索构建质量保障体系起步

公司中的各个团队都会经历0到1, 1到n的过程,测试团队也不例外

2.1、0到1阶段

2.1.1、2018年现状

时间回到2018年2月,从几个方面来介绍当时的情况

  • 人员

    • 四位测试人员,加上我5个。

  • 测试活动

    • 在开发结束后通知测试有任务测试,这时才展开测试工作,存在的问题:

    • 测试不知道何时会有任务来,没有任何准备和预期,措手不及的展开工作

    • 没有时间写测试用例,因为手上有已经有需求在测试,并且很紧迫要上线

    • 测试工作只在UI层开展手工功能测试,有零星的压测

  • 上线时间

    • 被通知有xx功能需要测试,同时被告知“xx时间上线”,待测功能上线时间在没有测试任务到来之前未知

    • 测试流程、规范

    • 新功能测试完,部署到预发,在预发环境验证通过上线,生产再次验证新功能。流程和规范比较单一。

  • 研发/测试流程

    • 传统的职能交付式流程,功能全部开发完提交测试

  • 分支发布方式

    • 分支开发和测试,分支发布,曾经同一个工程同时存在多达十几个分支,导致上线原有功能代码被冲掉,再次紧急验证后上线,内耗严重。

  • 基础设施

    • Jenkins部署开发、测试、预发、生产 环境

    • 禅道管理缺陷,但是以需求功能来创建的项目,没有规范来指引如何创建项目、版本、人员,后续缺陷统计分析不方便

    • 测试环境有,但是测试活动没有在测试环境中开展。测试环境管理和部署由开发或运维来操作

2.1.2、改进第一步

一句话概括现状,测试工作相当被动,不仅仅是测试工作,也包括开发工作、产品工作。

前段时间,周末在家里陪宝宝一块观看人类来自哪里的视频,介绍人类是怎么从地球上的第一个细胞经过几亿年的进化为现代人,生命进化如此强大、震撼,进化行为贯穿始终,“要么进化,要么消亡”频繁上演。

其实生活、职业生涯也是如此,“要么精益,要么“消亡””,这里的消亡打引号,意思是平庸或被淘汰或出局。

2018年3月某一天,基于上面的问题,当天晚上给产品、开发、测试分享前公司的敏捷实践,从此开启公司研发过程引入scrum框架,开始试点的第一个需求。

改进对比图

图片
  • 人员

    • 到2018年5月搬入新地址,测试人员增至12人,其中有测试开发、性能测试工程师,新加入的人员80%能读写代码

  • 测试活动

    • 参加需求评审、编写测试用例、用例评审

    • 开展接口功能测试、UI功能测试、接口性能测试、兼容性测试、接口自动化测试、探索测试、回归测试

  • 引入scrum框架

    • 上线有节奏,火车模型,定期发布,上线时间固定已知

    • 滚动式的开发、测试,任务拆解到1-2天,每个任务开发完成后提测,马上介入测试,做到持续测试。意味着敏捷开发、测试活动开启。

    • 研发过程指标,cc通过率、cc及时率指标确定和统计

  • 测试流程规范

    • 梳理制定测试流程规范,包括有里程碑意义的开发自测、冒烟测试、回归测试

  • 分支发布方式

    • 主干开发主干上线

    • 功能代码开始逐步解耦,特别是hotel工程

  • 基础设施

    • 测试环境管理和部署由测试人员来操作、测试活动在测试环境开展

    • jira管理缺陷,便于统计、分析

    • 千里眼开始搭建

03

构建质量保障体系

从上面的改进涉及到几个方面的活动,涉及到各个角色部门,可以称为综合治理,这几个方面的活动远远不够

3.1、四个部分

整个体系大致分四个部分

  1. 基础设施

    1. 关键词:高效、稳定

    2. 目标:构建各团队稳定、高效的工作环境

  2. 线上

    1. 关键词:安全、稳定、监控、定位

    2. 目标:为用户提供安全、稳定的产品和服务,并能快速发现、定位、解决问题

  3. 上线中

    1. 关键词:发布

    2. 目标:按需、分级发布新功能新产品

  4. 线下

    1. 关键词:质量、效能

    2. 目标:交付高质量的用户需要的产品

质量保障体系全景图

按产研阶段:

橘色部分表示构建中或还未开始构建

图片
从各角色域:图片

写在最后,

质量保障体系的构建是一个长期工程,一般跟随公司的发展,分为几个阶段:

  1. 产品从无到有阶段,以最快的方式、最少的精力验证商业模式为主,功能可用即可,在质量的重点在于保障核心功能点的正确性。

  2. 功能/产品发展期阶段,功能需求爆发,功能、性能成为质量保障的重点。

  3. 产品稳定阶段,安全、稳定、监控预警、快速定位修复成为质量保障的高优先级。

 

你觉得呢?有任何想法欢迎在评论区讨论或留言。

另外,研发质量效能、职级晋升、职业规划等将会持续输出干货。

关于我,二十年QA、测试、敏捷研发、研发质量效能相关经历;历任百度、易宝、艺龙、直客通、蔚来等QA负责人、测试总监及研发质量效能负责人;在求职面试、职业规划、职级晋升、职场生存潜规则、敏捷研发、质量效能领域专业知识和落地实践有相当丰富经验。

posted @ 2025-04-08 12:09  小强找BUG  阅读(56)  评论(0)    收藏  举报