2024自动化测试的痛点与发展趋势!

news2024/9/29 5:23:04

前几天在技术交流群里,大家讨论了很多关于自动化测试落地面临的痛点和如何创造价值的话题,颇有感触。

自动化测试这个话题,从出现到在国内大规模开展实践,有很长的一段时间了。早期,大家对自动化测试的理解和使用目的很简单,就是通过机器自动执行,替代人的手工执行,寄期能提高效率,降低成本,同时降低人手工执行带来的误差和遗漏,想法很美好。后来在国内各大小公司大规模开始实践,就开始变形了。

这个变形过程,大致分为这几个阶段:

1、以工具为载体,将测试用例从人工执行变成机器执行。在这个过程中,工具的不断迭代和演进帮了大忙,同时在某段时期造就了自动化测试工程师这样一个专项岗位。

2、以平台为载体,通过标准化的平台来降低功能测试人员的上手难度,主打一个人人都可以自动化,为研发测试赋能。这个大饼让很多管理心动不已,投入大量资源支持,也寄托了很高的期待。

3、以工程师为载体,号称一栈到底。就是说只要你是一个测试工程师,就应该搞定自己负责部分的所有测试工作,包括自动化、性能、安全各种,这也是当前市场对测试工程师的定义和要求。

这个过程背后体现了这几个趋势:

  • 对测试岗位的专业程度要求变高;
  • 对测试产出的结果预期开始挤泡沫;
  • 从工具平台的高大上思维转变为能落地创造成果的接地气行为;

总的来说,这个过程演变至今,对产品质量的要求开始落于实处,花样秀技术而无法真正创造符合预期价值的人和工具,开始被淘汰。剩下的,就是能实际解决问题的人,至于用什么手段和工具,已经不重要了。

自动化的概念,来自于传统的制造业流水线作业,背后的原因是对生产力和生产效率的大规模革新。制造业的自动化流水线能不断演变优化的原因在于工业品都是模块化标准化的产品,自动化相比人类手工确实效率和良品率高了不少。

而软件行业先天讲究的小步快跑和快速迭代基因,和自动化流水线的本质是矛盾的。

近十年来的各个技术热门话题,诸如敏捷、devops、自动化测试等等,最终能真正落于实地且被大规模应用和认可的,也就devops了,为什么?因为devops的对象,是对软件研发交付流程过程的标准化和优化,诸如代码管理、变更和验证都是可以标准化的,且这些流程的标准化都是大家认可的。

而自动化测试的痛点在哪里呢?主要体现在如下几点:

  • 自动化测试的对象是需求和业务场景;
  • 自动化测试的动作是机器执行测试用例;
  • 自动化测试的结果受多种因素制约和影响;

其中,需求和业务场景本身的不确定性更高变化更快,环境、网络、测试数据和断言都可能影响测试结果。截至目前来看,业内大部分人对自动化测试的理解和实践都是如何利用工具和平台来执行测试用例,却对需求和场景的变化以及改善影响测试结果的因素投入太少。

如此这般,长期下来就导致了投入大量资源却没拿到预期结果,最终自动化测试这一技术实践变成了测试自动化的手段。

测试的本质是度量,是对质量进行全方位的定量评估。无论是性能还是自动化,最终的目的是要对每次迭代和变更带来的质量变化有一个定量的结果,然后针对性改进,这也是质量保障的目的。

自动化测试要想真正落地拿到好的结果,一定要对测试对象进行标准化,否则自动化测试只能是测试自动化,从结果变成手段。

为什么这几年业内大家更多的开始提倡测试左移和质量门禁?因为相比于自动化测试这一技术手段,测试左移能更好的发现风险,质量门禁能更好的对质量在每个环节的变化给出精确的度量,这些反应在具体的质量保障方面有更直观的结果,无论是说服领导还是工作产出,都更有力度。

那自动化测试未来的发展趋势是什么呢?我的观点如下:

  • 回归技术手段本身的定位,做辅导而不是做主导(造数据/线上定时巡检);
  • 做好基础技术设施和流程规范的标准化,再考虑扩大自动化测试的应用场景;
  • 深入理解测试对象,基于需求和场景开展测试,放下技术鄙视链(自动化优于点点点);

能控制风险精准度量的才是质量,至于哪个框架优秀哪个技术更牛,交给时间来评判。

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

最后: 可以在公众号:程序员小濠 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

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

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

相关文章

企业微信如何接入第三方应用?

1.登录企业微信管理后台:https://work.weixin.qq.com/wework_admin​​​​​ 2.点击创建应用; ​​​​​​​ 3. 此时可以看到已经创建好的应用,并且生成应用的唯一id(agentId) 4. 第三方应用申请域名 (举例&…

Vue3 + antv/x6 实现流程图

新建流程图 // AddDag.vue <template><div class"content-main"><div class"tool-container"><div click"undo" class"command" title"后退"><Icon icon"ant-design:undo-outlined" /…

kibana新增查看更新删除es中的数据

登录kibana&#xff0c;打开开发工具 写入数据 PUT test20240311/person/1 {"name": "张三","mobile":"13011111111" } 查询数据 GET /test20240311/person/_search {"query": {"term": {"mobile": {…

类和对象练习题

第1题 import java.util.Scanner; public class Homework01{public static void main(String[] args){//创建一个double类型的数组double array[]new double[6];//创建一个输入对象Scanner inputnew Scanner(System.in);//提示信息&#xff1a;对数组元素进行赋值System.out.pr…

docker-swarm集群管理命令

为什么选择swarm集群&#xff1f; 灵魂疑问&#xff1a;同样是集群&#xff0c;为什么选择docker swarm&#xff0c;而不不选择k8s或者k3s&#xff1f; 我的需求场景&#xff1a;不想直接用docker或者java -jar直接跑&#xff0c;修改前是使用java -jar方式&#xff0c;这两种…

爬虫练习:获取某网站的房价信息

一、相关网站 二、相关代码 import requests from lxml import etree import csv with open(房天下数据.csv, w, newline, encodingutf-8) as csvfile:fieldnames [名称, 地点,价格,总价,联系电话]writer csv.DictWriter(csvfile, fieldnamesfieldnames)writer.writeheader…

【UE5】非持枪站姿移动混合空间

项目资源文末百度网盘自取 创建角色在非持枪状态且站立移动的动画混合空间 在Character文件夹中创建文件夹&#xff0c;命名为BlendSpace 所有混合空间文件都放到这个文件夹中 在BlendSpace文件夹中单击右键&#xff0c;选择动画(Animation)中的混合空间(BlendSpace) 选择SK…

爬虫技术之正则提取静态页面数据

第一天 简单示例 在爬虫过程中&#xff0c;我们获取到了页面之后&#xff0c;通常需要做的就是解析数据&#xff0c;将数据持久化到数据库为我所用。如何又快又准确得提取有效数据&#xff1f;这是一门技术&#xff0c;看了我的博客之前可能略有难度&#xff0c;但各位大师看…

OpenvSwitch VXLAN 隧道实验

OpenvSwitch VXLAN 隧道实验 最近在了解 openstack 网络&#xff0c;下面基于ubuntu虚拟机安装OpenvSwitch&#xff0c;测试vxlan的基本配置。 节点信息&#xff1a; 主机名IP地址OS网卡node1192.168.95.11Ubuntu 22.04ens33node2192.168.95.12Ubuntu 22.04ens33 网卡信息&…

Win10系统使用IIS服务搭建WebDAV网站结合内网穿透公网访问本地文件

文章目录 推荐1. 安装IIS必要WebDav组件2. 客户端测试3. cpolar内网穿透3.1 打开Web-UI管理界面3.2 创建隧道3.3 查看在线隧道列表3.4 浏览器访问测试 4. 安装Raidrive客户端4.1 连接WebDav服务器4.2 连接成功4.2 连接成功总结&#xff1a; 推荐 前些天发现了一个巨牛的人工智能…

【单调栈】代码随想录算法训练营第五十九天 |503.下一个更大元素II, 42. 接雨水 (待补充)

503.下一个更大元素II 1、题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 2、文章讲解&#xff1a;代码随想录 3、题目&#xff1a; 给定一个循环数组&#xff08;最后一个元素的下一个元素是数组的第一个元素&#xff09;&#xff0c;输出每个元素的下一个…

寄存器(内存访问)

文章目录 寄存器&#xff08;内存访问&#xff09;1 内存中字的存储2 DS和[address]3 字的传送4 mov、add、sub指令5 数据段6 栈7 CPU提供的栈机制8 栈顶超界的问题9 push、pop指令10 栈段 寄存器&#xff08;内存访问&#xff09; 1 内存中字的存储 CPU中&#xff0c;用16位寄…

部署私有KMS服务器,并设置自动激活Windows和office

介绍 vlmcsd是一个KMS激活服务器的模拟器&#xff0c;可以在Windows Server之外的平台上部署自己的KMS服务器。它是一个开源项目&#xff0c;由Wind4开发&#xff0c;目前在Linux上运行&#xff08;包括Android、FreeBSD、Solaris、Minix、Mac OS、iOS和Windows等&#xff09;…

[MYSQL数据库]- 索引

前言 作者&#xff1a;小蜗牛向前冲 名言&#xff1a;我可以接受失败&#xff0c;但我不能接受放弃 如果觉的博主的文章还不错的话&#xff0c;还请点赞&#xff0c;收藏&#xff0c;关注&#x1f440;支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、认识索…

22-Java状态模式 ( State Pattern )

Java状态模式 摘要实现范例 状态模式&#xff08;State Pattern&#xff09;中类的行为是基于它的状态改变的 在状态模式中&#xff0c;我们创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象 状态模式属于行为型模式 摘要 1. 意图 允许对象在内部…

深入解析HashMap:结构与哈希函数揭秘一

文章目录 一、HashMap的基本结构1.数组与链表的结构1.1 数组1.2 链表 2.红黑树的简单介绍3.Node节点的组成 二、HashMap的哈希函数1.hashCode()方法的作用2.位运算与哈希值的计算3.扰动函数的作用 思考&#xff1a;为什么HashMap源码中使用位运算 在Java编程语言中&#xff0c;…

『 Linux 』进程替换( Process replacement ) 及 简单Shell的实现(万字)

文章目录 &#x1f984; 进程替换&#x1f9a9; execl()函数&#x1f9a9; execlp()函数&#x1f9a9; execle()函数&#x1f9a9; execv()函数&#x1f9a9; execvp()函数&#x1f9a9; execvpe()函数&#x1f9a9; execve()函数 &#x1f984; 简单Shell命令行解释器的实现&a…

区块链基础知识(上):区块链基本原理、加密哈希、公钥加密

目录 基本原理 加密哈希&#xff1a; 公钥加密&#xff1a; 希望有人向你发送只有你才能打开的加密文档/消息时使用 PKC 希望向其他人发送加密文档/消息并证明它确实由你发送时使用 PKC 使用 PKC 和加密哈希对文档/消息进行数字签名 交易哈希链使用数字签名转让数字资产所…

Docker进阶:深入了解 Dockerfile

Docker进阶&#xff1a;深入了解 Dockerfile 一、Dockerfile 概述二、Dockerfile 优点三、Dockerfile 编写规则四、Dockerfile 中常用的指令1、FROM2、LABEL3、RUN4、CMD5、ENTRYPOINT6、COPY7、ADD8、WORKDIR9、 ENV10、EXPOSE11、VOLUME12、USER13、注释14、ONBUILD 命令15、…

算法刷题Day9 | 28. 实现 strStr()、459.重复的子字符串、字符串总结

目录 0 引言1 实现 strStr()1.1 我的解题1.2 KMP算法解题 2 重复的子字符串2.1 暴力求解2.2 KMP求解法 3 字符串总结 &#x1f64b;‍♂️ 作者&#xff1a;海码007&#x1f4dc; 专栏&#xff1a;算法专栏&#x1f4a5; 标题&#xff1a;算法刷题Day8 | 28. 实现 strStr()、45…