0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

软件测试工程师怎么做职业规划

工程师人生 来源:工程师吴畏 2019-07-31 15:49 次阅读

软件测试工程师在工作中常常扮演着用户的角色,但是大家千万不要一看到“用户”就马上联想到“上帝”,认为软件测试工程师的工作很舒服。在实际工作中,每个产品在发布前都会有很多版本,软件测试工程师在每个版本中都要模拟用户使用的各种场景,遍历用户可能会使用到的各种输入参数,通过系统输出来判断这些操作结果是否能够满足预 期。其中很多操作都是重复的,这就需要软件测试工程师有一份“外在”的细致和耐心。

除了“外在美”,软件测试还要求软件测试工程师有“内涵”——懂用户。他们不仅要保证产品满足用户明确提出的功能需求,还需要理解在这些功能背后隐藏的“潜在”需求,如性能、可靠性、易用性、可操作 性、可移植性等。可见,要想内外兼修,真正做好做深软件测试,绝对不是一件容易的事情。

软件测试在“入门”上相对软件开发的确要容易些,但是软件测试和软件开发不同的是,软件开发人员只需要理解自己负责的模块就可以胜任工作,而软件测试则需要对整个系统都要有整体的把握,需要站在用户的角度去理解需求,所以软件测试比软件开发更难深入。

但现实是,测试“深入难”的这个特点往往被忽视,“门槛低”却被放大。“门槛低”的另一层意思就是“谁都能做”,技术含量不高。在这种背景下,软件测试工程师在职业发展上自然很难受到重视

对那些工作了两三年的软件测试工程师来说,他们在产品和软件测试技术上都有了基本的认识,足以胜任每天的日常工作后,很自然就会开始寻找新的发展方向和目标。

一个发展方向是软件测试管理。但软件测试的管理职位其实并不 多,即使是有独立测试部门的大中型公司,也只会到高级测试经理级 别,更别提那些没有独立测试部门的小企业了。所以软件测试工程师在测试管理方面想要有所发展,不仅需要能力,还需要机遇。

软件测试在技术方面又有哪些发展呢?

要想在技术方面有所发展,“深入”是必需的。这本来就不是一件容易的事情,而软件测试技术在“深入”上又比其他领域更难一些,可谓“难上加难”。当软件测试工程师开始进入软件测试职业发展的平台 期,变得迷茫、困惑,看不清自己未来的发展方向,需要指引时,又往往找不到方向。我的一位前辈曾经拿“布朗运动”来形容他自己在平台期的感觉,我觉得这个比喻是非常贴切的。正如《奥德赛》中描述的一样,还有什么比徘徊不前更让人感到难受的呢?

职业发展遇到“瓶颈”本来是一件非常正常的事情,但是如果这种情况得不到改善,老是处于平台期的状态,却是“致命”的。在我身边,就有很多从事测试工作3年左右的同事离职或者转岗。《中国软件测试从业人员调查报告》(2011年)也指出,中国软件测试行业有超过七成的从业人员工作年限是0~3年,只有18%的人是3~5年。需要注意的是,这个比值从2009年开始就没有发生过变化。这说明中国软件测试人员在工作经验的分布上并不合理,缺乏持续性。我们在不断“丢失”工作3年左右的、有经验的测试工程师,如果这种情况一直持续下去,很难说中国的软件测试不会“青黄不接”。

所以我想对中国的软件测试来说,引进测试技术,提升产品知识, 追求更完美的测试流程,或许都不是最重要的。我们需要讨论“发展”, 在软件测试工程师职业发展出现困惑迷茫的时候,可以为他们解惑。

认识软件测试的优势和劣势

我们需要先对软件测试进行一场“再”认识。

从“成熟度”来讲,软件开发行业的整体成熟度更高,人们对软件开发的理解也更为全面深入。正因为这样,人们也更习惯将软件测试和软件开发放在一起比较。虽然软件开发和软件测试都属于产品研发,但是人们的关注点是不同的。软件开发偏向“创造”,而软件测试却偏向“验证”和“确定”,所以软件开发和软件测试对技能要求也是不同的。但是 要广度和深度的认识 ‘’软件‘’ 开发能力必须具备

人们将软件测试和软件开发放在一起比较的时候,容易陷入“用软件开发的要求来评价软件测试”的思维中,只看到软件测试和软件开发相比的弱势,却看不到软件测试自身的优势。

那么作为软件测试,和软件开发相比,又有哪些优势呢?

虽然软件测试存在不少困境和迷局,但是这并不能掩盖软件测试自身的优势。

和软件开发相比,软件测试入门相对更容易些。这是软件测试行业的一大特点,其实也是软件测试的优势之一。较低的“门槛”给了软件测试行业和软件测试从业者更多的选择余地。一些企业在招聘软件测试人员的时候,不一定只招聘有计算机、通信相关经验的人,他们可能会根据产品的特点,招聘一些更能理解产品和用户需求的人员,如金融、财会专业的人等,所以软件测试从业者可以是“杂家”,或者说对某些领域来说,“杂家”反而更适合软件测试。从软件开发相对“封闭”的行业特点来说,软件测试就要“开放”多了。另外对想改行从事软件研发工作的人来说,选择“软件测试”作为转型的切入点也是比较合适的。

在软件开发项目中,大多数软件开发工程师都会被分配一个或几 个“模块”来编码实现,几个软件开发工程师合作才能完成一项功能是非常普遍的现象。这种割裂式的开发工作模式,让其中的软件开发工程师很难理解产品的全貌,甚至不知道最终用户会如何使用自己的产品。相对来说,软件测试人员是产品研发团队中最理解产品全貌、最理解用户的人,这是由软件测试的工作内容决定的。

软件测试人员不必关心产品究竟是如何编码实现的,不必关心用的是C语言还是C++,不必关心这部分代码是软件开发人员从网上复制下来的还是自己原创的;他们需要关注的是“产品的实现是否和开发承诺要实现的功能是一致的”,这让测试人员自然会去关注“功能”,理解产品的全貌,而不会陷入实现细节。

软件测试人员还会对产品进行“黑盒测试”,这种看似“摸瞎”的系统测试方法,需要站在用户的角度分析用户使用场景,所以软件测试人员必须想办法去全面理解用户,不仅要理解用户明确的需求,还要理解用户“隐形”的需求,如用户的使用习惯、用户行业潜在规则等。所以在产品研发领域,测试人员才是最理解用户的人。

在大多数人的印象中,软件开发整天面对着电脑,两耳不闻窗外 事,十指翻飞只为编写程序,是一个很“宅”的职业。你千万不要以为软件测试也是一样的,和软件开发相比,软件测试人员需要有一定的沟通交流能力,这不仅有助于就产品测试中发现的bug和开发人员进行沟通,更重要的是,在很多企业,软件测试人员都会作为产品研发的接 口,在用户出现问题的时候和用户进行沟通。除此之外,想要做好测 试,协调能力、风险评估能力、数据统计分析能力和报告撰写能力都是必不可少的“软技能”。所以和软件开发要求“深度”不同,软件测试更注重“广度”,要求软件测试人员是“多面手”,有很强的综合能力。

软件测试的这一特点,让软件测试人员可以有更多的职业外延可供选择。换句话说,即使一名软件测试工程师在从事了几年软件测试工作后转行,无论他是改行做销售、客服或其他工作,都可以很快上手,得到认可。这是因为软件测试人员对产品理解,在研发领域可能不够“深入”,但是在非研发领域却做得很好。在广度方面,软件测试人员不会输于其他非研发领域的从业人员;对用户需求的理解,软件测试人员也不会逊色;而沟通协调、分析总结、风险意识等软能力也能帮助软件测试人员很快掌握新领域的知识技能。所以相对来说,软件测试人员其实更能适应这个复杂多变的社会。

软件测试的劣势

客观来讲,和软件开发相比,软件测试也存在很多劣势。

虽然软件测试的“出口”看起来很广阔,但是和同在软件研发领域的软件开发人员相比,软件测试在软件研发领域的发展却比软件开发人员有限得多,至少这是现状。我们很少看到软件测试人员去做产品研发管理工作,成为开发代表、产品线经理或研发总监;很少看到软件测试人员去做系统架构师(SE)。很多企业,软件测试在管理上的职位,最高就是测试代表或测试经理,在技术上甚至没有职位,没有发展方向。

车开到这里,有人会反驳我,说不是有 开发测试么;开发测试也是测试,并不是全栈开发,岗位职责的烙印 ‘测试’依旧在身上;不要忘却了,你是测试开发,就不是测试了

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 测试工程师
    +关注

    关注

    6

    文章

    124

    浏览量

    12389
收藏 人收藏

    评论

    相关推荐

    Keysight助力提升工程师测试测量知识水平

    Keysight为您解锁测试测量领域的最新知识,助力工程师在快速变化的科技环境中保持竞争力。
    的头像 发表于 10-16 09:28 311次阅读

    硬件工程师如何元器件变更的决策

    硬件工程师如何元器件变更的决策某产品在从研发转规模生产阶段,采购部门给硬件工程师推荐了新的MOSFET(称为A),该物料比该产品研发阶段使用的MOSFET(称为B)价格更低,且供货渠道更友好。作为
    的头像 发表于 07-06 08:17 398次阅读
    硬件<b class='flag-5'>工程师</b>如何<b class='flag-5'>做</b>元器件变更的决策

    找STM32硬件开发兼职工程师

    上海传感器的公司,找STM32硬件开发兼职工程师,会硬件开发,嵌入式软件开发,可项目外包。有意联系:15900460170
    发表于 06-22 19:12

    嵌入式软件工程师如何提升自己?

    的基础 嵌入式软件工程师需要具备扎实的计算机科学和工程知识。因此,在职业生涯的起步阶段,建议将重点放在学习基础知识上,包括数据结构、算法、操作系统、编程语言等。通过深入学习这些基础知识,打下坚实的理论基础,为将来
    发表于 06-12 11:20

    嵌入式软件工程师和硬件工程师的区别?

    、机器人等。 定义和工作职责 嵌入式软件工程师的主要职责包括但不限于:设计、开发、测试和调试嵌入式软件应用程序,以满足特定硬件和软件要求。他们需要理解并掌握嵌入式系统的基本原理,熟悉相
    发表于 05-16 11:00

    大厂电子工程师常见面试题#电子工程师 #硬件工程师 #电路知识 #面试题

    电子工程师电路
    安泰小课堂
    发布于 :2024年04月30日 17:33:15

    嵌入软件单元测试工具的作用

    嵌入软件单元测试工具是现代软件开发过程中不可或缺的一环。它的作用在于帮助开发人员对软件中的各个单元进行测试,以确保其功能的正确性和稳定性。单
    的头像 发表于 04-23 15:31 385次阅读
    嵌入<b class='flag-5'>软件</b>单元<b class='flag-5'>测试工</b>具的作用

    一个电源工程师的成长路径

    即将走马上任电源工程师这个岗位,请问各位大佬,这个岗位的职业路径一般是怎样的?
    发表于 04-08 14:19

    如何入门硬件工程师

    想跨行业硬件设计工程师,应该如何学习规划
    发表于 03-17 21:49

    为什么要做自动化测试测试工程师存在的必然性

    软件测试这个过程的实施主体就是测试工程师。那么多少个测试工程师比较合适呢,或者换句话说如上的事情必须要测试工程师完成吗?
    的头像 发表于 01-16 11:32 850次阅读

    参与【2023年电子工程师大会暨第三届社区年度颁奖】大会有感

    终身难忘: 三、在圆桌对话中,我有幸现场聆听了六位顶级大佬们对工程师们的一些建议、职业规划、创业等的现身说法: 四、在大会中张飞实战电子、百问科技、小眼睛科技、正点原子、开鸿智谷、其利天下、润开鸿、优博
    发表于 11-24 08:40

    FPGA工程师需要具备哪些技能?

    ,需要具备一系列的技能,才能胜任日益复杂的设计工作。因此,本文将从设计思路、硬件语言、EDA工具、数字信号处理、通信协议、测试验证等多个方面,探讨FPGA工程师需要具备哪些技能。 一
    发表于 11-09 11:03

    #共建FPGA开发者技术社区,为FPGA生态点赞#+2023.11.7+IC工程师说职场:从入职面试到升职加薪......

    到其他行业。 需要自己做好积累。所谓转岗穷仨月,换行穷三年。  加强学习 首先要解决的是跟上,别掉队。焦虑没有用,多学习吧。 4. IC 工程师职业规划:如何找到财富自由之路? 财富自由是个美好
    发表于 11-07 10:06