ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python自动化测试需要学什么?怎么去学?从哪里开始学?看完本文学习自动化测试目标明确,学习简单粗暴。

2022-06-25 20:31:54  阅读:130  来源: 互联网

标签:框架 Python 测试人员 学习 UI 测试 自动化


写这篇文章之前,我接触了不少的同行,因为之前他们一直都从事手工测试,现在迫切的希望做自动化测试,其中不缺乏其中不乏工作5年以上的人。 本人从事软件自动化测试已经近5年,从server端到web端,从API到mobile,切身体会到自动化带来的好处与痛楚,在此分享一下个人体会。想做自动化,首先得了解一下自动化测试的一些常见问题:

自动化测试一些问题

一、学习自动化之前,大家需要先知道自动化测试是啥? 

广义上来讲,自动化包括一切通过工具(程序)的方式来代替或辅助手工测试的行为都可以看做自动化,包括性能测试工具(LoadRunner、Jmeter),或自己所写的一段程序,用于生成1到100个测试数据。所以实际上从广义上来讲:性能测试、接口测试等但凡用到测试工具的测试都称为"自动化测试"。

狭义上来讲,通工具记录或编写脚本的方式模拟手工测试的过程,通过回放或运行脚本来执行测试用例,从而代替人工对系统的功能进行验证。
当然,行业中经常说的“自动化测试”及企业中要求的“自动化测试”大多都是“基于产品或项目UI层的自动化测试”。对于性能测试,接口测试一般不把它们归纳为自动化测试的范畴。

二、为什么要做自动化测试

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

三、自动化测试主要有哪些

自动化测试一般分三种:单元自动化测试,接口自动化测试,UI自动化测试。

其中单元自动化测试一般由研发人员自己进行测试,测试人员主要进行接口以及UI的自 动化测试,但是由于UI的需求变化比较频繁,所以接口测试是测试人员做的最多的。 

四、自动化测试的优势

频繁的回归测试 - 快速反馈 - 几乎无限制的测试用例迭代执行 - 支持敏捷和极限编程 - 遵循测试用例的文档 - 自定义缺陷报告 - 能找出手工测试中没发现的缺陷

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

假如你已经决定要学习自动化测试了,如何学习是要面临的下一个问题?这个问题以被测试产品为出发点进行分析,假如你所学的技术不能得到应用(验证),将会使你的学习过程寸步难行。 

首先考考虑产品是否适合做自动化测试。这方法比较普遍的共识是从三个方面进行权衡。2.6软件需求变动不频繁2.7测试脚本的稳定性决定了自动化测试的维护成本。如果软件需求变动过于频繁,测试人员需要根据变动的需求来更新测试用例以及相关的测试脚本,而脚本的维护本身就是一个代码开发的过程,需要修改、调试,必要的时候还要修改自动化测试的框架,如果所花费的成本不低于利用其节省的测试成本,那么自动化测试便是失败的。项目中的某些模块相对稳定,而某些模块需求变动性很大。我们便可对相对稳定的模块进行自动化测试,而变动较大的仍是用手工测试。项目周期较长

由于自动化测试需求的确定、自动化测试框架的设计、测试脚本的编写与调试均需要相当长的时间来完成。这样的过程本身就是一个测试软件的开发过程,需要较长的时间来完成。如果项目的周期比较短,没有足够的时间去支持这样一个过程,那么自动化测试便成为笑谈。

自动化测试脚本的重复使用要从三个方面来考量,一方面所测试的项目之间是否很大的差异性(如C/S系统和B/S系统的差异);所选择的测试工具是否适应这种差异;最后,测试人员是否有能力开发出适应这种差异的自动化测试框架。

六、主流自动化测试框架

  • 自动化测试框架

桌面程序的工具有: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 ;

  • 市面主流自动化测试框架

RFS: Robot Framework + Selenium
Selenium+unittest框架
为什么不是QTP 或其它工具?因为selenium 对B/S应用支持很好,更重要的一点,它支持多语言的开发,真正的试用selenium ,你所要掌握的不仅仅是一个工具而已,你还需要学习一门语言。

七、测开选择python还是java?

从语言易学性来讲: ruby、python;
从语言应用广度来讲: python、java、C#、php;
从语言相关测试技术成熟度及资料来讲: python、java、ruby;
你可以考虑整个技术团队主流用什么语言,然后选择相应的语言;
我们在这里自然选择目前市面上最火,使用范围广,技术成熟度大的Python讲解;

八、自动化测试学习路线

功能测试如何系统性转向自动化?下面我整合了一些企业中常用必备的点给大家做一个分享:

一、先学习一门编程语言,建议python【注意图片没有全部展示出来,包括下方所有未全部展示的学习路线图原图,需要的朋友可以点此处查看公告处加入我的自动化测试交流群下载,(←可点击直达公告处)

由于文章篇幅不能过长,所有节点没有展现出来,有需要的朋友可以加入我的技术交流群自行下载

二、Python自动化测试框架应用

 

三、自动化测试篇 - Web UI 自动化 

 

 

四、自动化测试篇 - 移动端UI 自动化

 

 

五、自动化测试篇 - 接口自动化测试

 

 

六、自动化测试篇 - 持续集成Git、jenkins、Docker

 

 

 七、自动化测试篇 - 性能测试LoadRunner、jmeter、app性能

 

 

 八、自动化测试篇 - WEB安全测试、渗透测试、漏洞扫描

 

 

九、自动化测试篇 - RobotFramework、AirTest

 

 

10、测试开发篇-自动化测试平台开发

 

 

11、互联网高薪测试拓展知识、Redis、MongoDB、Nginx集群实战

 

更希望想自学的你一样,通过我的分享可以少走一些弯路,可以形成一条自己的体系,并应用到实际中。当然,也真心的希望你们升职加薪,因为有面包才会有更好的生活追求。

总结

这些技能将帮助测试人员在行业中获得非常高的价值。特别是对所有最新的自动化工具以及CI/CD工具(如Jenkins或GitLab)都有适当的了解,那么你不仅将成为团队中有价值的资源,而且还将成为行业中有价值的资源。

学习性能测试、自动化测试、安全测试什么的,肯定事半功倍。

标签:框架,Python,测试人员,学习,UI,测试,自动化
来源: https://www.cnblogs.com/1024testing/p/16412259.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有