4年功能庸庸碌碌,进阶自动化测试拿到了24k,测试之路不再平凡...

news2024/11/16 23:42:06

目录:导读

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


前言

手工测试如何进阶自动化测试?

如果你已经从事测试工作两三年时间了,或者开发转测试,又或者上来就要包装三年及以上工作经验,那么掌握自动化测试技能必不可少。

测试人员的职业发展路线,无非就是两条,技术路线和管理路线。
技术路线:功能测试–> 自动化测试–> 测试开发–> 测试架构师 / 业务专家 / 测试专家。
管理路线:测试工程师–> 测试组长–> 测试经理–> 测试总监。

对于还没有入行的小伙伴或者刚毕业的同学,更多的是关注测试基础技能的掌握,即使不会自动化也是可以找到一份初级测试岗位的工作,会编程和自动化更多的是作为加分项。

特别是今年2023年来说,找工作比往年来说更难了,行业越来越卷,测试的招聘要求中几乎都会出现自动化测试的字眼,因此会自动化测试也是自身的核心竞争力。

那么如何学习自动化测试?

1、学习一门编程语言
学习一门编程语是打开技术大门的第一步,也是功能测试进阶自动化测试甚至测试开发的基本准入门槛。对于测试行业来说,绝大多数从业者会选择两门语言来学习,就是 Python 和 Java。

2、自动化测试的思想
在学习自动化之前,需要先了解自动化测试的思想,因为技术是为业务服务的,抛开业务谈技术就是耍流氓,只有了解其思想,才能更好地实施落地。了解什么是自动化测试,自动化测试的概念、本质,哪些场景适合做自动化测试、哪些场景不适合做自动化测试,以及自动化测试的原则等。

自动化测试就是把手工测试的一系列动作转化为机器自动执行。
例如:要实现在电商网站上搜索商品,需要有以下步骤:打开网站(打开电商网站)–> 定位元素(定位到搜索输入框)–> 操作元素(在搜索框中输入衬衫,点击搜索按钮)–> 模拟页面动作(下拉、上滑)–> 断言结果(预期结果与实际结果比对,判断是否通过测试)–> 生成测试报告。

适合自动化测试的场景如:需求不会频繁变动、UI 比较稳定、项目周期较长、大量的回归测试任务、冒烟测试,针对本次迭代的核心功能进行冒烟测试,不适合自动化测试的场景如:交互性太强、视频音频播放器等。

自动化测原则,比如:一个 case 完成一个功能点、一个脚本是一个完成的场景、脚本之间独立,不能有依赖、设置合适的检查点、设计良好的框架。

3、主攻自动化测试
这个阶段需要学习自动化测试相关工具库,比如 Python 技术栈会有 Requests、Selenium、Appium 以及单元测试框架 Unittest、Pytest,Java 技术栈会有 HttpClient、Selenium、Appium 以及单元测试框架 TestNG 等。

掌握编程语言以及了解自动化测试思想之后,便是开始主攻自动化测试了,总共可分为三种,接口、Web、App。

推荐初学者从接口自动化开始学习,相比于 UI 自动化,接口自动化测试收益更大、更容易实现、维护成本更低,有更高的投入产出比,因此是公司开展自动化测试的首选。

企业中做自动化测试的目的主要是针对那些已经成熟并且变化很少的功能模块进行回归测试。比如 Python 技术栈会使用 Requests、Pytest 等框架结合公司业务实现一套覆盖公司系统绝大部分接口的自动化测试框架,并集成到 Jenkins,每天定时执行,将测试报告发送到邮箱。

这样做的目的主要是用来监控哪些接口服务挂了,以及版本迭代过程中上了新功能可能影响关联到其他接口导致异常发生,所以上线前要把系统或者模块的接口自动跑一遍,以便于测试人员第一时间发现问题,并交给开发人员进行修复解决,减少线上 Bug 率。

4、自动化测试框架
学习了上述相关的自动化测试工具库,学会使用线性代码做自动化测试,但是线性代码存在很多缺陷。

比如:测试的输入和断言都是捆绑在脚本中,易读性差;无共享或重用脚本、可复用性低;线性脚本修改代价大,维护成本高,不便于后期优化等。真正在企业中做自动化不会是这种线性代码,而是有一套较好的自动化测试框架。

配套的自动化测试框架:
接口自动化测试方向: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/634675.html

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

相关文章

多业务聚合查询设计思路与实践

文章目录 [toc] 1.需求2.方案2.1 方案架构图2.2 选用flink-cdc的原因 3.实践3.1 环境准备3.3 es集群搭建3.4 flink1.14.0环境搭建3.5 准备sql和jar包3.5.1[创建mysql的flink用户并授权](https://ververica.github.io/flink-cdc-connectors/master/content/connectors/mysql-cdc…

【树形DP+直径思想】代码源每日一题div1 三进制循环

三进制循环 - 题目 - Daimayuan Online Judge 题意: 思路: 有点像树的直径 回顾一下我们是怎么求直径的:维护根节点到其子树上的点的最大距离和次大距离,然后答案就是统计所有结点的次大值最大值 的 最大值 这道题也是一样的&a…

C盘爆满时的几个救命无害清理技巧

其实网上也有很多清理C盘的方法 但是很多就是为了弄成空间 不讲原理 也不计后果 很可能坑惨小伙伴 可以看到 我电脑的C盘都已经读红条了 非常危险 对了 可能有些朋友的电脑上没有此电脑的选项 我们可以在桌面上右键选择 个性化 找到 主题 并选择 向下拉 找到 桌面图标设置 …

经验总结:13 条自动化测试框架设计原则!

1.代码规范 测试框架随着业务推进,必然会涉及代码的二次开发,所以代码编写应符合通用规范,代码命名符合业界标准,并且代码层次清晰。特别在大型项目、多人协作型项目中,如果代码没有良好的规范,那么整个框…

微服务之负载均衡

Informal Essay By English I wish the students of the college entrance examination can win the gold toad and win the title of the gold list 参考书籍:“凤凰架构” 负载均衡(load balance) 负载平衡是指在一组后端服务器&#xf…

《计算机网络——自顶向下方法》精炼——4.4.1-4.4.2

敬教劝学,建国之大本;兴贤育才,为政之先务。——《朱舜水集。劝学》 文章目录 IPv4编址接口IP地址子网 无类别域间路由选择(CIDR)获取一块地址获取主机地址网络地址转换 IPv4编址 接口 主机或路由器与物理链路的边界称作接口。一…

深度学习卷积神经网络CNN之ResNet模型网络详解说明(超详细理论篇)

1.ResNet背景 2. ResNet论文 3. ResNet模型结构 4. ResNet优缺点 一、ResNet背景 ResNet 在2015 年由微软研究院提出的一种深度卷积神经网络结构,在ILSVRC(ImageNet Large Scale Visual Recognition Challenge)中取得了冠军(分类…

python - kubernetes中grpc服务健康检查实现

概述 kubernetes本身不支持gRPC健康检查,本文记录使用 ‘grpc-health-probe’ 实现grpc服务的健康检查 ‘grpc-health-probe’,这是 Kubernetes 原生的健康检查 gRPC 应用程序的方法 官方参考文档:https://kubernetes.io/zh-cn/blog/2018/1…

45--Django-项目实战-全栈开发-基于django+drf+vue+elementUI企业级项目开发流程-纯手工安装部署和docker一键部署

前期准备: 购买服务器,公网地址访问 服务器有多种选择,阿里云,腾讯云,华为云(可以免费试用几个月) 买阿里云就当成你去电脑市场组装了一台电脑。阿里云按时间计费(账户余额要大于100)。 购买流程: 搜索云服务器 开始创建你的云服务器 按量付费:用多少扣多少 地域…

ORACLE PL/SQL编程总结(一)

目录 1.1 SQL与PL/SQL 1.2 PL/SQL的优点或特征 1.3 PL/SQL 可用的SQL语句 1.4 运行PL/SQL程序 2.1 PL/SQL块 2.2 PL/SQL结构 2.3 标识符 2.4 PL/SQL 变量类型 2.5 运算符和表达式(数据定义) 2.6 变量赋值 2.7 变量作用范围及可见性 2.8 注释 2.9 简单例子 3.1 条件…

算法刷题-哈希表-两数之和

两数之和 1. 两数之和思路总结其他语言版本 1. 两数之和 力扣题目链接 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中…

【Leetcode】DP | 买卖股票的最佳时机,DP居然还可以用状态机?

带状态的DP君~ 类型总结:买卖一次、买卖无限次、买卖k次、买卖无限次、含冷冻期。 买卖k次的问题需要不断统计、维护买卖i次的最大收益。 状态较多的题可以借助状态机分析状态转移情况。 121 买卖股票的最佳时机 统计第 i i i天之前的股票最低价格,…

性能测试项目实战:应用加载慢该怎么办?

背景 app收到留学push、课堂、资讯,用户点击push消息,进入app,应用加载很慢,容易出现应用假死、app崩溃或提示网络异常等信息。 给用户体验十分不友好,监控阿里云资源tcp连接数飙高,cpu打满&#xff0c…

Nginx运行原理与基本配置文件讲解

文章目录 Nginx基本运行原理Nginx的基本配置文件serverlocationroot 与 alias 的区别server 和 location 中的 rootnginx欢迎页 本文参考文章Nginx相关文章 Nginx基本运行原理 Nginx的进程是使用经典的「Master-Worker」模型,Nginx在启动后,会有一个master进程和多个…

docker-compose编排容器

系列文章目录 文章目录 系列文章目录一、docker-compose1.Docker Compose2.YAML 文件格式及编写注意事项3.安装docker-compose4.Docker Compose配置常用字段 二、创建compose1.准备依赖文件2. 总结 一、docker-compose 1.Docker Compose 如果需要定义多个容器就需要服务编排。…

priority_queue的模拟实现

前言 优先级队列听名字好像与队列有关,但是实际上,与队列没有很多关系,它也是容器适配器,是通过vector来适配的,但是里面又加入了堆的调整算法。跟栈和队列又有一些不同,了解它的实现对于我们更好的掌握它是…

新手上路,安全驾驶,做行车安全的第一责任人

目录 一、生活与汽车二、树立安全意识三、掌握驾驶经验四、参考材料 道路千万条,安全第一条,行车不规范,亲人两行泪。 ——《流浪地球》 一、生活与汽车 开车是为了节省在路途上花费的时间,片面的追求交通效率会引发交通安全问题&…

day8 栈顶的种类与应用

目录 多寄存器访问指令与寻址方式 多寄存器内存访问指令 多寄存器内存访问指令的寻址方式 ​编辑 栈的种类与使用 栈的概念 栈的分类 栈的应用举例 叶子函数的调用过程举例 多寄存器访问指令与寻址方式 多寄存器内存访问指令 MOV R1, #1 MOV R2, #2 MOV R3, #3 MOV R…

Redis 持久化存储机制:RDB 和 AOF

Redis(Remote Dictionary Server)是一个高性能的键值存储系统,它可以将数据存储在内存中以实现快速访问。为了保持数据的持久性,Redis 提供了两种数据持久化方法:RDB 和 AOF。 RDB(Redis Database&#xff…

spring源码-代码的特殊写法

spring源码-代码的特殊写法 前言 在阅读spring源码中,可能会有很多种代码写法在工作中都没遇见过,阅读起来有一定的难度,在本文中,我会把我认为有难度的代码写法拿出来,并举例子说明清楚,方便大家阅读并理…