java工程师_软件测试工程师应该学Python还是学Java?

对于一个软件测试工程师来说,选哪一门语言来入手编程一直是件非常纠结的事情,当然立志做一辈子功能测试的人除外。

当你学完软件测试基本理论,掌握业务测试流程,功能测试可以搞定,数据库和linux玩的也很溜时,接下来想进一步进阶,那么学习一门编程语言必不可少。

java工程师_软件测试工程师应该学Python还是学Java?_第1张图片

同时,学习一门编程语言也是你成为自动化测试工程师乃至测试开发工程师的基本准入门槛。目前,编程语言五花八门,比如很多人大学会学的面向过程C语言,面向对象高级语言java或者python,更为方便的脚本语言shell等等。

对于测试行业来说,绝大多数从业者都会选择两门语言进行学习,就是java和python。很多培训班也会选择这两门语言作为主要语言进行教学,比如各种java/python全栈自动化等等。

测试行业学习编程语言的用途主要就是用来做自动化测试,比如java技术栈使用httpclient,testng,gson,poi,xstream等框架结合公司业务实现一套覆盖公司绝大部分接口的自动化测试框架,然后将代码部署到jenkins实现持续集成,每天定时执行,将执行结果发送到邮箱,以及上线前进行回归测试等......

这样做的目的主要是用来监控哪些接口服务或者环境挂了以及版本更迭中修改代码可能会影响关联到其它接口导致异常,所以一般上线前要把公司或者部门所有接口全部自动跑一遍,以便于测试人员第一时间发现问题,并交给开发人员进行修复解决。

除此之外,学习编程语言还可以编写一些测试工具用来提高整个测试团队的工作效率。这个一般是大厂测试开发工程师的主要工作职责。中小公司为了节约成本,一般会选择相对成熟的工具直接进行使用,而不会自己投入大量人力进行研发。

对于工作多年的从业者来说,同时掌握java和python两门语言再好不过,可以大大增加找工作时的选择范围。但是对于转行的人或者初学者来说,刚开始应该选择哪门语言进行入门呢?

首先,不建议新人同时学习两门语言,这样会导致每个都是浅尝辄止,反而不利于语言的深入学习。语言本身无优劣,只不过是实现目的一种工具手段而已。编程思维和解决问题的思路方法都是相通的,当你熟练掌握其中一门语言时,也可以快速掌握另一门语言。

下面来聊一聊对比一下这两门语言:

java是一门静态类型语言,主要用来做后端开发,以及移动端安卓开发等等。

python是一门动态类型语言,主要用在机器学习,AI,数据分析,爬虫等领域。

测试领域,无论是自动化测试还是测试平台开发,两门语言都有大量的类库和框架支持:

  • 接口自动化:Java+httpclient或者restassured;Python+requests
  • web自动化:Java+selenium+testng;Python+selenium+unittest
  • APP自动化:Java+appium+testng;Python+appium+unittest
  • 测试平台:Java+springmvc+springboot;Python+flask+django

如果你打算之后测试转开发的话,推荐java,看招聘就知道,无论是校招还是社招来说,java的需求量都是远远多于python的。而且python做开发的话一般用于人工智能领域,对于学历有很高的要求。

对于没有任何语言基础的转行同学来说,python比java更加友好,简单易学,可读性更高。有句话是“人生苦短,我用python。”形象的说明了这门语言的特点。

比如读写一个相同的文件,如果java需要十行代码的话,而在python中只需要两行就可以实现。此外,python类库非常丰富,有现成的模板可以套,省去了初学者去舔砖加瓦造基垒的时间。

由于国内目前后端开发大部分公司使用的都是java,所以学习java就有一个很大的优势,可以保持跟开发步调一致。便于交流,减少沟通成本。甚至,有时间测试完成之后,你可以拿开发代码进行学习,帮助他们code review。这样可以进一步加深对业务的理解。这些技术优势是产品经理或者运营人员所不具备的。

除此之外,你也可以考虑跟着公司的使用语言进行学习。比如你们公司自动化使用的是python,且组内大部分人技术栈都是python,那么你就可以选择python进行入手学习,这样你可以边学边实战,学完就可以马上应用到公司项目中去。增加实战经验,这种提升最快,而且遇到解决不了的问题,可以抱大腿......

最后,总结一下,这两种语言其实不管你学好哪个都可以找到不错的工作,选择哪个看个人喜好。最重要的是马上行动,写代码,日积月累,自然可以成为大佬!

你可能感兴趣的:(java工程师,学java)