首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

自动化测试从业者如何择业?未来职业发展是怎样的?

本文主要从自动化测试从业者的职业方向以及职业规划两大方面展开论述自动化从业者的职业发展。从多个角度出发分析不同职业方向的各种优缺点及应具备技能,详细讨论职业规划应该考虑的因素。对自动化从业者的职业发展及择业具有重要的参考意义。

1.1 背景

随着敏捷开发在软件行业的推广与发展,自动化测试在软件测试行业的地位也在逐渐上升。然而,对于自动化从业者将何去何从?自动化从业者的发展方向有哪些?身为自动化测试工程师,我们又该如何为自己定制职业发展规划?这些问题一直困扰着我们,众多自动化从业者都是在迷茫中前进。由此可见,做好职业规划是自动化测试从业者选择发展之路,明确自身的成长空间,选择就业方向的风向标。

根据51testing发布的测试人员对测试领域工作前途态度的统计结果(图一)显示,大于60%的从业人员对软件测试行业的发展前景感到迷茫,10%以上的不清楚甚至感觉前途无望。由此可见,自动化测试的职业发展对于自动化从业者择业与从业具有现实意义。

图一 测试人员对测试领域工作前途态度

1.2 自动化测试现状

近年来随着我国软件产业的蓬勃发展以及对软件质量的重视,软件测试行业随之兴起。软件测试在国内已经成为一个较为成熟的产业,逐步与国际水平拉近距离。具体表现在:

1)软件测试门槛低,薪资相对其他行业高,可谓是低报酬高回报的行业;

2)软件质量问题的影响越来越大,而软件测试就是保证软件质量的一个重要并且有效的手段,因此现在软件公司越来越重视软件测试;

3)软件测试行业发展势头良好,测试行业依旧处于供不应求阶段,自动化测试的发展整体上仍处于起步阶段。

1.3 自动化测试的发展前景

纵观人类发展方向,感应灯,扫地机器人,智能家具等的出现无一不诠释着自动化就是人类社会发展的大方向,软件测试行业也不例外,自动化测试一定是未来的方向。目前流行的敏捷、持续集成等都是以自动化为基础。所以说自动化测试的发展前景是乐观的。

由图一可见,超过80%的从业者认为测试行业有前景或者前途光明。同时超过75%的测试从业人员希望提高自动化测试的技能(图二),由此可见,自动化测试在软件测试行业的发展前景也是受到广大软件测试从业人员的广泛认可的。

图二 软件测试人员希望提高的技能

自动化测试介绍

什么是自动化测试,自动化测试有哪些,自动化测试的意义以及什么样的项目适合做自动化,作为自动化测试人员我们应该具备哪些素质?了解自动化测试框架都对于自动化职业从业者的职业发展具有重要意义。

2.1 自动化测试的定义

自动化测试是通过一些自动化测试工具模拟人工操作验证其结果完成整个测试过程。自动化测试属于测试但是又不局限于测试,也是将软件开发过程中手动重复度高的,机械化的,人容易出错的步骤用自动化实现,再将这类工作的人力释放出来做自动化替代不了、有成长性或者创造性的工作。

2.2 自动化测试的分类

提到自动化测试,大多数人的第一反应就是UI的自动化测试,其实不然,它还包括了接口测试,单元测试,安全测试,性能测试以及数据库测试等,具体分类情况和每一类的测试的体系及工具如下如图三所示:

图三 自动化测试的分类

2.3 自动化测试的意义

为什么要进行自动化测试?因为自动化测试的优点显而易见:

提高测试效率,节省时间和人力成本;

每次新的build发布之前,可以通过自动化进行BVT测试,大大节省了时间和人力成本。对于回归测试的效果也非常明显。

可以执行难以或不可能用手工完成的测试;

比如网站的压力测试,同时找很多人去测试不现实。便可以以自动化的方式通过机器去模拟。

一致性和可重复性强

由于测试是自动执行的,每次的执行内容和测试的结果的一致性是可以得到保障,从而达到可重复的结果。

项目质量流程需要

比如测试工具的开发,自动化在DevOps中的贡献。

自动化在DevOps中很重要因为它提供了准确性和速度。应用交付需要高效,而手动安全测试难以满足进度要求。更重要的是,第三方在外部手动测试中往往会遗漏测试错误。

2.4 什么样的项目适合做自动化

我们可以通过以下几方面来判断当前的项目适合做自动化:

1)项目维护周期长。如果维护周期太短,自动化框架有可能还没开发完,产品已经下线了。

2)比较频繁的回归测试。如果选用手工测试,第一轮可能还没完,第二轮就开始了。

3)产品比较稳定,不会频繁变动。如果产品不稳定,维护自动化用例成本太大,自动化测试投资回报率太低。

2.5 自动化测试人员应具备的能力

在早期,大多企业对测试人员的能力要求较低,导致人们的测试行业的认知都是:门槛低,水平低,能轻松胜任。而自动化测试,作为进阶,在测试基础欠缺的情况下,即使写出测试脚本也不能从根本解决问题。自动化测试人员应具备的能力可分为如下几个方面,这几方面在各个职业生涯发展阶段的要求也不尽相同,下一节会详细介绍各个阶段的要求。

1)基础能力。基础能力是测试能力和代码能力的基础,是对自动化测试人员的基础要求,包括细心,耐心,责任心,学习能力,分析问题和解决问题的能力,沟通能力,团队协作的能力以及总结问题的能力。外企或者国外的项目同时也会有外语能力的要求。

2)测试能力。测试能力是做自动化测试的基础,能够很好的帮助自动化促使人员决定什么时候引入自动化,有效的设计自动化测试用例,很好的发现bug,很好的理解自动化测试的目的与价值。测试能力主要包括业务分析能力,bug的洞察能力以及基本的软件测试知识(bug的生命周期,测试理论及方法等)

3)代码能力。良好的代码能力是自动化测试人员写出高质量的自动化测试脚本的前提,开发自动化测试脚本的过程中,需要考虑代码的稳定性,健壮性和可扩展性,同时结合数据结构和算法来减少后期的维护成本。代码能力主要包括自动化脚本的设计能力,框架开发能力,框架设计能力。

……

文章选自《51测试天地》第五十二期电子杂志

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190128B0WF9O00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券