为什么 Selenium 自动化工作和职位在减少?
市场对测试自动化的需求比以往任何时候都高,但自动化工作的数量却减少了。
怎么会这样?
一个原因是“测试自动化”的名称。
测试自动化不是这类工作的好名字。
自动检查或工具辅助测试(James Bach)更好地描述了实际发生的情况。
自动化不会自动化或取代创造性测试,而只是检查简单清晰的测试用例是否有效。
因为测试在名称上先于自动化,所以公司和测试人员认为测试自动化是测试的一部分,应该由测试人员完成。
测试人员认为测试自动化是他们职业生涯的灵丹妙药,因此进入了“学习阶段”。
在不到一年的时间里学习了最基本的 Selenium 和编程语言后,许多人声称他们是自动化工程师而不是手动测试人员。
一些公司,尤其是那些没有严格面试流程的公司,雇佣了手动测试员一夜之间转换为自动化工程师。
这些“工程师”满怀热情地开始构建自动化项目并编写代码,大量代码。
在大多数情况下,这只是一堆废话。
我见过由自动化“专家”构建的此类项目,他们
- 不懂继承和组合
- 不知道如何使用接口
- 不知道什么页面工厂,可加载组件或者是的,Maven 是
- 使用地图而不是对象
- 使用数千行代码和数百种方法创建测试类
- 创建页面类为每个页面元素使用 click/type/getText 方法(同样使用数千行代码)
- 大量使用静态方法和变量
- 大量使用实用程序类
这些测试人员是用 Java 编写 VB 代码的专家。
对他们来说唯一重要的是代码现在是否有效。
代码效率低下,不面向对象,难以阅读和维护,这并不重要。
在 Jenkins 中执行代码时随机失败也不太重要。
如果测试失败,我们只是重新运行它们直到它们通过。
一段时间后,公司开始意识到事情根本进展不顺利,尤其是当他们有数千个测试失败时,失败率为 25-30%。
并且,此时,他们改变方向并聘请开发人员或成为开发人员的测试人员。
在大多数情况下,一个优秀的开发人员可以完成 3-4 名 VB-in-JAVA 自动化专家的工作。
所以,看,完全有可能业务需求更高但工作数量更少。
市场成熟并过滤掉不适合或不准备从事自动化工作的人。
Pradeep Soundararajan(来自 Moolya)在 Quora 上的某处说
并非所有手动测试人员都会消失,只有不专业的人员会消失。
我的观点是,测试自动化也在发生这种情况:
专业的自动化工程师会留下来,其他的会逐渐消失。
与您从很多人那里听到的相反,测试自动化并不容易,也不适合任何人。
要做好这件事,你必须学习一份新工作并成为一名开发人员。