Python 我爬取了 8483 条测试工程师招聘需求,竟发现……

测试奇谭 · 2021年03月08日 · 最后由 测试奇谭 回复于 2021年03月10日 · 1522 次阅读

大家好,我是测试奇谭的作者谭叔。

自开通博客以来,我被问及最多的问题,便是:

  • 软件测试要做些什么?
  • 软件测试需要掌握什么技能?
  • 软件测试有发展前景吗?

……

针对以上问题,谭叔写过文章介绍,也做过线上分享,你可以翻翻之前推送的文章。

但我总觉得还差个东西——软件测试的职业环境。

就我个人来说,我每隔一段时间(或半年、或一年)便会审视、总结软件测试职业,给自己的未来一个交代。

最近,借金三银四招聘旺季的契机,我爬取了某招聘网站 8483 条测试工程师的用人需求,通过分析这些数据,跟大家讲一讲软件测试的职业环境。

具体请看:数据爬取、数据清洗、数据分析

数据爬取

我不喜欢重复造轮子,在分析之前,我依旧在网上浏览,却发现并无多少博主通过分析招聘需求来研究软件测试。

因此,我找到了尘封在我资料库里两年的代码(两年前 ,我在做职业抉择时,做过类似的分析)。

但却发现,两年过去,招聘网站进步了不少——反爬虫机制成熟,一些关键数据,已无法通过正常手段获取。

可我还是不想重复造轮子,但在网上能找到的爬虫脚本,也无法使用。

于是乎,我花费了两个下午的休息时间,仔细研究了该网站的反爬虫机制,加上一休老师的灵光一闪。最终,我成功找到该网站的后门,爬取到了我需要的所有数据。

计,8483 条测试工程师的招聘需求。

数据清洗

我设计了两张表,一张 position 表,用于存储岗位信息,如薪资、公司规模、年限要求、学历要求等。

一张 info 表,用于存储岗位描述,如岗位职责、岗位要求。

01 去重

我 group by 了下 position 表的数据,发现数据有不少重复值。去重后,只有 7650 条,足足少了 833 条。

在确保爬虫脚本无误的情况下,我检查了数据的 create 时间点,再次排除脚本问题,并且排除动态页面刷新导致的重复(比如,岗位编号 123,原本在第 2 页,但因为岗位新增,可能跑到第 3 页去了,造成数据重复记录)。

最终,我猜测:该招聘网站的岗位总数,可能有水分。

但此为个人猜测,并且不是本篇文章的重心,故看看就好。

02 清洗 position 表(职位信息)

我选取关键字段做分析,并分别要处理:

  • positionName 岗位名称:去关键词,获取一些定制岗位的招聘数量(如性能测试工程师、自动化测试工程师、测试开发、测试主管等)

  • salary 薪水:取上下限

  • salaryMonth 能拿到的薪水月份 (年终奖):获取枚举值

  • workYear 工作年限:获取枚举值

  • education 教育程度:获取枚举值

  • positionAdvantage 岗位福利:提取关键词,做词云分析

  • companySize 公司规模:获取枚举值

  • financeStage 公司融资情况:获取枚举值

  • industryField 公司行业:提取关键词,做词云分析

  • companyLabelList 公司福利:提取关键词,做词云分析

  • city 城市:获取枚举值

  • district 区域:获取枚举值

03 清洗 info 表(职位信息)

将爬取到的汇总数据,拆分成:

  • work_duty 岗位职责:提取关键词,做词云分析

  • work_requirement 岗位要求:提取关键词,做词云分析

数据分析(单因素)

因谭叔本人在成都工作,故此篇文章,我只会放上成都的测试岗位(550 条招聘需求)分析。

如果你需要查看其它城市的分析报告,可搜索同名公号,在后台回复地区即可获取。

01 招聘岗位分析

①招聘需求

在招聘的岗位名称上,自动化、测试开发等关键词的比例为 17%,但真实的占比不止 17%(一些企业在招聘时并不会打上自动化、测试开发等标签,但实际却需要此类技能)。

你觉得高吗?悄悄告诉你,北京、杭州是 40%。

其次,测试开发的招聘需求明显大于自动化测试——毕竟,掌握了测试开发技术,再做自动化测试并不是什么难事。

so,还没学自动化技术、测试开发技术的小伙伴,赶紧行动起来,未来这个比例只会更高。

此外,专职的性能测试、安全测试,依旧是小众需求。

②岗位职责

什么是词云?由词汇组成类似云的彩色图形。某词汇出现次数越多,则在词云上显示最大。

测试工程师的岗位职责,仍旧以产品为主:理解产品需求、对产品进行、发现产品缺陷、确保产品质量等关联词,出现频次最高,近 6 成的公司有此基础要求。

此外,近 5 成的公司,要求自动化技术,4 成的公司,要求求职者具备独立工作的能力。

结合上一个分析 & 两年前的职责数据,我们能看出:测试在向全技能型人才(自动化、开发、性能测试等技术)发展。

关键词出现的频率,如下:产品 61.03%、自动化 45.06%、负责 40.68%、问题 29.28%、执行 28.33%、分析 28.14%、质量 27.19%、编写 27.00%、开发 25.48%、性能 25.48%

③岗位要求

经验,经验,经验,重要的事情说三遍!丰富的测试经验,带来的更加优秀的迁移能力,快速发现问题、定位问题的能力……懂者自懂,不再强调。

软技能方面,沟通能力、学习能力、分析能力,符合测试工程师岗位的客观规律。

关键词出现的频率,如下:经验 111.98%(一个岗位要求里可能有多个经验关键词,故超过 100%)、沟通 34.79%、项目 34.60%、流程 34.22%、产品 33.84%、技术 32.13%、学习 31.56%、测试工具 29.85%、分析 26.24%

02 福利分析

①年终奖

从数据可以看出,近 6 成的公司没有年终奖(数据不绝对,此数据挂靠在薪水上,不排除无法挂靠的项目/绩效奖金,或者部分企业未填写此字段),愿意给年终奖的公司占到 4 成,以 13-15 薪为最大占比。

那么,年终奖大于 15 薪的是哪些神仙公司呢?

给出 18 薪的,又是哪家神仙公司呢?

一家培训机构,真香。

②岗位福利

在岗位福利上面,我们可以看出:五险一金、周末双休、带薪年假、团队 nice等为测试工程师这个岗位的高频福利,和其他技术岗没多大区别。

关键词出现的频率,如下:五险一金 23.45%、周末双休 14.00%、带薪年假 10.36%、团队好 8.91%、六险一金 6.73%、弹性工作 6.18%

③公司福利

在公司福利上面,近 3 成的公司愿意给带薪年假,其次,节日礼物、定期体检、技能培训等福利出现的频次相对较高。

关键词出现的频率,如下:带薪年假 29.27%、节日礼物 17.27%、定期体检 12.73%、技能培训 12.36%、年底双薪 12.18%、股票期权 12.00%、岗位晋升 11.64%

数据分析(多因素)

01 公司规模与学历的关系

从图中得出的结论:大公司对学历的要求更高,专科生进大公司的路相对较狭窄。

02 公司规模、融资情况与薪水的关系

什么是箱型图?一种用作显示一组数据分散情况资料的统计图,有上边缘、下边缘、中位数和两个四分位数。

什么是四分位数?指在统计学中把所有数值由小到大排列并分成四等份,处于三个分割点位置的数值。

还是不懂?了解最少、最大、中位数三个值即可。

公司规模越大,薪水越高。所以,想提高薪水,进大公司是一种选择。

天使轮和 D 轮 + 的公司,更愿意给出高薪职位。毕竟这两个阶段是公司快速冲刺的阶段。

03 工作年限与薪水的关系

抛开应届毕业生不谈(大公司开高价招聘应届生,不具备统计学意义),其余数据符合社会客观规律。

你可以根据以下数据,对比自己的薪资是平均别人还是被别人平均。

不限:最少 3k,最大 7k,中位值 3.7k,Q1 3k,Q3 6.4k。最少、最大、中位值趋近且中位数靠近 Q1,说明大部分岗位薪水在 3.7k-7k 之间。

1 年以下:最少 4.5k,最大 32k,中位值 8.5k,Q1 6.7k,Q3 11.5k。中位值趋近 Q1,说明有更多高薪选择,意味着摇摆更大,择业容易出现特别明显的分水岭。

1-3 年:最少 6.5k,最大 37k,中位值 12.5k,Q1 10k,Q3 15.5k。中位值稳定,该中位值能代表平均水平。

3-5 年:最少 2.5k,最大 44.5k,中位值 18k,Q1 13.5k,Q3 22.5k。同上,中位值稳定,该中位值能代表平均水平。

5-10 年:基本不走简历投递招聘模式。

04 学历与薪水的关系

学历方面,本科(及以上)与专科,在薪水方面,差异明显。

本科:最少 1.5k,最大 44.5k,中位值 11.5k,Q1 8.5k,Q3 15.5k

大专:最少 2.5k,最大 22.5k,中位值 7k,Q1 5.5k,Q3 9.5k

硕士:最少 1.5k,最大 32.5k,中位值 11.5k,Q1 6k,Q3 15k

共收到 11 条回复 时间 点赞

上周发了一版,因为图床的问题,被锁文。
这次重新发表,应该没问题了。

好详细,赞

非常详细

为什么 5-10 年不走简历招聘模式

匿名 #8 · 2021年03月09日

5-10 年,还是会挂简历投简历😂

5-10 年,走内推,猎头挖,投简历的少吧

是有,但是样本比较少。大部分走猎头和内推模式了。

特尔斯特 回复

内推、猎头向较多。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册