10年来测试行业所遇问题,功能/接口/自动化测试?

news2024/11/17 3:52:08

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

10年来测试行业发生了什么变化

在过去的十年里,我们见证了技术的大幅提升–无人驾驶汽车、人工智能、AR / VR、区块链、无人机和机器人。许多测试和测试自动化从桌面转移到网络和移动设备上。

从编写自动化测试的大型和昂贵的工具,我们已经转移到小型,灵活,最重要的是 - 免费的库和工具。现在我们有智能报告系统和Docker容器中的测试。现在在云端并行运行成千上万的测试用例并其实不那么昂贵。

但与此同时,许多事情和声明仍然没有改变。

以下是一些在测试人员中不断肆虐的无尽话题:

手工测试已死!
让我们把一切都自动化吧! 通过UI–这才是最好的!。
SDET是测试工程师进化的高峰! 我想成为像谷歌一样的人!
我在开发领域找不到工作,所以我将做一年左右的测试,然后再尝试转行。
测试人员的工资都在底部!
测试工程是一份低技能专业人士的工作!

但为什么行业中会出现这样的情况?问题会不会是别的原因呢?我看到了哪些问题?

现代测试的问题

1、对技术的追求
寻找银弹。一些工程师为一个项目(和一个背景)创建了一个成功的框架,然后开始把它拉到所有其他的项目中作为一个 “完美的解决方案”。这不是可重用性,它只是将一把锤子怼所有的钉子和螺栓。

面向框架的自动化。在一些项目中,工程师们急于编写完美的框架,而忘记了测试本身。结果是,我们有3-6个月的开发时间没有测试!。但是对于客户来说,没有测试是自动化应用不充分的的直接指标。

专注于流水线通过的崇拜者。在这种情况下,已经成功地将测试纳入CICD管道的测试工程师开始迷恋于使测试一直保持绿色。这种痴迷往往导致忽略甚至删除不稳定的测试(这导致忽略了被忽略的测试背后的问题)。

简历驱动的开发。许多测试人员只考虑工作和项目,作为在简历中获得一个花哨的新行的方式。没有任何关于深化技能和用测试和自动化解决业务问题的内容。

只专注于短期目标。许多工程师只喜欢快速的解决方案。这种对自动化测试的态度是很普遍的。工程师们很快就写出了 “东西”,而没有考虑到可维护性,就跑去做新项目了。

2、技能和知识水平不足
知识的缺乏可以有多种形式。
技术知识:
在面试中,资深候选人往往能迅速回答任何关于测试的问题。他们可以为你画一个 “测试金字塔或任何你想要的数字”,告诉你世界上所有的测试设计技术,并写出完美的测试报告。但是,当你问及基本技术方面的问题(如HTTP或网络如何工作),候选人很快就会失去信心。

你可以告诉我,不是每个项目都需要特定的知识。这倒是真的。但测试工程师应该知道(或至少知道)基本的技术知识。理想情况下,比谷歌搜索中的第一个链接更深入一点。

90%的现代系统以这种或那种方式与网络一起工作,发送消息或请求,并使用数据库或分布式存储。多层的抽象可以覆盖它–但总的来说–它的工作原理都是类似的。

编程和架构:
一些测试工程师仍然认为,学习编程是复杂和不必要的。让程序员来写代码吧!

另一部分是那些已经学会了一点代码,但只集中精力于UI测试的人。这些测试之外的世界似乎并不存在。

在测试工程师中,关于系统结构和它们如何工作的知识是一种稀缺的技能。所有这些都被认为是有经验的 "大胡子 "架构师的工作,或者只有有十几年经验的高级开发人员才能做。

但是,如果不知道系统的内部和相互之间是如何工作的,就很容易错过很多关键的错误。另一方面,缺乏技术知识将使我们很难在测试报告中描述这些问题。

对业务和产品的了解:
当然,这一切都取决于项目的情况。有一些项目,测试团队就像在工厂生产线上工作一样:开始构建,测试,然后传递给下一个环节(不问任何问题)。

测试工程师明显缺乏产品知识。很少有工程师与用户或客户支持一起工作。但是那些人可以提供关于应用中最危险的部分的有用信息,或者对可用性系统进行反馈。

甚至更少的测试和自动化工程师思考他们的工作如何影响业务。那些自动化测试是否为公司节省了资金?或者比人工测试更快地提供问题反馈?

测试工程师的个人发展:
关于个人发展,有两个重要的工程师群体存在。
“我为什么要学习编程(任何其他技能)?那会使我成为一个不太熟练的测试工程师!”
“据说我想学习,但我在等待一年后的反馈。我的经理或测试负责人会来告诉我需要学习什么。”
但这里有最关键的一点。只有你对个人的技能、知识和职业生涯的发展负责!你的经理只(或其他任何一个人)对你的工作负责。

你的经理(或互联网上的任何其他人)将无法为你创建一个技能地图。只有你知道自己的优势和劣势。只有你知道(或猜测)你在知识方面有哪些差距。只有你能了解如何获得这些知识并达到一个新的水平(并获得梦想的提升)。

你的上级只能调整你的计划并指出公司的资源投入情况:比如说参加会议或其他发展的预算。

如何改变这种状况

为你的职业发展准备一个计划。掌握什么技能,学习什么,以及如何在工作中使用这些技能。如果你能在公司获得知识和技能–那就很好! 如果不能–寻找另一个项目或公司。总有一个选择–它就在你的手中。

学习编程。我不是在谈论高级开发人员水平的技能。但是写脚本的能力可以从部署或配置中去除很多单调的工作。阅读和理解别人的代码,可以更好地了解系统的总体工作原理,以及哪些情况还没有被涉及到。

加深你对应用程序和系统架构的了解。从你现在正在测试的系统开始,分解它。拆解架构图。思考一个单独的组件如何和在哪里 "挂掉 "以及系统将如何反应。和架构师们聊一聊吧。

如果你正在编写脚本或自动化测试,总是问自己:谁将使用我的代码,他们如何使用我的代码(测试)?它写得够清楚吗?是否有详细的报告?一个新的工程师会有多容易理解这些代码?

接口自动化测试方向:Python+requests+pytest+yaml+alluer+Jenkins;
web自动化测试方向:Python+selenium4+pytest+POM+allure+Jenkins;
app自动化测试方向:Python+appium+POM+pytest+allure+Jenkins;

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只有不甘平凡的心,才能点燃奋斗的火焰;只有拼搏坚持的力量,才能书写辉煌的篇章;在困境中挣扎,才能收获成长的果实。相信自己,勇敢追逐梦想,努力绽放耀眼光芒!

生命只有一次,不要将宝贵的时间浪费在后悔与犹豫上,勇敢追逐自己的梦想,超越困难与挑战,用汗水和努力铸就辉煌,让每一天都成为你奋斗的见证。

只有经历重重困难,才能看到光明的彼岸;只有追逐梦想,才能收获辉煌的未来;只有坚持不懈,才能成就非凡的自己。奋斗不止,胜利必将属于你!

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

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

相关文章

Apache Doris (八) :Doris分布式部署(五) Broker部署及Doris集群启动脚本

目录 1.Broker部署及扩缩容 1.1 BROKER 部署 1.2 BROKER 扩缩容 2. Apache Doris集群启停脚本 进入正文之前,欢迎订阅专题、对博文点赞、评论、收藏,关注IT贫道,获取高质量博客内容! 1.Broker部署及扩缩容 Broker 是 Doris 集…

【系统架构】第六章-数据库设计基础知识(数据库基本概念、关系数据库)

软考-系统架构设计师知识点提炼-系统架构设计师教程(第2版) 数据库基本概念 数据库的基础结构是数据模型,数据模型的三要素是数据结构、数据操作和数据的约束条件 数据库三级模式:视图层、逻辑层、物理层 视图层:最高…

Day.2 LeetCode刷题练习(螺旋矩阵)

题目: 例子: 分析题目: 本题给了一个值n要生成一个n*n的矩形,并且是螺旋的生成值。 这样我们可以把它分层来看如n 4时生成一个4*4的矩形由两层矩形构成,这样就能先遍历生成最外面的一层后再去生成里面的一层 那如何…

【VSCODE】4、vscode git pull/push 报错 remote: HTTP Basic: Access denied

一、报错示例 在执行 git pull/push 的时候报错如下 二、解决方式 该问题来自 vscode 的身份验证 打开 vscode →code → 首选项 → 设置搜索 git.terminalAuthentication取消选中该选项重启终端即可

2023黑马头条.微服务项目.跟学笔记(一)

前言 黑马头条一直是黑马培训班内部的项目,应该是今年推出了天机学堂的项目,所以这个头条微服务项目就被公布了,整体上看技术架构丰富,很适合微服务练手和补足。有些技术栈的版本可能是前几年的,不过这个不影响&#x…

医药销售数据分析

阅读原文 一、数据源 来自某医药公司的产品销售数据,时间为 3 月到 5 月,共 48 个 Excel 表格。包含订单信息、售后信息、用户信息以及对应销售人员信息等。 加载合并后得到的原始数据如下: 二、数据清洗 清洗流程以及对应细节 加载数据源 …

多表查询(JOIN)

数据准备 我们需要两个表 student 和 student_score CREATE TABLE student (student_id int NOT NULL,name varchar(45) NOT NULL,PRIMARY KEY (student_id) );CREATE TABLE student_score (student_id int NOT NULL,subject varchar(45) NOT NULL,score int NOT NULL ); 然后…

Linux中tail命令的使用

tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。 tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。 tail [参数] [文件] …

553、Vue 3 学习笔记 -【创建Vue 3.0工程(一)】 2023.06.30

目录 一、Vue 3 介绍1. Vue 3 官方文档2. Vue 3带来了什么1.1 性能的提升1.2 源码的升级1.3 拥抱TypeScript1.4 新的特性 二、创建Vue3.0工程1. 使用 vue-cli创建2. 使用vite创建3. 分析工程结构 三、参考链接 一、Vue 3 介绍 1. Vue 3 官方文档 Vue 3 官方的文档地址 2. Vu…

复杂onnx解决方案(以sparseconv为例)

目录 前言1. 稀疏卷积2. Sparse Convolution Model2.1 输入数据模型2.2 卷积核2.3 输出的定义2.4 计算流程2.4.1 构建 hash table2.4.2 构建 Rulebook2.4.3 在GPU上计算Pipeline 2.5 Summary 3. SCN导出3.1 实现trace3.2 导出onnx3.3 CenterPoint SCN导出3.4 执行图的构建3.5 o…

Swagger|SpringBoot集成Swagger用以生成API文档

框架简介 Swagger的作用: 自动生成强大的RESTful API文档,减少开发人员的工作量。使用Swagger,只需在代码中添加一些注解即可生成API接口文档,不需要手动编写API接口文档,这减少了开发人员的工作量。 提供API文档的同步…

西安石油大学 C++期末考试 重点知识点+题目复习(下)

析构函数调用顺序 析构函数的调用顺序与对象的创建和销毁顺序相反。 对于单个对象,当对象的生命周期结束时(例如离开作用域),会调用其析构函数。因此,析构函数会在对象销毁之前被调用。 对于类的成员对象&#xff0…

软件工程期末复习-软件设计模式与体系结构-体系结构

目录 软件体系结构概述一、调用-返回风格软件体系结构概念主程序-子程序软件体系结构自顶向下的设计方法的问题结构化设计的优缺点面向对象体系结构面向对象设计的优缺点主程序-子程序与面向对象体系结构相似差异 课程作业 二、数据流风格软件体系结构概念控制流 vs. 数据流数据…

【第一章 flutter学习入门之环境配置】

flutter环境安装 文章目录 flutter环境安装前言一、环境变量配置二、下载Flutter SDK三.排除错误 安装依赖四. 设置Android模拟器五.安装插件VScode打开flutter项目 前言 本文是针对Windows系统环境配置flutter 需要git环境依赖,这里就不做过多赘述 一、环境变量配…

PFASs在固体-溶液体系中分配系数

一、对于PFASs在土壤-溶液体系中的吸附行为,可以用土壤-水分配系数(Kd,L/kg)来表征[1-3]。 Cs为沉积物(sediment)中PFAAs的浓度(ng/g dw);Cw为水(water)中单个PFAAs的浓度(μg/L)。 以往许多研究发现,Ksp与沉积物的有机碳组分有关,表明有机质含量是影响沉积物和孔…

【书】《Python全栈测试开发》——浅谈我所理解的『自动化』测试

目录 1. 自动化测试的What and Why?1.1 What1.2 Why2. 自动化的前戏需要准备哪些必备技能?3. 自动化测试类型3.1 Web自动化测试3.1.1 自动化测试设计模式3.1.2 自动化测试驱动方式3.1.3 自动化测试框架3.2 App自动化测试3.3 接口自动化测试4. 自动化调优《Python全栈测试开发…

PPO算法基本原理及流程图(KL penalty和Clip两种方法)

PPO算法基本原理 PPO(Proximal Policy Optimization)近端策略优化算法,是一种基于策略(policy-based)的强化学习算法,是一种off-policy算法。 详细的数学推导过程、为什么是off-policy算法、advantage函数…

47. Compose自定义绘制日历-1

有个日历的需求, 自己实现一下简单的 生成数据 private fun initData() {val listOfCalendar mutableListOf<CalendarData>()val calendar Calendar.getInstance()val todayYear calendar.get(Calendar.YEAR)val todayMonth calendar.get(Calendar.MONTH)val today…

单机和分布式有什么区别?分布式系统相比单机系统的优势在哪里?

写在前面 本文隶属于专栏《大数据理论体系》&#xff0c;该专栏为笔者原创&#xff0c;引用请注明来源&#xff0c;不足和错误之处请在评论区帮忙指出&#xff0c;谢谢&#xff01; 本专栏目录结构和文献引用请见《大数据理论体系》 思维导图 1. 资源共享 单机系统是指只有一…

springboot项目通过nginx访问ftp服务器文件

前文 本来准备记录一下。项目中遇到的springboot项目访问ftp服务器图片、视频问题的&#xff0c;想在我自己服务器上重新部署一遍&#xff0c;然后发现&#xff0c;执行docker的时候报错了。具体报错原因如下&#xff1a; 原因是我重启了一下服务器 Cannot connect to the Do…