测试工程师,选择python还是java?
问:“你平时工作中,用java多还是用python多”?
答:“都还可以,根据具体的场景选择不同的语言”。
问:“比如说呢”?
答:“开发自己的测试平台,肯定会选择java;在centos服务器跑一些脚本,会选择python或shell;某些压测场景,追求高并发,可能会选择go语言”。
问:“我java和python都学了一些基础知识,不知道该选择哪种语言”。
答:“可以先选择一门你相对擅长的语言,先开始用起来”。
这是前两天,一位身边的小伙伴和我的对话。
相信有这样疑问的人不在少数,就是自己到底该选择python?还是java?作为自己主要的语言,这样就能专心的将一门语言学好,因为人的精力毕竟是有限的。我先抛出我的观点和建议:“其实语言是次要的,毕竟都是为测试工作服务,不要让选择阻碍了我们前进的脚步。你要做的仅仅是行动起来!就选择python(其实语言无所谓,我的建议如果没基础,就从python开始),先用起来再说。 不要怂,就是干!”
拿我自己的经历来说,我刚开始工作的头两年主要用java做研发,后来转成测试工程师后,发现有些场景,更适合用python实现,于是开始尝试写python。我从来没有系统的去学习python的基础知识,就是用到什么不会了就查查资料,慢慢的就大致知道了python咋玩的。所以,编程语言是用起来的,不是学起来的!(这句话略有些偏激,是我个人的想法)。
下面的表格,是我整理的java和python的对比:
java | python | 备注 | |
语言类型 | 编译型+解释型语言 | 【编译型】+ 解释型语言 |
java和python都是高级语言,而计算机是不能识别 高级语言的,所以当他们运行时,会有一个工具将高级语言转成机器能懂的语言, 编译型语言:如果在运行前就将程序转成机器语言,运行时刻直接运行,比如C语言。 解释型语言:在程序运行时,再去解析程序的含义,然后运行。 |
是否开源 | 是 | 是 | |
难易程度 | 相对难度大一些 | 相对难度小一些(仅仅是上手快) | python语言简洁,上手会更快一些 |
语言复杂度 | 相对知识体系更复杂,但介绍资料也更多 | 语言比较简洁,不过官方介绍多为英文 | |
运行速度 | 快 | 慢 |
java的jre比较强大,另外还引入了JIT编译器技术,因此执行速度更快 |
语言上的特点 |
1. 每行代码后要加; 用于表示代码语句结束。 2. 强类型的语言,使用前需要声明变量类型。 |
1. python语句末尾不需要分号,但是要求强制缩进。 2. 弱类型语言,使用变量时不需要声明变量 |
|
单测框架 |
testNg、Junit5 |
pytest、unittest |
|
web开发能力 |
框架很多,常用的springboot+mybatis |
常用的有Django、Bottle |
|
接口自动化 |
一般基于单测框架+网络请求框架,比如:testng+RestAssured |
跟java设计思路类似,比如:requests网络库+pytest |
|
ui自动化 |
可用Appium |
同样可用Appium |
我的建议
- 如果你没有编程基础,那么不妨就从python着手,开始尝试写一些python脚本,可以有针对性的解决一些工作中实际的问题。
- python只是上手比java快一些,但对我们来说,解决问题的实现思路是关键,所以java和python难度其实一样。
- 总之不要将时间浪费在“选择java或python”,而应该用python(建议)开始行动起来。
- 行动永远比语言更有效果。
测试工程师,选择python还是java?的更多相关文章
- 【职业规划】该如何选择职业方向?性能?自动化?测开?,学习选择python、java?看完你会感谢我的~
前言 随着近两年来互联网行业的飞速发展,互联网技术的从业人员也越来越多. 近两年来技术岗位中测试和前端工程师变成了程序员中最好招的岗位. 测试行业卷也越来越厉害了. 也正是因为如此,我们要把自己的路越 ...
- 做自动化测试选择Python还是Java?
你好,我是测试蔡坨坨. 今天,我们来聊一聊测试人员想要进阶,想要做自动化测试,甚至测试开发,如何选择编程语言. 前言 自动化测试,这几年行业内的热词,也是测试人员进阶的必备技能,更是软件测试未来发展的 ...
- 测试工程师 技能要求:java编程,数据库,linux操作系统,自动化测试开发,性能测试,安全测试
1.具有开发和测试经验,能负责带领大型项目测试 2.掌握或熟悉java编程,熟悉mysql,oracle等db,memcache,nosql等,有互联网行业从业经验 3.可撰写自动化测试工具以及搭建自 ...
- 测试的Python、 Java语言之争
现在测试行业如果不会开发语言的话是很难找到工作的,即使是一些功能测试的岗位也会要求代码语言作为技术储备,因为如果做自动化测试或者测试工具脚本开发或者接口测试等都离不开开发语言,那作为测试如果没有代码经 ...
- 高级测试工程师面试必问面试基础整理——python基础(一)(首发公众号:子安之路)
现在深圳市场行情,高级测试工程师因为都需要对编程语言有较高的要求,但是大部分又没有python笔试机试题,所以面试必问python基础,这里我整理一下python基本概念,陆续收集到面试中python ...
- paip.web数据绑定 下拉框的api设计 选择框 uapi python .net java swing jsf总结
paip.web数据绑定 下拉框的api设计 选择框 uapi python .net java swing jsf总结 ====总结: 数据绑定下拉框,Uapi 1.最好的是默认绑定..Map(k ...
- python测试工程师高端基础面试题整理
面试总括篇 技术技能 开发语言:python 数据库:mysql 操作系统;linux 网络协议基础 测试技能:自动化(UIselenium+接口)+性能 业务知识 测试工程师执业规划 初级--> ...
- [翻译] 比较 Node.js,Python,Java,C# 和 Go 的 AWS Lambda 性能
[翻译] 比较 Node.js,Python,Java,C# 和 Go 的 AWS Lambda 性能 原文: Comparing AWS Lambda performance of Node.js, ...
- 年薪30W测试工程师成长之路,你在哪个阶段?
对任何职业而言,薪资始终都会是众多追求的重要部分.前几年的软件测试行业还是一个风口,随着不断地转行人员以及毕业的大学生疯狂地涌入软件测试行业,目前软件测试行业“缺口”已经基本饱和.当然,我说的是最基础 ...
随机推荐
- WebSocket协议与抓包
WebSocket协议 WebSocket并不是全新的协议,而是利用了HTTP协议来建立连接,它的目的是在浏览器和服务器之间建立一个不受限的双向通信的通道,比如说,服务器可以在任意时刻发送消息给浏览器 ...
- 使用jsr303实现数据校验
除了前端的js验证,服务端也可加入数据验证,springmvc中有两种方式可以验证输入 利用spring自带的验证框架 利用jsr303实现 jsr303实现数据校验 jsr303是java为bean ...
- Linux学习资料网站汇总链接(持续更新ing)
排名不分先后. 学海无涯苦作舟. 博客: 1.slmba:LINUX博客原创大牛 2.edsionte's TechBlog:Linuxer (他的友情链接中还有一堆Linuxer,被公司屏蔽进不去. ...
- stm32填坑之旅 - stm32f103c8t6点亮板载贴片蓝色LED
转载请注明:https://www.cnblogs.com/rockyf/p/11691622.html 开篇 开篇一定要精彩,不然路人不理睬!下述是笔者作为arm小白的填坑之旅 没错,这个之前一直从 ...
- BS结构的一个注册用户的功能
注册用户功能 学了Java一段时间,就想折腾折腾,就做了一个注册的功能,用HTML写了一个网页上的比较简陋的界面,用Java做了一个后台简陋的服务器处理数据,最后将数据存储到数据库中. 注册界面 ...
- 全球首个开放应用模型 OAM 开源 | 云原生生态周报 Vol. 23
作者 | 临石.元毅.冬岛.衷源.天元 业界要闻 全球首个开放应用模型 OAM 开源 2019 年 10 月 17 日,阿里巴巴合伙人.阿里云智能基础产品事业部总经理蒋江伟(花名:小邪)在 Qcon ...
- phpstudy后门rce批量利用脚本
写两个 一个批量检测的 一个交互式shell的 暂时py 图形化的qt写出来..有点问题 后门包 : GET / HTTP/1.1Host: 127.0.0.1User-Agent: Mozill ...
- 关于参加AWD攻防比赛心得体会
今天只是简单写下心得和体会 平时工作很忙 留给学习的时间更加珍少宝贵. 重点说下第二天的攻防比赛吧 . 三波web题 .涉及jsp,php,py. 前期我们打的很猛.第一波jsp的题看到有首页预留后 ...
- MFC连接Sqlserver
下载 ado2.h和ado2.cpp文件 在VC++ 目录-->包含目录 -->添加 msado15.dll, msjro.dll 目录. // TODO: 连接sqlserver, 在 ...
- 2. Rsync-远程同步(上)
课程大纲: 1.什么是备份? 就是给源文件 增加 一个 副本. U盘 D --> E 2.为什么要做备份? 1.数据重要? 2.防止误操作 3.能够快速恢复 3.能不能不做备份? 可以, 不重要 ...