如何用精准测试来搞垮团队?

news2024/11/30 14:46:31

测试行业每年会冒出来一些新鲜词:混沌工程、精准测试、AI测试…… 这些新概念、新技术让我们感到很焦虑,逼着自己去学习和了解这些新玩意,担心哪一天被淘汰掉。

以至于给我这样的错觉,当「回归测试」、「精准测试」这两个词摆在一起,「回归测试」立刻就显得有些低级。我们愿意花时间去学习更新鲜的东西,也不愿意花费更多时间去研究如何做好「回归测试」这类老生常谈的工作。

所以,每隔一段时间我都会试着问问自己:「这项新技术的本质是什么?」、「和传统测试技术的关系是什么?」、「我为什么要学习它?」、「只是一个空洞的概念?还是有落地的实际方案?」、「公司内有适合推广的土壤吗?」……

如何用精准测试来搞垮团队?

弄清楚了这些问题后,我发现自己甄别出了:哪些技术我要学习,哪些技术我完全不需要学习。

最后,我也就不焦虑了。

精准测试是什么?

精准测试 是一套计算机测试辅助分析系统。精准测试所涉及的核心范围包含:软件测试用例和代码的双向追溯、智能回归测试用例选取、覆盖率分析、缺陷定位、测试用例聚类分析,这些功能完整的构成了精准测试技术体系。

用大家能听懂的话来说,我们在做软件测试时,往往面临2大难题:时间复杂度

时间:

测试的时间不足、人手不足。

在有限的时间内,怎样提高资源利用率、减少浪费,避免漫无目的测试。

复杂度:

排除不稳定因素、不确定因素。

例如,

你问测试工程师小张:小张,昨天的A项目上线了,你作为测试方,你觉得上线的质量怎么样?

小张:还行吧,我觉得应该没问题。

你:还行?觉得?应该?小张为什么用这么多不确定的词来回答呢?

因为他确实不知道呀。他不知道:他在测试的过程中,测试环境有没有人不小心碰到,测试数据有没有和同事合用,测试场景有没有遗漏,系统代码有哪些没有测到?

这么多不知道,他当然不知道了。

这时,精准测试可以作为一个系统的测试工程加以实践。

以服务端精准测试为例,行业里最普遍的做法是引入Jacoco开源插件,无论是以工程打包插桩的方式、还是以无侵入的方式,将被测系统部署在测试环境中,接下来执行「手工测试或自动化测试」,最终,生成一份「精准测试染色报告」。

如何用精准测试来搞垮团队?

通过查看染色报告中的细节,你可以看出来,「红色区域」是你测试遗漏的地方,接下来,对比测试用例,弄清楚这些「测试遗漏」是不是因为自己设计的测试用例存在不足。

如何用精准测试来搞垮团队?

精准测试其中一个最好的用法,就是用在做好「回归测试」上。

例如:

1、我能发现这次回归测试,哪些功能代码根本没测试到。

2、我能发现自己的测试用例原来存在这么多设计上的遗漏场景。

3、我能发现代码中有些逻辑代码属于是无效代码。

……

引入了精准测试概念的回归测试行为,你会发现,我们的重点不在于回归测试了,而在于「我这次回归还有遗漏吗?」

精准测试,可以更进一步拉近「你」与「回归测试」之间的距离。

如何用精准测试来搞垮团队呢?

与其说是尝试用「精准测试」来搞垮团队,倒不如说是「新技术」来搞垮团队。

下面6个点,既可以用在「精准测试」身上,也可以套用在「任何新技术」上来搞垮一个团队。

1、仅关注指标

往往纯管理类型的测试经理,会在工作中尝试寻找「管理抓手」。

拿精准测试来说,既然我不懂精准测试,但我又想知道精准测试的效果如何,简单,找指标呗。

张三,你这个系统必须达到75%的行覆盖率。

李四,你那个系统必须满足80%的分支覆盖率。

王五,你能力那么强,那你的指标肯定不能低于张三和李四,对吧。

整个过程就像旧社会,地主向长工催交租子一样,而长工们也会穷尽一切办法上交。

啥?质量?这里面哪有质量的事啊?只看指标就行了。

2、技术能力弱

俗话说,没有精钢钻就别揽瓷器活。

如果测试团队技术能力弱,但又想试着去做「新技术」的研究,多数情况下,无异于羊入虎口。

我亲眼见过很多传统小厂里,测试团队中有一半以上的人不会用Python写接口自动化脚本,有80%的人不懂任何编程语言,而准备一边投身功能测试,一边投身去做精准测试的。

最终的结局,往往是两边都做不好,搞不下去。

说到底,失败只是一个结果,逐渐做不下去是过程中的表现,选择导致了方向错误,技术能力弱则是团队的原罪。

3、理解认知问题

对于新技术,很多朋友往往存在着片面的认知,例如:精准测试就是Jacoco、接口自动化就是Pytest、UI自动化就是Seleium、性能测试就是JMeter、功能测试就是点点点。

在他眼里,所有的技术都可以用一个工具代替所有,而拥有这种思路的测试工程师,在实际工作中还带着好几个「亲传弟子」,手把手教他学测试……

每时每刻,行业中都有很多惨剧在发生着。

4、仅仅懂测试相关的知识

当你选择了研究「精准测试」时,你会发现,测试相关知识仅仅是其中之一,仅仅掌握测试是做不好的。

如果你想做好还需要熟悉:构建发布CICD、工具开发、编程语言、网络传输、甚至Docker虚拟化……等其他知识。

其实,这里面不但变相考察了大学里面所学的「计算机基础知识」、「数据结构」等基础知识,还跨了岗位,涉及到开发工程师、运维工程师、测试架构师岗位的知识。

5、心态不开放,不愿接受失败

有尝试就有失败,有失败就能总结经验,有经验、有信心就有可能做成事。

心态的不开放,往往会存在两种情况:

case 1 - 拿来主义、投机主义:

很多公司对于实验性质的工作不够支持,往往习惯性「拿来主义」。

对于新技术的态度步骤往往会有这几个步骤:

① 行业有没有成功案例?

PPT拿来学习1下。

② 我们的同行有在做吗?

PPT拿来学习1下。

③ 找个讲师给我们培训一下就可以了吧?

老师,PPT能发我学习1下吗?

这种「拿来主义」的做法往往把一些创新的可能性也挡在了门外。

case 2 - 思想封闭守旧:

在某些公司,更有一些测试负责人一听到「精准测试」等新技术关键字,立刻断言回绝:「我不搞,那些对我没用」、「精准测试就是个乌托邦,没啥用处」。

拒绝了所有的可能性。

如果一个团队的负责人心态够不开放,无法包容失败、包容试错,那么很多事情都赶不上趟。

总结

这篇文章只是蜻蜓点水似的描述了一下「精准测试」,其实真正的精准测试业远远不止这些,有很多奇技淫巧帮助我们提高测试质量。

在很多公司,测试团队对于系统上线前,最核心的做法就是「执行全量的回归测试」。

似乎回归测试已经包打一切了,我还需要精准测试吗?答案是肯定的。

我们的资源不一定足够、我们所处的环境充满着不确定性,如何更高效的利用资源、如何让更多要素变成确定的,是整个行业对测试工程师更高的要求。

实战案例

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

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

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

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

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

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

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

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

相关文章

【Java 进阶篇】JavaScript 事件详解

在本篇博客中,我们将深入探讨JavaScript事件,这是网页交互的核心。我们将从什么是事件开始,然后逐步介绍事件的类型、如何注册事件、事件处理程序、事件对象以及事件冒泡等相关内容。最终,我们将提供大量的示例代码来帮助您更好地…

【LeetCode】每日一题两数之和寻找正序数组的中位数找出字符串中第一个匹配项的下标在排序数组中查找元素的第一个和最后一个位置

主页点击直达:个人主页 我的小仓库:代码仓库 C语言偷着笑:C语言专栏 数据结构挨打小记:初阶数据结构专栏 Linux被操作记:Linux专栏 LeetCode刷题掉发记:LeetCode刷题 算法:算法专栏 C头…

二、K8S之Pods

Pod 一、概念 K8S作为一个容器编排管理工具,它可以自动化容器部署、容器扩展、容器负载均衡等任务,并提供容器的自愈能力等功能。在Kubernetes中,Pod是最基本的调度单元,它是一组共享存储和网络资源的容器集合,通常是…

Java集合类ArrayList的应用-杨辉三角的前n行

目录 一、题目 杨辉三角 二、题解 三、代码 四、总结 一、题目 题目链接:https://leetcode.cn/problems/pascals-triangle/description/ 杨辉三角 题目描述:给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。 在「杨…

充换电企业开迈斯低成本提升线上应用稳定性的最佳实践

作者:开迈斯新能源 开迈斯新能源科技有限公司于 2019 年 5 月 16 日成立,目前合资股东分别为大众汽车(中国)投资有限公司、中国第一汽车股份有限公司、一汽-大众汽车有限公司[增资扩股将在取得适当监督(包括反垄断&am…

vh、vw、vmin、vmax

1、分别是什么? vh:指屏幕可见视窗的高, vw:指屏幕可见视窗的宽, vmin:vh和vw之间选较小的值, vmax:vh和vw之间选较大的值。 2、和百分比的区别 百分比时基于父元素的宽高,而vh\vw\vmin\vmax基于屏幕可见视图的宽…

【MySQL JDBC】使用Java连接MySQL数据库

一、什么是JDBC? 理解API的概念 API:Application Programing Interface -- 应用程序编程接口写好一个程序,这个程序需要给别人提供哪些功能?这些功能就是通过一些 函数/类 这样的方式来提供的。例如 Random、Scanner、ArrayList..…

2.Python-用Flask框架创建一个简单的Web程序

怎么安装Flask框架 在终端输入以下命令: pip install flask 验证flask安装: flask --version 编写app.py文件 app文件py如下: #导入flask框架中的两个模块 #Flask允许创建一个Flask应用实例,处理路由、请求和响应等功能 #render…

zookeeper应用场景(二)

单机环境下可以利用jvm级别的锁,比如synchronized、Lock等来实现锁,如果是多机部署就需要一个共享数据存储区域来实现分布式锁 一、分布式锁实现方式 1、基于数据库实现分布式锁 可以用数据库唯一索引来实现 2、基于redis实现分布式锁 redis实现的分…

测试除了点点点,还有哪些内容呢?

今天和一个网友讨论了一下关于互联网行业中测试的情况,希望能够了解现在的互联网行业主要的测试工作内容。小编根据以往的工作经历和经验情况,来做一个总结和整理。 1、岗位分类 现在的岗位划分主要是分为两大类:测试工程师 和 测试开发工程…

1、验证1101序列(Moore)

题目要求: 用Moore型状态机验证1101序列。 题目描述: 用使用状态机验证1101序列,注意:允许重复子序列。如图 端口描述: module moore_1101(input clk,//时钟信号input clr,//reset复位信号,高电平有效in…

Netty 入门 — 亘古不变的Hello World

这篇文章我们正式开始学习 Netty,在入门之前我们还是需要了解什么是 Netty。 什么是 Netty 为什么很多人都推崇 Java boy 去研究 Netty?Netty 这么高大上,它到底是何方神圣? 用官方的话说:Netty 是一款异步的、基于事…

【网络协议】聊聊ifconfig

我们知道在linux是ifconfig查看ip地址,但是ip addr也可以查看 IP 地址是一个网卡在网络世界的通讯地址,相当于我们现实世界的门牌号码。 从IP地址的划分来看,C类地址只可以容纳254个,而B类6W多,那么又没有一种折中的…

系统文件IO、文件描述符fd、重定向、文件系统、动态库和静态库

目录 C文件接口系统文件I/O系统调用和库函数文件描述符0 & 1 & 2FILE和fd的关系文件描述符的分配规则 重定向重定向的本质输出重定向输入重定向追加重定向 dup2函数 FILE理解文件系统了解磁盘的物理结构逻辑抽象文件系统文件系统的图解和解析通过文件系统来理解ls -al通…

74.C++ STL stack容器

目录 1.什么是stack 2.stack的构造函数 3.赋值操作 4.数据存取操作 5.大小操作 1.什么是stack stack 是 C 标准库中的容器适配器,它提供了一个堆栈(栈)数据结构的封装,用于管理元素的插入和移除。栈是一种后进先出的数据结构…

【RWKV】如何新增一个自定义的Tokenizer和模型到HuggingFace

0x0. 前言 RWKV社区在Huggingface上放了rwkv-4-world和rwkv-5-world相关的一系列模型,见:https://huggingface.co/BlinkDL/rwkv-4-world & https://huggingface.co/BlinkDL/rwkv-5-world ,然而这些模型的格式是以PyTorch的格式进行保存的…

$ vue -Vbash: vue: command not found

$ vue -V bash: vue: command not found报这个错,我们需要找到vue安装路径,添加在环境变量的用户变量中: 1、vue安装路径 2、编辑环境变量 然后重新打开命令框,就可以了

嵌入式数据库sqlite3【基础篇】基本命令操作,小白一看就懂(C/C++)

目录 前言 一、sqlite概念和特性 二、sqlite安装 三、sqlite3数据类型 四、sqlite数据库约束 五、sqlite常用命令 六、SQL语句(增删改查) 七、sqlite使用实例(教学管理数据库) 总结 前言 数据在实际工作中应用非常广泛…

Linux网络编程系列之服务器编程——阻塞IO模型

Linux网络编程系列 (够吃,管饱) 1、Linux网络编程系列之网络编程基础 2、Linux网络编程系列之TCP协议编程 3、Linux网络编程系列之UDP协议编程 4、Linux网络编程系列之UDP广播 5、Linux网络编程系列之UDP组播 6、Linux网络编程系列之服务器编…

Stream流中的 max()和 sorted()方法

需求:某个公司的开发部门,分为开发 一部 和 二部 ,现在需要进行年中数据结算。分析: 员工信息至少包含了(名称、性别、工资、奖金、处罚记录)开发一部有 4 个员工、开发二部有 5 名员工分别筛选出 2 个部门…