要全面还是专门化?测试工程师的未来发展之惑

软件测试作为门槛极低的职业,一直是被管理者视为可有不可无,可小不可大的鸡肋存在。这其实是行业间的信息不对称导致的。

当我们极力对管理者诉说软件测试岗位的综合性和重要性时,管理者作为门外人,可能只是在想压缩成本,从人力到其他资源。不仅如此,我们行业内判定人才的标准也被这些看起来技术出身的管理者所左右,比如,近几年的软件测试专门化运动。

想必大家都听过:“通八门不如精一门”,这似乎也适用于评价软件测试工程师们。在招聘网站上,我们很容易看到“自动化测试工程师”“性能测试工程师”“APP测试工程师”等分类,这是管理者对测试工作由外到内观察而导致的工作细化,而不是测试工作的实际要求出发的。

我当然有证据来证明这一点,我们来看一下某公司自动化测试工程师的招聘要求:

岗位描述
工作职责:
1. 负责软件产品的性能测试和自动化测试。
2. 负责自动化测试平台的部署,并编写技术文档,为业务测试提供技术支持;
3. 负责接口自动化测试,完善测试流程,提出优化建议;
4. 理解性能需求,并制定性能测试方案,完成性能报告的编写与分析。
5. 对自动化测试结果数据进行分析,协助开发人员进行优化并提供测试支持;
6. 帮助业务测试定位复杂问题,解决复杂的功能逻辑测试问题,提高测试效率;
7. 维护测试用例库,完善自动化测试框架,提高项目自动化率。
8. 在项目中保持和项目经理、开发工程师、产品经理进行积极有效的沟通,提出对产品进一步改进建议,并评估改进方案是否合理,提出反馈意见;当自动化测试任务不足时,可参与业务功能测试。

任职要求:
1. 计算机专业本科及以上学历,3年以上自动化测试工作经验;
2. 具备丰富的软件工程和自动化测试理论知识;
3. 具有接口/UI自动化测试经验、性能测试、H5兼容性测试经验。
4. 熟悉Jenkins部署,熟悉Linux操作系统,熟悉Shell脚本编写;
5. 熟悉数据库,如:MySQL/Oracle/postgreSQL。
6. 熟悉至少一门开发语言,如java、Python、goLang等;
7. 有主流自动化框架和工具使用经验,包括但不限于/appium/Jemeter/selenium/request/httprunner/TESTNG/fiddler;
8. 具备良好的团队合作精神,责任心强,工作积极主动,能够承受一定的工作压力;
9. 具备优秀的问题分析能力和较强的自学能力,沟通意识强。
10. 具有互联网电商行业经验优先。

 显然上述工作并不是仅仅要求自动化技能,而是功能,性能,接口,环境部署,数据库,编程能力,沟通等等较为全面的素质。

为什么会产生测试角色的专门化细分和要求能力的全面化这种不相合的矛盾呢?

测试角色的专门化细分来自管理者对测试在整个软件流程的理解,而测试能力的全面化要求是实际工作的需要。

那么,我们应当让自己更专门化,精通测试的某一领域,还是去拥抱全面整体的能力呢?目前来说,市场偏爱专门化的人才,但是作为测试工程师,心里要明白,角色上的专门化不等于能力上的专门化,我们依然需要把握全面能力。

未来的测试领域,不一定沿着现在的偏好发展,实际上国内的测试行业仍处于青少年时期,并不十分成熟,这点我们从每个公司五花八门的测试框架即可看出。

我的看法:综合能力或者说测试的全面能力,诞生测试人员对产品质量保证的理解能力,也提高测试工程师的实际问题解决能力。IT行业一大特点就是,这个东西我可能不会,但是我能摸索着用起来,把未曾见过的问题解决掉,这便是我说的测试全面能力体现。

此外,测试工作的专门化,能否提高效率,有待商榷,但造成的知识经验传播壁垒却是实实在在的。比如,假如市场上的从业人员按照角色划分进行能来扩展,其结果只能是,功能测试工程师一直做功能,性能一直做性能,自动化一直做自动化,APP的难以转到web,web的又无法获得APP企业机会。有意思的是,人是活的,并不一定按照外部设计进行发展。比如,本行业内的三年五年之痒,有一定从业经验的测试工程师,面对细分的角色开始迷惑,我的未来在哪里?是继续做被设计好的螺丝钉?那么将来更年轻的螺丝钉一定会替代你。现下很多三五年经验的同行,选择跳出测试领域,多半是因为这个原因。因此我建议,有一定从业经验的测试工程师,如果喜爱测试行业,不愿跳出,要开始塑造自己的全面能力,从整个测试框架,工程学角度来审视软件测试工作,争取在未来胜任软件测试框架工程师或成为测试管理人员。

 

你可能感兴趣的:(测试)