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

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

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

二、自动化测试需要掌握的技术能力;

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

首先要说的就是自动化测试的学习步骤

  1. 做好手工测试(了解各种测试的知识)
  2. 学习编程语言
  3. 学习Web基础
  4. 学习自动化测试工具
  5. 学习自动化测试框架
  6. 实现自动化测试用例
  7. 开发自动化测试工具
  8. 开发自动化测试框架

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

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

一、首先要学会一门语言,java或者Python,这里针对Python去说。如果要能够满足自动化测试的需求,不要求Python的能力上来就达到精通的水平,但是最起码的使用是要有的,然后在后期在逐步根据测试工具进行进阶。


二、需要掌握前端的一些知识,无论学习语言还是前端知识,都是为了接下来的脚本和框架做铺垫。


三、数据库的重要性不言而喻,MySQL必须掌握


四、web端自动化测试工具selenium


五、接口测试自动化工具jmeter、postman等


六、移动端自动化测试appium


在这里主要就是把自动化划分为了web自动化测试、接口自动化和移动端自动化,我把完整的学习流程放上来。需要原图可以直接私我。


好了,明确完自动化测试的学习思路和流程,下面再额外的说一下在学习自动化之前,最容易出现的一些认识误区,如果这些问题不纠正的话,对于自动化测试的影响将影响比较大。

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

1、自动化的软件测试与手工的软件测试过程一样

自动化测试所需要的技巧与手工测试所需要的技巧是不一样的。

通常,你的项目经理会被那些测试工具销售们迷惑,认为自动化的软件测试就是简单地按一个录制的按钮,产生测试脚本。而事实上并没有那么简单。

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

2、自动化测试一定会马上大量减少测试人员数量

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

3、测试自动化就是录制和回放

仅仅录制得到的不是有效的自动化脚本。

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

4、自动化测试找不到bug

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

5、自动化测试工具是“万能”的

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

6、自动化测试工具容易使用

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

7、自动化能提供百分百的测试覆盖率

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

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

8、忘记了测试的最终目标:找到BUG

在自动化测试中,同样要注意把边界值分析、等价类分析、基于风险的测试方法、挑选最合适的测试用例等技术应用起来。

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

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

9、所有测试用例都可以自动化

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

10、只有性能测试才需要自动化

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

11、测试工具可适用于所有的测试

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

12、自动化测试能发现大量新缺陷

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

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

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

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



上面是我收集的一些视频资源,在这个过程中帮到了我很多。如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入我们扣扣群【313782132 】,里面有各种软件测试资源和技术讨论。


当然还有面试,面试一般分为技术面和hr面,形式的话很少有群面,少部分企业可能会有一个交叉面,不过总的来说,技术面基本就是考察你的专业技术水平的,hr面的话主要是看这个人的综合素质以及家庭情况符不符合公司要求,一般来讲,技术的话只要通过了技术面hr面基本上是没有问题(也有少数企业hr面会刷很多人)
我们主要来说技术面,技术面的话主要是考察专业技术知识和水平,上面也是我整理好的精选面试题。

你们测试团队如何提升自己的测试技能?

更多是靠技术讨论和学习交流,除了我们公司内部群之外,我们还会有相关的技术交流群,可以和跟很多同行一起学习,完善自己的技能树。IT行业技术更新迭代本来就很快,所以更需要保持学习的心态。感兴趣可以关注我。有不定期的发放免费的资料链接,还有同行一起技术交流。

加油吧,测试人!如果你需要提升规划,那就行动吧,在路上总比在起点观望的要好。事必有法,然后有成。

资源不错就给个推荐吧~

更多好文:

谈 postman自动化接口测试

selenium自动化测试入门 层级定位与定位一组元素

selenium自动化测试入门 浏览器多窗口切换

python+selenium自动化测试实战(邮箱登录为例)

软件自动化测试工具有哪些?手工测试与自动化测试应用场景区别

功能测试怎么做?常用功能测试方法总结【必看】

用于全栈自动化测试的最佳Python工具

了解2020年如何学习自动化测试相关推荐

  1. 2022年如何学习自动化测试?这篇文章告诉你

    随着人工智能的到来,现在自动化测试已经成为了一种热门的行业,说句实在话,也就是看在工资的面子上,总体来说工资还算理想,在照顾老婆孩子生活方面有盼头,所以即使要学的东西再多,再难,也有动力去冲,对,就是 ...

  2. 分步骤学习自动化测试

    软件自动化测试的学习步骤   大概步骤如下:   1. 做好手工测试(了解各种测试的知识)->  2. 学习编程语言-> 3. 学习Web基础(HTML,HTTP,CSS,DOM,Java ...

  3. python学习路线-2020年 Python学习路线及学习目标规划 拿走不谢!

    找不到完整的学习路线?小编分享2020年Python学习路线及学习目标规划拿走不谢,Python作为今年来特别受欢迎的编程语言,是AI时代头牌语言AI领域的敲门砖,Python已经入驻小学生教材,将来 ...

  4. 零基础如何学习自动化测试

    现在很多测试人员有些急于求成,没有任何基础想当然的,要在一周内上手自动化测试. 在自动化的过程中时候总有人会犯很低级的问题,有语法问题,有定位问题,而且有人居然连__init__.py 文件名都弄错误 ...

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

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

  6. 如何快速学习自动化测试

    自动化测试是现代软件开发领域中越来越流行的一种测试方法.它使用软件工具和脚本来执行测试,以提高测试的效率和准确性,减少测试的成本和时间.下面是一些常见的自动化测试技术,以及它们的优缺点. 功能测试自动 ...

  7. 2020李宏毅深度学习hw1

    2020李宏毅深度学习hw1 1.导入包 import sys import pandas as pd import numpy as np 2.加载数据 data = pd.read_csv('tr ...

  8. 0基础如何学习自动化测试?按照这7步一步一步来学习就成功了

    现在很多测试人员有些急于求成,没有任何基础想当然的,要在一周内上手自动化测试. 在自动化的过程中时候总有人会犯很低级的问题,有语法问题,有定位问题,而且有人居然连__init__.py 文件名都弄错误 ...

  9. 2020年新年学习目标

    2020年新年学习目标 1.JVM-SANDBOX 2.java进阶

最新文章

  1. Xilinx® 7 series FPGAs CLBs专题介绍(二)
  2. Java SE 6之GUI:让界面更加绚丽(上)
  3. tomcat 域名的配置
  4. 针对B2B平台的接口自动化测试系统
  5. 空间谱专题10:MUSIC算法
  6. linux进程socket通信,linux进程间通信--socket套接字 实例代码
  7. Centos7 安装OpenTSDB
  8. MySQLdb._exceptions.ProgrammingError: (1064, <NULL>)
  9. LLVM每日谈 | 知乎
  10. CloudFlare CDNJS 漏洞差点造成大规模的供应链攻击
  11. 机器学习基础(六)—— 交叉熵代价函数(cross-entropy error)
  12. idea的tomcat实现热部署遇到的问题
  13. 爬虫爬取csdn登陆页面持续加载,selenium模拟无法进行的解决方案
  14. html如何插入下拉菜單,html下拉菜单怎么做?html下拉菜单的代码实例介绍
  15. matlab中二维图plot,semilogx,semilogy,semilogy之间的作图区别
  16. ABP .Net Core 日志组件集成使用NLog
  17. C语言程序设计苏小红课后习题答案7.14.5
  18. win10 任务栏打开直接显示【此电脑】的设置方法
  19. 【舍友计划】恶搞~让计算机变卡变慢
  20. 程序员想要兼职,推荐些给大家(加班996,更应该兼职)

热门文章

  1. 电脑怎么录屏带声音?录屏软件哪个好?
  2. 科普 | ​生成对抗网络(GAN)的发展史
  3. 【编译原理】课程实验——基于Java的词法分析与语法分析
  4. js 创建自定义标签
  5. html5创建自定义标签,在html中创建自定义标签
  6. 学习Python:做数据科学还是网站开发?
  7. 对接微信、云闪付H5页面开发走过的坑
  8. 无电无网手机远程监控器,你值得拥有
  9. DIN11系列 大电流输出信号隔离模块线性驱动器0~100mA/0~500mA/0~2A/0-4A
  10. 解决github下载代码总是失败的问题