51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4568|回复: 0
打印 上一主题 下一主题

[原创] 2021年,手工测试从业者的未来究竟在哪里?

[复制链接]
  • TA的每日心情
    无聊
    7 小时前
  • 签到天数: 1052 天

    连续签到: 2 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2021-5-8 11:17:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    近些年,自动化测试在很多软件公司已经成为一种必备的测试方式。即使那些还没运用自动化测试手段的公司,也正开始着手筹划了。每年,我们从举办的各种测试论坛和峰会上可以发现,自动化测试和敏捷测试必定是会议的主角。再看看最具有晴雨表的招聘市场,自动化测试的招聘数量激增,只要能写点儿代码的测试人员薪资也必定水涨船高。相比之下,手工测试则显得黯然失色。
      今天,我们就来好好聊聊关于手动测试的未来,希望可以让更多测试新手们,在一入门的时候偶,就能看到自己即将进入的职场环境,以为找到自己未来的职业出路。

      1、纯手动测试从业者的未来
      今天,如果是一个纯手工测试工程师,其黄金生命期也就是工作开始的5年左右,如果这期间没有更多的技术进步,那么其基本上也就到了职业的终点,这种状态与十几年前的手工测试的职业环境完全不一样了。
      而从手工测试领域的技术发展看,除了几十年提出的那些测试方法,已经很少有人在这个领域做深度研究,更别提推动行业变化的新的领域创新。
      其实,这些还不是最坏的情况,更加令人沮丧,甚至担忧的是,当下即使专门做手工测试的测试工程师,其规划手工测试方案和测试分析能力也因为手工测试的不被重视,比起十几年前的测试人也差了很多,整个手工测试行业真的是令人担忧。
      听了上面说了这么多关于手工测试的负面问题,那是是否意味着,手工测试真就没有未来了?是否手工测试这个岗位真会消失呢?我是一个直来直去的技术人,不兜圈子,直接给出我的答案:“NO!NO!!NO!!!”重要的事情讲三遍哦!!!!为了说清楚这个问题,我们先从自动化测试的发起开始说。

      2、为什么说手动测试存在的意义很重要
      自动化测试的出现就是帮助测试工程师完成重复性的工作,直到今天它依然承担着这个责任。那么,在什么情况下是一定需要手工测试参与的呢?我给出了四个理由说明手工测试是无可取代的。

      理由一:某些测试场景只适合手工来进行测试。
      借助Markus Gartner —— 《ATDD by Example》的作者曾经写过的一段话,我们来深度解析一下自动化测试和手工测试存在的意义:“While automated tests focus on codifying knowledge we have today, exploratory testing helps us discover and understand stuff we might need tomorrow.”
      通过Markus Gartner 地精辟阐述,我们可以得知,某些特殊的测试场景只能通过手工测试实施。
      换句话说,也就是说即便自动化测试大面积普及,自动化测试也有其存在的意义和必要性。举几个简单的栗子。
      例如:有些End User的测试,其场景是感性的,无法被量化;
      例如:可用性测试。有些需要依赖于专业的业务经验和发散的思维方式;
      例如:探索性测试。而有些则需要非常随意使用,并不依赖于测试人员的技术能力和专业知识;
      例如:Ad-hoc测试。以上测试都直接来源于用户或者测试人员的自由思想,非自动化测试可以替代。

      理由二:人所具有的创造性、分析能力、行业及专业经验是机器无法取代的。
      人和机器最大的区别就在于,人具有创造性而机器不具备。我们可以借助以下几个层次,来说明这个问题:
      (1)第一层:自动化测试无法捕获人所能发现的问题。手工测试是基于人对于事物的理解、分析和观察,通过测试人员的理解和分析最后达到捕获问题的目的。到目前为止,自动化测试还只是做重复性的工,即使利用AI技术,基于大量的客户行为分析,暂时还无法完成完整的测试目标。或许我们可以期待未来的AI技术……。
      (2)第二层:手工测试工程师具有终端用户的视角。真实的测试现在仍然是手工测试工程师完成的,他们能站在真实的终端客户的视角发现系统的缺陷,他们能了解客户想要什么、客户的喜好、流行的操作手法和技术实现,站在End User的角度去理解系统所提供的功能是否能满足客户要求。
      (3)第三层:测试过程中最核心的“测试分析”必须由资深测试工程师来完成。整个测试过程中,最核心的部分就是测试分析。测试分析的好坏直接关系到产品最终的交付结果。目前看来,测试分析还必须有测试工程师来完成,而好的完整的分析,经常是有专门资深的测试分析工程师来完成,我们的自动化测试暂时还没有能力完成这项任务。

      理由三:自动化技术的局限性导致自动化无法执行所有的测试工作。
      目前,自动化测试技术在动态元素识别、APP之间切换、媒体内容检查等很多特殊场景下,均存在还未破解的技术壁垒。我们目前还没有能力对这些特殊的情况进行自动化执行,因此,只能依赖手工测试工程师实施。

      理由四:对于小型的一次性交付项目,自动化成本过于高,不实用。
      实施自动化并非是一件容易的事情,成本很高的,收益慢,尤其在初期,业界在这方面有过很多的研究。研究表明自动化测试成本随着时间会逐步降低,而手工测试成本会随着功能逐步增加而逐步变高。
      一般情况下,在项目初期,自动化测试成本远高于手工测试,而随着自动化架构的建设完成,被测功能逐步增加,自动化测试成本会逐步低于手工测试成本。因此,什么样的项目以及在什么情况下采用自动化是一个智慧,基于成本考虑,通常项目周期在一年以内,交付频率不高的项目不建议实施自动化测试。
      而在测试领域里,手工也好,自动化也罢,都是因为不同的原因和时机而产生的,没有哪一种测试是可以被忽视的,也没有哪一种测试方法是高人一等的,只是它们的侧重点不同,即所谓“上帝的归上帝,凯撒的归凯撒”。

      写在最后
      最后,我也要告诫每一个在手工测试岗位上工作的同行。作为一名手工测试人员,并不能因为手工测试的不可替代性,而忽视了技术的学习。笔者以为,无论做什么事都不能走极端,你说是不是?
      而作为一名手工测试人员,在一个完整的测试周期,我们除了要分析需求、编写用例、执行测试、跟踪缺陷之外,切记不要忘记,我们最好尽可能用自动化技术来完成测试,并通过不断积累实践经验,让它们成为我们未来工作中的好帮手。
      换句话说,当你具备了完整的技能和深厚的测试能力,你的前途就是无限光明的,谁还需要为35岁的问题而发愁呢,你说是不是?
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-27 17:09 , Processed in 0.062863 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表