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

admin admin
421
2022-04-14
之前写过的一篇文章,希望对你有所帮助。 软件测试行业供需现状 随着敏捷、devops等模式的引入以及数据治理、人工智能应用的发展,软件交付周期逐渐缩短,技术复杂度不断提升对测试人员提出了越来越高的要求。因此,近些年对校招、社招人员的要求也是在不断提高的,一方面响应基...

之前写过的一篇文章,希望对你有所帮助。 软件测试行业供需现状

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

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

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

软件测试行业的发展现状

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

大家好,我是阿迈达,有趣的互联网软件工程师。专业角度分析技术原理,默的态度解读科技互联网资讯。写在前面,不会自动化测试的测试工程师,那不叫测试工程师在一个完整的互联网项目开发中,需要以下几类人员:

产品经理:负责产品需求分析、原型设计。

UI工程师:负责产品UI视觉设计。

后端工程师:负责产品需求的服务端功能逻辑实现。

前端工程师:负责前端用户侧页面的开发实现。

测试工程师:负责测试产品功能,保证产品线上正常运行,没有明显Bug。

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

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

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

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

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

1、软件功能需求稳定;

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

2、项目较长:

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

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

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

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

另外拓展一下:

自动化意义在两个方面:

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

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

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

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

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

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

其他相关 RELEVANT MATERIAL
用什么软件测试电脑性能呢?

用什么软件测试电脑性能呢?

admin admin
965
2022-04-14
题主您好,大家好,我来回答一下这个问题。 用什么软件测试电脑性能呢? 如果只想简单对硬件进行测试建议用鲁大师就可以了。比较傻瓜化,一键完成所有测试。要是想专业测试的话建议用以下几款测试软件对电脑硬件进行专项测试: 3DMark 3Dmark是futuremark公司的一......
对于零基础,想学习web前端和软件测试,哪个更容易上手?

对于零基础,想学习web前端和软件测试,哪个更容易上手?

admin admin
344
2022-04-14
这么说吧,只要你有一些编程经验,转测试很好转, 但是你学测试转编程,抱歉,你技术不行。 前端职业成长相对比较平滑一些,虽然现在要学习的东西更多了,但是很多脚手架和框架在刚入行会用就好,随着经验成长慢慢开始去认识精通这些 测试职业成长就相对陡峭一些了,刚入门就是四处点点看......
英语四级都考什么呢?

英语四级都考什么呢?

admin admin
176
2022-04-14
谢谢你的邀请! 在高中英语的难度之上。 好好复习,考的时候你就知道了! 复习的时候,就看全套的四级复习资料。 这位童鞋你好!让我来回答你的问题吧~ 首先,让我回答你的第一个问题:“考什么”? 大学英语四级还是比较注重基础的!总分710分!作文占15%=106.5分;听......
BAT等大的互联网公司,初级测试工程师所需要的技术应该在什么水平?

BAT等大的互联网公司,初级测试工程师所需要的技术应该在什么水平?

admin admin
488
2022-04-14
对BAT这类的知名企业,在招聘初级测试工程师需要的技能,其实有如下几点: 1. 你的代码能力(Java,C++,前端,Python等等)、数据库能力、操作系统能力。这是笔试当中一定会考到的。因为你面试的不一定是APP端测试,还可能有服务器测试,前端测试等等。所以对这些公......
疫情过后,你认为学校会更加重视学生的体质健康吗?

疫情过后,你认为学校会更加重视学生的体质健康吗?

admin admin
782
2022-04-14
应该会更加重视吧 因为学生是国家未来发展的栋梁之材,无论是哪一行业 哪些科技方面的置位,都得需要有人来操作。 谢邀! 这次来势汹汹的新冠疫情,是地球村的一次重大灾难,也是对人类体质健康的挑战和考验。当下,我们国家的内控疫情形势曰趋向好,复产复工步入正轨,人们的生活也恢......
程序员怎么转项目经理?

程序员怎么转项目经理?

admin admin
616
2022-04-14
你的编程技术最过硬,大家都按你的程序 走,你就是该项目的经理了。 在工作中多留意和产品经理相关的工作,能参与尽量参与,比如对于研发来说,可以参加产品经理组织的需求评审会议,测试人员组织的测试用例评审会议,也可以在工作中充分了解自己在做的产品,提出一些对于用户体验可以优......
评论 SAY SOMETHING
年度爆文
热门标签