业务平台为测试带来的挑战

news2024/11/27 2:40:40

业务平台”是指 中间平台,其上游有底层系统支撑,其下游有客户群体。因为平台下游承接大量客户群体,客户对应用的行为极其敏感,一些小故障比如闪屏、按钮失灵,落数失败会有很大概率引起客诉。

客诉对公司整体的影响

从公司层面讲,客诉会带来非常恶劣的影响,下面列举四种情况:

  • 客诉过多或者客诉影响很大,会影响企业在行业内部的声誉,间接会影响销售量。
  • 客诉过多,直接的原因就是企业内部质量控制和生产运营系统问题及漏洞多,不解决直接影响生产经营。
  • 客诉是客户直接的抱怨,直接影响该客户和企业的合作关系,轻微的只是抱怨,严重的可能会导致退货、索赔等。
  • 客诉直接影响客户满意度,如果不改进,逐渐会被客户减少采购量,直到被踢出供应系统。

为避免客户投诉,公司会为员工制定严格的定责标准,定责标准会影响相关人员的工资绩效,从而约束相关人员的重视,所谓从根儿上治老毛病!

业务平台为测试带来的挑战

客诉对公司内的影响

为避免客户投诉,公司会为员工制定严格的定责标准,需要相关开发“1分钟发现故障,5分钟定位原因,10分钟恢复”,根据故障影响大小也会制定追责标准,诸如“500 客诉半年差绩效,1000客诉全年差绩效,2000客诉团队差绩效”。我前段时间负责一起 P级故障的复盘,复盘过程之严格另人头皮发麻,当故障影响到线上用户时,GOC部门要考查每一个时间点每个人在做的事情,下面列一下“复盘清单”:

  • 10:30 A 同学开始发布变更。
  • 10:34 触发线上预警。
  • 10:35 B 同学响应预警,启动作战群。

随后,GOC 部门会根据故障影响层面、操作过程、止血时间对相关人员进行综合定责。从个人层面来讲,负责业务平台的开发、产品和运营每天都要紧拉着一根弦,时刻预防线上事故。

测试人员是否能“有效”减少线上事故?

很遗憾,测试人员不能“有效”减少故障的发生!即使研发人员不接新需求不启动迭代变更,测试人员不停做测试,线上事故还是会发生,它就像一位幽灵,下面是一些常见原因:

1、陈旧代码存在隐藏 BUG,测试人员不会对所有功能进行回归,这些BUG就是隐藏的炸弹。

2、测试环境与线上环境存在差异,测试环境没问题,但一上线就会出现故障。比如预发环境流量较少,不使用集群缓存,而线上环境流量较大,使用集群缓存。

3、上下游系统变更与本业务平台不兼容,测试人员一般只负责本平台,对于其它平台的变更很难考虑进去。

4、调用量突增导致接口调用超时,该问题在日常测试中没问题,是因为线下与线上流量存在差异。

既然说的这么在理,线上事故不能被有效预防,那么测试人员对于业务平台的价值是什么?

如果把项目分层次,越靠近业务端说明其职责偏向客户,越靠近技术端说明其职责偏向开发,则测试的位置如下图所示。测试比研发更懂业务,比如运营/产品更懂技术,处于技术和业务的中间平衡点。

业务平台为测试带来的挑战

处于中间平衡点的优势是能全面的看待问题。举个例子,前端想展示/存储某数据会向后端发送读数据的请求,后端再从DB读写数据。

业务平台为测试带来的挑战

为了加速访问,一般会在DB和服务器中间设有集群缓存,经常用到的数据会存储到集群缓存中,以加速前端展示。某次迭代突然发现前端数据展示异常,复盘整个测试流程,发现产品和运营在前端测试过数据展示,测试的时候没问题,一上线怎么就出了问题呢?

业务平台为测试带来的挑战

其问题是开发读写集群缓存的代码不一致,读出来的数据结构和写进去的数据结构不匹配。产品和运营在测试的时候,所执行的操作(展开、点击下一页)并不会触发缓存刷新,也就是说,集群缓存中的数据没有被刷新,缓存中仍然是旧数据,在前端可以正常展示。但发布到了线上,某天的操作(编辑,删除)触发了缓存刷新,向缓存中写入了新数据,由于写入数据的代码和读取数据的代码不一致,导致了前端显示异常。产品和运营同学由于对技术的不了解,在测试阶段只测试了“展开”并没有测试“编辑和删除”,而开发同学自测时,也没到前端进行操作,只查看了接口调用信息。

而一名测试人员,在需求评审阶段与产品充分沟通,在系分评审阶段与开发充分沟通,其测试用例也会综合产品视角和开发视角进行设计,会很容易发现上述问题。测试虽然不能“有效”减少故障的发生,但却可以在开发和产品/运营之间找到平衡点,这个平衡点是综合了业务视角和技术视角,能更全面地发现问题。明眼人可能看出来了:“真有这么简单?测试人员在需求评审阶段和系分阶段聊聊天就行了?”,不不不,这个过程可不仅仅是聊天哦,对于测试人员的各项能力都有要求,是一个不小的挑战。

测试人员带来的挑战

在研发流程中,测试主要参与的阶段有需求评审和系分评审,前者是产品主导后者是研发主导。测试人员既要参与到需求评审阶段,也要参与到系分评审阶段,下面就分别展开讲讲。

需求评审阶段

该阶段由产品主导,在此阶段,产品会讲述“新需求是什么和为什么要做”。测试需要参加需求评审,因为一方面要了解新需求以便设计测试用例;另一方面要把控迭代与需求的关联关系。看到这,应该有小伙伴的心里有个大大的问号“迭代和需求的关联关系为什么要测试参与?让研发和产品确定就好啦!”,小伙伴们忽略了一个情况:测试开发比严重失衡,公司的测试开发比大约是1:5,1名测试服务5名开发,测试资源严重不足,我举个例子方便大家理解,现在产品有十个需求,哪些需求要上本次迭代哪些需求不上本次迭代是谁说了算?

1、产品说了算:产品希望本次迭代 10 个需求全上,需求量太大了,测试人员就算天天加班也很难对这么多需求进行测试。

2、开发说了算:若开发人力不足,会将需求分散到多个迭代中,10 个需求恨不得拉5个迭代,测试人员看到如此多的迭代,真是头皮发麻:本次迭代上哪些需求,要测什么?下次迭代上哪些需求?下下次迭代又上哪些需求?

所以迭代和需求的关联关系既不能让开发说了算,也不能让产品说了算,测试要参与迭代与需求的关联关系的讨论,由于测试人员对新需求的了解程度远不如产品和开发,在讨论过程中难免要占下风,如果想掌握掌握话语权,就势必要对需求的重要性、优先级、可测性进行充分理解,并且能够根据有限的测试资源给出合理排期 ,在此过程中会激发人的项目管理能力和需求理解能力。

系分评审阶段

该阶段由研发主导,主要讲解做了什么需求和哪些没做。测试在此阶段介入,一方面可以从研发角度了解哪些功能重要(涉及全链路,涉及数据读写)哪些功能不重要,从而完善设计测试用例;另一方面要把控提测时间和上线时间。对于测试来说,提测时间和上线时间尤为重要,这决定着有多少时间能留给测试发挥,测试要保障研发能预留充足的测试时间。很多新项目团队,其系分评审可能根本不涉及提测时间,什么时候可以提测完全随缘,最终项目上线压力全部留给测试,若项目再复杂些,在有限的时间内测试很难保障项目质量,出了线上事故研发又反过来质问测试:“为什么A没测?为什么B没测?”。

所以测试在系分评审中不仅要了解重点技术,还要对提测时间和上线时间进行严控把控,在此过程中会激发人的技术理解能力和项目管理能力

小结

“业务平台”是指中间平台,其上游有底层系统支撑,其下游有客户群体。其重要性不言而喻,测试人员可以在开发和产品/运营之间找到平衡点,这个平衡点是综合了业务视角和技术视角,能更全面地发现问题;业务平台给测试同学带来了前所未有的挑战,包括如何把控研发流程,在需求评审和系分评审中如何掌握迭代与需求关联关系。

实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

自动化测试视频教程、学习笔记领取传送门!!!

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

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

相关文章

山体滑坡监测预警系统

在面对自然灾害和地质灾害的严峻挑战时,人们对于科技的需求和依赖更加强烈。山体滑坡,作为一种常见的地质灾害,其不可预测性和潜在的巨大破坏力令人深感忧虑。然而,随着山体滑坡监测预警系统的出现,人们有了一个强有力…

【计算机视觉 05】YOLO论文讲解:V1-V7

https://ai.deepshare.net/live_pc/l_63243a65e4b050af23b79338 Part1.目标检测与YOLO系列 1. 目标检测任务及发展脉络 2. YOLO的发展史 Anchors Base原理: Part2.YOLOV1-V3 3. YOLO V1的网络结构 4. YOLO V3的网络结构与实验结果 Part3.YOLO的进化 5. YOLO V4的网络…

Python实现收发邮件

在实际开发中,当你收到一个需求的时候,比如要做一个「收发邮件」的功能。 如果你完全没有印象,没有思路,可以直接 Google 搜索的。 因为我们不可能对每个知识点都了解,不了解不可耻,但要懂得怎么去找资料…

用全栈智能,联想如何“零故障”支持亚运会?

作者 | 曾响铃 文 | 响铃说 1912年,电子计时器首次应用,1936年,体育赛事首次在电视上播出,1972年计算机首次进入人类赛事,1996年互联网技术大范围应用,随后3G网络、3D技术、VR技术……以奥运会为代表&…

Domain Enhanced Arbitrary Image Style Transfer via Contrastive Learning

ABSTRACT 在这项工作中,我们使用一种新颖的风格特征表示学习方法来解决任意图像风格转移的挑战性问题。合适的风格表示作为图像风格化任务的关键组成部分,对于获得满意的结果至关重要。 现有的基于深度神经网络的方法在内容特征的Gram矩阵等二阶统计量…

Linux——指令初识(二)

Linux下基本指令 前言一、时间相关的指令二、Cal指令三、find指令四、grep指令五、sort指令六、uniq指令七、.zip/unzip指令八、.tar指令九、uname –r指令十、重要的几个热键[Tab],[ctrl]-c, [ctrl]-d十一、关机总结 前言 linux的学习开始啦! 今天我们继续来认识指…

选择适合普通公司的项目管理软件

不管是打工人还是学生党都适合使用Zoho Projects项目管理软件。利用项目概览功能,将整体项目尽收眼底,作为项目管理者,项目日程、进度都可见,Zoho Projects项目管理APP助推项目每一环节的进展,更便于管理者设计项目的下…

基于Springboot实现校园新闻网站管理系统演示【项目源码+论文说明】分享

基于Springboot实现校园新闻网站管理系统演示 摘要 本论文主要论述了如何使用JAVA语言开发一个校园新闻网站 ,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述校…

基于Springboot实现网上商城管理系统演示【项目源码+论文说明】分享

基于Springboot的网上商城管理系统演示 摘要 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,网上商城购物系统当然也不能排除在外。网上商城购物系统是以实际运用为开发背景&…

【小白必看】网络安全(黑客)0基础学习笔记

目录 一、自学网络安全学习的误区和陷阱 二、学习网络安全的一些前期准备 三、网络安全学习路线 四、学习资料的推荐 想自学网络安全(黑客技术)首先你得了解什么是网络安全!什么是黑客! 网络安全可以基于攻击和防御视角来分类…

使用echarts时多tab切换后不能正确获取到指定的宽度,默认100px,修改浏览器窗口大小后又能正常展示

图表部分代码&#xff1a; <template><div :class"className" :style"{ height: height, width: width }" /> </template>使用代码&#xff1a; <el-tabs v-model"activeName" type"card"><el-tab-pane …

【Nginx学习】—Nginx基本知识

【Nginx学习】—Nginx基本知识 一、什么是Nginx Nginx是一个高性能的HTTP和反向代理的web服务器&#xff0c;Nginx是一款轻量级的Web服务器/反向代理服务器处理高并发能力是十分强大的&#xff0c;并且支持热部署&#xff0c;启动简单&#xff0c;可以做到7*24不间断运行。 …

打包报错JavaScript heap out of memory

npm run build 的时候出现了Reached heap limit Allocation failed - JavaScript heap out of memory&#xff0c;报错信息如下图所示。 奇怪的时候这个报错信息在本地不会出现&#xff0c;通过jekins在服务器打包部署的时候才会出现。于是进入服务器执行下面一句代码&#xff…

点三流水灯

.text .global _start_start: 设置GPIOF寄存器的时钟使能LDR R0,0X50000A28LDR R1,[R0]ORR R1,R1,#(0x1<<5)STR R1,[R0]设置GPIOE寄存器的时钟使能LDR R0,0X50000A28LDR R1,[R0] 从r0为起始地址的4字节数据取出放在R1ORR R1,R1,#(0x1<<4) 第4位设置为1STR R1,[R…

Linux虚拟机搭建RabbitMQ集群

普通集群模式&#xff0c;意思就是在多台机器上启动多个 RabbitMQ 实例&#xff0c;每台机器启动一个。创建的 queue&#xff0c;只会放在一个 RabbitMQ 实例上&#xff0c;但是每个实例都同步 queue 的元数据&#xff08;元数据可以认为是 queue 的一些配置信息&#xff0c;通…

nginx开启https配置之后网页无法访问问题处理

背景说明 最近新购服务器部署nginx之后按照之前的方式部署前端项目并配置https之后访问页面显示:无法访问.新的服务器ECS系统和之前相同,nginx安装方式也相同,nginx配置方式也是相同.但是访问还是显示无法访问.下面简单记录一下问题处理过程. 处理过程 1.https访问之后无法访问…

【华为OD机考B卷 | 100分】统计监控、需要打开多少监控器(JAVA题解——也许是全网最详)

前言 本人是算法小白&#xff0c;甚至也没有做过Leetcode。所以&#xff0c;我相信【同为菜鸡的我更能理解作为菜鸡的你们的痛点】。 题干 OD&#xff0c;B 卷 100 分题目【OD 统一考试&#xff08;B 卷&#xff09;】 1. 题目描述 某长方形停车场每个车位上方都有一个监控…

Java——System类

Java——System类 System类定义了一些与系统相关的属性和方法&#xff0c;它所提供的属性和方法都是静态的&#xff0c;使用时直接调用System类即可。 1.getProperties&#xff08;&#xff09;方法——取得当前的系统属性 2.getProperty&#xff08;String key&#xff09;…

如何用万界星空科技低代码平台快速开发一个MES系统?

一、制造业工厂生产现状&#xff1a; 1、生产计划复杂 生产效率低&#xff0c;工作量大&#xff0c;周期长&#xff1b;生产计划执行准确性不高&#xff0c; 生产工单准时完工率过低&#xff1b;计划人员很难得到实际生产进度的准确信息&#xff1b;人员沟通成本高&#xff1…

练[SUCTF 2019]CheckIn

[SUCTF 2019]CheckIn 文章目录 [SUCTF 2019]CheckIn掌握知识解题思路关键paylaod 掌握知识 ​ .user.ini文件上传利用–需要上传目录有一个php文件(index.php)&#xff0c;文件头绕过&#xff0c;文件内容<&#xff1f;检测 解题思路 打开题目链接&#xff0c;发现又是一…