目录:导读

一、Python的应用场景

二、自动化测试的那些事

三、主流自动化测试框架

三、Python自动化测试学习路线

写在最后


一、Python的应用场景

  • Python用于简单脚本编程,如编写2048小游戏或12306的自动抢票软件;

  • Python用于系统编程,如开发系统应用;

  • Python用于开发网络爬虫;

    网络爬虫的用途是进行数据采集,也就是将互联网中的数据采集过来。网络爬虫的难点其实并不在于爬虫本身,由于网站方为了避免被爬取回采取各种各样的反爬虫措施,而如果想要继续从网站爬取数据就需要解决这些反爬虫措施,所以网络爬虫的难点在于反爬的攻克和处理。

  • 1、 Python用于Web开发,如个人博客、在线教育网站以及论坛等;

  • 2、 Python用于自动化运维,如通过写Python脚本实现对于服务器集群进行自动化管理;

  • 3、 Python用于网络编程,如Socket编程等;

  • 4、Python用于数据挖掘、机器学习等大数据与人工智能领域方向的程序开发,如在人工智能领域;

  • 5、Python用于自动化测试,如UI自动化测试(Python+Selenium等)、接口测试(Python requests等)、性能测试(Python Locust等)、安全性测试(Python Scapy等)、兼容性测试(Python+Selenium等)等;

二、自动化测试的那些事

1. 什么是自动化测试?

首先理清自动化测试的概念,
1、广义上来讲,自动化包括一切通过工具(程序)的方式来代替或辅助手工测试的行为都可以看做自动化,包括性能测试工具(loadrunner、jmeter),或自己所写的一段程序,用于生成1到100个测试数据。
所以实际上从广义上来讲:性能测试、接口测试等但凡用到测试工具的测试都称为"自动化测试"
2、狭义上来讲,通工具记录或编写脚本的方式模拟手工测试的过程,通过回放或运行脚本来执行测试用例,从而代替人工对系统的功能进行验证。

当然,行业中经常说的“自动化测试”及企业中要求的“自动化测试”大多都是“基于产品或项目UI层的自动化测试”。对于性能测试,接口测试一般不把它们归纳为自动化测试的范畴。

2. 为什么要做自动化测试?

根据51testing的《中国软件测试从业人员调查报告》,手工测试占到的89% ,相对开发来说,测试的门槛底,薪资普遍较底,所要求的知识面虽然有一定广度,但缺乏深度。这是测试的普遍现状。
正因为手功测试人门槛不高,使大量的毕业生,甚至是非专业人员涌入这个行业。从而增加了这个行业的激烈竞争。对于工作几年扔处于手工测试的人员来说都会有强列的危机感。由于工作的技术含量不高,薪资的涨幅遇到瓶颈,另一方面受到新进入者的威胁,同样的工作公司花5K招来的人就可以做,那么就不会花8K 的招。
  这个问题本不应该出现讨论技术的话题中,但他的确是大多测试人员不得不面对的一个问题。所以,从测试人员自身的发展来说,我其实非常需要通过自动化技术来增加自己有竞争力。
  自动化测试最实在的优势在于——工作好找:有一个测试工程师(并不是本人)发现一个有趣的现象,她申请过的几乎所有测试职位,在招聘时都需要自动化测试经验。但当她开始工作后,就发现这些公司都试图做自动化测试,但是结果大多不怎么地。不过,尽管她参与的都是一些悲剧的项目,不过她总能把这些悲剧包装成喜剧以应对下一次面试。

3、所以呢,既然自动化测试有那么多优势,为什么还有那么多项目做失败了呢?

我个人有个推论:
1、公司自动化测试人员能力不够
2、项目难度太大,功能不稳定,需求变化太快,就盲目启动自动化,导致自动化脚本开发频繁改变,更不上需求变化的速度,最终以失败告终
3、项目过于复杂,大部分功能无法实现自动化,仅仅只有小部分功能实现自动化,这个对于项目意义不大。
4、公司人员流动大,导致自动化脚本维护的难度加大,最终夭折。

当然自动化测试还有个优势:自动化测试可以将产品的知识固化到脚本中,以降低测试人员流动对项目造成的影响。但是这个优势的前提是,这些脚本易于维护,这就需要一些必要的文档,这又是另一个议题了。

4、什么项目适合做自动化测试?

假如你已经决定要学习自动化测试了,如何学习是要面临的下一个问题?这个问题以被测试产品为出发点进行分析,假如你所学的技术不能得到应用(验证),将会使你的学习过程寸步难行。
首先考考虑产品是否适合做自动化测试。这方法比较普遍的共识是从三个方面进行权衡。
1、软件需求变动不频繁
测试脚本的稳定性决定了自动化测试的维护成本。如果软件需求变动过于频繁,测试人员需要根据变动的需求来更新测试用例以及相关的测试脚本,而脚本的维护本身就是一个代码开发的过程,需要修改、调试,必要的时候还要修改自动化测试的框架,如果所花费的成本不低于利用其节省的测试成本,那么自动化测试便是失败的。
  项目中的某些模块相对稳定,而某些模块需求变动性很大。我们便可对相对稳定的模块进行自动化测试,而变动较大的仍是用手工测试。
2、项目周期较长
由于自动化测试需求的确定、自动化测试框架的设计、测试脚本的编写与调试均需要相当长的时间来完成。这样的过程本身就是一个测试软件的开发过程,需要较长的时间来完成。如果项目的周期比较短,没有足够的时间去支持这样一个过程,那么自动化测试便成为笑谈。
3、自动化测试脚本可重复使用
自动化测试脚本的重复使用要从三个方面来考量,一方面所测试的项目之间是否很大的差异性(如C/S系统和B/S系统的差异);所选择的测试工具是否适应这种差异;最后,测试人员是否有能力开发出适应这种差异的自动化测试框架。

OK!讲明了上面那些事,我们现在可以学习自动化测试了

三、主流自动化测试框架

桌面程序的工具有:QTP、 AutoRunner
web应用的工具有:QTP、AutoRunner、Robot Framework、watir、selenium
手机App自动化测试:后续再分享
由于B/S架构的诸多优势,早几年前大量C/S架构的应用转为B/S结构。从而也推动了web开发与测试技术的发展。这也导致QTP框架的落寞,Selenium框架及Robot Framework框架的大量兴起。

  • 假如,被测试有产品是C/S架构的,那么推荐QTP
  • 如果,被测产品是B/S 结构,那么推荐selenium
    为什么不是QTP 或其它工具?因为selenium 对B/S应用支持很好,更重要的一点,它支持多语言的开发,真正的试用selenium ,你所要掌握的不仅仅是一个工具而已,你还需要学习一门语言。我为什么要选择selenium?

目前市面主流自动化测试框架:

  • RFS: Robot Framework + Selenium
  • Selenium+unittest框架

那你说我们学什么???

自然选择主流框架,假如你决定使用selenium 了之后,你又面临了一个新的问题,选择一门语言。selenium 是支持java、python、ruby、php、C#、JavaScript 。

  • 从语言易学性来讲,首选ruby ,python

  • 从语言应用广度来讲,首选python,java、C#、php、

  • 从语言相关测试技术成熟度(及 资料)来讲:python ,java,ruby ,

或者你可以考虑整个技术团队主流用什么语言,然后选择相应的语言。

我们在这里自然选择目前市面上最火,使用范围广,技术成熟度大的Python讲解

三、Python自动化测试学习路线

  • 第一步:先学python ------- python不过关,别谈自动化。
  • 第二步:Selenium框架
  • 第三步:unittest框架
  • 第四步:项目
  • 第五步:Robot Framwork框架
    如果只学习Robot Framwork,通过这个来做自动化,别以为不要学习Selenium跟python了, 因为Robot Framework中的关键字可能不够用,不能满足你们的需求,那么我们需要自定义关键字,这个时候就必须自己得通过python+selenium来编写了。

在 栏目一中已经说明了python的应用王国了,用途很广,我们做自动化测试具体要学习那些python内容 【附图】 如下:

web自动化

写在最后

如果你觉得文章还不错,请大家 点赞、分享、留言 下,因为这将是我持续输出更多优质文章的最强动力!

看到这篇文章的人有觉得我的理解有误的地方,也欢迎评论和探讨~

你也可以加入下方的的群聊去和同行大神交流切磋

python自动化测试学习路线(从入门到精通)相关推荐

  1. python自动化测试学习路线

    一.Python的应用场景 Python用于简单脚本编程,如编写2048小游戏或12306的自动抢票软件: Python用于系统编程,如开发系统应用: Python用于开发网络爬虫: 网络爬虫的用途是 ...

  2. python入门到精通需要学多久-史上最详细python学习路线-从入门到精通,只需5个月时间...

    针对Python的初学者,从无到有的Python语言如何入门,主要包括了:Python的简介,如何下载Python,如何安装Python,如何使用终端.Shell,IDE等各种开发环境进行Python ...

  3. python入门只需20分钟-史上最详细python学习路线-从入门到精通,只需5个月时间...

    针对Python的初学者,从无到有的Python语言如何入门,主要包括了:Python的简介,如何下载Python,如何安装Python,如何使用终端.Shell,IDE等各种开发环境进行Python ...

  4. python 需要多久能够学精通_python入门到精通需要学多久-史上最详细python学习路线-从入门到精通,只需5个月时间...

    针对Python的初学者,从无到有的Python语言如何入门,主要包括了:Python的简介,如何下载Python,如何安装Python,如何使用终端.Shell,IDE等各种开发环境进行Python ...

  5. 史上最详细python学习路线-从入门到精通,只需5个月时间

    针对Python的初学者,从无到有的Python语言如何入门,主要包括了:Python的简介,如何下载Python,如何安装Python,如何使用终端.Shell,IDE等各种开发环境进行Python ...

  6. 2018大数据学习路线从入门到精通

    最近很多人问小编现在学习大数据这么多,他们都是如何学习的呢.很多初学者在萌生向大数据方向发展的想法之后,不免产生一些疑问,应该怎样入门?应该学习哪些技术?学习路线又是什么?今天小编特意为大家整理了一份 ...

  7. java学习路线:入门--进阶--精通的学习方案(书籍推荐)

    前言 对编程语言及其相关领域的学习是永无止境的,或许要穷极一生. 说明:文中的书籍和评语是整合了作者本人的理解和其他大佬的建议所得,如有其他建议或指正,欢迎留言. 一.java入门阶段 入门阶段主要学 ...

  8. 初学者大数据java学习路线从入门到精通

    大数据时代的出现简单的讲是海量数据同完美计算能力结合的结果,确切的说是移动互联网.物联网产生了海量的数据,大数据计算技术完美地解决了海量数据的收集.存储.计算.分析的问题.当我们最初谈大数据的时候,谈 ...

  9. 怎么自学python自动化测试-学习自动化测试,如何学习Python语言?

    一.Python常用领域Python用于简单脚本编程,如编写2048小游戏或12306的自动抢票软件: Python用于系统编程,如开发系统应用: Python用于开发网络爬虫: 有资料奉上,可以看看 ...

最新文章

  1. python实现yolo目标检测_从零开始PyTorch项目:YOLO v3目标检测实现
  2. 《基于Windows 7特性的程序开发系列》视频分享
  3. 微信公众平台——自定义菜单
  4. python爬取地图上的经纬度_Python调用百度地图API爬取经纬度
  5. 微软发布Win 10 开始按钮真正回归明年底上市
  6. 理解zookeeper的一致性及缺点
  7. 解决 pycharm can not save setting
  8. 【Kafka】Kafka Tool 2 使用教程 SASL_PLAINTEXT
  9. 华为AI开发平台ModelArts介绍和应用
  10. Nginx 502 Bad Gateway 自动重启脚本
  11. 非NLB网段的客户端无法访问NLB
  12. Machine Learning - VI. Logistic Regression逻辑回归 (Week 3)
  13. 安卓系统修改分辨率.2022.01.05
  14. Efficient and Effective Data Imputation with Influence Functions
  15. 视频教程-VR 游戏创业中的那些坑-其他
  16. Python+Vue计算机毕业设计房屋租赁管理系统p8pvy(源码+程序+LW+部署)
  17. 【毒鸡汤】基层管理如果没有这些心态,难!
  18. pandas中的窗口对象(窗口函数)
  19. 计算机微课课件评比活动总结,学校品德优质课评比活动总结
  20. 免费网络电话App 席卷移动互联网市场

热门文章

  1. 四连通 matlab,针对matlab 四连通,和八连通的详解
  2. 层次分析法之matlab代码实现
  3. 阿里云国际版ECS云服务器Windows系统手动搭建WordPress
  4. Android -- AndroidX库
  5. JS实现网页开关灯效果
  6. 网络基础之网络布线、数制转换和子网划分
  7. signal 11 (SIGSEGV), code 2 (SEGV_ACCERR)的原因和解决办法
  8. 登录界面—记住用户名和密码
  9. DO WE NEED ANISOTROPIC GRAPH NEURALNETWORKS?(EGConv)
  10. (二)卷积神经网络之——AlexNet