主页 > 技术经验 > 正文

怎么学习python自动化测试才好?

2022-08-13 16:01来源:未知编辑:fy

扫一扫

分享文章到微信

扫一扫

关注99科技网微信公众号

一、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. 什么是自动化测试?

首先理清自动化测试的概念,

广义上来讲,自动化包括一切通过工具(程序)的方式来代替或辅助手工测试的行为都可以看做自动化,包括性能测试工具(loadrunner、jmeter),或自己所写的一段程序,用于生成1到100个测试数据。

所以实际上从广义上来讲:性能测试、接口测试等但凡用到测试工具的测试都称为自动化测试

狭义上来讲,通工具记录或编写脚本的方式模拟手工测试的过程,通过回放或运行脚本来执行测试用例,从而代替人工对系统的功能进行验证。

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

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

根据51testing的《中国软件测试从业人员调查报告》,手工测试占到的89% ,相对开发来说,测试的门槛底,薪资普遍较底,所要求的知识面虽然有一定广度,但缺乏深度。这是测试的普遍现状。

正因为手功测试人门槛不高,使大量的毕业生,甚至是非专业人员涌入这个行业。从而增加了这个行业的激烈竞争。对于工作几年扔处于手工测试的人员来说都会有强列的危机感。由于工作的技术含量不高,薪资的涨幅遇到瓶颈,另一方面受到新进入者的威胁,同样的工作公司花5K招来的人就可以做,那么就不会花8K 的招。

这个问题本不应该出现讨论技术的话题中,但他的确是大多测试人员不得不面对的一个问题。所以,从测试人员自身的发展来说,我其实非常需要通过自动化技术来增加自己有竞争力。自动化测试最实在的优势在于——工作好找:有一个测试工程师(并不是本人)发现一个有趣的现象,她申请过的几乎所有测试职位,在招聘时都需要自动化测试经验。但当她开始工作后,就发现这些公司都试图做自动化测试,但是结果大多不怎么地。不过,尽管她参与的都是一些悲剧的项目,不过她总能把这些悲剧包装成喜剧以应对下一次面试。

三、主流自动化测试框架

桌面程序的工具有:QTP、 AutoRunner。web应用的工具有:QTP、AutoRunner、Robot Framework、watir、selenium

由于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 + SeleniumSelenium+unittest框架那你说我们学什么???自然选择主流框架,假如你决定使用selenium 了之后,你又面临了一个新的问题,选择一门语言。selenium 是支持java、python、ruby、php、C#、JavaScript 。从语言易学性来讲,首选ruby ,python从语言应用广度来讲,首选python,java、C++、php、从语言相关测试技术成熟度来讲:python ,java,ruby ,或者你可以考虑整个技术团队主流用什么语言,然后选择相应的语言。

99科技网:http://www.99it.com.cn

相关推荐
自动化测试 性能测试 测试开发 哪个有前途? 自动化测试 性能测试 测试开发 哪个有前途?

一、自动化测试 性能测试 测试开发 哪个有前途? 每一个方向做顶尖了,都有

技术经验2022-08-17

想要做自动化测试,应该从哪开始学? 想要做自动化测试,应该从哪开始学?

一、想要做自动化测试,应该从哪开始学? 首先,你要了解自动化测试包括哪

技术经验2022-08-13

自动化测试的意义是什么? 自动化测试的意义是什么?

一、自动化测试,失败的案例比成功的案例要多的多,那为什么我们还要坚持自

技术经验2022-08-13

关于软件测试行业,未来发展方向是否是自动化测试,非自动化测试是否会逐渐消失? 关于软件测试行业,未来发展方向是否是自动化测试,非自动化测试是否会逐渐消失?

一、关于软件测试行业,未来发展方向是否是自动化测试,非自动化测试是否会

技术经验2022-08-13

自动化测试团队如何去考核? 自动化测试团队如何去考核?

什么是自动化测试? 简要回答:自动化测试是使用机器来代替人工执行的一个

技术经验2022-08-13

什么场景适合自动化测试,什么场景不适合自动化测试? 什么场景适合自动化测试,什么场景不适合自动化测试?

一、什么场景适合自动化测试,什么场景不适合自动化测试? 这个问题可以转

技术经验2022-08-13

如何学习自动化测试? 如何学习自动化测试?

一、如何学习自动化测试? 我觉得学习自动化测试最好的方法:把你一些感兴

技术经验2022-08-13