从事软件测试8年,对业务测试人员的一些思考

自从事测试工作八年多以来,经历过三个部门多条业务线,也经历过测试转型再回到测试,在此过程中对测试工作和角色的认知也逐步有些思考,想把这些思考分享给大家,希望为业务测试同学提供一些有价值的思路。

同时,在这我准备了一份软件测试视频教程(含接口、自动化、性能等),需要的可以直接在下方观看,或者直接关注VX公众号:互联网杂货铺这份测试文档资料也打包在里面啦,免费领取!

软件测试视频教程观看处:

软件测试工程师大忌!盲目自学软件测试真的会毁终生,能救一个是一个......

一、质量保障的本质是什么

质量保障有很多工作,如发布前对业务需求的功能测试、性能测试、a/b test等,如发布后对线上的功能回归、冒烟巡检、异常监控等,我们做这些工作都围绕着“缺陷发现”,尽可能去发现系统潜在的bug,这似乎就是质量保障的所有内容和目的,但是可以跳出这些具体的工作内容,质量保障的本质到底是什么?

我认为质量保障的本质:

  • 是一个尽力穷尽各种手段,不断去“证伪”的过程;

  • 是一个在有限条件和时间内,尽力将线上发生问题/故障的概率降低到最小的过程;

  • 是一个站在风险控制的角色上,尽力提前发现/披露所有质量隐患的过程,并将出现质量问题的损失降低到最小的过程;

总结:质量保障的追求不是发现所有的bug、解决所有的风险,而是确保即使触发了bug也不会带来恶劣的影响,在此基础上力求去发现尽可能多的bug  -> bug 触发概率降到尽可能低 -> 触发bug后带来的损失降到尽可能小。

二、测试过程的本质是什么

一线业务测试人员的大部分工作都在支撑业务的交付,从理解prd和技术方案,到给出测试方案,执行测试方案、发现bug、验证bug再到发布后的回归验证,这是一个业务测试人员的大部分工作模式和流程,那么这个过程的本质是什么?我的理解是这一个词“ROI”。

测试过程的本质是努力寻找质量缺陷发现与资源投入的平衡点,这里的资源投入不单指测试的资源投入,而是指业务交付上所有参与者的资源投入,所以在一定程度上是可以或者说是需要牺牲长尾缺陷的,我们的追求也应该是不断去提高这个ROI,同时做好线上风险防控。

三、测试角色的价值

回答这个问题之前,我们需要先理清以下几个问题:

1)测试角色的价值由什么决定?受什么影响?
  • 取决于业务特性对质量的需求:不同的业务特性对质量的诉求不同,这取决于业务的用户群体和规模、业务的金融风险、业务迭代导致出问题的概率和影响面等因素。

  • 取决于业务发展状态、技术架构成熟度:一般来说,当一个业务处于刚起步、高速发展时,技术由于需要快速满足业务的需求,架构设计乱、基础建设差,此时质量问题较多,也就强依赖测试角色来做强力保障,而后随着业务稳定、技术基建完善、线上保障手段丰富,会在一定程度上减少对测试角色的依赖。

2)测试这一工作是否可以转移/测试角色是否可以省略?可/需转移的决定因素是什么?

首先答案是肯定的,可以转移或者省略,虽然不一定是好的选择~

  • 业务对质量的诉求:业务的特性或者发展到一定程度,减弱对质量保障活动的需求。

  • 线上风险的可控性:业务和技术成熟稳定,有比较可靠的线上风险控制能力。

  • 质量活动的成本:在业务能够承受一定质量风险的前提下,质量保障活动的成本需要降低,并且转移的成本比维持现状要低。

3)如何体现测试角色的价值?

反向思考:今天这个业务如果没有测试角色,会怎么样?业务会跑得更快更好吗?

我们站在测试角色上,可以反思:

  • 测试能力:

  • 对所负责业务是否足够熟悉,是否能站在独特视角【区别于产研】来提出质量风险?

  • 是否拥有一定的技术壁垒和门槛,是否可以被高级外包/研发替代?

  • 测试应尽之责是否做到位并且获得良好反馈,测试的职责范围是否有扩展到“测试过程”之外的领域?

  • 交付效率:

  • 在业务需求繁重且紧迫情况下,测试是在起正向作用还是负向作用?

  • 交付遇到阻塞问题或者困难时,测试起到什么作用?

综上所述,测试角色的价值:

a.业务发展需要测试角色,进行质量保障活动来降低质量风险 【客观】

b.组织在成本范围内,可以组建并维持测试角色 【客观】

c.测试角色可以用高ROI完成质量保障活动,并具备较高成本的不可替代性 【主观】

因此我们只能通过以下两个方向来提升测试价值的传输与外化:

  • 提升ROI:以极致高的效率来发现缺陷,用高效的手段来证伪

  • 在成本控制前提下,对质量贡献是正向的;

  • 在交付周期内,对效率提升是正向的;

  • 提升可替代的成本:不断变革先进生产力,努力转化生产关系

  • 努力将测试的职责扩大;

  • 不断研发新技术、新手段,提高技术壁垒;

  • 与业务发展强绑定,力争成为业务不可或缺的生产力;

以上三个问题是对测试工作的一些思考,那么对于我们一线业务测试人员应该具备哪些能力,才能够去提升我们角色的价值?以下是我对三个层次测试人员的理解,可以分别从业务熟练度、测试方案与风险控制能力、合作协调能力、技术能力这四个维度去对照:

一个合格的业务测试人员应该具备哪些能力 【熟练度 完成度】

a.对所负责的业务线,产品业务逻辑和技术实现细节非常熟悉;

b.对日常测试流程及方案,熟悉并能顺利完成,能够主动解决卡点问题;

c.有一定的风险把控意识;

d.能与各方合作协调,顺利推动需求交付;

一个优秀的业务测试人员应该具备哪些能力 【owner意识 合作共赢】

a.具备业务owner视角和意识,能提出质量风险并给出建议;

b.能承担较复杂项目的测试一号位角色,能制定合理的质量保障方案;

c.能从全链路视野去提前预警风险;

d.能与各方协调合作良好,通过技术手段有效解决和减少交付过程中的卡点问题;

一个卓越的业务测试人员应该具备哪些能力【把控力 创新力 影响力】

a.打破思维局限和业务壁垒,能对业务所涉及的全链路通盘熟悉、风险把控;

b.能根据业务特性和质量风险短板,制定并落地合理化的质量保障体系化方案;

c.能更多承担除“测试过程”以外的质量保障工作,如大促稳定性保障、线上问题发现与处理等;

d.能跨团队、跨部门高效协作,有更多的“利他”思维,能通过创新型手段解决全链路题,并建立技术影响力;

以上是我对测试工作和角色的一些思考沉淀,希望对大家有所帮助,并能够驱动大家在工作中不断思考:

1.我当前负责的业务,对我的依赖程度有多大?具体是在哪些方面依赖我?

2.我测了10个、100个、1000个业务需求的差异是什么,对业务及对我自身的提升是什么?

3.我作为业务测试角色的核心竞争力是什么、有多大?

四、写在最后

PS:这里分享一套软件测试的自学教程合集。对于在测试行业发展的小伙伴们来说应该会很有帮助。除了基础入门的资源,博主也收集不少进阶自动化的资源,从理论到实战,知行合一才能真正的掌握。全套内容已经打包到网盘,内容总量接近500个G。如需要软件测试学习资料,关注公众号(互联网杂货铺),后台回复1,整理不易,给个关注点个赞吧,谢谢各位大佬!

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

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

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

相关文章

YOLOV7主干改进,使用fasternet轻量化改进主干(完整教程)

1,Pconv(来自Fasternet)(可作为模型中的基础卷积模块使用) 论文链接:https://arxiv.org/abs/2303.03667 2,为了大家方便的使用,这里我对原本的PConv的代码做了部分的改动&#xff0…

豪华程度堪比飞机头等舱?奔驰在北美发布Tourrider系列巴士

今年三月,奔驰工厂附近出现了一台特殊的测试车。其突出的前保险杠以及竖置双风挡等特殊配置,都在暗示着它并非是为欧洲市场打造。 根据特征推测,这台车应该是为北美市场打造。 就在昨天,奔驰发布了旗下全新Tourrider系列豪华客车&…

嵌入式单片机方向和Linux驱动开发方向哪个发展前景好?

嵌入式单片机方向和Linux驱动开发方向哪个发展前景好? 在某些平台上看到很多人鼓吹嵌入式Linux开发比单片机开发要好,让所有人都去做嵌入式Linux开发。说这种话的人大多数是嵌入式Linux的培训机构,或者是一开始就以嵌入式Linux入门的那一批人…

飞书如何接入ChatGPT-打造个人智能问答助手实现无障碍交流

目录 前言 环境列表 1.飞书设置 2.克隆feishu-chatgpt项目 3.配置config.yaml文件 4.运行feishu-chatgpt项目 5.安装cpolar内网穿透 6.固定公网地址 7.机器人权限配置 8.创建版本 9.创建测试企业 10. 机器人测试 总结 前言 在飞书中创建chatGPT机器人并且对话&am…

抖音汽车租赁小程序技术指南:开发高效便捷的租赁系统

为了更好地满足用户需求,抖音汽车租赁小程序成为一个备受关注的技术解决方案。本文将深入探讨开发高效便捷的汽车租赁系统所需的技术要点,为开发者提供一份实用的技术指南。 小程序架构选择 在搭建抖音汽车租赁小程序时,选择合适的小程序架构…

【SpringMVC】 参数传递

一.项目目录 SpringBoot项目创建之后会生成很多目录 删除不需要的这四个文件/目录 目录 二.Spring MVC 和 MVC Spring MVC(Spring Web MVC) Spring Web MVC 是⼀个 Web 框架 MVC : Model View Controller 它是一种思想 , 它把一个项目分成了三个部分. View视图层 界面显示…

python+pytest接口自动化:token关联登录这样做,阿里p8都直呼牛逼!!!

在PC端登录公司的后台管理系统或在手机上登录某个APP时,经常会发现登录成功后,返回参数中会包含token,它的值为一段较长的字符串,而后续去请求的请求头中都需要带上这个token作为参数,否则就提示需要先登录。 这其实就…

如何在Linux系统上检测GPU显存和使用情况?

如何在Linux系统上检测GPU显存和使用情况? 在Linux系统上,你可以使用一些命令行工具来检测GPU显存和使用情况。以下是一些常用的方法: 1. 使用nvidia-smi(仅适用于NVIDIA GPU) 如果你使用的是NVIDIA的显卡&#xff0…

Claude 发布2.1 版本,重大升级更新来看看有什么新功能?

11 月 23 日消息,OpenAI 竞争对手 Anthropic 日前推出了 Claude 2.1 聊天机器人及对应同名 AI 模型Claude 2.1,本文将总结Claude 2.1的主要功能。 增强的处理能力 上下文处理量大幅提升:Claude 2.1 现在能处理高达 200K上下文标记&#xff…

2、单片机及开发板介绍

单片机介绍 单片机,英文Micro Controller Unit,简称:MCU 内部集成:CPU、RAM(随机存储器)、ROM(只读存储器)、定时器、中断系统、通讯接口等 作用:信息采集(传感器)、处理&#xff0…

uniapp 适配部分IPhone手机底部安全距离

部分 IOS 机型,比如 Iphone X 的屏幕底部有一条“小黑线”区域,uniapp 项目中我们可以使用CSS的 env(safe-area-inset-bottom) 语句来自适配 IOS 的底部安全区域高度,这个语句会返回该机型的底部安全区域高度(单位 px)…

ffmpeg播放器实战(播放器流程)

1.流程图 1.main窗口创建程序窗口 程序窗口构造函数执行下面内容 2.开启播放 3.开启解码 4.开启渲染 5.反馈给ui 本文福利, 免费领取C音视频学习资料包学习路线大纲、技术视频/代码,内容包括(音视频开发,面试题,FFmpeg…

Linux C++ 服务器端这条线怎么走?一年半能做出什么?

Linux C 服务器端这条线怎么走?一年半能做出什么? 既然你是在校学生,而且编程语言和数据结构的基础还不错,我认为应该在《操作系统》和《计算机体系结构》这两门课上下功夫,然后才去读编程方面的 APUE、UNP 等书。 最…

【深度学习】如何选择神经网络的超参数

1. 神经网络的超参数分类 神经网路中的超参数主要包括: 1. 学习率 η 2. 正则化参数 λ 3. 神经网络的层数 L 4. 每一个隐层中神经元的个数 j 5. 学习的回合数Epoch 6. 小批量数据 minibatch 的大小 7. 输出神经元的编码方式 8. 代价函数的选择 9. 权重初始化的方法 …

C语言--给定一个数组,把第一项的值减去第二项的值,第二项的值减去第三项的值,第三项的值减去第四项的值,依次类推。放到一个新的数组中,并打印新的数组

一.题目描述: 给定一个数组,把第一项的值减去第二项的值,第二项的值减去第三项的值,第三项的值减去第四项的值,依次类推。放到一个新的数组中,并打印新的数组。 比如:输入一个数组是5&#xff…

SA实战 ·《SpringCloud Alibaba实战》第14章-服务网关加餐:SpringCloud Gateway核心技术

大家好,我是冰河~~ 一不小心《SpringCloud Alibaba实战》专栏都更新到第14章了,再不上车就跟不上了,小伙伴们快跟上啊! 在《SpringCloud Alibaba实战》专栏前面的文章中,我们实现了用户微服务、商品微服务和订单微服务之间的远程调用,并且实现了服务调用的负载均衡。也基…

Nginx结合cpolar实现内网穿透多个Windows Web站点端口

文章目录 1. 下载windows版Nginx2. 配置Nginx3. 测试局域网访问4. cpolar内网穿透5. 测试公网访问6. 配置固定二级子域名7. 测试访问公网固定二级子域名 1. 下载windows版Nginx 进入官方网站(http://nginx.org/en/download.html)下载windows版的nginx 下载好后解压进入nginx目…

[autojs]利用console实现悬浮窗日志输出

"ui"; ui.layout(<vertical><button id"autoFloatWindow" text"开启悬浮窗" textSize"15sp" /><button id"autoService" text"开启无障碍服务" textSize"15sp" /><button id"…

vue中怎么根据选择的名称 生成印章图片

项目中需要根据选择的印章名称&#xff0c;动态生成印章 &#xff0c;印章下方显示当前的日期 代码如下 <template><div><label for"name">选择名称&#xff1a;</label><select id"name" v-model"selectedName">…

技术面时,一定要掌握这3个关键点

前言 现在有这么多优秀的测试工程师&#xff0c;大家都知道技术面试是不可避免的一个环节&#xff0c;一般技术面试官都会通过自己的方式去考察你的技术功底与基础理论知识。 如果你参加过一些大厂面试&#xff0c;肯定会遇到一些这样的问题&#xff1a; 1、看你项目都用到了…