自动化测试工程师是不是自动化工程师都是使用代码来实现自动化的?

对于这一点我要说明一点,自动化工程师并不是这样的。

自动化分为工具的自动化和代码的自动化。自动化测试有很多工具,例如postman,soapUI,jmeter等等。并不是所有的都要用代码来实现自动化,如果所有的东西都要用自动化来实现,那么它的性价比太低了,结合一部分自动化的工具来实现,可以大大提高投入产出比,当然,在条件允许的情况下,最好是能够用代码实现,因为封装好的代码维护起来比较方便。

自动化工程师都在做什么?

相信很多小伙伴都在好奇,自动化工程师都在做些什么呀!其实自动化测试工程师也没有什么神秘的,他们在功能的基础上使用工具或者代码来提高测试效率和准确度,从而获得更多的时间来保证产品的质量。

就我个人而言,我做了一下几点:

  1. 编写shell脚本,当测试环境服务挂掉之后,执行脚本一键启动。
  2. 搭建了UI自动化框架,实现了精准测试。
  3. 每周取出测试环境的awr日报和微服务日志进行分析,找出需要优化的sql和生产上出现的问题。
  4. 每个批次使用appsan进行漏洞扫描,保证系统没有中高级别的漏洞。
  5. 使用charles和python制造mock,方便测试。

自动化测试的优势和缺陷各是什么?

优势:

  1. 减少人工成本(大量的回归测试:越复杂的系统越有效)
  2. 构建功能防护网,大大提高了测试的效率(敏捷迭代开发)
  3. 能够有效的避免人为的不确定性(人毕竟不是机器,是人就会犯错,会误操作)
  4. 完成一些人工很难完成的或者无法完成的工作(性能等)

劣势:

  1. 开发和维护的成本比较高,且前期的投入较大,收益不能够马上凸显出来。
  2. 对测试人员的技能要求比较高,例如:编程语言:python/java/node.js/shell等,
  3. 对基础设备的要求比较高,例如电脑配置等
  4. 自动化测试工程师的工作量不容易度量且自动化工程师的代码没有人来确定正确性。

自动化测试的本质是什么?

说实话我也不知道自动化测试的本质是什么。但是听一位大佬的书中写道,自动化测试的本质就是软件开发。仔细想来也是很有道理的。例如:我为微服务启动编写了shell脚本,实现了微服务一键启动。这算不算是软件开发呢?如果说算,但是他没有软件开发的整个流程,只是开发阶段。然而,以后我们每次使用它一键启动服务,第一次不正是测试的过程吗?

如何学习自动化,成为一个自动化测试工程师?

个人认为,要想学习自动化不能好高骛远,一口吃成大胖子,要循序渐进。

首先要从自动化测试工具出发,例如:能够做接口自动化的postman,SoapUI,UI自动化的各种开源录制工具:Selenium IDE ,Kakalot等,性能测试工具Jmeter,抓包工具:charles,fiddler不一定要都弄懂。但是至少要会一个测试工具。等熟悉工具之后,你就会发现虽然这些工具都能够实现自动化,但是操作起来是真的不太方便,例如:UI录制脚本刚录制完就发现跑不起来,jmeter无法实现复杂的场景,postman断言编写需要熟悉JS等等的问题,为了解决这些不方便。我们就可以着手使用代码来实现自动化了。

第一步:选择一门合适的语言:当然学习使用代码需要从多方面考虑:例如:语言的难度,团队人员的使用情况,参考资料等。选择之后就需要做大量的练习,推荐学习参考菜鸟教程,对于初学者来说菜鸟教程是一个不错的平台,遇到问题百度一下基本上什么问题都解决了。此外B站上也有大量的视频可以学习,而且B站上的很多视频质量都特别高。

第二步:尝试做一些单元测试的:做一些简单的单元测试能够帮助我们更好的理解单元测试框架。而且无论是API,UI,都是在单元测试框架的基础上来进行的。以python的unittest为例说明一下:我们在编写用例的时候,都会有前置条件,操作步骤,期望结果,实际结果,在unittest中就能够很好的体现,前置条件对应setupClass和setup,同事每个类和用例执行完还有teardownClass,teardown操作,期望结果和实际结果有比较方法对照来实现,此外还有数据驱动的ddt框架或者paramunittest来实现数据驱动。paramunittest可以看我的这一篇博客:https://blog.csdn.net/pingsha_luoyan/article/details/105439035     ddt数据驱动框架可以看我的这一片博客:https://blog.csdn.net/pingsha_luoyan/article/details/100012256   这两篇博客都是最简单的代码实现的,完全可以当做入门来进行参考。

第三步:学习一个UI自动化的框架:现在最常见的UI自动化测试框架就是selenium和appium了。能够实现最基出的UI自动化,这个阶段不要追求代码的完美,封装多少层,只要求能够实现UI自动化就行。在此时,一般能够遇到UI的各种各样的坑了。例如:JS的定位问题,非input的附件的上传,等待机制,验证码等各种问题。

js定位问题的我的解决办法:https://blog.csdn.net/pingsha_luoyan/article/details/105880043

非input文件上传我的解决办法:https://blog.csdn.net/pingsha_luoyan/article/details/105624072

等待机制:推荐使用显示等待机制,而非sleep

第四步:学习API自动化:API自动化没有固定的框架,一般开发是用什么样的框架,我们就跟着他们使用一样的框架。总而言之一句话,跟开发保持一致。就python而言,API自动化的时候需要构建大量的数据,同时也需要链接到数据库中查看数据库中的数据,接口得到的结果可能与数据库中的数值做比较,也可能使用数据库中的值做参数,需要我们使用代码链接数据库并且能够使用熟练的使用代码操作数据。

第五步:工程优化进阶:举一个例子:一个大型系统进行精准测试,它的UI自动化精准测试用例达到了两万三千多条,如果没有对UI进行封装,每隔用例相同的代码都是copy来的,那么每次发生改变的时候,该怎么办呢?想一想就害怕,这可不是加班能够解决的,因此需要我们对代码进行封装,常用的是PageObject设计模式,ddt数据驱动等。

下面是我对UI的四层封装:

大话自动化测试:我眼中的自动化测试工程师,如何成功自动化测试工程师相关推荐

  1. 华为软件测试工程师分享的自动化测试经验,纯干货!

    今天给大家分享一个华为的软件测试工程师分享的关于自动化测试的经验及干货.真的后悔太晚找他要了, 纯干货.一定要看完! 1.什么是自动化测试? 用程序测试程序,用代码取代思考,用脚本运行取代手工测试.自 ...

  2. selenium自动化测试_您如何使用Selenium来计算自动化测试的投资回报率?

    selenium自动化测试 跨浏览器测试是一种测试,需要大量的精力和时间. 通过不同的浏览器,操作系统,设备,屏幕分辨率测试Web应用程序,以评估针对各种受众的Web内容呈现的过程是一项活动. 特别是 ...

  3. python接口自动化测试书籍_蜗牛出版之《接口自动化测试开发实战教程》书籍详解!...

    各位老铁,大家好~ 上周,我们通过一篇分享,给大家详细介绍了蜗牛创想的出版业务. 还不了解的小伙伴请戳:除了培训和研发,我们还有一项90%的人都未曾关注到的业务! 本周开始,我们将对已经出版的< ...

  4. python工程师月薪多少-Python工程师的薪资到底有多高

    达内教育就业专家为您解读:Python工程师的薪资如何?怎么样学习python呢,python工程师的薪资的到底有多少呢? 谁会成为AI 和大数据时代的第一开发语言?这已是一个无需争论的问题.如果说三 ...

  5. python全栈工程师 pdf_python全栈工程师项目开发实例实战入门教程百度云

    python全栈工程师项目开发实例实战入门教程百度云 课程目录: 开学典礼 pycharm的基本使用 Python基本语法 数值类型数据及运算 字符串的基本操作 字符串的常用方法 列表的基本使用 列表 ...

  6. 算法工程师、软件工程师、大数据工程师的区别

    前段时间,有几个HR朋友问我: 算法工程师的日常工作到底是在干嘛? 平常看起来似乎还挺闲的,工资还那么高. 有时候算法工程师好像又和大数据工程师是一样的工作? 这到底是怎么回事呢? 大约整理出以下几个 ...

  7. 算法工程师、软件工程师、大数据工程师,傻傻分不清楚

    前段时间,有几个HR朋友问我: 算法工程师的日常工作到底是在干嘛? 平常看起来似乎还挺闲的,工资还那么高. 有时候算法工程师好像又和大数据工程师是一样的工作? 这到底是怎么回事呢? 大约整理出以下几个 ...

  8. 所有的工程师都鄙视 php 工程师.,程序员的鄙视链(所有工程师都鄙视php工程师23333)...

    最近这几年在世界各地突然吹起了一股全民写程序的风潮,连美国总统欧巴马都在写 JavaScript 了,但是身为一介靠写程序(以及在上班时间胡乱上网)来谋生的 developer(所谓的 develop ...

  9. 系统集成项目管理工程师_系统集成项目管理工程师,最热门的入户软考专业!...

    什么是系统集成项目管理工程师? 系统集成项目管理工程师,是全国计算机技术与软件专业技术资格考试项目之一,是由国家人力资源和社会保障部.工业和信息化部共同组织的国家级考试,既属于国家职业资格考试,又是职 ...

  10. 嵌入式工程师是硬件工程师么‘_硬件工程师修炼真经

    导师分配课题项目做了,我想选择硬件,毕竟大学本科从事过电子大赛,熟悉一些,对这方面感兴趣,深知自己没有熟练掌握硬件技术,所以从网上搜索了硬件工程师所要学习的知识和技能,和大多数初学者一起共享.加油! ...

最新文章

  1. 39岁单身程序员入住养老院,提前过上退休生活?网友:羡慕又心酸!
  2. javascript function
  3. 解决tomcat shutdown时的地址被占用问题
  4. 分别在(ModelAtrs)Ascend、(Ubuntu16.04服务器+18.04镜像)GPU、(Ubuntu18.04)CPU下通过MindSpore实现(cifar10)图像分类
  5. 学习了下简单的光照模型
  6. Windows SharePoint Services To Be Open Source With 2007 Microsoft Office Release
  7. Don't stop pretraining,继续预训练!
  8. K8S - 为 Docker 而生
  9. B站游戏大佬飘了?深挖B站辱北邮事件经过:不是第一次
  10. Vue学习之从入门到神经(两万字收藏篇)
  11. ReentrantLock源码lock和tryLock区别
  12. 2020年考研时间安排表
  13. Typora安装教程
  14. 三亚适合几月份去玩 三亚必去的地方是哪里
  15. 如何在win7旗舰版下运行汇编的debug、masm、link等
  16. 解读丨修身齐家治国平天下
  17. SAP 用户没有下载数据到本地的权限
  18. 新媒体运营胡耀文教程:产品运营视阈下的数据分析
  19. 【随笔】记录一次简易的液位报警器的拆机修理
  20. start.bat批处理文件

热门文章

  1. 问道手游服务器维护,问道手游3月14日服务器维护内容一览
  2. android 卡片机,效果堪比卡片机 各品牌超强拍照手机推荐
  3. Decipher the internal structure of some webpage
  4. 惊!一个千万级 PV 规模高性能高并发网站架构
  5. 中文标点符号占用几个字节_英文字符占几个字节?汉字字符、还有标点呢?????...
  6. js包含字符串判断(js判断字符串包含某个字符串)
  7. css3 keyframes zoom,CSS3通过@keyframes创建动画
  8. OpenGL理解VBO,IBO,VAO
  9. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java汽车租赁管理系统mfobv
  10. Visio卷积神经网络模型-- 网格制作,多行方格(二)