分享生活百科知识

注册/登录|最近发布|今日推荐

主页 综合百科生活常识数码科技传统文化互联网健康时尚影视娱乐教育学习
当前位置:首页 > 健康时尚

之前一直是做功能测试,现在离职找工作发现都是自动化测试,手动测试是被淘汰了吗?

提问时间:2023-07-05 11:53关键词:测试,工作,离职

问题补充: 我是前面工作是测试,后面转了项目管理,之前在上海工作,现在来南京觉得项目管理的工作没那么多机会了,就想找找测试的工作,然后发现都是要求自动化测试的工作,现在手动测试真的不行了吗?

点赞1、松滋市 网友:城南旧雨

之前写过的一篇文章,希望对你有所帮助。

软件测试行业供需现状

随着敏捷、devops等模式的引入以及数据治理、人工智能应用的发展,软件交付周期逐渐缩短,技术复杂度不断提升对测试人员提出了越来越高的要求。因此,近些年对校招、社招人员的要求也是在不断提高的,一方面响应基础功能需求的手工测试人员基本饱和,另一方面懂测试的测试开发岗位面试达标者比例过低。

通过近两年校招来看,本科应届生中通过参加机构培训来提高测试能力的比例逐渐上升,但由于机构培训内容全面性和深度以及技术的时效性与行业实际要求匹配度较低。硕士应届生中女生应聘者较多,对于社招相当一部分人员只是在公司参与测试工具、平台部分代码开发工作,重复开发情况居多,或者仅仅是基于现有测试平台、框架进行使用(外包公司),同时并不关注当前行业内测试技术的发展,对测试开发的价值体现也并不清晰,几乎二三十名应聘者中,一般只有一两个达标。

基于当前现状,进行一定的周期入职培训是有必要的,旨在提高测试人员基础水平,统一测试的基准认知,主要面向校招人员,提供相关专项测试技术的岗前培训。



软件测试行业的发展现状

之前写过《2018年度软件测试行业现状报告》的解读以及对软件测试左移与右移思考的文章,其中总结了以下几点:

  • 测试人员对需求分析的投入在逐渐增大,同时测试人员逐渐开始注重客户问题的分析,更关注用户体验和用户反馈。
  • 敏捷和类敏捷型项目已经占到了已经极高的百分比,而DevOps模式的使用已经持续数年稳定增长,DevOps正在成为软件交付的最佳模式 , 同时我们发现瀑布或类瀑布开发模式比重逐渐降低。
  • 较去年,自动化测试技术比例基本保持稳定且处在一个高占比的状态。不了解、不使用自动化的越来越少。同时令人兴奋的是,发现越来越多的测试人员将自动化技术应用于日志和数据分析、综合监测,质量运营。

敏捷及DevOps模式的应用,对测试人员提出了不同于以往的要求(以前测试基本上都在开发阶段之后和产品上线之前完成),使得测试人员在开发阶段之前加大了对需求分析等测试分析和设计(测试左移)、同时不断提高自动化测试技术的投入和应用、促使测试技术多样化(如,日志和数据分析、综合质量运营监测)发展(测试右移)。

同时,敏捷一直强调“团队为质量负责”,测试不再是测试人员的专属,这里我们需要重新思考下,质量由整个团队负责,那么测试的价值如何更好的体现——如何提高测试效率。 DevOps模式更是对测试、尤其是自动化测试、编码能力提出了更高的要求。



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

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

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

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

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

谈到自动化测试,很多人认为这是测试人员职业发展的一个方向,但对这个方向的认识并不都是充分的,比如,当面试的时候问到自己设计的自动化测试用例的优缺点,自动化测试框架选择的合理性体现在哪里时,很难有清晰的回答。这些情况在现在的面试过程中很常见,而如果仅仅是这样的话,只是依赖一些现成的工具、框架来进行用例的转化,这还无法说明具备自动化测试能力,只能说明会使用了某些工具。如何围绕产品质量提高测试效率,不仅仅是把手工用例转变为自动化用例这么片面,其中还包含了自动化测试实施策略、框架的选型、自动化的可维护性、可扩展性、可持续性等等方面的诸多考虑,比如,如何有效解决自动化代码量随着用例数量的增加而增长的问题?一个难以维护、扩展的自动化测试实践,是失败的,或者软件产品生命周期的不同阶段,自动化测试实施的策略有何不同?

“围绕产品质量,提升测试效率,通过不断的技术创新、应用,不断提高测试整体流程能力(单位时间能够提供多少服务)。”这是我之前对测试开发岗位的描述,其中自动化测试工程师作为其中一角色同样适用,那么关于效率提升的目的是什么呢?假如一个测试团队的人数相对固定、测试时间充足,他提升效率的目的又是什么呢?从这种角度来思考,个人认为测试效率提升的根本意义在于: 做更多的有价值的测试(更深入的需求分析、测试设计或者对测试右移的投入) 实现真正的缩减成本(减少或抽调人力投入) 拥抱变化,适应开发模式的转变,比如类敏捷、devops模式下的频繁迭代/持续部署。 除此之外,测试人员具备代码能力,的确是目前未来测试行业的基础要求。

资深测试专家、测试架构师稀缺

测试能力分层建设,旨在培养专项的测试技术人才,不断扩展专项测试技术的深度。这是很多公司人员组织架构或人员培养的一种方式,我们部门也在尝试测试能力分层建设。这种建设的背后还有另一个隐藏的原因:一专多能的测试技术人才稀缺或者培养一专多能的测试人才成本非常高。 软件测试分为很多类,比如大家熟知的功能测试、自动化测试、性能测试、可用性测试、除此之外还包括用户行为分析、数据分析等相关工作,都是围绕产品质量提供不同测试技术服务。资深测试专家、测试架构师通过对产品架构、设计的理解,通过测试策略的设计,可以有效的多维度保障产品质量,避免测试遗漏或过度测试。

点赞2、乐清市 网友:早乙女

大家好,我是阿迈达,有趣的互联网软件工程师。专业角度分析技术原理,默的态度解读科技互联网资讯。

写在前面,不会自动化测试的测试工程师,那不叫测试工程师

在一个完整的互联网项目开发中,需要以下几类人员:
  1. 产品经理:负责产品需求分析、原型设计。
  2. UI工程师:负责产品UI视觉设计。
  3. 后端工程师:负责产品需求的服务端功能逻辑实现。
  4. 前端工程师:负责前端用户侧页面的开发实现。
  5. 测试工程师:负责测试产品功能,保证产品线上正常运行,没有明显Bug。

项目开发中这几类人员必不可少,产品经理、UI工程师、后端工程师、前端工程师四个角色具有不可替代性,因为项目一旦开始启动并开发开发,这些人是最熟悉项目需求的,如果人员流失,需要花费很大的成本才能找到一个合适的人才。但是,如果这个项目中存在一个只会手动功能测试,那这个人就是最容易被替代的那一个人,也是最容易被替代的那一个人。

手动功能测试是一项非常简单的工作,但凡有一点测试常识的人都会测试,甚至找一个外行的人都可以测试,只要我们告诉他测试点。为什么一个项目中有些测试工程师的角色非常尴尬,处于一个可有可无的位置?就是因为他们只会简单的功能测试,对于自动化测试、性能能测试完全不懂,或者说只知道皮毛,让他们写一个简单的自动化脚本,他们都不会写。

一名合格的测试工程师,不仅需要功能测试所要求的临界思维,更重要的是具有自动化和性能测试的技能,需要可以编写自动化测试脚本,懂性能压测。否则,那不是测试工程师,那充其量是一名产品体验师。

点赞3、白城市 网友:温暖心。

自动化测试就是依靠编写好的代码代替手动测试的方式输入和获取结果,判断软件功能 是否符合需求的过程。

自动化和手动测试的两种方式各有优势是针对项目具体功能是否适合而言的,这就是执 行测试的一种测试策略的选择问题。

手动测试是不可能被代替的,原因基于自动化的局限性来说的,自动化的意义所在还得 依靠有三个前提:

1、软件功能需求稳定;

测试脚本的稳定性决定了自动化测试的维护成本。如果软件需求变动过于频繁,测试人 员需要根据变动的需求来更新测试用例以及相关的测试脚本,而脚本的维护本身就是一 个代码开发的过程,需要修改、调试,必要的时候还要修改自动化测试的框架,如果所 花费的成本不低于利用其节省的测试成本,那么自动化测试便是失败的。

2、项目较长:

项目中的某些模块相对稳定,而某些模块需求变动性很大。我们便可对相对稳定的模块 进行自动化测试,而变动较大的仍是用手工测试。

由于自动化测试需求的确定、自动化测试框架的设计、测试脚本的编写与调试均需要相 当长的时间来完成。这样的过程本身就是一个测试软件的开发过程,需要较长的时间来 完成。如果项目的周期比较短,没有足够的时间去支持这样一个过程,那么自动化测试 便成为笑谈。

3、自动化脚本在项目中可利用率高:

如果费尽心思开发了一套近乎完美的自动化测试脚本,但是脚本的重复使用率很低,致 使其间所耗费的成本大于所创造的经济价值,自动化测试便成为了测试人员的练手之作 ,而并非是真正可产生效益的测试手段了。

另外拓展一下:

自动化意义在两个方面:

1、UI自动化,就是界面自动化,一般在重复客户端的业务主流模块,大量重复获取软 件界面上的元素,而测试的策略要慎重考虑手动测试和自动测试的选取了,而自动化如 果被维护也不会是经常变动的,反而手动更加灵活,完成测试更快。

2、接口自动化/api自动化,这个对于服务器的测试要求有一定的客户并发量需求或者 大项目才有测试需求,如银行系统的各种业务、买票系统等,属于大公司的要求,而进 来一家公司一般都是稳定下来的项目了,所以接口是必须解决的核心问题,否则营运不 下去,自动化代替实现的是多人手工完成不了的输入条件和环境,自动化要求目前在市 场上、工作上并不是很大,学代码不用太深入。

那么为什么公司招聘要求会代码和自动化测试呢?

1、公司也比较盲目随众,看见招聘上别人公司要求自动化,自己也跟着学出要求会代 码,会自动化测试的需求,其实主管和领导对自己公司的测试岗位的人员技能需求不明 确;

2、太贪,谁都希望用最少的钱获取最大的价值,招聘也一样,想用最少的钱招聘一个 全能员工,也为公司日后的发展扩充业务作准备。另外,在手工测试无法完成,需要投 入大量时间与人力时也需要考虑引入自动化测试,比如性能测试、配置测试、大数据量 输入测试等。

点赞4、安丘市 网友:夏七彩

之前在产品功能单一、测试工具并不普遍的情况下,企业只能用手工测试工程师来检测项目,但是随着产品功能的日渐复杂以及用户体验感要求的逐渐提高,手工测试工程师对于项目深层次存在的bug已经不能检测出,显然不能满足企业需求,所以企业则需要自动化测试工程师或者是软件测试开发工程师来检测项目中存在的问题,这类工程师懂编程、会写测试脚本、能搭建测试框架、写测试用例,都不在话下,并且在检测中,效率更高、结果更精准,也能够给企业节约很多成本,所以企业自然对这类工程师的需求多一些。

点赞5、武汉市 网友:新月晨星

就我个人观点而言,我认为目前自动化测试还无法全面替代人工测试,特别是在一些复杂的测试场景中。自动化测试只能解决部分重复的功能性测试,保证软件的基本流程没有问题,但是一些非常隐含的问题还是要由一些资深的测试人员发现。

从我之前了解的测试情况来看,白盒测试的自动化覆盖情况在每个行业都是不一样的,在非业务型应用覆盖率不超过30%,与业务流程为主的软件可能覆盖率高一些。

以我目前从事的云原生迁移灾备产品为例,底层主要涉及了存储、云原生相关技术,在测试过程中能实现自动化的过程中只有基本流程部分,但是对于数据传输的准确性等无法实现自动化测试。

所以,从问题本身来说,目前测试行业淘汰的是重复性的手工测试,逐步使用自动化测试。而那种需要根据理解开发原理后进行测试的高端测试职位,仍然是稀缺资源。

点赞6、潮州市 网友:星坠孤城

记住了,机器只能替代简单的重复劳动,正真需要动脑子的活永远是人。

点赞7、丽水市 网友:浮瑶仙芝

自动化测试,其实就是通过自动化工具执行定制好的测试脚本,可以节省人力和时间成本,提高测试效率。但自动化测试并不能完全代替人工测试,手工测试比自动化测试发现的缺陷更多,对测试质量的依赖性极大,测试自动化不能提高有效性,测试自动化可能会制约软件开发,由于自动化测试比手动测试更脆弱,所以维护会受到限制,从而制约软件的开发。工具本身并无想象力,两者有效的结合才是测试质量保证的关键。

点赞8、南昌市 网友:残叶匢悱

不不不,虽然要求自动化,进去还是点点点,多看几个框架,学点python基础基本能忽悠面试官了。自动化测试替代性太强,产品专业技能才是关键。基本上大公司都有现成脚本,随便拉个人会点linux命令就能上手。懂点脚本技能就能删删减减了

点赞9、烟台市 网友:相见恨晚

纯手动测试不会被淘汰,手动加自动的方式更能提高效率,现在对测试人员的要求越来越多,想当年入行的时候,入行门坎特别低,随着软件行业对测试岗位的重视,岗位要求也逐渐提升;另一个原因,软件行业不景气,公司有岗位,肯定也会择优录取,毕竟太多公司倒闭;个人认为任何一个职位,都是要活到老,学到老,逆水行舟不进则退,别人都在学习,只看以前的工作经验,未必跟的上时代的发展

点赞10、青岛市 网友:笑容尽收

纯经验分享,望有帮助,谢谢

点赞11、湘潭市 网友:任我随心

做测试没前途

点赞12、西宁市 网友:花雨黯

手工测试是不会被淘汰的。

自动化测试只适用于需求不变动的项目上,可是我们知道产品经理不可能让项目需求一直不动的。这时候手工测试显得特别的重要,机器的思维一定没有人的思维那么广阔。所以,自动化测试是代替不了手工测试的。

但是,作为一个测试人员,不能仅仅懂得手工测试,一定要去提升自己,各个领域的测试不要求精通,到一定要会,比如性能测试,自动化测试,安全测试等。不然,在这个知识更新快速的时代里,你将会很快被淘汰。

知识推荐

八哥问答——日常生活学习知识分享。 垃圾信息处理邮箱 tousu669@163.com 网站地图
icp备案号 闽ICP备2023007808号-3 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.12606.com All Rights Reserved