首先目前的话主要可以分为两个方向,要么是基于Java的自动化,要么是基于Python的自动化,很多做培训在培训的时候也是这样去划分,不过这个倒是不重要,归根结底都是为了解决问题的。

本文从4个面向去解答这个问题:

一、自动化测试的学习步骤;
二、自动化测试需要掌握的技术能力;
三、自动化测试的认识误区                                                                                                                   四、自动化测试学习资源

一、自动化测试的学习步骤

1. 做好手工测试(了解各种测试的知识);

2. 学习编程语言;

3. 学习Web基础;

4. 学习自动化测试工具 ;

5. 学习自动化测试框架 ;

6. 实现自动化测试用例 ;

7. 开发自动化测试工具;

8. 开发自动化测试框架。

按照这个步骤来说,基本上到第7步,难度就比较大了,这个时候也可以称呼自己为“测试开发”

二、做自动化测试需要掌握哪些技能?

当初自己做的时候一直是基于Python去做的自动化,同时Python自动化也比java自动化更为容易上手一些,在这里我就按照Python自动化的思路去说一下如何学习自动化,解答完这个问题,文章的后半部分也会分享一下做自动化测试中容易出现的一些问题。老规矩,思维导图放在文末。

 【自动化测试学习路线】

不论学习什么东西基础最重要的,基础学好了后面的学起来自然就轻松了

首先从最基本的python基础语法开始到函数和模块以及面对像编程再到自动化测试框架一步一个脚印开始学。

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

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

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

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

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

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

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

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

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


三、自动化测试的12个认识误区

1、自动化的软件测试与手工的软件测试过程一样
有些人认为自动化的软件测试就是简单地按一个录制的按钮,产生测试脚本。而事实上并没有那么简单。

最重要的是,自动化测试工程师需要掌握软件开发技巧,没有接受任何培训的手工测试人员,或者没有编程背景的手工测试人员,在实施自动化测试时会碰到很多困难。

2、自动化测试一定会马上大量减少测试人员数量
自动化测试不会马上大量减少测试人员数量。因为开展自动化测试初期需要投入一定的人力进行自动化测试脚本开发,并逐渐将自动化测试脚本用于日常的测试中,逐步减少手工测试人员从事重复劳动的时间和人数。为了缩短自动化测试脚本的开发时间,可以考虑将自动化测试脚本的开发工作借助外包的力量来早日实现大规模的自动化测试。

3、测试自动化就是录制和回放
仅仅录制得到的不是有效的自动化脚本。
很多项目经理仍然把测试自动化等同于使用录制回放工具。而事实上,录制得到的脚本通常是不可重用的脚本,脚本中充满了硬编码的值,这些值应该被参数化,否则脚本仅仅适用于一个测试情况,脚本还应该加入条件判断、循环等结构,以便增强测试脚本的灵活性。

4、自动化测试找不到bug
自动化测试不直接找bug,而是通过解放有经验的测试工程师的生产力,让其从重复的回归测试中解放出来,从事新的测试方法和测试手段的研究。通过自动化测试解放出测试人员的时间和精力来间接地找到更多、更深层次的新bug,将产品质量再提高一个档次。

5、自动化测试工具是“万能”的
很多人一听到自动化测试,就认为自动化测试工具可以完成一切测试工作,从测试计划到测试执行再到测试结果分析,都不需要任何人工干预。显然,这是一种理想状态,现实中还没有哪个测试工具有这个能力,并且将来也不会有。在现实中有关的测试设计、测试案例,以及一些关键的测试任务还是需要人工参与的,即自动化测试是对手工测试的辅助和补充,它永远也不可能完全取代手工测试。

6、自动化测试工具容易使用
对于这一点,很多测试工程师有同样的错误观点,认为测试工具可以简单地通过捕获(录制)客户端操作生成脚本,且脚本不加编辑就可用于回放使用。事实上,自动化测试不是那么简单的,捕获的操作是否正确,以及脚本编辑是否合理都会影响测试结果。因此,自动化测试需要更多的技能,也需要更多的培训。

7、自动化能提供百分百的测试覆盖率
并非所有内容都可以被自动化地测试到。不可能覆盖所有可能的输入,所有可能的组合和路径。

自动化测试可以增加测试的广度和深度,但是仍然无法达到100%的测试覆盖率,因为没有足够的时间或资源。

8、忘记了测试的最终目标:找到BUG
在自动化测试中,同样要注意把边界值分析、等价类分析、基于风险的测试方法、挑选最合适的测试用例等技术应用起来。

通常在自动化测试过程中,我们都忙着搭建自动化框架和编写测试脚本,但是我们往往忘记了测试的本来目的:找bug。

项目经理可能雇佣了最好的自动化开发人员来搭建框架,使用了最新最好的自动化开发技术,创建了成千上万的自动化测试脚本。但是如果BUG仍然被遗漏了,那些本该被自动化测试脚本捕捉到的BUG,结果没有被捕捉到,那么你的自动化测试仍然会被认为是失败的。

9、所有测试用例都可以自动化
在自动化测试投入较多的行业,领先企业的自动化测试率有的能达到80%左右,但仍有20%左右的测试用例需要手工来进行。在国外,通常从开发第一版测试用例时,就同步进行自动化测试脚本的开发,所以自动化测试率普遍比中国企业高。

10、只有性能测试才需要自动化
自动化测试不光进行性能测试,更被大量应用于功能测试验证,在国外超过半数的自动化测试脚本都是用于功能验证测试的。

11、测试工具可适用于所有的测试
每种自动化测试工具都有它的应用范围和可用对象,所以不能认为一种自动化测试工具能够满足所有测试的需求。针对不同的测试目的和测试对象,应该选择合适的测试工具来对它进行测试。在很多情况下,需要利用多种测试工具或者开发自动化测试框架才能达到自动化测试的目的。商业和开源的测试工具能够用来进行自动化测试,但是我们需要根据自身产品的特点,开发自动化测试框架,在框架中提供常用的测试用例,加快测试速度,达到测试用例复用,这是今后测试自动化发展的道路。

12、自动化测试能发现大量新缺陷
发现更多的新缺陷应该是手工测试的主要目的,不能期望自动化测试去发现更多新缺陷。事实上,自动化测试主要用于发现原来的缺陷。自动化测试用于回归测试,而大量的新业务测试更多地还是依赖手工测试。

除了以上列举的常见误区外,还有其他不同的认识误区。自动化测试认识误区的产生,归根到底最本质的原因是由于对自动化测试不现实的期望,也就是期望过高造成的。

如果没有建立一个正确的软件测试自动化的观念,认为测试自动化可以完全代替手工测试,或者认为测试自动化可以发现大量新缺陷,或者不愿在初期投入比较大的开支等,则自动化测试一定会让我们大失所望。

相信通过这样的解答,明白了什么时候用手工测试,什么时候用自动化测试,并且知道了自动化测试的局限性,这样就不会对做自动化测试的意义产生质疑了。

四、自动化测试学习资源

三、 Python入门基础必备学习资料

四、常用抓包工具教程

五、面试资料

我们学习软件测试必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

上面是我整理的配套资源,这些资源对于软件测试的的朋友来说应该是最全面最完整的备战仓库,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你。

如何学习自动化测试?一文4从个方面带你入门自动化测试【建议收藏】相关推荐

  1. 学习javascript这一篇就够了超详细笔记(建议收藏)上

    学习javascript这一篇就够了超详细笔记(建议收藏)上 1.初识 计算机基础导读 编程语言 计算机基础 初识js 浏览器执行 js组成 js初体验-三种书写位置 js注释 js输入输出语句 2. ...

  2. DL之模型调参:深度学习算法模型优化参数之对深度学习模型的超参数采用网格搜索进行模型调优(建议收藏)

    DL之模型调参:深度学习算法模型优化参数之对深度学习模型的超参数采用网格搜索进行模型调优(建议收藏) 目录 神经网络的参数调优 1.神经网络的通病-各种参数随机性 2.评估模型学习能力

  3. 软件测试python测试步骤_软件测试员必备基础:3分钟带你入门自动化测试!

    目前自动化测试并不属于新鲜的事物,或者说自动化测试的各种方法论已经层出不穷,但是,能够明白自动化测试并很好落地实施的团队还不是非常多,我们接下来用通俗的方式来介绍自动化测试-- 首先我们从招聘岗位需求 ...

  4. 深度学习到底有多难?这篇文章带你入门!

    随着2020年的到来,人类进入了一个崭新的十年.回顾过去10年,深度学习领域取得了巨大进步,解决了许多以前难以解决的问题. 从自动驾驶到Deepfake,深度学习正在改变世界.随着深度学习在各个领域井 ...

  5. 数据和云2020年度最受欢迎的Top10文章、专栏、文档、直播资源大放送(建议收藏)...

    转眼又到了总结一年的时刻,这一年我们积累了很多,也分享了很多,我们在过去的一年,应广大读者需要,增加了数据库直播推荐(包括直播资源放送).墨天轮优质专栏推荐,数据库的每日一题.每日一练等. 这里,我们 ...

  6. 一文搞懂 Cocos Creator 3.x 坐标转换!建议收藏

    Cocos Creator 3.x 如何将世界坐标转屏幕坐标?Creator 3D 怎么将 3D 坐标转化到 Canvas 上面?触摸的屏幕坐标如何转世界坐标?怎么把 Canvas 下的节点坐标转换为 ...

  7. 怎么选择日语学习资料才能避坑不踩雷?(纯干货,建议收藏)

    作为一个"资深日语爱好者",我觉得很有必要跟大家分享一下我的血泪史.谨以此祭奠那些我走过的弯路,给你们做小小参考 关于日语学习资料,初级的"收集者们",一定仔细 ...

  8. 《golong学习笔记》,从零开始入门(建议收藏⭐️)

    Go语言学习笔记 本菜鸟的Go语言学习笔记,历时1个月,包含了Go语言大部分的基本语法(不敢说全部),学习期间参考了各种视频,阅读了各种文章,主要参考名单如下: 点击跳转到参考名单<( ̄︶ ̄)& ...

  9. 15个学习Python 的编程游戏网站,边学边玩,建议收藏

    这是本文的标题 前言 1.CodeChef : 2.Pex for fun : 3.Rankk : 4.TopCoder : 5.Google Code Jam : 6.Python Challeng ...

最新文章

  1. Chrome v28 会在pwd目录下生成libpeerconnection.log文件
  2. HDU 5703 Desert 水题 找规律
  3. 余承东 鸿蒙不是手机,鸿蒙手机,来了!余承东:没有人会是一座孤岛
  4. 最优化理论与方法(part3)--矩阵的Rayleigh商
  5. 时间序列因果关系_分析具有因果关系的时间序列干预:货币波动
  6. python from import什么意思_Python 引用From import介绍
  7. mysql链接丢失_mysql 连接丢失错误解决(转载)
  8. 500并发 一台服务器的性能_面试官绝杀:系统是如何支撑高并发的?
  9. java中treemap_Java TreeMap – Java中的TreeMap
  10. windows 驱动开发使用的一些工具
  11. 从拉新、促活/留存和营收说起,做运营到底是在做什么?
  12. 怎么查看SAP用户化指南(SPRO --> SAP参考IMG)里各个功能的事务代码
  13. 两张动图-彻底明白TCP的三次握手与四次挥手
  14. 【物联网】物联网项目之北向接口与南向接口
  15. 2019南京大学计算机考研录取名单,2019南京大学计算机考研录取名单啥时出来
  16. vertica java_Vertica数据查询优化
  17. android直播sdk+美颜,直播中有没有美颜SDK有何区别?
  18. c语言处理nc程序,NC程序的语言问题
  19. 稳压二极管、肖特基二极管、静电保护二极管、TVS管
  20. java 注册探探账号_零基础手把手教你开发探探类社交软件Tinder

热门文章

  1. 香港电影中的演员:F字头(持续更新中)
  2. Python入门教程详解
  3. SQL Server服务远程过程调用失败解决
  4. 基于html、css的个人网站(网页制作期末作业)
  5. 深度学习——学习率衰减(learning rate decay)
  6. 中间件选型标准和流程
  7. Oracle 时间段查询
  8. jpeg2000(j2k)图像编码解码:c++实现openjpeg内存流接口(memory stream)
  9. HMS Core-IAP特性功能之卡券服务
  10. 认知,构建个人的知识体系(上)