Java or Python?测试开发『工程师』如何选择合适的编程语言?

很多测试开发『工程师』尤其是刚入行的同学对编程语言和技术栈选择问题特别关注,毕竟掌握一门编程语言要花不少时间成本,也直接关系到未来的面试和就业(不同企业/项目对技术栈要求也不一样),根据自身情况做一个相对正确的选择确实要比盲目投入更明智也更高效。

目前最常见的情况是纠结选择 Java 还是 Python?关于这个问题,我特意请教了几位资深的测试技术专家,在这里做一个汇总整理,集“各家”之言供大家参考,也欢迎各位朋友根据自己的经验回帖补充意见。

P.S. 有一点需要强调,关于编程语言的选择和对比,不存在唯一正确的答案,也没有一劳永逸的全局解决方案。这里列举的也仅代表个人意见,仅供参考,大家还需要结合自身情况做选择。在保证大方向正确的前提下,快速学习,努力提升自己才是王道。

今日霍州(www.jrhz.info)©️

  • 测试『工程师』该如何选择合适的编程语言?
  • Java or Python?这两种语言在一线测试工作中实际应用是怎样的?有哪些优劣势对比?
  • 对测试新人和有一定经验的从业者有哪些建议?

---- @方程无解 美团资深测试技术专家、Python 自动化测试技术专家

很多同学都有这个困扰。Java 和 Python 是现在开发和测试行业的两大主流语言。目前 Java 的市场占有率是第一,Python 还是第四,但 Java 的占有率在走下坡路,尤其是在 Oracle 宣布新版 JDK 收费后,会加速这种趋势。Python 作为大数据工程和 AI 的主流开发语言,一直保持强劲的上升趋势,即使目前 AI 还没有大量的成功的商业案例(盈利的)就已经很火爆了,一旦成功的商业模式建立起来,Python 开发和测试的需求更会爆发性增长。

Java 和 Python 通常在大厂里面都是并行存在的,但在创业型公司里面,Python 做测试开发的比例比 Java 高,创业型公司里面要求快速推进,推进速度会比大公司更激进。

Java 目前在市场上毕竟还是占有率第一的,Java 测试开发的绝对需求量会比 Python 多,但会 Python 的人相对比较少,竞争也会小一些。Java 用来做测试开发,还是太重了点,技术点比较复杂,学习曲线长,编写测试代码的速度慢,Python 编写速度快,非常适合测试资源不充足的情况下,快速开发测试工具。通常实现一个功能,Python 的代码量是 Java 的 1/3-1/5。

很多大厂之所以一直还用 Java 做测试开发,主要前几年积累下来的工具都是 Java 的,前几年会 Python 做测试开发的人太少了,但现在大厂新工具的开发,更多人选择了 Python。

对于小白和刚入行的同学,毫无疑问,直接学 Python,这个没有其他要讨论的。对于 Java 开发一年经验以上,或者写过 1W 行以上代码的同学,在继续深入学习 Java 的同时,也要开始学 Python。在实际工作当中,用Python 写小工具,很方便。Python 对 Java、C、 C++ 的调用都有成熟的框架,而 Java 没有。另,除了 Python 和 Java,如果大家还想学习一门新的语言,我建议大家学习 Go,那也是一个明日之星。

关于测试开发『工程师』如何做技术栈选择的建议:关于测试技术,建议初级测试人员(1-2年),先在一个专项测试技术上发展,然后再扩展到全栈(API、Web、App、后台、安全性测试、性能测试、数据库、Linux、中间件等)。你的技术体系应该是 T 型结构,测试人员的知识体系应该比开发人员更全面,要学的东西很多。除了测试技术外,测试人员也要不停的学习开发技术,公司用什么开发技术,你就要跟进学习。和开发人员的交流保持在一个频道下,理解其设计就会更顺畅。

---- @山治 前第四范式资深测试开发『工程师』

建议初学者先掌握 Python,而高级的测试开发者两个都要会。一般高级『工程师』主 Java,副 Python。

另,语言跟某些业务场景也有绑定关系,比如 RPC 协议测试,在国内Dubbo 这个框架很流行,就是基于 Java 调用的。很多 2B 企业提供的 SDK 测试,也大都是基于 Java 的 SDK 测试。

而且,大型自动化项目通常是团队多人协作的,Java 由于静态语言特性不容易出错,而 Python 容错性相对来说就要差一些,代码多了容易 hold 不住。

主要就是开发圈子里 Java 太流行了,导致测试里面 Java 系比较有好处。

---- @余离 知乎测试技术专家

对于语言,第一选择是最好和研发的语言技术栈一致。

在测试过程中,如果只是接口自动化,或者基础平台开发,Java 与 Python 两者差异并不大。建议优先选择更熟悉的语言。

一些开源自动化框架用 Python 的相对多些,在日常工作中一些脚本工具用 Python 写会快很多。

其实个人觉着代码技术栈的选择方面,通过 Java 入门要比 Python更面向对象一些,对一些设计模式的学习也更友好一些。另外,从开发角度来讲,Java 的稳定性和可靠性及现有解决方案会更好一些。

如果面向平台开发,第一门入门语言可以选 Java,语言一通百通,Java 上手后学习 Python 的成本也不高。

但如果只是自动化测试框架,工具,两者都可以,我个人更倾向Python,新手写起来很快~。另外,如果是大数据方向的测开,最好用 Java。而如果策略算法领域的测开,Python 则更好。

---- @思寒 测试专家

Java 和 Python 都不错。这是最大众的语言。

Python 最直接,生态强大,但是没有 Java 强大。

Java 的话是分两层的。JVM + JVM 之上的各种语言。也就是说你用Python、Ruby、Java、Groovy、Kotlin、Scala 等都可以调用Java 编写的库,生态上有优势。

但这个原因还是次要的,主要还是将来要做测试左移和测试右移,分析代码、统计覆盖率等都得跟研发保持一致,而国内用 Java 的公司可能占了 90%;

另可参考 测试行业的编程语言之争 by 思寒

---- @范令凯 前58 到家测试专家

1. 针对没有接触过代码的小白,建议从 Python 入手,门槛低,学习成本比较低;

2. 针对大数据的测试建议 Python;

3. 本身 Python 和 Java 没有特别大的优劣之分,都有足够的库和插件可以完成我们的测试。遇到问题也都可以从网上快速的找到解决方案。所以选择 Python 还是 Java,最主要思路还是跟公司的技术栈保持一致。

比如我这边有 Dubbo 的接口,建议选择 Java,从接口测试到后续的代码走读,都比较方便(当然 Python 也可以实现 Dubbo 的接口测试,但可能成本比较高)。

---- @晓光 测试技术专家

跟被测物同语言最好。

1. interop 不会有坑。

2. 开发能读懂,沟通不会有坑。

3. 如果是单元测试或者结合很紧的接口测试可以跟生产代码放在一起。加入 CI 经常跑,保持有效性。

---- @艾辉 前饿了么高级测试技术经理

Java 和 Python 这两种语言在测试开发的工作中应用都很广泛,如果非要分主次,Java 相对来说更多。服务端用 Java 开发的项目居多。

关于测试『工程师』如何做技术栈选择?有几点需要注意:

1. 业务团队的技术栈,即公司服务端用什么语言做开发;

2. 自身技术基础,对编程语言熟悉程度,个人兴趣等;

3. 相关语言背后的技术生态是否完善,比如做服务端自动化测试,Java 的工具库、Python 的工具库,哪个更能解决痛点问题?

对于零基础和刚入行的同学,建议从 Python 入手,因为 Python 语法简单,相对容易上手;有一定经验的测试『工程师』则要从解决什么问题方面考虑,然后建议 Python、Java 都熟悉掌握,能紧跟行业技术趋势和要求,比如近几年 Go 越来越火,不排除测试开发『工程师』之后要学习掌握 Go 语言。

测试开发的技术广度要求相对更高一些,因为你不知道下份工作中,公司业务会用到的技术栈情况,所以需要掌握迅速迁移学习的能力。但就目前来看,Java 和 Python 两门语言能熟练应用基本就可以满足大部分测试开发工作的需要,其他 Case 根据实际情况来看。

推荐学习

今日霍州(www.jrhz.info)©️

行业首个「知识图谱+测试开发」深度整合课程【人工智能测试开发训练营】,赠送智能体工具。提供企业级解决方案,人工智能的管理平台部署,实现智能化测试,落地大模型,实现从传统手工转向用AI和自动化来实现测试,提升效率和质量。

特别声明:[Java or Python?测试开发『工程师』如何选择合适的编程语言?] 该文观点仅代表作者本人,今日霍州系信息发布平台,霍州网仅提供信息存储空间服务。

猜你喜欢

台媒曝『蔡依林』让好友帮忙介绍对象,不排斥年龄比她大的男生(『蔡依林』发声明,悬赏1亿元台币讨清白)

更多的人则指出,『蔡依林』近年来专注于音乐创作,精心经营生活,热衷于烘焙和翻糖蛋糕,个人的事业和兴趣都已发展得风生水起,状态也非常好。在公众眼中,『蔡依林』一直呈现的是独立、自信的形象,而硬是要将急于嫁人或择偶困难的…

台媒曝『蔡依林』让好友帮忙介绍对象,不排斥年龄比她大的男生(『蔡依林』发声明,悬赏1亿元台币讨清白)

5段婚姻8个女人一个没留住,68岁和痴呆老母为伴,张黎后悔吗?(有几段婚姻)

他在这里接触到了电影制作的方方面面,开始沉浸在摄影与导演的世界中,这一段经历,也为日后他步入影视行业埋下了伏笔。当时,张黎与小『宋佳』之间的绯闻闹得沸沸扬扬,尽管双方从未公开承认,但这一段风波使得张黎的情感形象也…

5段婚姻8个女人一个没留住,68岁和痴呆老母为伴,张黎后悔吗?(有几段婚姻)

合肥办公室直饮机:亲测效果与实践分享(合肥办公室直饮机厂家)

本文将基于我们公司的真实采购和使用经验,对A品牌RO反渗透机型、B品牌超滤加热一体机型以及源健智能直饮机进行深度横向对比评测,希望为正在考虑采购直饮机的企业提供一些参考。其快速出水能力和高效的售后服务能够有效…

合肥办公室直饮机:亲测效果与实践分享(合肥办公室直饮机厂家)

纯净蓝?不,是小金の『多巴胺』蓝!(纯净蓝显白吗)

纯净小金 是专属的蓝色 空气清新 阳光通透 是来自天空的湛蓝 是来自蓝冰的海子 是来自双桥沟的蓝色冰壁 是来自蓝色小精灵—蓝大翅鸲 小金是通透的蓝 很纯净…

纯净蓝?不,是小金の『多巴胺』蓝!(纯净蓝显白吗)

苏品苏货•欢购无锡 | 锡有好礼,快快“马”住!

给孩子的满分礼物🎁来啦~源自西班牙的“儿童色彩专家”Bonfil宝菲凡品牌儿童绘画材料净味丙烯、宝菲凡儿童速干水粉颜料套装、小布丁手指画颜料等,是江苏宝菲凡儿童用品有限公司的『明星』️产品,颜值与内涵双在线,安全且…

苏品苏货•欢购无锡 | 锡有好礼,快快“马”住!