“会自动化测试”就能拿25K?你看我15k能在人才市场招多少这样的测试员

部门最近准备扩张项目要招两个自动化测试,我面试了几十位候选人,发现一个很奇怪的现象,面试中一问到元素定位、框架api、脚本编写之类的,很多候选人都对答如流。但是一问到实际项目,比如“如何从0开始搭建自动化体系”、“如果让你来推广自动化,该如何设计方案”。大多数人都避重就轻、含糊其辞。

究其原因,我认为是现在学习自动化的渠道很多,很多自动化的基础知识,很容易从公开的渠道获取到。然后把一些技术名次和术语都写到简历里,感觉自己已经会自动化了。

但是,一个很重要的事实是,“会自动化” ≠ “ 能做自动化”,没吃过猪肉,但见过猪跑”。如果没有企业级的项目实操,你就不可能了解:

  • 如何拆解项目需求?
  • 如何从0到1如何搭建自动化体系?
  • 如何避免自动化实施过程中的那些坑?

归根到底,还是缺乏自动化实施的经验,而且又没有可参考的自动化测试流程规范。

今天就来好好掰扯一下“自动化测试”这个问题吧。

什么是自动化测试呢?

关于这个问题,可能没有准确的答案。

普遍认为的是接口自动化测试,WebUI自动化测试,App自动化测试等被冠以自动化命名的测试方案。

其实不然,自动化测试是相对于手工而言的,用代码或是借助于第三方工具,把繁复的测试工作从手工转化为机器自动执行的测试方案,可以统称为自动化测试。

除了上面所说的三个方面的自动化测试,当然还包括日志过滤,日志回放,接口监控,服务监控等等,根据具体业务需求通过代码把人力从中解放出来的代码手段。

为什么要做自动化测试?

从工作角度来说,目前互联网行业需求迭代非常快,人员流动也比较快,所以一个需求从提出到上线时间比较紧急,同时对于其影响的范围也可能不太清楚,在上线之前必须对原有功能进行回归测试。

不管是接口还是从客户端,都需要大量的测试工作,而且在大数据时代,测试用例量也是非常庞大的,如此繁复单调的工作让人工来测试的话,根本不能保证效率和质量,所以必须要借助于非人工手段来实现。

从个人发展方面来讲,时代在发展,对我们的要求也越来越高,所以我们要迎接变化,不断提升自己才行。虽然你可以坚持手工测试是基础,是王道,可是并没有企业愿意为你这个信念买单。

除非你生活无忧无虑,可以坚持自己的信念,否则你就要尊重业界发展的规律,不断充电从而使自己更有价值。或许再过几年,自动化测试会成为从业者的准入门槛,如果做不好自动化测试,所谓的高薪也就无从谈起。

那该如何学习自动化测试?

既然自动化测试是手工测试提升的一个必经之路,虽然自动化测试没有那么高大上,但也是必不可少的。那作为一个有理想的测试人员,应该如何去学习自动化测试呢?

(1) 准确定位自己,明确目标

有不少同学意识到了自动化测试的重要性,就去网上查询资料啊,或是报培训班学习啊,可是到最后越学越迷茫,处于会与不会之间,前路不知如何去走?这是什么原因呢?

这是因为你在学习自动化测试之前没有想明白几个问题:我的真实水平如何?如果学习一项新的技术或是语言,我愿意投入的精力是多少?从现在开始学习,三个月或是半年后应该达到什么目标?我了解现在业界的自动化测试类型或是体系吗?想好这些问题再去入手学习或培训,必定事半功倍。

(2) 全面了解,选好切入点

目前自动化测试方向大概有以下几个:

  • A、辅助测试脚本方向:以Shell,Python为主来简化重复的工作,过滤日志等;
  • B、接口自动化测试方向:Python+Unittest+HtmlTestRuner+Jenkins和Java+Httpclient+TestNG+Jenkins,当然还有很多其他二次开发的框架或工具,不过核心是一样的;
  • C、页面自动化方向,主要有Python+Webdrver+HtmlTestRunner+Jenkins,Java+Webdriver+TestNG+Jenkins,以及其他的框架和工具;
  • D、App自动化测试方向:以Robotium+Java+TestNG+Jenkins,  Appium+Java+TestNG+Jenkins,Appium+Python+HtmlTestRunner为主。

当然这里介绍的都是简单的,最基本的实现方案,作为入门学习比较合适。其他五花八门的二次开发的框架,包含众多功能的方案留待你以后提升。先从这几方面了解入手,选择一个语言体系,建议从接口自动化入后,然后再去学习页面和app。

(3) 步步为营,不要贪多

我们在提升自己的时候,发现有好多东西需要学习,于是就很着急,想同时学习很多东西,其实这并不好。学的太多容易产生混淆,而且不容易消化,你仔细调研一下就会发现,很多东西都是通着呢。代码架构,用例管理,执行策略,持续化集成思想都可以举一反三,关键是自己要动手真正实施起来,在公司现在的框架上写用例,不管你写多少,不了解整体结构都是没有用的。

(4) 抛弃工具,多用开源

业界好像从来不缺少自动化测试工具,QTP,RealobotFramework,LoadRunner等等,知名不知名的数不胜数。先不说这些工具效果如何,目前大公司是从来不用这些工具的,大家都使用开源的框架,工具进行定制化自己的测试方案。

所以刚刚学习自动化测试的时候,也不要依赖工具,使用开源Webdriver,Appium,Robotium等搭建自己的自动化测试工程。掌握一个整体的自动化工程工作原理,为以后搭建自己的自动化工程,工具,平台做准备。

不管你对自动化测试是爱,是恨,它都是从手工测试转为测试开发必经的阶段。可能你了解到自动测试没有用,实施起来维护成本高,执行效率低等负面信息,其实这不是自动化测试的问题。

要知道,它只是一个工具,一种测试方案,最终的效果还是由实施的人来决定的。在12,13年的时候,用Jenkins做持续化集成比较热门,接下来几年好像没有那么火了,但是近两年docker技术的出现,又使CI,CD变得火热起来。我们是不是应该端正对自动化测试的态度,明确什么才是你想要的,找准方法,不断提升自己呢?

自动化测试学习路线图

 1.自动化测试必备Python编程内容


2.Web UI 自动化测试基础内容



3.Web UI 自动化测试实战内容


4.APP UI 自动化测试基础内容


5.APP UI 自动化测试实战内容


6.API 接口自动化测试基础内容


7.API 接口自动化测试实战内容


8.CI/CD持续集成专项技术


9.自动化测试框架实战技术

相信看到这里的,不管是新手还是前辈,都对自动化测试有了一个大体的认知。希望这篇文章能帮助新人更好地了解软件测试行业,也同样希望这篇文章同样能帮助已经有几年测试经验的前辈们做好自己的职业定位,确定未来的发展方向以及做好技术沉淀。

不管你是否选择软件测试行业,是否决定在测试行业继续发展,是否是软件测试人员,我都希望本文能够帮助到需要帮助的人,如果确实对你有帮助,我将感到非常开心。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:938856006资料在裙里,需要可以自取

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

❤既然都看到这里啦,请你帮个忙:

1、点赞,让更多小伙伴看到;

2、关注我,持续更新测试干货。

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习编程?其实不难,不过在学习编程之前你得先了解你的目的是什么?这个很重要,因为目的决定你的发展方向、决定你的发展速度。
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面设计类、前端与移动、开发与测试、营销推广类、数据运营类、运营维护类、游戏相关类等,根据不同的分类下面有细分了不同的岗位。
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生学习Java开发,但要结合自身的情况,先了解自己适不适合去学习Java,不要盲目的选择不适合自己的Java培训班进行学习。只要肯下功夫钻研,多看、多想、多练
Can’t connect to local MySQL server through socket \'/var/lib/mysql/mysql.sock问题 1.进入mysql路径
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 sqlplus / as sysdba 2.普通用户登录
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服务器有时候会断掉,所以写个shell脚本每五分钟去判断是否连接,于是就有下面的shell脚本。
BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。
假如你已经使用过苹果开发者中心上架app,你肯定知道在苹果开发者中心的web界面,无法直接提交ipa文件,而是需要使用第三方工具,将ipa文件上传到构建版本,开...
下面的 SQL 语句指定了两个别名,一个是 name 列的别名,一个是 country 列的别名。**提示:**如果列名称包含空格,要求使用双引号或方括号:
在使用H5混合开发的app打包后,需要将ipa文件上传到appstore进行发布,就需要去苹果开发者中心进行发布。​
+----+--------------+---------------------------+-------+---------+
数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 nu...
第一步:到appuploader官网下载辅助工具和iCloud驱动,使用前面创建的AppID登录。
如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):
前不久在制作win11pe,制作了一版,1.26GB,太大了,不满意,想再裁剪下,发现这次dism mount正常,commit或discard巨慢,以前都很快...
赛门铁克各个版本概览:https://knowledge.broadcom.com/external/article?legacyId=tech163829
实测Python 3.6.6用pip 21.3.1,再高就报错了,Python 3.10.7用pip 22.3.1是可以的
Broadcom Corporation (博通公司,股票代号AVGO)是全球领先的有线和无线通信半导体公司。其产品实现向家庭、 办公室和移动环境以及在这些环境...
发现个问题,server2016上安装了c4d这些版本,低版本的正常显示窗格,但红色圈出的高版本c4d打开后不显示窗格,
TAT:https://cloud.tencent.com/document/product/1340