测试流程如何有效落地?

2023-11-04

前言:之前有小伙伴问了我一个问题:作为测试leader,你该如何有效落地测试流程?
这个问题看起来很简单,只要落地流程做个宣讲然后有人执行就行了,但仔细一想却没那么简单。团队人员有多少?技术和经验如何?业务类型是什么?研发交付质量处于什么阶段?测试在团队的定位是怎样的?种种因素都会影响测试流程的落地效果。

一、为什么要制定流程?

先谈谈为什么要制定流程及流程对于工作拿到好结果的重要性。首先问大家五个问题:

  1. 流程是什么?
    因人、团队、业务类型、迭代速度、资源紧张程度而异。我觉得流程是保障团队目标达成的最佳实践。
  2. 为什么要有流程?
    没有流程会导致团队中个体各自为战,目标不统一,进度不协调,资源配给失衡而导致交付质量下降。
  3. 流程能解决什么问题?
    保证团队大方向一致,尽可能降低由于人员能力、认知水平、资源不足、意外情况导致的项目延期或质量下降。
  4. 流程能带来什么保障?
    保障团队中大部分人的利益不受影响和保障工作中遇到沟通或争执时可以据理力争;保障工作过程中的最佳实践可以最大程度保留并执行。
  5. 如何高大上的理解流程?
    风险可识别+问题可追踪+结果可验证+数据可量化!

其实,我们要明白一件事情,那就是测试工程师的核心竞争力是将技术作为底层能力,在尽可能熟悉业务的情况下基于技术解决问题,过程中不断优化流程,保持高效的沟通,保障最终交付产出物的质量和交付过程效率。
核心竞争力简单来说就是测试岗位的本质:更好的质量+更高的效率。而流程,就是通往更好的质量+更高的效率的指向标和扶手。

二、测试有哪些流程?

实际工作中测试流程有很多类型,不同公司会根据自己情况制定一些特殊流程,根据软件(需求)的生命周期,下面列举一些常见的软件测试流程:

  1. 需求阶段
    产品方案评审:
    测试确认产品无重大质量风险,确认目标、时间、优先级
    技术方案评审:测试通过评审确定测试范围、制定测试计划、评估测试方法
  2. 研发阶段
    研发规范:编码规范、工具组件使用规范、code review规范、单元测试规范
  3. 提测阶段
    提测检查:检查code review结果、CI构建结果、核心case冒烟结果
  4. 测试阶段
    测试策略:包含测试case评审、自动化测试、性能测试等方案制定
    测试规范:接口测试、集成测试、回归测试、上线步骤及回滚等各种流程
    验收及上线计划:产品验收、制定上线方案及上线方案评审
  5. 上线阶段
    上线流程:测试组织dev、PM、OPS、DBA等角色完成上线
  6. 运营阶段
    监控告警处理流程:日常的日志、告警巡检以及线上监控阈值优化调整
    线上故障处理流程:出现故障时的响应机制、线上止血、故障排查以及复盘跟进流程

三、流程要如何有效落地?

在流程落地方面,我想了想,还是的从下述几个方面去评估落地。

  1. 确认影响因素
    业务类型:ToB还是ToC业务?变更对用户的影响有多大?如果出现问题会带来多大的损失?
    团队人员数量:如果研发团队人数较少那流程不宜太严格,人越多才需要流程来保障和协调大多数人的动作规范一致
    技术经验能力:技术是否过硬?是否有较多的匹配项目的研发经验?有没有较好的项目履历和最佳实践?
    测试定位及要求:测试是侧重验证还是质量保障?上级对测试的定位是什么?有什么要求?
    研发交付成熟度:团队成员是否有较多的合作默契?过往放入交付过程和质量是否流畅高效?
  2. 梳理落地步骤
    1、明确要解决的问题要制定流程规范,第一步就是明确要解决什么问题。项目中很多问题,都可以思考是不是能通过流程解决。比如数据库操作之前先备份数据库,事先写好 SQL 语句,需要有人审查,测试环境先测试通过,最后再生产环境执行,那么就可以避免以后不小心删除数据表的事情发生。
    2、提出针对性解决方案对于问题,先思考解决的方法,有了方法后再进一步思考是否能提炼流程规范。方法和流程规范的区别在于:方法更有针对性,只适用于特定场景或者人,而要将方法上升到流程规范,则需要有一定的普适性,能变成具体的步骤或者标准,让每个人都能执行。比如说回滚操作就是一个相对普适的方法,可以变成部署后出现问题的流程。
    3、达成共识,推广执行流程规范提出后还需要得到大家认可,只有大家认可达成共识,才能共同遵守,保障制度的执行。对于大家都认可的流程规范一定要严格遵守,必要的时候需要配合一些奖惩制度,以保障其执行。
    4、持续优化,不断改进流程在实际执行的时难免发现一些不合理的地方,这时候就需要对其进行调整。还有一些流程规范,随着时间推移,可能已经不能符合要求了,也需要考虑改进甚至放弃,不然反而会成为一种阻碍。
    5、流程工具化,工具自动化制定流程规范的本质是把管理从“人治”变成“法治”到最后的“自治”。流程落地过程中,最初都是人为去推动流程规范的执行,但也应该尽可能借助技术手段来推动甚至替代流程规范。比如说编码规范,可以借助各种强大的IDE,快速检测出不符合规范的代码,甚至于帮你直接格式化成满足代码规范的格式。

三、结语

我司在黄哥的带领和指导下,整个测试部门的各项流程都已基本完全规范起来了,但还是有可以进步的空间,我记得我来公司第一件事就是规范测试用例执行,把测试流程规范建立起来了,但是目前的一个落地效果,我只能说达到了60%,而剩下40%是完全有能力去做好的。我也从各个方面收集了这部分同学没有做好的原因,也一直在优化编写用例的工具,从各个方面提高编写用例效率和执行用例效率,但是最大的难点还是人员的思想改变和执行力的问题。不想写,不愿写,这是通病。我记忆深刻的一点还是项目线上bug复盘会,开发人员第一时间就是提出灵魂拷问:测试为什么漏测?我记得这个版本没有你们测试用例吧!在这件事情上,我没有做好,流程规范没有执行到位,这就是事实,也不用说太多,说再多都是借口,我需要的是反思+改进!!!

流程规范不是约束,而是尽可能保障团队交付质量,提高团队效率。流程规范是将好的最佳实践固化下来,让大家可以参考和共享经验。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

测试流程如何有效落地? 的相关文章

  • Commit message全局安装

    Git Commit Message 全局安装 开发环境 电脑系统 Windows 10 64位系统 调试工具 PowerShell Git cnpm Commit Message 格式 使用 Angular 团队的规范 其Commit M
  • WINDOWS 命令行 串口 COM 发送数据

    WINDOWS 命令 串口 数据 type con gt com1 回车 com1 为想发送的串口 输入字符并回车即可 转载于 https www cnblogs com runliuv p 9817126 html
  • windows10: vscode conda activate CommandNotFoundError

    Windows10 在vscode中自动激活环境报错 CommandNotFoundError 转载自 https www cnblogs com weixia blog p 11408125 html 最近重装了系统 装完anaconda
  • 小程序微信支付

    微信小程序实现支付功能 1 准备工作 在开始实现微信小程序支付功能之前 我们需要先完成以下准备工作 注册微信支付商户号 并完成商户资质审核 微信支付开发文档 在小程序中引入微信支付JSAPI 获取用户的openid 用于发起支付请求 2 支
  • 【Python】模块

    模块 就类似于我们生活中的工具包 Python中的源程序可以作为模块 我们需要使用时 直接将模块导入到我们需要使用的源程序中即可 目录 模块 导入模块 模块导入原理 局部导入 包 包的定义 模块的使用 模块 导入模块 我们导入模块使用的是i
  • Mybatis-Plus查询或更新报错

    报错 Error evaluating expression ew null and ew sqlFirst null Cause org apache ibatis ognl OgnlException sqlFirst 原因 Query
  • SD-WAN与MPLS VPN,MSTP,IPSEC VPN,SSL VPN有什么区别?

    对于目前市场上主流的SD WAN MPLS VPN SSL VPN IPSec VPN和MSTP等企业组网技术 想必大家一定不陌生 其实 MPLS VPN IPSec VPN SSL VPN都属于采用IP VPN技术的产品 IP VPN 虚
  • 重新启动elasticsearch 报错:org.elasticsearch.bootstrap.StartupException: java.lang.IllegalStateException:

    cmd命令重新启动elasticsearch 报错 org elasticsearch bootstrap StartupException java lang IllegalStateException failed to obtain
  • java连接oracle数据库的各种方法及java在数据库中的含义

    java连接oracle数据库的各种方法及java在数据库中的含义 java与oracle的接口 在数据库中运行JAVA可以说是ORACLE8i的最令人激动的新特性 在你创建的使用ORACLE8i 数据库的应用程序中 你可以使用与JAVA有
  • 转载:图像噪声的成因分类与常见图像去噪算法简介

    本文转载自博客园博主淇淇宝贝 图像的空域噪声以及二维降噪算法介绍 1 图像噪声的成因 图像在生成和传输过程中常常因受到各种噪声的干扰和影响而是图像降质 这对后续图像的处理和图像视觉效应将产生不利影响 噪声种类很多 比如 电噪声 机械噪声 信
  • YOLOv5:Profile、Timeout、WorkingDirectory上下文管理器 以及torch.cuda.synchronize()

    相关介绍 Python是一种跨平台的计算机程序设计语言 是一个高层次的结合了解释性 编译性 互动性和面向对象的脚本语言 最初被设计用于编写自动化脚本 shell 随着版本的不断更新和语言新功能的添加 越多被用于独立的 大型项目的开发 Pyt

随机推荐

  • 因果推断(三)——结构因果模型、干预、辛普森悖论

    主要内容 结构因果模型 干预 辛普森悖论 调整公式 结构因果模型 Structural Causal Model SCM 定义 结构因果模型被定义为一个有序三元组
  • jTable设置单个单元格颜色

    尝试Swing已经一星期 感觉Swing里的坑还是很多的 对于我这种刚入门的新手来说 接口确实有些不顺手 闲话休提 需求是这样的 绘制一个数据表格 假如其中某个单元格的数据超出阈值 该单元格标红 在Swing的库里简略地翻了一阵子的结果是
  • 《Thinking in java》笔记

    thinking in java 引发的思考 关于java面向对象的思考 抽象 并发 thinking in java中1 1抽象过程的描述 问题空间 gt 解空间的映射 所有问题最终都是列表 所有问题最终都是算法 面向对象 对象是现实世界
  • 向日葵win10控制Ubuntu失败怎么办

    服务器Ubuntu18 04 我的个人电脑win10 服务器端控制win10没问题 但是win10控制不了Ubuntu 这是因为向日葵在Ubuntu上没有开放xhost造成的 在Ubuntu的终端输入以下命令 sudo gedit etc
  • 曙光服务器重装系统centos7.9

    我的诉求是重装系统 清空所有 因此在划分磁盘的地方把以前的全部删了 朋友们谨慎参考 大致的思路就是 1 刻录一个带有新系统的U盘 系统可能和服务器硬件不兼容 因此建议搞俩系统 2 在服务器旁边 连接显示屏操作
  • python 实现自动上传文件到百度网盘(附程序源码及实现过程)

    把环境搭建完成之后就可以上传文件到自己的百度网盘中 环境搭建移步 环境准备 python3 6 firefox 最好是最新版 不然不会报错 Windows 7 框架搭建 selenium3 6 安装方法 pip install seleni
  • Windows下的socket编程

    前言 经过一周的时间 我又回来啦 这周我主要学习的是Windows下的socket网络编程 本篇博客的内容包括socket的简介 TCP IP协议的讲解 TCP socket编程实例 UDP socket编程实例以及相关类的封装 涉及到的知
  • 基类和派生类之间构造函数和析构函数的调用顺序

    笔者面试时 经常被问到基类和派生类之间构造函数和析构函数的调用顺序的问题 今天写个简单程序记录一下 include
  • python怎么换行输代码_python输代码怎么换行?

    python是一种计算机脚本语言 它语言简洁明了 实现也非常简单 但是有时对编写风格不是很熟悉的话 做起来也是不太方便 下面小编将带大家一起学习一下 在输入Python语句时如何换行 有朋友可能会想到 直接enter一下不就行了吗 但实际上
  • MMDeteceion V3版之系列一(环境安装、模型测试、训练以及模型后处理工具)

    1 MMDeteceion初识 MMDetection是一款优秀的基于PyTorch的深度学习目标检测工具箱 由香港中文大学 CUHK 多媒体实验室 mmlab 开发 基本上支持所有当前SOTA二阶段的目标检测算法 比如faster rcn
  • 如何使用multipart/form-data格式上传文件

    如何使用multipart form data格式上传文件 大家好 我是许飞 微软拼音的开发实习生 在网络编程中 经常用到从服务器上 下载 一些数据 有时却要向服务器 上传 数据 曾在一个原型中使用了 multipart form data
  • 【模型调参总结之解决模型过拟合方法】

    模型调参总结之解决模型过拟合方法 前言 在深度学习中对于过少的数据集 模型往往会产生过拟合现象 本文将对过拟合问题进行归纳和总结 并针对性的提出一点自己的见解 原因 由于数据集中图片数量较少 但模型训练次数扩大时 会导致模型对于训练集中图片
  • [1147]pandas中merge()函数的用法详解

    文章目录 merge 举例说明 merge import pandas as pd pd merge DateFrame1 DateFrame2 on how merge是pandas中用来合并数据的函数 不像concat是按照某行或某列来
  • 如何一键重装Win7系统 便捷重装Win7系统教程

    想要便捷又有效在线一键重装Win7系统 便捷重装Win7系统教程来了 Win7系统是很多用户喜欢使用的一款操作系统 具有速度快 稳定 兼容性好等特点 不管是办公还是玩游戏都是十分不错的选择 今天小编将为大家带来系统之家在线一键重装Win7系
  • Android 开发小贴士

    Android 开发小贴士 应用编译时报错 Unable to merge dex 可能原因 包引用重复 方法数超限或者几个库之间有重复代码块 特别是在整理module时容易犯 解决办法 app的build gradle 中 1 添加配置
  • Java + opencv 实现人脸识别,图片人脸识别、视频人脸识别、摄像头实时人脸识别

    搭建环境 opencv官网下载windows安装包 https opencv org releases 选择最新版4 1 1 下载完成后是一个opencv 4 1 1 vc14 vc15 exe 双击安装 重要 把安装路径D Sofewar
  • Spring Boot logback日志

    slf4j和log4j log4j2 logback 之间的关系 log4j出来时就得到了广泛的应用 是Java日志事实上的标准 并成为了Apache的项目 Apache要求把log4j并入到JDK SUN拒绝 并在jdk1 4版本后增加了
  • VMware复制后的虚拟机不能上网问题解决

    Vmware复制后的虚拟机不能上网问题解决 最近在vmware上安装了一个xp虚拟机 想同时运行两个这样的虚拟机 于是想到了复制 将原来的虚拟机文件夹复制下来 然后在vmware中打开该文件扩展名为 vmx的虚拟机即可 但是发现却无法上网
  • CentOS Linux release 7.9.2009 误删自带的python和yum解决方案

    目录 1 进去阿里镜像源仓库 2 下载相应的文件 3 执行下面操作 4 验证yum和python version 查看系统版本 cat etc redhat release 1 进去阿里镜像源仓库 阿里云开源镜像站资源目录 2 下载相应的文
  • 测试流程如何有效落地?

    前言 之前有小伙伴问了我一个问题 作为测试leader 你该如何有效落地测试流程 这个问题看起来很简单 只要落地流程做个宣讲然后有人执行就行了 但仔细一想却没那么简单 团队人员有多少 技术和经验如何 业务类型是什么 研发交付质量处于什么阶段