如何用精准测试来搞垮团队?
测试行业每年会冒出来一些新鲜词:混沌工程、精准测试、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 - 思想封闭守旧:
在某些公司,更有一些测试负责人一听到「精准测试」等新技术关键字,立刻断言回绝:「我不搞,那些对我没用」、「精准测试就是个乌托邦,没啥用处」。
拒绝了所有的可能性。
如果一个团队的负责人心态够不开放,无法包容失败、包容试错,那么很多事情都赶不上趟。
总结
这篇文章只是蜻蜓点水似的描述了一下「精准测试」,其实真正的精准测试业远远不止这些,有很多奇技淫巧帮助我们提高测试质量。
在很多公司,测试团队对于系统上线前,最核心的做法就是「执行全量的回归测试」。
似乎回归测试已经包打一切了,我还需要精准测试吗?答案是肯定的。
我们的资源不一定足够、我们所处的环境充满着不确定性,如何更高效的利用资源、如何让更多要素变成确定的,是整个行业对测试工程师更高的要求。
实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。


如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。
如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步
在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。
我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,
自动化测试视频教程、学习笔记领取传送门!!!
相关文章:
如何用精准测试来搞垮团队?
测试行业每年会冒出来一些新鲜词:混沌工程、精准测试、AI测试…… 这些新概念、新技术让我们感到很焦虑,逼着自己去学习和了解这些新玩意,担心哪一天被淘汰掉。 以至于给我这样的错觉,当「回归测试」、「精准测试」这两个词摆在一…...
暴力递归转动态规划(十)
题目 给定一个二维数组matrix[][],一个人必须从左上角出发,最终到达右下角,沿途只可以向下或者向右走,沿途的数字都累加就是距离累加和。返回最小距离累加和。 这道题中会采用压缩数组的算法来进行优化 暴力递归 暴力递归方法的整…...
深度学习-房价预测案例
1. 实现几个函数方便下载数据 import hashlib import os import tarfile import zipfile import requests#save DATA_HUB dict() DATA_URL http://d2l-data.s3-accelerate.amazonaws.com/def download(name, cache_diros.path.join(.., data)): #save"""下载…...
【26】c++设计模式——>命令模式
c命令模式 C的命令模式是一种行为模式,通过将请求封装成对象,以实现请求发送者和接受者的解耦。 在命令模式中,命令被封装成一个包含特定操作的对象,这个对象包含的执行该操作的方法,以及一些必要的参数。命令对象可以…...
ElasticSearch容器化从0到1实践(一)
背景 通过kubernetes集群聚合多个Elasticsearch集群碎片资源,提高运维效率。 介绍 Kubernetes Operator 是一种特定的应用控制器,通过 CRD(Custom Resource Definitions,自定义资源定义)扩展 Kubernetes API 的功能…...
【Vue面试题二十四】、Vue项目中有封装过axios吗?主要是封装哪方面的?
文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 面试官:Vue项目中有封装过axios…...
旅游票务商城小程序的作用是什么
随着环境放开,旅游行业恢复了以往的规模,本地游、外地游成为众多用户选择,而在旅游时,不少人会报名旅行团前往各风景热点游玩,对旅游票务经营者而言,市场高需求的同时也面临一些难题。 对旅游票务经营商家…...
LabVIEW在安装了其它的NI软件之后崩溃了
LabVIEW在安装了其它的NI软件之后崩溃了 在安装了其它的NI软件之后,一些原本安装好的或者新安装的软件由于缺少必要的DLL而崩溃掉了。例如,在这种情况下,Teststand可能会报下面的错误: RetrievingCOM class factory for compone…...
基于Java的个人健康管理系统设计与实现(源码+lw+部署文档+讲解等)
文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…...
nginx https的配置方法
文章目录 安装证书工具安装根证书生成域名证书配置转发 ssl的请求到http请求 安装证书工具 curl ‘http://pan.itshine.cn:5080/?explorer/share/fileOut&shareID64h6PiQQ&path%7BshareItemLink%3A64h6PiQQ%7D%2F%E5%B7%A5%E5%85%B7%2Fmkcert’ > ‘./mkcert’ c…...
使用WebDriver采样器将JMeter与Selenium集成
目录 第一步:在JMeter中添加Selenium / WebDriver插件 第二步:创建一条测试计划--添加线程组 第三步:下载 chromedriver.exe 第四步:在Web Driver 采样器中添加测试脚本 第五步:运行并且验证 注意: 第…...
flink教程
文章目录 来自于尚硅谷教程1. Flink概述1.1 特点1.2 与SparkStreaming对比 2. Flink部署2.1 集群角色2.2 部署模式2.3 Standalone运行模式2.3.1 本地会话模式部署2.3.2 应用模式 2.4 YARN运行模式2.4.1 会话模式部署2.4.2 应用模式部署 2.5 历史服务 3. 系统架构3.1 并行度3.2 …...
视频监控系统/安防视频平台EasyCVR广场视频细节优化
安防视频监控系统/视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同,支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。安防视频汇聚平台EasyCVR拓展性强,视频能力丰富,可实现视频监控直播、视频轮播、…...
电脑上播放4K视频需要具备哪些条件?
在电视上播放 4K( 4096 2160 像素)视频是很简单的,但在电脑设备上播放 4K 视频并不容易。相反,它们有自己必须满足的硬件要求。 如果不满足要求,在电脑上打开 4K 分辨率文件或大型视频文件会导致卡顿、音频滞后以及更…...
测试除了点点点,还有哪些内容呢?
今天和一个网友讨论了一下关于互联网行业中测试的情况,希望能够了解现在的互联网行业主要的测试工作内容。小编根据以往的工作经历和经验情况,来做一个总结和整理。 1、岗位分类 现在的岗位划分主要是分为两大类:测试工程师 和 测试开发工程…...
HTTP的本质理解
HTTP是超文本传输协议,从协议、传输和超文本三个关键词进行进行分解。 协议关键词讲解 1.协议的第一个词是协,这个就表明需要至少两方参与到其中。 2.协议的第二个词是议,表明HTTP是规范和约定,需要大家共同遵守,也包…...
微信小程序获取公众号的文章
背景:我有一个《砂舞指南》的小程序,主要是分享砂舞最新动态等 最近做了一个小程序,想要一些固定的文章展示在小程序里面,比如《什么是砂舞》《玩砂舞注意点》等普及砂舞知识的文章 开发流程: 1、刚开始测试了 素材…...
【算法|动态规划No.20】leetcode416. 分割等和子集
个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程,希望…...
深入解析C语言中的strstr函数
目录 一,strstr函数简介 二,strstr函数实现原理 三,strstr函数的用法 四,strstr函数的注意事项 五,strstr函数的模拟实现 一,strstr函数简介 strstr函数是在一个字符串中查找另一个字符串的第一次出现&…...
HDLbits: Fsm serial
根据题意设计了四个状态,写出代码如下: module top_module(input clk,input in,input reset, // Synchronous resetoutput done ); parameter IDLE 3b000, START 3b001, DATA 3b010, STOP 3b100, bit_counter_end 4d7;reg [2:0] state,next_sta…...
多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...
从面试角度回答Android中ContentProvider启动原理
Android中ContentProvider原理的面试角度解析,分为已启动和未启动两种场景: 一、ContentProvider已启动的情况 1. 核心流程 触发条件:当其他组件(如Activity、Service)通过ContentR…...
针对药品仓库的效期管理问题,如何利用WMS系统“破局”
案例: 某医药分销企业,主要经营各类药品的批发与零售。由于药品的特殊性,效期管理至关重要,但该企业一直面临效期问题的困扰。在未使用WMS系统之前,其药品入库、存储、出库等环节的效期管理主要依赖人工记录与检查。库…...
Java数组Arrays操作全攻略
Arrays类的概述 Java中的Arrays类位于java.util包中,提供了一系列静态方法用于操作数组(如排序、搜索、填充、比较等)。这些方法适用于基本类型数组和对象数组。 常用成员方法及代码示例 排序(sort) 对数组进行升序…...
ArcPy扩展模块的使用(3)
管理工程项目 arcpy.mp模块允许用户管理布局、地图、报表、文件夹连接、视图等工程项目。例如,可以更新、修复或替换图层数据源,修改图层的符号系统,甚至自动在线执行共享要托管在组织中的工程项。 以下代码展示了如何更新图层的数据源&…...
leetcode_69.x的平方根
题目如下 : 看到题 ,我们最原始的想法就是暴力解决: for(long long i 0;i<INT_MAX;i){if(i*ix){return i;}else if((i*i>x)&&((i-1)*(i-1)<x)){return i-1;}}我们直接开始遍历,我们是整数的平方根,所以我们分两…...
用鸿蒙HarmonyOS5实现国际象棋小游戏的过程
下面是一个基于鸿蒙OS (HarmonyOS) 的国际象棋小游戏的完整实现代码,使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├── …...
