• 1
  • 1
分享
  • 从软件测试行业发展,漫谈测试工程师职业发展之路——软件测试圈
  • 曼倩诙谐 2022-11-23 11:22:14 字数 4610 阅读 1485 收藏 1

  测试课程免费送,点击下方链接填写测试行业调查问卷,提交后即刻获得!链接:http://vote.51testing.com/


  软件测试行业供需现状

  随着敏捷、DevOps等开发模式的引入以及大数据治理与应用、人工智能机器学习与深度学习的应用的发展、软件交付周期逐渐缩短、技术复杂度不断提升对测试人员质量保障与效率提升等方面提出了越来越高的要求。因此,对人员的要求也是在不断提高的,一方面响应基础功能需求的手工测试人员基本饱和,另一方面懂测试的测试开发面试达标者比例过低。

  软件测试行业的发展现状

  通过之前对近几年《软件测试行业现状报告》的解读,以及结合对当下软件测试左移与右移思考,总结了以下几点:

  测试人员对需求分析的投入在逐渐增大,逐渐注重用户反馈问题的分析,更关注用户体验。

  敏捷和类敏捷型项目已经占到了已经极高的百分比。DevOps模式的使用已经持续数年稳定增长,正在成为软件交付的最佳模式 。 同时类瀑布开发模式比重逐渐降低。

  较去年,自动化测试技术比例基本保持在一个高占比的状态。不了解自动化的越来越少。同时发现越来越多的测试人员将自动化技术应用于日志和数据分析、综合监测。

  敏捷及DevOps模式的应用,对测试人员提出了不同于以往的要求,以前测试基本上都在开发阶段之后和产品上线之前完成,使得测试人员在开发阶段之前加大了对需求分析等测试分析和设计、同时不断提高自动化测试技术应用,促进研发内建质量。(测试左移)

  随着业务、用户对产品质量提出更高的要求,以及测试开发技术发展与应用,促使测试技术多样化发展,如,日志和数据分析、质量运营、服务监测等。(测试右移)

  同时,敏捷一直强调“团队为质量负责”,测试不再是测试人员的专属,这里我们需要重新思考下,测试的价值如何更好的体现——如何提高测试效率。

  DevOps模式更是对测试、尤其是自动化测试、编码能力提出了更高的要求。

  功能测试人员发展的局限性

  一方面功能测试的深度广度的潜在延伸性很强,另一方面想突破传统功能测试思维的确很难。在软件测试左移的思想中,测试人员对需求分析的投入在逐渐增大,这里的难点就是如何突破传统认知的测试设计深度、广度问题。

  大多数功能测试人员,半年工作经验可以基本的了解软件测试相关流程,但因专注于功能需求的分析、验证、容易出现忽略功能需求背后的业务需求、用户需求,对产品整体的质量把握不到位,容易出现得此失彼的问题,也难以将功能测试做成闭环。

  功能测试的深度和广度的延伸性不仅仅体现了功能需求本身,还包括产品架构设计、开发技术栈、服务内容与模式、用户群体等等。

  我们清楚的认识到,一个优秀的测试工程师,应该做到:

  懂业务:能够站在用户角度理解业务、用户需求,能扎实通过测试设计的保证业务质量。

  懂技术:具备技术解决方案思维和能力,提升产品质量和测试效率。

  懂架构:具备产品架构的基本认识和识别架构设计中的质量、性能风险,保证产品需求和实现能够满足用户需求及产品发展需要。

  我们不难得出测试逐渐向测试开发过渡已经是一种显在的发展趋势,无论我们决定将来走技术路线还是管理路线。

  但具备了一定的开发能力并不等同于能够做好测试,之所有测试开发成为一种趋势,是因为测试人员在具备优秀测试设计等业务测试能力的基础上,若同时具备一定开发能力和技术解决思维,能够更好的从质量、效率、风险、成本之间寻求一种平衡。

  自动化测试方向认知的片面性

  谈到自动化测试,很多人认为这是测试人员职业发展的一个方向,但对这个方向的认识并不都是充分的,比如,当面试的时候问到自己设计的自动化测试用例的优缺点,自动化测试框架选择的合理性体现在哪里时,很难有清晰的回答。

  如何围绕产品质量提高测试效率,不仅仅是将手工用例转变为自动化用例这么片面,其中还包含了自动化测试策略、框架选型,自动化的可维护性、可扩展性、可持续性等方面的诸多考虑,一个难以维护、扩展的自动化测试实践,是失败的。

  “围绕产品质量,提升测试效率,通过不断的技术创新、应用,不断提高测试整体流程能力(单位时间能够提供多少服务)。”假如一个测试团队的人数相对固定、测试时间充足,他提升效率的目的又是什么呢?

  从这种角度来思考,个人认为测试效率提升的根本意义在于:

  做更多的有价值的测试(测试左移或右移的投入)

  实现真正的缩减成本(减少人力投入)。

  拥抱变化,适应开发模式的转变,比如类敏捷、DevOps模式下的频繁迭代、持续部署。

  测试职业发展

  测试职业发展方向大致分为管理方向及技术方向。无论我们决定将来走技术路线还是管理路线。都需要注意测试逐渐向测试开发过渡已经是一种显在的发展趋势,这样就要求我们需要具备一定的测试开发能力和技术解决思维。

  虽然测试开发逐渐成为测试人员的基本能能力要求,但不要进入一味追求开发能力。具备了一定的开发能力并不等同于能够做好测试,之所有测试开发成为一种趋势,是因为测试人员在具备优秀测试设计等业务测试能力的基础上,若同时具备一定开发能力和技术思维,能够更好的从质量、效率、风险、成本之间寻求一种平衡。

1-1.jpg

  培养全面的测试能力

  懂业务:能够站在用户角度理解业务、用户需求,能扎实通过测试设计的保证业务质量。

  懂技术:具备技术解决方案思维和能力,提升产品质量和测试效率。

  懂架构:具备产品架构的基本认识和识别架构设计中的质量、性能风险,保证产品需求和实现能够满足用户需求及产品发展需要。

  建立良好的质量意识

  我们清楚一切测试活动都是围绕用户、业务需求保障产品质量而开展,而保障产品质量的核心是测试设计,而非测试技术,测试技术大多仅是解决测试设计执行的可行性、效率问题。

  拓展测试广度与深度

  随着类敏捷、DevOps模式的发展、软件交付周期逐渐缩短、技术复杂度不断提升对测试人员质量保障与效率提升等方面提出了越来越高的要求。

1-2.png

  在敏捷开发模型的软件生命周期中,我们通过不断快速的迭代,以使其最大限度地符合客户对系统的需求。此时测试的关注点基本停留在开发阶段,以保证产品达到上线标准。引入DevOps之后,我们不仅要关注产品的质量是否达标,还需要使产品或功能价值预期得到及时的验证。

  因此,我们不仅要将测试左移,还要进行测试右移,通过监控产品在生产环境的运作情况,来验证其价值并获得反馈,从而持续改进。我们通过以下三个方面来了解一下测试左移与右移。

  1.新功能是什么?

  在开发环境,我们开发新功能,并且通过测试保证其达到产品验收标准。

  这就要求从产品生命周期开始时,各个角色(测试、开发、产品负责人等)对业务场景、用户需求达成一致的认识,从而使其从需求到最后的测试验证,进行高度的协作和沟通,最后交付最有价值的功能。同时测试人员能够根据用户需求进行需求分析,发现产品前期设计是否存在问题或者补充产品设计。同时,通过及早引入自动化测试,协助研发内建质量。

  这里体现出了测试左移的核心思想。

  2.新功能是否价值?

  我们将新功能部署到生产环境以后,接下来就应该衡量业务价值是否达到预期。

  通过对用户日志或数据进行分析感知用户的行为变化。比如:比如页面新增了一个导出功能,发布上线后,发现用户的点击导出按钮的次数几乎为零,很可能是因为用户根本不需要这个功能,或者导出按钮的颜色、位置等易用性(产品质量属性之一)原因导致用户没有使用。这时候需要思考如何对该功能进行调整。如果一个功能没有使用或者没有给产品带来显著的价值,在功能正确性和性能验证上投入大量精力又有什么意义呢?

  这里体现出了测试右移的思想。

  3.新功能线上是否是可靠的?

  测试大多数情况只能覆盖已知的测试场景。产品部署在用户环境运行的过程中,可能会由于某些不确定性因素(比如数据量突然陡增,用户访问突然陡增、网络不稳定或者数据盘损坏等等)导致产品或功能失效,由于其不确定性使得测试人员很难模拟测试场景,因此产品线上质量运营需要通过监控的手段开展,通常我们需要监控两种特性:可用性、性能。

  通过持续获取用户日志或数据,分析产品性能、程序进程等稳定性、产品质量健康度进行问题报警、预警。同时增加用户沟通反馈渠道,获取用户反馈从而及时调整。除此之外,这一点也充分体现了Dev、 QA、Ops的协作,像监控等原本只能Ops做的事,现在Dev或QA一样可以做。

  这里也体现出了测试右移的思想。

  提升测试核心竞争力

  个人的核心竞争力与所在行业发展的趋势,以及随着行业及相关行业的发展对从业者提出的要求应该是有着直接关系的。

  所以我们需要以发展的眼光,来看未来测试行业会对我们提出哪些要求,进而驱动自己适应未来发展要求。

  什么是核心竞争力,我个人认为核心竞争力一定程度可以理解为不可替代性,所做的事情或者所具备的能力是否可以能被大部分人替代,这就是 是否具备核心竞争力的一个重要体现。

  相对于测试而言,核心竞争力可以是在某一领域的专业性深度足够深。

  比如性能测试,曾在一次互联网测试开发大会上,看见过某位前辈讲到过的一个案例:在定位某个性能问题时,挖掘到操作系统内核的深度,并且发现是因操作系统内核缺陷导致的性能风险,这个定位问题的过程及结果就是测试专业性深度的体现。

  也可以是具备一定的测试广度,并且能够根据不同场景灵活适当的将其融合到一起,做到质量、成本、效率、风险的平衡。

  比如产品迭代初期,一方面产品初步成形,需求变更频繁、功能稳定性差,同时受到客户和市场压力,往往迭代时间紧张,此时对于测试要解决的就是质量与效率平衡问题,自然而然想到自动化测试,然而这个时候自动化是不是合适的呢,显然自动化初期投入到项目的确能起到效率提升的目的,但随着迭代发展,会出现什么情况?需求变更引入的自动化维护成本,如果此时业务测试不具备测试开发能力,那么这个维护成本将变的更高,本来就项目时间紧张,自动化维护工作自然而然就变的力不从心,由此,一两个版本迭代之后,自动化测试就慢慢淡出了视野之外。一般来讲,需求度量一般要从最原始的需求开始,比如迭代初期项目时间紧,考虑到版本稳定性,通常不会选择自动化测试(除非自动化的开展或重构成本非常的低),而是从需求优先级、质量目标、测试覆盖等角度,对测试广度、测试深度进行测试策略设计,优先保障核心功能质量。这也是很多公司对测试开发的要求是首先要懂测试、然后懂开发的原因,能够对业务测试遇到的问题提出适合的技术解决方案,避免盲目开展自动化、工具开发,导致“药不对症”。

  虽然我认为核心竞争力一定程度可以理解为不可替代性,但并不意味着封闭,反而要有更加的开放思想,帮助团队测试人员提升基础能力水平,提升他们对测试的理解和认识,可以使得遇到更多志同道合的人。进一步思考测试技术能力的水平赋能和流程化能力建设,这对我们的发展有着更大的帮助,也是我们价值的重要体现。

  同时,需要不断的了解一下当下比较主流的开发、测试思想、模式,如DevOps开发模式、测试左移与右移思想等等;测试应用领域,如人工智能测试;测试技术,如数据、接口的自动化等等,使得我们对测试的认识具有一定的前瞻性。



作者:佚名    

来源:http://www.51testing.com/html/43/n-4476643.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   无人机观察员 Wu Wa 发现,特斯拉上海超级工厂的 Model 3 生产线似乎已经暂停运作,结合之前大量爆料来看,全新的 Model 3 改款车型将会在上海超级工厂开启制造。  刚刚,路透社援引三位知情人士的话透露,特斯拉 CEO 埃隆?马斯克预计本周将访问中国,这将是他时隔三年,自 2020 年初在特斯拉上海工厂跳舞引起热议以来再一次来到中国。据称,马斯克将与中国官员会面,并准备视察特斯拉上海工厂。  就目前数据来看,中国是特斯拉仅次于美国的第二大市场,而且上海超级工厂已经是特斯拉全球最大的生产中心。  随着全球汽车市场需求减弱,再加上中国车企竞争加剧,特斯拉目前已经出现产量高于市场需...
            0 0 526
            分享
          • 一、自动化测试众所周知,自动化测试已经成为软件项目中不可或缺的测试方法。基于用户交互界面(GUI)的自动化测试方法具有模拟用户行为和过程可视化的特点,因此受到了广大入门自动化人士的喜爱。诸如:QTP、Selenium等都具有强大的功能支撑和丰富的知识库,而逐渐成为自动化测试人士必备工具之一。然而,伴随着敏捷开发和持续交付在软件开发项目中的普及和应用,测试工作的重心不得不进一步前移。而由于用户界面的开发通常处于软件开发的末端且缺陷修复成本较大,因此基于GUI的自动化测试无法很好的适用于此类项目。基于应用程序接口(API)的自动化测试却可以很好的解决了此类问题。二、接口自动化测试在分层测试策略中各...
            1 1 979
            分享
          • QQ登录界面功能点:登录、设置、最小化、关闭、头像、登录-下拉框、登录-软键盘、注册账号、找回密码、记住密码、自动登录、多账号登录、二维码等。1:查看界面排版是否和UI保持一致;预期:与UI保持一致。2:获取输入后,查看背景字是否消失不可见;预期:消失不可见。3:失去焦点后,查看背景字是否出现;预期:失去焦点后背景字出现。4:输入正确的账号、正确的密码,点击“登录”查看是否弹出正确的QQ登录界面;预期:正确弹出QQ登录界面。5:查看账号、密码输入框是否过滤非法输入;预期:过滤非法输入且给出提示信息。6:单个为空,查看是否顺序提示信息;预期:顺序提示信息。7:全部为空,查看是否提示信息;预期:提...
            0 0 7672
            分享
          • 51testing软件测试圈季度更文活动已经结束了,在这里小编感谢各位的参与本次活动时间从2022年10月17日-2022年12月19日!合计参与本期活动的活动的作者7名,合计更文48篇,详细更文情况和评审情况如下表所示:序列作者名称更文篇数符合要求数优质文章活动规则首发文章1Carl_奕然17171发布文章篇数≥2102lee15150发布文章篇数≥2103九哥770发布文章篇数≥1004liam220发布文章篇数≥505枫叶550发布文章篇数≥506钱可通神110发布文章篇数≥507性能测试小菜鸡110发布文章篇数≥50很遗憾!本次未有用户获奖~期待下次相遇!活动主题一场朴实无华的更文活动...
            3 3 4159
            分享
          •         虽然数字化转型给虚拟世界带来了飞速的发展,以消费为导向的企业仍在继续挣扎,奋力追赶着激烈的变化和竞争。不管企业的规模大小都别无选择,只能应对不断增长的客户期望,并以数字化方式与之保持一致,以提供无缝体验。移动应用程序是在人口统计、未来前景、位置、目标受众、收入模式、使用模式等诸多因素的基础上构建的,而这些因素在当时似乎在技术上是合乎逻辑的。依赖网络的企业关注的最重要的方面是其应用程序和支持IT系统的性能。负载测试是性能测试的一个分支,实现它是为了确定在一个定义的时间段内每个事务的系统响应时间。负载测...
            0 0 685
            分享
      • 51testing软件测试圈微信