6年测试经验老鸟:做不好自动化测试,还谈什么高薪?

news2024/9/26 1:18:29

提起自动化测试,可谓仁者见人,智者见智,心中五味杂陈啊!你从任何一个招聘渠道来看最近两年对测试岗位的要求,几乎都要求会自动化测试。而不少人一直认为手工测试才是王道,工作中有的时候也用不到程序,干嘛在面试的时候要求写代码呢?明明自己的测试能力不错,做了多年的功能测试,为什么面试的时候四处碰壁呢?很是想不明白,难道业界最近几年有点儿盲目推崇自动化测试了吗?

虽然我不能说完全明白这些问题的产生的根源,不过以我这五六年从事测试工作的经验来分析一下这些问题的来龙去脉,可能也不是十分准确,希望能给迷茫的同学带来一些思考。

本文行文结构如下所示哈,来看一下:

一, 什么是自动化测试
二, 为什么要做自动化测试
三,如何实施自动化测试?
四,如何学习自动化测试
五、自动化测试学习资源分享

一, 什么是自动化测试

什么是自动化测试呢?关于这个问题,可能没有准确的答案。普遍认为的是接口自动化测试,WebUI自动化测试,App自动化测试等被冠以自动化命名的测试方案。其实不然,自动化测试是相对于手工而言的,用代码或是借助于第三方工具,把繁复的测试工作从手工转化为机器自动执行的测试方案,可以统称为自动化测试。除了上面所说的三个方面的自动化测试,当然还包括日志过滤,日志回放,接口监控,服务监控等等,根据具体业务需求通过代码把人力从中解放出来的代码手段。

二, 为什么要做自动化测试

那企业或者是我们测试人员为什么要做自动化测试呢?从工作角度来说,目前互联网行业需求迭代非常快,人员流动也比较快,所以一个需求从提出到上线时间比较紧急,同时对于其影响的范围也可能不太清楚,在上线之前必须对原有功能进行回归测试。不管是接口还是从客户端,都需要大量的测试工作,而且在大数据时代,测试用例量也是非常庞大的,如此繁复单调的工作让人工来测试的话,根本不能保证效率和质量,所以必须要借助于非人工手段来实现。从个人发展方面来讲,时代在发展,对我们的要求也越来越高,所以我们要迎接变化,不断提升自己才行。虽然你可以坚持手工测试是基础,是王道,可是并没有企业愿意为你这个信念买单。除非你生活无忧无虑,可以坚持自己的信念,否则你就要尊重业界发展的规律,不断充电从而使自己更有价值。或许再过几年,自动化测试会成为从业者的准入门槛,如果做不好自动化测试,所谓的高薪也就无从谈起。

三,如何实施自动化测试?

虽然业界比较注重自动化测试,不过永远要记住下面一句话:“不要为了自动化测试而做自动化测试!”不管你在测试工作如会采取什么测试方案,测试手段,这一切都是为了业务服务的,脱离了具体的业务,你的辅助手段再厉害也是无用的。

在实施你的自动化测试工作之前,你必须对要测试的业务非常熟悉,核心业务流程,具体的功能模块的实现,前后端如何交互,以及业务未来的发展与迭代频率等等。然后按以下思路来进行选择与实施你的自动化测试:

(1) 根据业务特点,选择自动化测试方案。你的业务是前后端分离的吗?业务比较注重用户交互还是数据完整性?用户量有多大,有没有需要承担的压力等等,通过考虑业务的特点,才能选择比较合适的方案。

(2) 根据业务侧重点,确认自动化覆盖范围和粒度。通过业务特点选择了自动化测试方案,然后就需要根据业务侧重点来确认范围和粒度了。比如说,你确定要进行Web UI自动化测试,肯定不能看着页面就去写自动化测试用例嘛,要根据业务重点来确认。哪些业务流程是核心,必须覆盖?哪些功能暂时有技术难点,或是变化比较快,可以放为二期来实现。通过对手工用例的评审,来准确确定自动化测试的范围,实现用例的粒度。

(3) 根据自动化测试用例范围,选择实现框架和语言。目前业务自动化测试工具,开源框架可谓多如牛毛,让人有点儿无从选择,但是它们还是各用侧重点的。我们需要根据测试用例的范围和特点,参与人员的水平,用例的使用场景和未来的计划来选择合适的框架。比如说,我们要做接口自动化测试,而参与人员大部分不会代码 ,那选择Python+Unittest+HtmlTestRuner+Jenkins就比选择Java+Httpclient+TestNG+Jenkins实现起来成本更低。

(4) 根据用例用途,选择执行策略。根据我们自动化测试的用途,是做上线前回归,还是触发式回归?需不需要做监控?执行环境是什么?来去确认是否做持续化集成,是否发执行结果与错误预警,用例或是用例集管理方案,指定维护人员等等工作!

四,如何学习自动化测试

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

(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,Realobot Framework,LoadRunner等等,知名不知名的数不胜数。先不说这些工具效果如何,目前大公司是从来不用这些工具的,大家都使用开源的框架,工具进行定制化自己的测试方案。所以刚刚学习自动化测试的时候,也不要依赖工具,使用开源的Webdriver, Appium,Robotium等搭建自己的自动化测试工程。掌握一个整体的自动化工程工作原理,为以后搭建自己的自动化工程,工具,平台做准备。

不管你对自动化测试是爱,是恨,它是从手工测试转为测试开发必经的阶段。可能你了解到自动测试没有用,实施起来维护成本高,执行效率低等负面信息,其实这不是自动化测试的问题。要知道,它只是一个工具,一种测试方案,最终的效果还是由实施的人来决定的。

在12,13年的时候,用Jenkins做持续化集成比较热门,接下来几年好像没有那么火了,但是近两年docker技术的出现,又使CI,CD变得火热起来。我们是不是应该端正对自动化测试的态度,明确什么才是你想要的,找准方法,不断提升自己呢?

五、自动化测试学习资源分享

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】

这些资料,对于想进阶【自动化测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等配套学习资源免费分享~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/367182.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

摆烂三年,我从普通二本到春招华为OD上岸啦

萌妹镇楼 年前拿到的意向书 答读者问 薪资情况 定级D2,13K2K,两个月年终奖,周六加班双倍工资,下个月发。每年一次加薪,OD转华为一次加薪。 加班强度 124晚9点,35晚6点,项目紧急的话,周六会安排加班 转…

依赖倒转原则和里氏代换原则详解

初学依赖倒转原则和里氏代换原则时,由于笔者水平有限,并没有看懂书上的专业术语的解释,经过反复摸索和学习,发现里氏代换原则和依赖倒转原则可以一言以蔽之: 里氏代换原则:开发时以抽象为核心,…

CMake常用指令

CMake常用指令一、前言二、基本指令2.1、ADD_DEFINITIONS2.2、ADD_DEPENDENCIES2.3、ADD_TEST 与ENABLE_TESTING 指令。2.4、AUX_SOURCE_DIRECTORY2.5、CMAKE_MINIMUM_REQUIRED2.6、EXEC_PROGRAM2.7、FILE 指令2.8、INCLUDE 指令2.9、其他指令三、FIND_系列指令四、…

云计算 概念与技术

如果我倡导的计算机在未来得到使用,那么有一天,计算也可能像电话一样成为共用设施。计算机应用将成为一全新的、重要的产业的基础。 ——John McCarthy 云计算的概念 定义 Garther公司的定义 一种计算方式,能通过Internet技术将可扩展的和…

内核模块调试常用命令整理

一、 模块加载 1.1 最简单的一个驱动 static int __init my_driver_init( void ) {printk("init my_driver\n");return 0; }static void __exit my_driver_exit( void ) {printk("exit my_driver\n"); }module_init( my_driver_init ); module_exit( my_…

Xamarin.Forsm for Android 显示 PDF

背景 某些情况下,需要让用户阅读下发的文件,特别是红头文件,这些文件一般都是使用PDF格式下发,这种文件有很重要的一点就是不能更改。这时候就需要使用原文件进行展示。 Xamarin.Forms Android 中的 WebView 控件是不能直接显示的…

R统计绘图-NMDS、环境因子拟合(线性和非线性)、多元统计(adonis2和ANOSIM)及绘图(双因素自定义图例)

这个推文也在电脑里待了快一年了,拖延症患者,今天终于把它发出来了。NMDS分析过程已经R统计-PCA/PCoA/db-RDA/NMDS/CA/CCA/DCA等排序分析教程中写过了。最近又重新看了《Numerical Ecology with R》一书,巩固一下知识,正好重新整理了一下发出…

火山引擎推出一站式小程序监控方案

背景 小程序作为轻量级的应用发展迅速,国内已有多家小程序厂商相继推出。为了洞察用户真实体验及程序自身运行状况,监控已成为开发套件中必不可少的一环。随着业务愈来愈复杂,各厂商小程序管理后台免费提供的监控能力逐渐满足不了大部分业务…

软考中级之数据库系统(重点)

涉及考点:数据库模式,ER模型,关系代数与元祖演算,规范化理论,并发控制,分布式数据库系统,数据仓库和数据挖掘 数据库模式 三级模式-二级映射 常考选择题 三级模式,两种映射的这种涉及属于层次架构体的设计,这种设计为我们在应用数据库的时候提供了很多便利,同时提高了整个体…

功能性材料深入超级赛道,赋能多行业迭代升级

中国国际胶粘剂及密封剂展览会深耕胶粘剂、密封剂和胶粘带行业26年,是行业认可的、优质的贸易与技术交流平台。展会连接了十几个行业的买家和卖家,包括汽车、电子、新能源、轨道交通、工业等重要领域,为客户提供封装、粘合、散热、装配制造等…

拿下宁王、迪王的湖南裕能,还能“狂飙”多远?

文|智能相对论作者|Kinki近日,磷酸铁锂正极材料龙头湖南裕能正式登陆A股,上市当天市值超过了400亿元,投资者中一签可赚1.49万元,可谓近年低迷的资本市场中一支“大肉签”。不过在 “开门红”之后,湖南裕能的股价便一路…

leetcode16. 最接近的三数之和

给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。 返回这三个数的和。 假定每组输入只存在恰好一个解。 示例 1: 输入:nums [-1,2,1,-4], target 1 输出:2 …

linux服务器上Docker中安装jenkins

前言 Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。 本文主要提供通过docker安装jenkins镜像,并配置nginx反向代理页面配置和使用。通过jenkins完成项目的自动部署。 我在安装之前…

ThinkPHP ^6图片操作进阶

图片裁剪、缩略、水印不再是TP框架系统内置的功能,需要安装。 目录 安装 图片处理 1.创建图片对象 2.获取图片属性 3.裁剪图像 4.生成缩略图 6.保存图像 7.水印 安装 使用composer在项目根目录打开命令行执行: composer require topthink/think…

Simulink 电机控制:单电阻三相电流重构算法仿真总结

目录 理论基础 仿真实现 硬件实现 总结 理论基础 参考Microchip AN1299 《PMSM 无传感器 FOC的单分流三相电流重构算法》,详细的理论可以参考这个文档,这里只简单总结一下。单电阻采样的核心就是要在一个周期内实现两相电流的采样并通过基尔霍夫定…

【UE4 制作自己的载具】3-载具蓝图实现(基本)

效果步骤新建一个蓝图,继承“WheeledVehicle(轮式载具)”命名为“Vehicle_BP”,双击打开该蓝图选中“Mesh(继承)”,然后在细节中,骨架网格体选择“Vehicle”添加一个弹簧臂和摄像机组…

Windows下mysql8.0.32安装配置方法图文教程

Windows下mysql8.0.31安装配置方法图文教程 1、下载可以到官网的地址下载即可 https://dev.mysql.com/downloads/file/?id516465 2、解压缩并重命名mysql-8.0.32-winx64为mysql 3、创建my.ini配置文件,创建data文件夹。 4、打开记事本另存为my.ini并且使用ANSI编…

23年了,GOPATH和go.mod 还在冲突!

现在 新配了 go环境 设置了GOROOT,GOPATH ,发现引用别的包会出问题。一直会报 package XX not in GOROOT (xxxx)我的目录:我的开发目录: /home/fate/go_projects/老样子,下面有 /home/fate/go_…

元宇宙与ChatGPT结合 一场颠覆式场景革命或将到来?

元宇宙和ChatGPT都是当前数字化领域中非常热门的技术和应用,两者之间也存在一定的关系,结合起来,可以为企业提供更加智能化、个性化的服务和支持,同时也可以拓展企业的市场和品牌影响力,提高企业的效率和创新能力。 元…

公司新来一00后说我不会自动化测试,3个问题直接给他问趴下...

今天我们公司刚入职一小伙,听说是00后,今天在办公室交流了一下,他问我会不会自动化测试,我直呼好家伙,直接问了他3个开展自动化测试问题....一问3不知.....还有待加强呀我们在制定自动化测试实施策略时,首先…