乐于分享
好东西不私藏

软件测试工程师需要具备什么样的技能?未来的上升途径有哪些?(下篇)

软件测试工程师需要具备什么样的技能?未来的上升途径有哪些?(下篇)

大同学吧岗位专栏

职位介绍之软件测试工程师

今天推荐的是软件测试工程师下篇,主要讲解岗位技能、薪资和发展、需要具备的素养以及职业规划。

岗位技能

软件测试工程师需要的技能种类繁多,下面列举出一些主要的技能。

薪资状况

软件测试工程师的薪资并不低,根据某招聘网站的最新数据,北上等城市的薪资大多高于10k,少部分甚至达到30k以上。

需要具备的素养

1. 对异常的敏锐“嗅觉”

软件测试需要善于发现产品中存在的不足。不仅仅是从系统使用的正向看产品是否有问题,还要从用户角度出发,去设想产品的行为是否存在问题。正如许多软件测试的教材中说的那样,软件测试不是去证明软件是正确的,而是去证明错误的,对于一些似是而非的现象,要如猎狗般快速嗅探出其中的“不对劲”。比如,文档描述上下文中的不连贯,消息传递中,一个似乎无伤大雅的换行。

2. 对技术的旺盛好奇心

软件测试的日常工作是枯燥的,保持技术的好奇心,可以提高自己工作中的积极性,也能够促使自己用技术的手段提高测试效能。人们常说好奇心是人类进步的源泉,对技术的好奇,诱发学习的兴趣。这或许是能够在测试这一行当中长久走下去的,最为关键的品质了。

3. 扎实的技术基础

众所周知,国内的软件测试行业门槛普遍较低,然而软件测试的工作性质,又不得不要求从业人员拥有足够高的技术素养。试想,一个技术素养低下的人,又如何能够指出一个技术能力强的人在设计和开发中的不足呢?于是乎,大量的软件测试人员停留在黑盒测试、手工测试层面,很难再有所提升。

而作为一名合格的软件测试工程师,应当要做到的是:能阅读开发的代码,能理清开发代码的设计思路、实现逻辑;对于系统的新增需求,会改变原有的哪些模块,会影响哪些地方的回归,这些都了然于胸。

因此,如果你自认自己技术能力弱,那么多在这上面下些功夫吧。在日常工作中,多去看设计文档,看开发的代码,甚至自己动手去实现一些工具。如果过不了这个坎,软件测试中的高级岗位基本和你无缘,就等着被后来者顶替你吧。

4. 系统性的质量意识

在软件研发过程中,问题发现的越早,修复的成本越低。在整个软件测试过程中,质量意识应当贯穿于所有环节,从质量的角度去思考问题。专家级的软件测试工程师往往都拥有一套自己的质量体系思路,能够在日常工作中,通过架构设计的优化、设计实现有效的测试工具平台、研发流程优化等等手段,去最大限度的降低软件开发过程中的风险。一名专家级的软件测试工程师,基本要具备和开发架构对等的能力,可以和开发架构平等对话设计产品的质量能力。

5. 对产品的思考

这或许不应当是软件测试工程师所需要做的工作,然而《How Google Test Softwore》一书中有这样一句话:Build the right thing before building it right. 许多产品的无疾而终,并不是因为质量问题,而是因为产品的定位问题。这几乎是先天缺陷,在软件测试过程中绝难弥补回来的。

而作为软件测试人员,我们需要构想系统的业务场景,并尽可能的从用户的角度去看待系统。这是否意味着我们有机会在参与产品研发初期,就可以发现产品的定位是否清晰而合理?是否可以尽早的纠正产品最根本性的定位,从而避免无意义的人力投入?

职业规划

软件测试在职业发展上,概括说来可以分为“管理”和“技术”两大类。除此之外,软件测试还可以在质量领域发展。

软件测试管理是大家比较熟悉的软件测试职业发展路线之一,比较流行的设置包括测试组长、测试经理、测试代表、测试主管、测试总监、测试部长等。不同的公司中相同职位的工作范围可能略有不同,按照管理级别的高低,大致又可分为以下三级。

1. 初级软件测试管理者:测试组长

测试组长一般由有两年左右工作经验的测试工程师担当。

由于企业的规模和产品复杂度存在差异,测试组长可能会管理2~5 名软件测试工程师。一般来说,测试组长不会负责整个产品,只是负责其中的一个或多个特性。

2. 中级软件测试管理者:测试经理、测试代表、测试主管

测试经理、测试代表、测试主管排名不分先后,都属于中级软件测试管理者,一般由有4年左右工作经验的测试工程师担当。

中级软件测试管理者负责的对象为产品,可能会管理10~20名软件测试工程师(其中包括测试组长)。

中级软件测试管理者最重要的工作还是运作测试项目,制订并执行测试计划,测试结束后还需要对产品质量进行评估,给出产品发布建 议。要做好这些,需要他们掌握更多的项目管理知识,深入理解项目价值,做好项目范围管理、质量管理、成本管理、时间管理、风险管理和人力管理。除此之外,他们还要和开发人员、市场人员、服务人员等密切配合、紧密合作,其间,沟通协调能力必不可少。

他们依然是产品测试的骨干,还是会负责产品测试的重点、难点工作,所以他们也不是纯粹的管理者。

3. 高级软件测试管理者:测试总监、测试部长

测试总监、测试部长是软件测试的高级管理者,一般都有10年以上软件测试工作经验,负责的对象是产品线或公司。

高级软件测试管理者需要理解产品的商业目标,直接对产品成功负责。他们需要对测试团队的发展负责,进行人员招聘和培养,留住关键人才,提高或更新不合格人员,提升团队的胜任力和职业能力;负责项目财务管理(预算和控制);负责资源的计划与分配;持续改进测试能力,提升效率和产品质量,从测试的角度对交付产品的成本、周期和质量负责。

软件测试在技术上的发展方向,似乎不像软件测试在管理上的发展方向那么明确。一种观点是按照测试资历和能力分为助理软件测试工程师(或者是实习软件测试工程师)、初级软件测试工程师、中级软件测试工程师、高级软件测试工程师和主任软件测试工程师(或是资深软件测试工程师)。

还有一种简单的分法——产品测试技术和专项测试技术。

1. 产品测试专家:软件测试架构师

软件测试在技术上可以向产品测试技术专家方向发展。有些公司称产品测试技术专家为软件测试系统架构师。

测试架构师和系统架构师在职责上是有一定对应关系的。

系统架构师在业务(需求)向开发技术转换的过程中起到了桥梁作用,负责产品开发的整体架构设计;测试架构师是在业务(需求)向测试技术转换的过程中起桥梁作用,负责产品测试的整体架构设计。

系统架构师负责对产品开发中的技术重点和难点进行研究与攻关; 测试架构师负责对产品测试中的测试重点和难点进行研究与攻关,为测试组织提供最优的测试方法。

系统架构师协助开发项目经理制订项目计划和控制项目进度;测试架构师负责协助测试经理制订测试项目计划和控制测试项目进度。

系统架构师负责组织开发项目团队内部的技术培训工作;测试架构师负责组织测试团队内部的技术培训工作。

2. 专项测试工程师

软件测试在技术上,还可以向专项测试工程师方向发展,成为软件测试某领域的专家。

从测试体系的角度来看,软件测试发展至今,已经形成了一套完整的测试体系。测试体系中的任何一个环节,测试策略、测试分析设计、测试执行、测试评估、测试流程等每个领域的内涵都很丰富,包含了很多可以深入发展研究的技术,比如自动化测试技术、测试工具(包括产品测试模拟工具和测试流程管理工具)开发、缺陷分析和测试评估技术等。

从产品质量属性的角度来看,专项测试技术还可以包含性能测试技术、可靠性测试技术、安全性测试技术等。

实际上,产品测试专家(软件测试架构师)也需要精通上文提到的各项测试技术,如测试分析和设计、自动化测试技术、性能测试技术。但是,产品测试专家使用的任何技术都是为产品服务的,他需要针对当前测试的特定产品选择最合适的测试技术,并针对不同的产品对测试技术进行适配调整。而专项测试技术专家并不关注具体产品,而是偏向技术共性方面的研究。

本文部分内容整理自CSDN,侵删

· END ·

*免责声明:大同学吧对所有原创、转载文章的陈述与观点均保持中立,推送文章仅供读者学习和交流。文章、图片等版权归原作者享有,如有侵权,联系删除!

春招交流群

小程序投递

☛2026届春招名企推荐(持续更新中)

孛璞半导体 | 豪威集团 | 普冉半导体 | 行云集成

☛往期文章推荐

2025第十一届上海集成电路双选会圆满落幕!

2025第十一届成都集成电路双选会,圆满落幕!

2026年第四届上海新质生产力集成电路产教融合大会圆满落幕!

赋能“芯”未来 | 大同学吧携手SEMI中国英才计划,共筑产教融合新生态