【测试总结系列-1】质量保障之测试左移和右移

news2024/12/22 22:59:10

在开发一个系统或者说软件,需求分析、软件设计、程序编码、软件测试、运行维护,这些阶段必不可少。整个周期中,作为测试人员,不是只在测试阶段才能发挥作用,也不是仅有测试对软件质量负责,一个项目团队,常有的五种角色,产品、UI、开发、测试、运维,只有整个项目团队所有成员有对质量负责的意识,才能形成良性循环,不然就是一个甩锅的团队!

测试左移和右移的图示:

一、测试左移

  1. 需求评审 

提前阅读PRD,在理解本次需求内容的同时,要检查是否存在以下问题:

  • 本次需求是否有不合理的地方
  • 表述的是否清晰,不存在模糊不清的表述内容,如过滤掉不符合质量的商品
  • 不存在有歧义的表述内容
  • 文档中是否标注需求的优先级
  • 本次需求是否对原有功能有影响,便于进行回归

如果比较明细的错误可以直接反馈给产品进行修改,如果存在有争议的问题,可以正式评审会上拿出来大家一起讨论给出解决方法

2. 技术评审

对于中小型需求,参会人员为涉及到的产品、开发、测试即可

提前阅读技术方案文档,主要关注以下几点:

  • 方案设计是否有遗漏需求点
  • 方案设计是否合理
  • 方案设计是否满足本次需求点
  • 方案设计尽量做到功能点和代码的映射关系,哪个功能点需要改动或者新增哪个接口,需要修改哪个文件内容和或新增哪个文件内容
  • 对于修改原来已有的接口要及时同步给接口开发的负责人
  • 方案设计设计到哪些功能模块,是否存在关联功能模块的影响
  • 方案设计是否有新建数据库或者对原有数据库字段的更新,数据库字段类型设置是否合理
  • 提醒开发要进行异常情况的逻辑开发,保证代码的健壮性

3.开发阶段

  • 编写单元测试
  • 开发完成后有经验的开发人员进行code review

4.用例评审

  • 检查用例是否存在有遗漏的,如果有及时补充测试用例
  • 用例评审完,提供冒烟用例给开发进行自测

5.设置提测准入的卡点

  • 静态代码扫描通过
  • 单测执行通过
  • 冒烟用例执行通过
  • 接口自动化回归通过(技术评审完后,可以提前添加接口自动化了)

以上几点通过以后才能发起提测。

6.日常建设

  • 需要不断地培养产品、开发同学的质量意识,同时提供必要的技术支持,协助产品、开发更好的进行测试,比如测试工具、测试脚本
  • 定期组内进行技术分享,项目复盘,讲解测试过程中可优化的点,沉淀业务文档

二、测试右移

测试右移就是项目发布上线后建立完善的反馈、发现、定位问题机制。

  • 可以进行灰度发布,确定灰度期间没有发布到,在继续全量发布
  • 通过线上监控和预警,及时发现问题并跟进解决;系统层(如cpu、内存问题)、应用层(如响应时间)、业务层(通过率)等出现异常的时候通过邮件或者钉钉等方式发出预警,并且针对预警做出快速响应。
  • 添加的监控和报警要进行分级,且配置要合理,避免出现报警泛滥的问题,导致真正的报警无人关注。
  • 监控或者人工发现问题进行分类沉淀为静态代码分析规则。

测试右移的实践步骤

对于测试右移,线上监控可以是突破点,:

闭环的线上问题反馈-检查-解决-更新流程

更便捷的日志查看、回传服务

丰富有效的log,便于问题的快速定位

丰富的监控指标(例如业务异常点指标)

成本监控(例如短信发送等)

关键指标每日监控(服务器指标)

生产数据监控(警报)(通过sql语句实现生产数据监控,例如是否有多个订单号一样的订单出现等)

因此对于测试右移,可以围绕问题反馈、发现、定位、监控展开,参与人员则不仅仅局限于运维人员

测试右移还需改进的实践

一样的,实践起来也是存在问题,除了技术问题之外,还有例如:

线上监控搭建后使用率不高

线上问题反馈机制,业务人员不配合等等

监控指标不合理,反而被认为增加服务器负载

测试右移的落实,除了质量服务的培养,更加重要的反而可能是:完善的反馈、发现、定位,在监控- 架构完善后,怎么更好的与项目工作(流程)结合,不要让其成为累赘

参考:

【面试系列】如何保障质量之测试左移右移 - 千君君 - 博客园

软件测试人员在软件生命周期内能做哪些事? - 千君君 - 博客园

测试如何发挥更大的价值?聊聊测试左移和右移 - 知乎

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

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

相关文章

关于图片上传和在页面显示问题

最近在工作中遇到一个关于图片上传的问题。根据之前项目的经验,我知道目前这个公司上传图片有两种方式, 一种是把图片上传到公司服务器上,然后把图片放在服务器上的地址存在数据库中,要获得图片的时候直接从库中拿地址就行了另一…

分析网络抓包用 python 更高效

Abstract分析网络抓包用 python 更高效AuthorsWalter FanCategorylearning noteStatusv1.0Updated2023-01-10LicenseCC-BY-NC-ND 4.0 网络抓包分析用的最多的两大工具是 tcpdump 和 wireshark. 一般我们通过 tcpdump 或者 wireshark 来捕获网络包为 *.pcap 或者 *.pcapng 文件 …

Elasticsearch:在 Elasticsearch 中按距离有效地对地理点进行排序

计算搜索中两点之间的距离有很多用例。 如果你正在处理地理数据,那么无论你从事何种业务,这都必然会出现。 然后,在对这些点进行排序时,你可能需要考虑距离,因为……好吧,为什么不呢? 所以这里…

算法训练营DAY48|121. 买卖股票的最佳时机、122.买卖股票的最佳时机II

这一期到了买卖股票专题,买卖股票的有一些题型,可以使用贪心算法来求解,甚至有时候比动态规划更简单一些,但是本期是讲动态规划的运用,所以不做对于贪心的分析。今天只讲两道例题,其中第二题是第一题的变种…

[NeurIPS 2017] Poincaré Embeddings for Learning Hierarchical Representations

ContentsIntroductionPoincar EmbeddingsThe Limitations of Euclidean Space for Hierarchical DataEmbedding Hierarchies in Hyperbolic SpaceEvaluationReferencesIntroduction 如今,表征学习变得越来越重要 (e.g. word embedding, embeddings of graphs, embe…

如何在电脑上安装 Windows 版桌面编辑器 v7.3

线上编辑器的桌面端版本不需要持续的互联网连接,还可在计算机上处理脱机文件。因此,如果您需要此类功能,可从我们的网站中下载并安装桌面编辑器。 ONLYOFFICE桌面编辑器最新版 最近 ONLYOFFICE 发布了 v7.3,最新版本的桌面编辑器…

SpringBoot+Vue点餐系统

简介:本项目采用了基本的springbootvue设计的点餐。系统。详情请看截图。经测试,本项目正常运行。本项目适用于Java毕业设计、课程设计学习参考等用途。 项目描述 项目名称SpringBootVue点餐系统源码作者LHL项目类型Java EE项目 (前后分离&a…

ESP-IDF:命令模式测试

ESP-IDF:命令模式 /命令模式/ /设计模式之开闭原则&#xff0c;对增加开放对修改关闭/ #include #include class ClientCommands{ //统一管理命令&#xff0c;这是比观察者模式多出来的地方 public: void AddMoney(){ cout<<“add money”<<endl; } void AddEqu…

图解LeetCode——1145. 二叉树着色游戏(难道:中等)

一、题目 有两位极客玩家参与了一场「二叉树着色」的游戏。游戏中&#xff0c;给出二叉树的根节点 root&#xff0c;树上总共有 n 个节点&#xff0c;且 n 为奇数&#xff0c;其中每个节点上的值从 1 到 n 各不相同。 最开始时&#xff1a; 「一号」玩家从 [1, n] 中取一个值…

Ubuntu22.04安装nvidia显卡驱动

Ubuntu22.04安装nvidia显卡驱动 目录 方法一&#xff1a;使用官方的NVIDIA驱动进行手动安装&#xff08;稳定、靠谱&#xff09; 方法二&#xff1a;使用系统自带的“软件和更新”程序-附加驱动更新&#xff08;需要联网&#xff0c;稳定性无法验证&#xff09; 浓缩极简方法…

MySQL入门篇-视图简介

备注:测试数据库版本为MySQL 8.0 这个blog我们来聊聊MySQL视图。 前言: 视图是从一个或几个基本表导出的表。视图本身不独立存储在数据库中&#xff0c;是一个虚表。 即数据库中只存放视图的定义而不存放视图对应的数据&#xff0c;这些数据仍存放在导出视图的基本表中。 视…

[Windows] 微信超级管家,自动好友回复、计数、自动同意、群发、好友导出、消息日志、无限多开

简介 微信超级管家是一款大神针对微信制作的工具&#xff0c;它的主要功能包括了自动回复、好友计数、自动同意、群发、好友导出、消息日志、无限多开等等&#xff0c;让你拥有无限潜力哈&#xff0c;经常使用微信电脑版的朋友一定会用的上。 下载 微信超级管家 软件功能 1…

安全测试之浅析静态应用

SAST&#xff0c;Static Application Security Testing&#xff0c;即静态应用安全测试&#xff0c;也叫静态分析&#xff0c;是一种测试方法&#xff0c;一直是应用程序安全性工作的核心部分。根据Forrester的 The State Of Application Security, 2022一文的预测&#xff0c;…

云计算|OpenStack|社区版OpenStack安装部署文档(七--- 仪表盘服务dashboard的安装部署---Rocky版)

前言&#xff1a; 仪表盘是一般项目的标配&#xff0c;有了仪表盘可以降低运维工作&#xff0c;并且很多的管理工作是可以可视化的。本节计划在控制节点安装openstack官网的仪表盘项目 openstack由于是一个开源的社区版本云计算项目&#xff0c;因此&#xff0c;它的web仪表盘…

【Core】.net core 3.1 api 返回实体类数据存在null,导致小程序调用接口也直接显示了null,原来要这样设置才可

对接过API接口的小伙伴都知道&#xff0c;接口返回的Json格式数据&#xff0c;有些字段可能会出现null的情况&#xff0c;并且还是个字符串&#xff0c;直接显示在用户界面上给人感觉出bug了 文章目录【开发环境】【场景描述】【返回null值重现】1&#xff09;创建新项目2&…

细讲TCP三次握手四次挥手(二)

TCP/IP 协议族 应用层 应用层( application-layer &#xff09;的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程&#xff08;进程&#xff1a;主机中正在运行的程序&#xff09;间的通信和交互的规则。 对于不同的网络应用需要不同的应用层协议…

基本放大器电路- (一)

运算放大器组成的电路五花八门&#xff0c;令人眼花瞭乱&#xff0c;是模拟电路中学习的重点。在分析它的工作原理时倘没有抓住核心&#xff0c;往往令人头大。为此本人特搜罗天下运放电路之应用&#xff0c;来个“庖丁解牛”&#xff0c;希望各位从事电路板维修的同行&#xf…

精讲rpc框架,这么讲不怕你不明白!

谈到rpc框架可能有点陌生感&#xff0c;但是如果换成框架语言Ocaml&#xff0c;大家一定不陌生。 众所周知&#xff0c;ocaml是一款专门做functional programming的一款软件&#xff0c;尤其是它的界面非常简洁&#xff0c;还是专门的server进行线上编写。 rpc框架和ocaml是什…

一篇就看懂的文件操作

文件操作1为什么使用文件我们前面学习结构体时&#xff0c;写了通讯录的程序&#xff0c;当通讯录运行起来的时候&#xff0c;可以给通讯录中增加、删除数据&#xff0c;此时数据是存放在内存中&#xff0c;当程序退出的时候&#xff0c;通讯录中的数据自然就不存在了&#xff…

【Java并发编程】 interrupt 方法详解

【Java并发编程】 interrupt 方法详解 文章目录【Java并发编程】 interrupt 方法详解1.介绍2.打断阻塞状态线程3.打断正常状态的线程4.两阶段终止模式5.打断 park 线程1.介绍 程序中&#xff0c;有些线程的终端需要外部干预&#xff0c;比如有线程存在while(true)循环&#xf…