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

经常关注蜗牛学院的朋友都知道,对于这两个编程语言的选择,我更倾向于推荐Java,其实原因非常简单,当我们学会了一门技术难度要求更高的技能以后,再去降级学习难度更低的技能是非常容易的一件事情,反之则不然。在此之前我曾发表过一篇文章《Java和Python现在都挺火,我应该怎么选》来分析过两门语言。

但是,针对此题,我却推荐题主学习Python语言,好吧,你可以认为我倒戈了。但是,我更喜欢就事论事,因人而异。对于编程语言近乎小白并且计划做自动化测试的你,效率和易学这两个词显得尤为重要。下面我就借用蜗牛学院测试导师CC老师的一篇文章,说下我为什么推荐你用Python作为语言。 />

首先,值得庆幸的是,专门介绍软件、工具及网站服务的技术 Blog 上 CarlCheo 绘制了一张图表,告诉你该怎么开始伟大的码农航道。撒花,鼓掌! />why you need to learn Python.png大多数好的程序员做编程不是因为他们期望得到报酬或者被公众所接受,而是因为编程很有趣。

- Linus Torvalds(Linux的创建者)

以上的观点赞成80%, 当我们不为高昂的房价和丈母娘的催促所烦恼的时候。

除了有趣,CC先生私下认为还有以下的理由值得软件测试工程师去选择Python作为自己的工作语言。

1.Python 易于学习。

好吧,相较于其它许多你可以拿来用的编程语言而言,它会"更容易一些”。Python 的语言没有多少仪式化的东西,所以就算不是一个 Python 专家,你也能读懂它的代码。

学习一门语言,CC先生的经验是:talk is cheap,show me the code.

想想从小到大你为了学一门英语经历了多少个日日夜夜,学的最快的难道不是在看美剧或者打英文版的游戏的时候么?

许多的测试人员本身的测试任务其实是比较繁重,学习时间又比较零散,想系统的学习一门语言对于大家来说不太现实,易学易用易上手的Python的语法里面条条框框以及特殊的处理场景比起其它静态语言来说少得多。它所专注的并非语言表现的丰富程度,而是你想要用你的代码完成什么。

2.Python 让你能用少量的代码构建出更多的功能。

Python 能带给所有开发者一种快速的学习体验。通过实践,你可以在最多两天之内轻松实现一个具备基础功能的游戏 (而这还是在对编程完全不了解的情况下)。这也是为什么Python 在 2014 年成为美国高校入门课程最受欢迎语言的原因。

如果你是想完成公司里面的自动化测试的整体部署,那么以下的各个方面Python都可以帮你实现:UI自动化测试(Python+Selenium等)

接口测试(Python requests等)

性能测试(Python Locust等)

安全性测试(Python Scapy等)

兼容性测试(Python+Selenium等)

大名鼎鼎的Robotframework自动化测试框架就是基于Python编写的

etc

测试工程师和开发工程师在使用语言开发测试工具或者测试框架的一个区别在于,测试工程师会专注于快速的实现功能,他可以用更多的时间去进行探索性的测试,自动化测试的本质是提高测试效率,这就意味着你需要选一个好用,易上手的语言。

3.Python 是一门多才多艺的语言,更是一个平台。

出生于1991年的Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言

(TIOBE语言排行第八,Google的第三大开发语言,Dropbox的基础语言,豆瓣的服务器语言)。这个世界并不缺乏优秀的语言,但Python的发展史作为一个代表,带给使用语言的我们许多启示。

Python可以被应用于如今你所能想得到的相当多的软件开发和操作场景。要管理本地或者云基础设施吗?Python可以。开发网站?OK,它也能行的。需要处理一个 SQL 数据库?可以。需要为 Hive 或者 Pig 定制一个功能?能做到。只是想为自己构建一个小工具?Python 就是最好的选择。需要一门支持面向对象设计的语言?Python 的特性就能满足啦。写网页爬虫?用Python可以;想进行文本处理?Python可行; 想进行科学计算 & 机器学习 & 数据挖掘?Python更是个中好手。简而言之,将 Python 了解得更加深入一点点,就能让你具备可以适应范围更宽泛的工作角色的技能。

4.Python 拥有最成熟的程序包资源库之一。

一旦你了解了该语言,就可以利用上这个平台。Python 以 PyPI (读作 Pie-Pie,可以从这里在线进行了解)为其后盾, 这是一个拥有超过 85,000 个 Python 模块和脚本的资源库,你拿过来就立马可以使用。这些模块向你的本地 Python 环境分发已经预先打包好的功能,可以用来解决各种诸如数据库处理,计算机视觉实现,像维度分析这样的高级数据分析的执行,或者是构建 REST 风格的

web 服务这些问题。

5.Python 在数据科学领域被广泛使用。

不管你从事的是什么工作,数据都会是其中的一部分。IT,软件开发,市场等等

—— 它们都深度地关乎数据且对于智慧求之若渴。很快数据分析技能就会像编码技能一样的重要,而 Python 在两个领域都占有重要的地位。Python 紧挨着 R 语言,都是现代数据科学中最常被使用的语言。事实上,在数据科学领域,Python 的职位职位需求超过了 R 语言。你在学习 Python 时发展出来的技能将会直接转换并被用来构建起自己的这些分析技能。

6.Python 是跨平台且开源的。

Python 可以跨平台运行,并且已经开放源代码超过20年的时间了,如果你需要代码能同时在Linux,Windows 以及 macOS 上跑起来,Python 就能满足要求。此外,有数十年的修修补补以及不断完善做后盾,可以确保你能够随心所欲地运行自己的代码。

7.Python 是灵活的。

Python被称之为胶水语言是有它的原因的。因为有一些Python同其它编程语言集成在一起的稳定实现。

CPython, 同 C 集成的版本。

Jython, 同 Java 集成的Python版本。

IronPython, 被设计用来兼容 .Net 和 C#。

PyObjc, ObjectiveC 工具下的 Python 写法。

RubyPython, 同 Ruby 集成的 Python 版本。

或许,以下这一个理由已经足够:人生苦短,我用Python

注:本文由蜗牛学院测试导师 CC老师 原创,首发自个人简书,原文链接:http://www.jianshu/p/135e191a928f。如需转载请联系我方获得授权并注明出处。

更多推荐

python和软件测试哪个好学-软件测试工程师,是学习Java还是Python比较好呢?