测试岗?从功能测试进阶自动化测试开发,测试之路不迷茫...

目录:导读

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


前言

测试新人在想什么?

想必每一个大神,都是从小白一步步走上来的。当然呢,我很能理解小白的想法,因为平时经常和一些刚入门自动化测试的同行交流,也很深入的了解到他们的一些困惑。

大部分小白想的无非是以下几点问题:
自动化测试好学吗?
不学/不写代码能做自动化测试吗?
怎样学习自动化测试?
学自动化测试要先学习哪个方向?学ui自动化?还是接口自动化?好像App自动化也比较火?要么再来个小程序自动化?
我没有代码基础,工作都是点点点,要不要报培训班?
我需要学习什么语言?java 还是 python?

首先,自动化测试,很好学!但是要记住,一定要明确学习的方向,不要剑走偏锋,白花力气。

第1,不写代码当然可以做自动化测试,但是个人建议还是学习一门语言,至于学习什么语言的话,很简单,不用纠结,第一看你是否有编程基础,没有选py,有的话选java py都可

第2,需要看你们的开发用的什么语言,和开发用同一门语言能在学习自动化测试的同时,降低你和开发之间沟通的门槛,提升你在公司的话语权。

第3,学习哪个方向?
我建议:web ui自动化 -> 接口自动化 -> App自动化/小程序自动化,当然,着重学习接口自动化,ui自动化要学,但是没太大必要深究。

首先需要学习一门语言

在上面我们也提到了,自动化要想做得好,必须要学习至少一门语言。当然至于学习语言要到什么程度了?我不可能一直学下去吧?答案是,会用就行!

掌握大部分的语法基础,已经能够满足你的自动化的日常需求了,因为我们写脚本并没有像开发那么难!

语言你需要学习,for循环,if判断,数据类型,运算符,面向对象编程等等,不管是java还是py,这些都是需要的,其实也差不多,会一门语言,其他的都类似。

学习单元测试框架

等你学会单元测试框架pytest/unittest/testNG,当你学会了selenium后,你会发现大部分的线性脚本,很难去管理,并且每个脚本需要去一个个run,而且还无法统计测试结果,这个时候,就需要单元测试框架登场了!

开始学习,单元测试框架的用法,如何创建一个测试类,如何写测试方法,如何把你的脚本写成测试用例,如何校验测试是否通过,用例的执行顺序怎么去控制,断言怎么去写,这些都是你要去探究学习的。

学习自动化框架

此时,你已经开始琢磨如何写一个自动化框架出来了,那么说明你的自动化已经开始入门了,并且往着中级的方向发展,你开始研究框架的结构,发现有用例管理,日志,测试报告,邮件,基础封装类等等,还有一种框架的设计模式(经典PO模式)

常用自动化测试框架

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

yaml/Excel管理测试用例

等你拿自己的框架,重复枯燥的写着测试用例,这时候你想了,我为啥每次都要request.post,方法都是一样的,只是数据不一样,为什么我要一直写代码呢,很累啊!为什么不用一些文件来读取测试数据,做参数化呢?

这时候你开始研究读写excel/yaml了,你想把所有的测试用例都放在文件里管理,就不用每次去写代码了,然而事情并没有那么简单!那么我在文件里如何去处理关联数据呢?如何去缓存cookie呢?如何做断言呢?如果做一些动态的输入呢?

Git?Jenkins?Docker容器?分布式?

走到这一步,你已经写过好几个框架了,并且基于自己的框架做了优化,那么你此时发现一个很严重的问题,我的代码居然只能在我本地运行,如果要给别人用,还需要去别人电脑上配置环境,copy代码给他。

那么为什么不用一些代码管理工具去管理我的脚本呢?那么就会需要去学习git,了解如何add commit push推送我的代码到公司的gitlab,这样别人也可以使用,那么有了gitlab,我想做一些定时任务,让它自动执行呢?

学jenkins。再更多,要是我想多个用例一起跑呢?学习selenium grid,docker等等。

测试开发/工具平台开发

等你搭建好公司的自动化生态,你还是不满足,我为什么不把这些东西可视化管理呢?做个平台?管理用例,管理任务,管理测试报告?我还可以把公司的一些部署任务也集成过来?

想法很好!此时的你已经不仅仅是一名优秀的自动化工程师了,已经迈向了测试开发的道路!开始学习,了解了测试框架httprunner,开发框架django/flask/springboot,懂得了接口开发的流程

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

心怀信念,勇敢追逐,奋斗是踏上成功之路的钥匙。不惧困难,坚守梦想,只有付出才能收获。相信自己的实力,超越自我,书写人生的辉煌篇章,创造属于自己的不朽传奇!

心怀梦想,勇往直前,奋斗是追求辉煌的征途。坚持不懈,砥砺前行,只有拼尽全力,才能开启人生的华章。相信自己的能力,超越极限,创造属于自己的壮丽故事!

梦想是航向远方的指南针,奋斗是驱动前行的原动力。燃烧希望与勇气,超越自我,让每一步都成为辉煌的足迹。相信坚持与努力,绽放光芒,勇往直前!

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件测试需求分析的常用方法

软件测试需求分析时,应要求产品人员对需求进行讲解,并使用相对应的方法进行科学分析,否则无法保障软件测试的完整性和科学性,从而造成在项目中后期Bug频出、风险增大等问题。 而常用的测试需求分析的方法: 1、功能分解…

基于 FFlogs API 快速实现的 logs 颜色查询小爬虫

文章目录 找到接口解析响应需要平均颜色和过本次数? 找到接口 首先试了一下爬虫,发现和wow一样官网上有暴露的 API,链接在:FFlogs v1 API 文档链接 通过查询官方提供的 API 接口得知: user_name 角色名字 api_key …

详解 HashMap 的底层实现原理

作为一名程序员,你可能经常使用 HashMap 这个重要的数据结构,但你对它的底层实现原理可能不够了解。本文将通过图文结合的方式,为你详细解析 HashMap 的底层实现原理,并回答一些常见问题,让你能够更好地理解和应用 Has…

【科普知识】了解电机T型速度曲线和S型速度曲线的区别!

当电机从静止状态启动并加速到额定转速时,其速度变化并非线性的,而是呈现出不同的曲线特征。T型速度曲线和S型速度曲线是两种典型的电机加速曲线类型。那它们之间有什么区别呢?今天,就让我们来深入探讨电机加速曲线的奥秘。 电机速…

uni-ajax网络请求库使用

uni-ajax网络请求库使用 uni-ajax是什么 uni-ajax是基于 Promise 的轻量级 uni-app 网络请求库,具有开箱即用、轻量高效、灵活开发 特点。 下面是安装和使用教程 安装该请求库到项目中 npm install uni-ajax编辑工具类request.js // ajax.js// 引入 uni-ajax 模块 import ajax…

【无标题】一篇文章带你彻底理解Java ArrayList数据结构详解

一篇文章带你彻底理解Java ArrayList数据结构详解 基本概念: ​ **之前创建数组的时候,需要声明提前声明数组的大小,**ArrayList是一个可以动态修改的数组,与普通数组的区别就是没有固定大小的限制,它会动态调整长度…

iphone卡在恢复模式怎么办?修复办法分享!

iPhone 卡在恢复屏幕问题是 iPhone 用户在软件更新或恢复期间的常见问题。如果你也遇到此问题,不要着急,接下来我们将探讨 iPhone 卡在恢复屏幕上的主要原因,以及如何轻松修复它。 iPhone卡在恢复屏幕问题上没有一个特别的原因,但…

【前端实习生备战秋招】—HTML 和 CSS面试题总结(一)

【前端实习生备战秋招】—HTML 和 CSS面试题总结(一) 1. 你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么? IE:trident内核 Firefox:gecko内核 Safari:webkit内核 Opera:以前是presto内核,Opera现已改用Goo…

网络安全设备-等保一体机

本文为作者学习文章,按作者习惯写成,如有错误或需要追加内容请留言(不喜勿喷) 本文为追加文章,后期慢慢追加 等保一体机的功能 等保一体机产品主要依赖于其丰富的安全网元(安全网元包括:防火…

Spark写PGSQL分区表

这里写目录标题 需求碰到的问题格式问题分区问题(重点) 解决完整代码效果 需求 spark程序计算后的数据需要往PGSQL中的分区表进行写入。 碰到的问题 格式问题 使用了字符串格式,导致插入报错。 val frame df.withColumn("insert_t…

Go语言开发者的Apache Arrow使用指南:读写Parquet文件

Apache Arrow是一种开放的、与语言无关的列式内存格式,在本系列文章[1]的前几篇中,我们都聚焦于内存表示[2]与内存操作[3]。 但对于一个数据库系统或大数据分析平台来说,数据不能也无法一直放在内存中,虽说目前内存很大也足够便宜…

【数据挖掘竞赛】——科大讯飞:锂离子电池生产参数调控及生产温度预测挑战赛

🤵‍♂️ 个人主页:@Lingxw_w的个人主页 ✍🏻作者简介:计算机科学与技术研究生在读 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ ​ 【科大讯飞】报名链接:https://challenge.xfyun.cn?invitaC…

【ChatGLM_02】LangChain知识库+Lora微调chatglm2-6b模型+提示词Prompt的使用原则

经验沉淀 1 知识库1.1 Langchain知识库的主要功能(1) 配置知识库(2) 文档数据测试(3) 知识库测试模式(4) 模型配置 2 微调2.1 微调模型的概念2.2 微调模型的方法和步骤(1) 基于ptuning v2 的微调(2) 基于lora的微调 3 提示词3.1 Prompts的定义及原则(1) Prompts是什么&#xf…

CentOS7忘记密码如何重置

忘记密码重置步骤: 1、重启系统,当系统进入引导界面时,按e键。就可以编辑引导选项,在引导选中加入参数rd.break,如图所示: 2、编辑完引导选项后,按Ctrlx组合键引导系统进入紧急模式&#xff0c…

关于CORS的笔记

CORS目录 一、SpringBoot 跨域设置二、CORS(1)总结的图如下(2)简单请求满足的条件(3)响应头(4)请求头(5)使用XMLHttpRequest进行跨域访问1. Access-Control-A…

DEVICENET转ETHERNET/IP网关devicenet协议

捷米JM-EIP-DNT,你听说过吗?这是一款自主研发的ETHERNET/IP从站功能的通讯网关,它能够连接DEVICENET总线和ETHERNET/IP网络,从而解决生产管理系统中协议不同造成的数据交换互通问题。 这款产品在工业自动化领域可谓是一大利器&…

springboot()—— swagger

零、一张图读懂swagger 懂了,这玩意就是用swagger搞出来的! 就是一个后端开发自测的东西嘛! 一、概念 存在即合理,我们看一下swagger诞生的原因:在前后端分离的架构中,前端新增一个字段,后端就…

【FAQ】在Linux中使用curl访问EasyCVR,返回报错Unauthorized的原因排查

EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安防视频监控的能力,比如:视…

Vue-函数式组件

最近在开发项目的时候&#xff0c;定制了一个公司内部样式的Modal模态框组件。 Modal组件伪代码 <!-- Modal/index.vue--> <template><div class"modal-container" id"modalContainer"><!-- Modal Content --><div class&quo…

45.ubuntu Linux系统安装教程

目录 一、安装Vmware 二、Linux系统的安装 今天开始了新的学习&#xff0c;Linux,下面是今天学习的内容。 一、安装Vmware 这里是在 Vmware 虚拟机中安装 linux 系统&#xff0c;所以需要先安装 vmware 软件&#xff0c;然 后再安装 Linux 系统。 所需安装文件&#xff1a;…