2023年学自动化测试?Python 还是 Java?“我“上车了...

news/2024/10/22 18:33:14/

目录:导读

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


前言

自动化测试,这几年行业内的热词,也是测试人员进阶的必备技能,更是软件测试未来发展的趋势。特别是在敏捷开发模式下,产品迭代速度快,市场不断调整,客户需求不断变化,单纯的手工测试越来越无法适应整个过程。

测试人员如何快速响应并保证产品在上线后的质量能够满足客户要求,如何在上线一个新功能的同时快速对旧功能进行回归,保证旧功能不被新功能影响而出现严重的 Bug。

针对以上问题,采用自动化测试无疑是一个不错的选择,能够做到在保证产品质量的同时提升测试效率。

那么,学习一门编程语言必不可少,同时,学习一门编程语言也是你成为自动化测试工程师乃至测试开发工程师的基本准入门槛。

目前,市面上的编程语言五花八门,比如:很多人大学时学过的面向过程 C 语言,C 语言的扩展升级 C++,面向对象语言 Java 或者 Python,.NET 开发和游戏开发常用的 C# 语言,当时号称世界上最好的语言 PHP,更为方便的脚本语言 Shell,以及近些年很火的 Golang 语言等。

基本上能叫上名字的语言都能做自动化。

Java 和 Python 自动化测试技术栈对比:

名称PythonJava
接口自动化测试Python+Requests+Unittest/Pytest+HTMLTestRunner/AllureJava+HttpClient/OKHttp+TestNG
Web 自动化测试Python+Selenium++Unittest/Pytest+HTMLTestRunner/AllureJava+Selenium+TestNG
App 自动化测试Python+Appium++Unittest/Pytest+HTMLTestRunner/AllureJava+Appium+TestNG
测试平台Python+Django/FlaskJava+SpringBoot+MyBatis

Java VS Python?

对于测试行业来说,绝大多数从业者都会选择两门语言来学习,就是 Java 和 Python。

企业里面做自动化测试大多数也是选择这两门语言,并且很多培训班也会选择这两门语言作为主语言进行教学,比如各种 Python/Java 全栈自动化测试,因此网上的学习资源也是比较多的,方便我们自学。

那么,自动化语言选择 Java 还是 Python 呢?

首先,语言本身无优劣,只不过是一种工具手段而已,无论是 Java 还是 Python 都能做自动化测试,没有最好的语言,只有最合适的语言,不能简单的说哪门语言好哪门语言不行,而要基于实际应用场景进行分析。

测试行业学习编程语言的用途主要是用来做自动化测试,比如 Python 技术栈会使用 Requests、Unittest/Pytest 等框架结合公司业务实现一套覆盖公司系统绝大部分接口的自动化测试框架,然后做持续集成,例如将代码部署到 Jenkins,每天定时执行,并将测试报告发送到邮箱,以及上线前的回归测试等。

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

学习编程语言还可以编写一些测试工具来提高整个测试团队的工作效率。比如造大量的测试数据,就可以写个循环自动执行。毕竟提高效率也是我们的工作职责之一。

如果你是刚入行软件测试并且之前没有编程经验,那么毫无疑问就选择 Python,因为它上手特别快,整个功能也是非常强大的,通过简单代码就能实现很多实用的功能,有强大的标准库以及非常丰富的第三方库,能够辅助你去做 UI、接口等自动化测试。

不建议新人同时学习两门语言,这样会导致每个都是浅尝辄止,反而不利于深入学习。其次,编程思维和解决问题的思路都是相通的,当你熟悉掌握一门语言时,也能快速掌握另一门语言。

对于有编程基础的同学,可以选择 Java 进行学习。Java 语言难度系数较高,更有挑战性;Java 在企业的应用比较广泛,处于龙头老大的地位,适合中大型项目,性能较好,执行速度较快,适合高并发场景;

很多服务端开发人员都使用 Java,如果你也使用 Java,大家就是同一类人,有更多的共同语言,可以很好地和开发进行无缝衔接,便于交流,减少沟通成本。

甚至可以拿开发代码进行学习,参与 CodeReview,进一步加深对业务的理解,也有利于之后测试过程中进行问题的定位,以及从代码逻辑的角度发现更多的缺陷。

两门语言,不管是 Java 还是 Python,都能做自动化测试,如果非要从中选择一种,我更倾向于 Python,也推荐初学者从 Python 入手。

主要有两点原因:第一,自动化测试的目的是为了提升测试效率,将更多重复繁琐的工作交给程序自动执行,我们就有更多的时间去测试那些新功能,毕竟手工测试是发现 Bug 最快和最多的一种途径。

第二,自动化测试脚本或测试平台一般是内部使用,使用的人数一般比较少,不会涉及高并发这种场景,即使 Python 性能较差,也不耽误我们做自动化测试。

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

每个人都有自己的天赋和能力,只要不放弃,坚持不懈地努力,就一定能够在未来取得成功。无论遇到什么困难和挑战,都要勇敢面对,相信自己的实力和潜力,付出就会有回报!

每一天都是一个宝贵的机会,用心去追求自己想要的生活和事业,无论成功与否,都会成为你人生中的宝贵经历。不要害怕失败,坚持下去,你终将收获成功的喜悦。

每个人都有无限的潜力和机会去追求自己的梦想,只要你勇于面对挑战,坚持不懈地追求,就一定能够在人生路上走得更远,做得更好。别忘了,只有不停奋斗,才能绽放出真正的自我光芒!


http://www.ppmy.cn/news/283526.html

相关文章

有偿求新石器x9破解安装应用

有偿求新石器x9破解安装应用 京东发的新石器X9,安装app提示:应用未安装,该文件包似乎已损坏。有偿求大神破解。VX:528809243

360桌面整理计算机图标,电脑桌面脏乱差 360桌面助手一键整理

文章原标题:处女座必备:360安全卫士推出“桌面助手” 对办公室一族来说,最着急的,莫过于客户和领导急着要文件,而你打开电脑,看着满屏凌乱堆放的文件、文件夹,就是找不到!随手新建各…

android11 Launcher3 桌面定制开发之删除默认Google搜索框

把 Workspace中的bindAndInitFirstWorkspaceScreen方法: 按照下面修改即可: /*** Initializes and binds the first page* param qsb an existing qsb to recycle or null.*/public void bindAndInitFirstWorkspaceScreen(View qsb) {if (!FeatureFlags.…

Android降低屏幕白点吗,360手机桌面强化白点工具 降低安卓使用门槛

“随着Android手机的普及,应用越来越多,信息的爆炸和操作的复杂让很多人无所适从。我们希望藉由360手机桌面的‘白点’工具,让大家重新找回简单纯粹的使用体验,让更多人能轻松感受到Android手机的魅力。” 近日,360正式…

Windows桌面便签小工具帮你打造高效桌面

indows系统是很人都在使用的电脑系统,而在电脑上可以安装很多的软件小工具来帮助我们做事和提高效率。那么有没有什么Windows桌面小工具是推荐必备的呢?很多人使用电脑的时候都离不开记录记事,所以一款好用的桌面便签小工具还是很有必要的。 …

计算机的桌面窗户是什么,怎么设置电脑桌面便签小窗口,电脑桌面归纳事情的小窗口...

原标题:怎么设置电脑桌面便签小窗口,电脑桌面归纳事情的小窗口 小编在平时的工作中会遇到这样的情况,工作上的事情越是有很多,越不愿意开始去做,反而当事情很少,却想要尽快将它们都完成。 这种情况多了之后…

香橙派Pi5安装个性化桌面Komorebi

香橙派Pi5安装个性化桌面Komorebi 一、准备器材二、下载Komorebi的源码三、编写自动化安装脚本(可以直接复制到命令行里面运行)四、运行效果 一、准备器材 香橙派Pi5,一个nvme硬盘。 二、下载Komorebi的源码 git clone https://github.com/cheesecakeufo/komoreb…

美化桌面第二步:两个好用的小插件

美化桌面第二步:两个小插件 第一个:translucentTB 这是一个将桌面任务栏变 透明/半透明 的插件让你获得更好地桌面体验虽然说,将任务栏隐藏起来好像也可以但是,我个人还是觉得有任务栏更方便一点,何况还能美化一下可以…