有同学经常留言求指点,或者技术工具和技术太多,不知道学什么!那么我们用数据说话,看看招聘网站上对“测试开发”岗位都有哪些要求。

周末的时候我写了个简单的爬虫,登录某互联网招聘网站,搜索“测试开发”关键字,然后,把每一条招聘信息上的内容爬取下来,做简单关键字的频率分析。

注: 每页显示15条招聘,共26页,大概390条招聘信息。

编程语言


Java 排名第一,占绝对优势,因为有大量的项目基于Java开发,在这样的团队中,当然也要求测试开发能懂得Java语言了。Python出现的频率也很高,主要是它简单易学,有着非常丰富的测试库,符合测试人员的属性;我的建议是两个语言都要学,如果你编程能力比较弱的话可以从Python入门,如果你的项目以Java开发为主,建议从Java入手。

注明:这里统计的“C语言”实际为“C/C++”这个关键词,因为云图生成不了这个关键词,所以改为“C语言”。

Android和iOS两大平台不属于编程语言,我这里也归到了编程语言列表。出现的频率也很高,所以,测试开发也必须懂得移动平的测试技术(单元测试,接口/UI自动化等)。

测试工具


JMeter 出现这么高的频率略为意外,仔细一起也正确,不管是性能还是自动化,开源工具的出现频率都占有绝对的优势。JMeter在性能测试和接口测试方面都非常优秀。

Selenium和appium 是一定要学的两个自动化工具,前者针对Web UI ,后者针对 app UI。

持续集成已经成为现在项目团队的标配了,所以一定要懂。

单元测试框架Junit/TestNG/unittest也一定要会用,它是做自动化测试的基础。

另外,Docker 技术也可以关注一下!

测试类型


从测试类型可以看出,测试开发要求最多的,或者做得最多的还是“自动化测试”。“软件开发”和“开发经验”出现频率也很高,说明测试开发对“开发”能力要求接近开发人员水平。

“性能测试”、“接口测试”和“白盒测试/单元测试”也是测试开发应该具备的技能。


备注: 关于这些数据搜集和整理过程全部由Python下面的一些库实现,实现代码我还没时间去梳理。有时间另做一篇分享。