【刷题】面筋-测开-软件测试岗位的理解+职业规划

目录

职业认识

  • 软件测试的意义

    • 尽早、尽量用最少的测试发现尽可能多的问题,以保证软件产品的质量。
  • 什么是测试工程师?

    • 以软件开发为例,宏观上说测试工程师就是软件质量的把关者,在一个软件开发流程中测试人员要与开发人员一起对软件的研发进行负责,软件进行质量把关,开发进行功能实现,相辅相成。
    • 测试又分为传统的测试工程师和测试开发工程师,测试开发工程师(以下简称测开)就要在上述的基础上最少在掌握一门脚本语言,两门及以上更好,脚本语言包括但不局限于Python,golang,shell等等因为测试开发工程师其实是造轮子的,换言之就是开发测试用的各种工具;测试工程师对代码要求较测开低一些,但不是一窍不通(我面试的时候都会遇到代码问题),不懂代码层次的问题的话其实就不好进行测试分析这个后面再解释为什么。
  • 测试开发工程师的工作职责和内容

    • 测试工程师简单点说就是找bug,然后反馈给开发人员,不要小看这个工作。
    • 首先很明显的bug开发人员有时候自己就能找到,测试人员要有比开发人员更加全面的想法才能找到深层次的问题点,
    • 其次,要端正一个态度就是测试人员不是一个电脑小白,相反国外顶级的测试开发工程师同时也是顶级的开发工程师甚至更厉害,所以作为一个测试工程师一定要有继续学习的精神和心态,然后明白测试工程师要会写测试用例,要会使用自动化工具,甚至白盒测试工程师要懂代码,要具备广阔的知识面。
  • 自动化测试

    • 首先说一下自动化测试是什么?自动化测试从职能上讲就是去在一定的框架下去开发一些自动化测试脚本来实现QA所做不到的事情,拿fgo来举栗子比较合适,众所周知fgo核心玩法之一就是抽卡,这个抽卡是有概率的(欧皇请自动左滑),而QA是不可能去抽几十万次甚至上百万次来验证概率问题,这时候就要自动化脚本来模拟抽卡去抽,看看概率算法是否有问题,本来自动化测试其实在某种意义上是一种灰盒测试,但是现在很多公司会把自动化测试归到测开里面去,所以现在自动化就偏白盒一些。
    • 第二个要说的就是语言,现在自动化测试流行的语言就是Python,shell,golang,(据说要是cpp厉害的也可以),不是很死板,但主流一定是脚本语言。
    • 游戏QA的话要求会更高,因为传统软件测试要看的方面游戏要测试,而传统软件不作为重点的地方游戏也要测试,所以游戏测试工程师相对来说是工作量会大一些。
  • 技术向的晋升路线

    • 初级测试工程师:测试计划、测试文档、测试执行、结果整理等,门槛不高。
    • 测试开发工程师:核心-编程能力、自动化能力。
    • 测试架构师:在整个测试架构上参与和管理测试,更强调测试流程管理和质量监管,以及白盒测试能力,对测试工具和平台的开发等
  • 提升核心竞争力

    • 技术:编程、自动化、技术架构能力
      • 语言:java和Python等脚本语言。学生的能力。
      • 自动化:测试领域生产力,基础能力。3-5年核心。
      • 架构:更深入的能力,流程管理和白盒测试能力等。5年以上核心。
    • 领域知识:领域架构能力、业务领域、数据意识。
      • 数据:核心。
    • 软实力:沟通、管理
  • 测试工程师的核心业务

    • 前端UI测试:web,app,gui
    • 后端接口测试:sdk,restful,rpc
    • 非功能质量:性能,安全
    • 流程管理:持续集成,持续交付,devops
    • 数据分析:监控平台,数据分析平台,ai辅助平台

职业规划

  • 《软件测试质量保证》所述职业规划

    • [1~2年],测试技能:熟悉整个测试过程及产品业务领域,学习和掌握自动测试工具,学习测试自动化编程技术;开发和执行测试脚本,承担系统测试实施任务;学习编程语言、操作系统、网络与数据库方面的技能。
    • [3~4年],测试过程:深入了解测试过程,掌握测试过程设计及改进,参与软件工作产品的同行评审;进一步了解产品业务领域,改进测试自动化编程技术,能指导初级测试工程师;加强编程语言、操作系统、网络与数据库方面的技能。
    • [4~5年],测试组织工作:管理1~3名测试工程师,担任任务估算、管理及进度控制;进一步培养在软件项目管理及支持工具方面的技能。
    • [5~6年],技术管理:管理4~8名测试工程师,提高任务估算、管理及进度控制能力,完成测试规划冰制定测试计划;研究测试的技术手段,保持使用项目指导及支持工具的技能;用大量的时间为其他测试工程师提供技术及过程方面的指导;开始与客户打交道并做演示推介。
    • [6~12年],测试管理:管理8名以上测试工程师,负责一个或多个项目的测试工作,与客户打交道并做演示推介;保持使用项目管理及支持工具的技能。
  • 发展取决于三点:业务技能、专业技能(测试技能)、管理技能。

    • 通过对自己这三方面的评估,综合选择自己要走的道路。
    • 测试岗位路线
      • 管理:IT做管理,技术深度与广度都会有一定要求,基本管理技能为主,专业技能、业务技能为辅。管理者不懂技术,很难服众。
      • 技术:有技术不愁没工作,当然人品还是要的。
      • 建议技术高薪方向:白盒测试、自动化测试、性能测试、安全测试,当然有机会走管理也别放过机会,毕竟管理薪资不低哈。
    • 转岗其他路线
      • 方向选择:很多入行测试只是过渡。由测试岗位的锻炼,涉及到软件各个岗位的接触。此时转岗容易不少。
      • 比如业务技能强、市场敏感度、洞察力厉害的建议产品经理、运营方向;
      • 比如喜欢编码加班,咳咳,是喜欢与机器打交道建议研发、运维方向等;
      • 喜欢与机器打交道的可以走运维、研发路线。
      • 喜欢与人沟通的可走销售、HR路线。

参考链接

END

原文地址:https://www.cnblogs.com/anliux/p/12727354.html