一、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层的自动化测试”。对于性能测试,接口测试一般不把它们归纳为自动化测试的范畴。

  1. 为什么要做自动化测试?
    根据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内容 【附图】 如下:

python自动化测试学习路线相关推荐

  1. python自动化测试学习路线(从入门到精通)

    目录:导读 一.Python的应用场景 二.自动化测试的那些事 三.主流自动化测试框架 三.Python自动化测试学习路线 写在最后 一.Python的应用场景 Python用于简单脚本编程,如编写2 ...

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

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

  3. 萝卜爆肝Python自学学习路线

    最近经常有小伙伴咨询,Python 到底该怎么学,有什么学习路线可以参考下,萝卜作为一名深度 Python 爱好者,今天就来分享下,一个小白,该如何入门 Python,具体该以怎样的路线来学习呢 学习 ...

  4. python速成要多久2019-8-28_2019最全Python入门学习路线,不是我吹,绝对是最全

    近几年Python的受欢迎程度可谓是扶摇直上,当然了学习的人也是愈来愈多.一些学习Python的小白在学习初期,总希望能够得到一份Python学习路线图,小编经过多方汇总为大家汇总了一份Python学 ...

  5. 自学python推荐书籍2019-2019最全Python入门学习路线,不是我吹,绝对是最全

    近几年Python的受欢迎程度可谓是扶摇直上,当然了学习的人也是愈来愈多.一些学习Python的小白在学习初期,总希望能够得到一份Python学习路线图,小编经过多方汇总为大家汇总了一份Python学 ...

  6. python学习路线-Python最佳学习路线

    Python最佳学习路线 如何学习Python 最近开始整理python的资料,会陆续放到博客中存档.找了几个qq群,其中有一个群78486745(点击进群).后面就没怎么加群了,还是需要看官方文档为 ...

  7. python自动化测试视频教程_精品系列-悠悠Python自动化测试学习视频,资源教程下载...

    课程名称 精品系列-悠悠Python自动化测试学习视频,资源教程下载 课程目录 第1课-http协议上 .mp4 第1课-http协议下.mp4 第2课-fiddler抓包与测试上.mp4 第2课-f ...

  8. 新手python爬虫代码_新手小白必看 Python爬虫学习路线全面指导

    爬虫是大家公认的入门Python最好方式,没有之一.虽然Python有很多应用的方向,但爬虫对于新手小白而言更友好,原理也更简单,几行代码就能实现基本的爬虫,零基础也能快速入门,让新手小白体会更大的成 ...

  9. 针对新人的:Python最佳学习路线

    原文作者:佛山小程序员 原文链接:https://blog.csdn.net/weixin_44192923/article/details/86515020 Python最佳学习路线 最近开始整理p ...

最新文章

  1. Vue 组件库 HeyUI@1.16.0 更新日志
  2. HBase数据快速导入之ImportTsvBulkload
  3. 程序员为什么要单身?
  4. LeetCode Populating Next Right Pointers in Each Node II(dfs)
  5. 湖南打工妹逆袭,从北大才女到“网络红娘”,她用1000元赚了5个亿
  6. BZOJ 3043 IncDec Sequence:反向差分
  7. 【BZOJ3387】[Usaco2004 Dec]Fence Obstacle Course栅栏行动 线段树
  8. jQuery获取iframe的document对象的方法
  9. 网络故障排除连载之七:设备兼容性故障排除
  10. python之网络编程1-socket-tcp与udp
  11. mysql数据库运维_开源数据库MySQL DBA运维实战3
  12. springMVC:后台传值并返回页面
  13. Linux内核分析——操作系统是如何工作的
  14. 同步与异步、异步与回调
  15. PDF Converter 注册码
  16. 51单片机TMOD及定时器配置
  17. Java集合,泛型,枚举详解
  18. .md文件简单的转化为pdf文件
  19. MovieClip详解
  20. Instagram登录使用教程目录

热门文章

  1. 骁龙8884g和骁龙8885g区别 骁龙888 5g和4g跑分
  2. android分辨率apk,安卓分辨率、apk分辨率介绍
  3. 通过分段传送避免FTP传输文件假死
  4. 网页设计中的极简主义
  5. python零基础自学书籍-2018完整Python零基础到项目精通的学习书籍
  6. 学Python还是Java, 7张漫画带你全面分析!
  7. ViewBag(动态视图)、ViewData、ViewDataDictionary区分
  8. VirtualBox虚拟机中使用U盘等USB设备的设置方法
  9. Key Spotting 小总结【关键词搜索】【大部分源于interspeech和ICASSP】
  10. 导航小车利用laser_scan_matcher实现建图