2023年功能测试会被淘汰?自动化测试到测试开发?我的测试之路...

news2024/12/24 9:15:01

目录:导读

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


前言

现在2023年,行业现在比较卷,只会功能测试迟早会被淘汰。

看今年很多面试的不会自动化连面试机会都没有,我还招聘网上刷了刷,基本岗位都需要自动化测试技能呢。

为什么说只会功能测试会被淘汰呢?
毕竟功能测试可能一个月就能学会,很多人自学,随便做做项目功能测试就会了,这样门槛就太低了,这类人群就会很庞大,所以竞争就会很激烈,然后企业肯定会拉高门槛的,所以才有了今年的行业内卷,大家都在竞争一个岗位,那么你不就得各种技术掌握的扎实才行吗?

作为软件测试来说,功能测试是作为测试人员的基本功,也是必不可少的,随着时间的推移,科技的发展,作为测试,不仅仅要有扎实的基础,还是要不断的提升自己,如果一直停留在原点,自己将会处于一个停止不前的状态,对自己的发展也是可想而知的。

既然你谈到软件测试的职业发展,那么作为一个软件测试工程师,如果一直做功能测试的话,那么还谈什么软件测试职业发展?

那你既然都已经躺平了,只想干功能测试,不想干接口测试,性能测试,灰度测试,白盒测试,自动化测试和测试开发,你还谈什么软件测试职业发展呢?

就算你不会被淘汰,那你看的周围的人在发展,难道你一直一成不变,不会难受吗?
软件测试这个职业其实只做测试的话,那个天花板它就这么高,想要谈发展就是越来越向开发靠近。

自动化测试的进阶路线

自动化测试的最高境界是: 开发测试工具,设计自动化测试框架, 让别人用。

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

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

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

语言入门后,正式踏上开始自动化成神之路。

入门web自动化框架Selenium
它能帮助你快速理解,自动化到底是个什么东西,并且能直观的在页面上面反馈给你。当初也是,看着selenium的api,一点一点啃下来的,几乎每个方法都去尝试了一下。

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

学习自动化框架
开始研究框架的结构,有用例管理,日志,测试报告,邮件,基础封装类等等,一种框架的设计模式(经典PO模式)

初始接口测试
一般公司用的都是http接口,那么你就从http协议开始学习了,了解它的结构,请求头,请求参数,请求地址,请求方式等等等。

学习一些抓包工具
如fiddler,chales,wireshark或者浏览器的开发者工具等等,去抓包获取一些接口,慢慢的观察它的请求构造,但是这时候还是云里雾里,对接口一知半解。于是下载了一个接口测试工具,尝试把参数录入到工具中,手动发起调用。

学习Request/HttpClient库发起请求
在用完postman后,就会想到,那么我怎么用代码去发起一个请求呢?

你尝试也是把之前ui自动化的增删改查,用接口来实现,你把抓包的请求参数拿过来,一个一个方法的调用,然后一键运行!一绿三红!为什么?然后发现接口返回了401,无权限!奥!我没有登入啊,那么怎么才能登入呢??

抱着很多的疑惑开始研究,这时候你需要去了解cookie和token的工作机制,再配合你的代码,去缓存cookie,达到登入。等解决了这个问题,但是接口还是报错了啊,删除接口提示我没有这条数据!

查来查去,原来是我那条数据已经用掉了,那么怎么可以保证我每次录入的参数都是新的呢?这时候就需要去了解接口关联,如何把参数从上个接口的响应提取出来,给下个接口用。

Request/HttpClient结合Pytest/testNG+allure
一样的,等你学会了 request/HttpClient,自然也会想到用单元测试框架把他们集成起来,然后又发现了一个高大上的allure测试报告,再结合一些日志模块打印参数,轻车熟路的这么一个接口框架就出来了,和之前的差不多。

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

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

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

git?jenkins?docker容器?分布式?
代码只能在我本地运行,如果要给别人用,还需要去别人电脑上配置环境,copy代码给他。

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

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

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

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

开始学习前端vue/react,懂得了什么是组件开发,父子组件传值,开始了解很多东西,甚至运维方面的知识,越来越往着大神的方向去了,希望你还没有秃头,此时的你可以骄傲的称自己为一名合格的测试开发。

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

每一次的努力都是为了让自己更好,让生活更美好。不要害怕失败,勇敢迎接挑战,坚持不懈,成功就会在不远的前方等待着你。相信自己,你一定可以创造出属于自己的辉煌!

只有不断拼搏,才能收获成功的果实;坚持下去,你会发现自己比想象中更强大;无论面对多少困难,都要保持信念和勇气;每一次进步都是前进的动力,让我们一起向着目标奋斗!

只有在不断前进的路上才能发现自己的极限,只有经历过挫败才更能成就辉煌。无论何时,都要坚持追求梦想,相信付出终将得到回报。记住,唯有努力拼搏,才能让自己变得更好!

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

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

相关文章

数据技术在金融行业有哪些应用_光点科技

随着信息技术的迅猛发展,大数据技术逐渐成为金融行业的重要工具。大数据技术的应用,不仅可以提高金融机构的运营效率,还能够提供更准确的风险评估和预测,从而为投资者和决策者提供更好的决策依据。 那么,大数据技术在…

ES应用风暴

文章目录 使用案例启发使用ElasticSearch作为主要的后端,作为搜索引擎在现有系统增加ElasticSearch使用ElasticSearch和现有的工具 常用于日志收集(分析)系统、实时警报 使用案例 维基百科:全文检索、高亮、搜索推荐。The Guar…

【无标题】Instant NGP(使用哈希编码的多分辨率的即时神经图形原语)

论文基本信息 作者:THOMAS MLLER,NVIDIA,瑞士ALEX EV ANS,NVIDIA,英国CHRISTOPH SCHIED,美国NVIDIA ALEXANDER KELLER,德国 关键词: Image Synthesis, Neural Networks, En- codings…

[230606] 听力TPO66汇总·最终篇|L3-WATM Wether Animals have a Theory Mind|19:30-21:30

[230605] 听力TPO66汇总下篇|L2-Fish Movement|13:00~14:0015:20~17:00 http://t.csdn.cn/jxqyr [230604] 听力TPO66汇总上篇| C1 L1 C2|10:20~12:00 http://t.csdn.cn/zyEGw 极度缺少相关背景知识

蓝精灵协会 | 23 年 6 月通讯

您好,Smurf 朋友们,欢迎阅读我们的新版时事通讯。它旨在分享来自社区及其项目的最新更新。我们希望您会喜欢它! 水晶特卖:折扣从 6 月 19 日开始 根据社区的投票,我们延长了水晶薄荷的持续时间,并减少了折扣…

这所天津的热门院校,保护一志愿,曾连续两年专业课题目完全相同,平均140分!

一、学校及专业介绍 天津工业大学(Tiangong University),简称“天工大”,位于天津市,是教育部与天津市共建高校、国家国防科技工业局和天津市共建的天津市重点建设高校、国家“双一流”建设高校、天津市高水平特色大学…

Python 常用内置函数与匿名函数的应用

目录 一、前言二、常用内置函数2.1 max()2.2 enumerate()2.3 map()3.4 reduce()2.5 filter()2.6 sorted() 一、前言 我们知道,Python 函数总体可分为两类,一类是标准函数,一类是匿名函数。其中标准函数中又可细分为内置标准函数、自定义标准…

支付宝一面:如何基于Redis实现分布式锁?

复习八股文的时候,分布式锁大家应该不陌生,像很多阿里、美团的面试官就很喜欢问这个问题。 前几天一位读者面试阿里的时候,就被问到了这个问题。当时,面试官追问的比较深,一些细节他回答的不是很好。不过,…

遭遇疑似网络攻击时服务器异常情况排查方法

一、适用场景 该方法主要用于发生网信安全异常情况时的异常设备信息提取和登机排查指导,主要包括主机类设备,linux和windows操作系统为主。 二、处理原则 网络安全应急工作坚持统一指挥、分工负责、及时预警、分级响应、密切协同、快速处置、确保恢复、…

Android Studio设置不自动运行到run标签

点击run成功后会自动切换到run标签,很烦人 设置: Edit Configuration app下的Miscellaneous 下,取消勾选 Activate tool window

提升项目经理能力,有什么方法?

一,项目管理是职场的基础能力 他思考了一会,和我说:项目经理这个职业,同事专业性强,薪酬稳定,福利优越。只要有几年的项目管理经验,也能生存无忧。 但是,如果你不满足于只做一个普…

计网笔记--数据链路层

1--数据链路层三个问题 ① 封装成帧 ② 差错控制 差错检测:奇偶校验和循环冗余校验 ③ 可靠传输 2--三种可靠传输协议 ① 停止-等待协议(SW) 接收成功,发送ACK确认信号,接收失败,发送NAK否认信号&#xf…

Elasticsearch:ignore_malformed,映射异常的解药

我们知道在文档摄入到 Elasticsearch 时,如果文档的字段在 mapping 中已经有定义,而当前的文档的字段的类型和之前的类型是不一样的情况下,那么我们该如何处理呢?通常由如下的几种方法: 使用 coerce 属性。在这种情况…

python微信公众号推送消息

目录 准备数据 接口 代码 微信公众号开发文档:https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Overview.html 准备数据 1、微信公众号注册:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?tsandbox/login 2、注册成功后可生…

基于TCP/UDP的Socket编程

---- socket概述: socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信。 socket起源于UNIX,在Unix一切皆文件哲学的思想下,socket是一种"打开—读/写…

springboot启动流程 (3) 自动装配

在SpringBoot中,EnableAutoConfiguration注解用于开启自动装配功能。 本文将详细分析该注解的工作流程。 EnableAutoConfiguration注解 启用SpringBoot自动装配功能,尝试猜测和配置可能需要的组件Bean。 自动装配类通常是根据类路径和定义的Bean来应…

005 Settings可以直接通过AndroidStudio安装并调试(二)——Settings 打release包遇到的问题

一.背景 Settings迁移到AndroidStudio中直接打release包是有各种问题的,打不出来包,这里我们详细来描述下Settings打包出现的问题及解决方案。 二.Type com.android.settingslib.widget.BuildConfig is defined multiple times 首先遇到的拦路虎,也是最繁琐的包名冲突,之…

为什么配电室总出故障?这一点你做对了吗

配电室是供电系统中非常关键的组成部分,负责对电能进行分配和控制。然而,传统的配电室监控方式存在一些局限性,如人工巡检的局限性、监测数据获取困难、安全隐患无法及时发现等。 因此,为了提高配电室的管理水平、确保供电系统的安…

剑指offer03.数组中重复的数字

看到这道题的第一眼想到的是先给它排序,然后双指针从左往右遍历,写了一个冒泡排序,但是我想到了应该会超时,因为冒泡时间复杂度是n的平方,输入大小时10000,肯定会超时,然后右又看了一下题目看到…

SpringCloud Alibaba入门之用户子模块开发

在上一章的基础上进行子模块的开发SpringCloud Alibaba入门之创建多模块工程_qinxun2008081的博客-CSDN博客 一、引入SpringBoot 我们在父项目统一管理引入的jar包的版本。我们采用父项目中以depencyMangement方式引入spring-boot,子项目依赖parent父配置即可。 &…