软件测试布道师的江湖

深耕软件测试领域,定期分享技术干货,一起成长!

测试工程师,选择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(建议)开始行动起来。
  • 行动永远比语言更有效果。

 

 

posted @ 2019-09-09 22:10  布道师玄柯  阅读(1775)  评论(0编辑  收藏  举报