自动化测试工程师学习方法,你也可以成为优秀的测试工程师...

本文介绍了自动化测试的重要性,特别是对于个人和企业的价值。文章详细阐述了如何从Python编程入门到精通自动化测试,涵盖了接口、Web和App自动化项目实战,并提到了常用的自动化测试工具,如Selenium和JMeter。此外,还讨论了性能测试、一线大厂简历要求以及测试开发DevOps体系的相关知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

为什么做自动化测试-你了解吗?

1、对个人来说
随着时代科技的进步,越来越多的工作偏向于了自动化,软件测试当然也不例外。从发展的趋势来说,只有不断的提升自己,面对各种变化,才可以追上科技的进步。

手动测试虽然是基础,但是企业不会在乎你的过程。只有高效率的工作才会让企业觉得你更有价值。自动化测试是软件测试的主流,也是软件测试的高薪专场!

2、对企业来说
为什么企业做自动化测试,从现在的情况来看,互联网需求迭代非常快,人员流动性非常大,所以工作时间比较紧迫,要在规定时间内提高工作效率,所以一个需求从提出到上线时间比较紧急,同时对于其影响的范围也可能不太清楚,在上线之前必须对原有功能进行回归测试。

不管是接口还是从客户端,都需要大量的测试工作,而且在大数据时代,测试用例量也是非常庞大的,如此繁复单调的工作让人工来测试的话,根本不能保证效率和质量,所以必须要借助于非人工手段来实现。

怎么才能算合格的测试工程师呢?

自动化测试工程师细分可以有UI自动化测试工程师,APP自动化测试工程师、接口自动化测试工程师等等。

首先,掌握一门编程语言,应该以Java或者python为主,虽然什么语言都可以用来做自动化测试,但毕竟这个两个是最流行的,如果想成为自动化测试工程师里,最主流的测试工程师,还是强烈推荐大家选择这两门语言。

然后,掌握主流的框架,如:Requests、selenium,appium,monkey,monkeyrunner之类的,基本上掌握了这个几个APP和UI自动化都可以玩的转了。

1、Requests-接口自动化测试

Requests是一个基于Python语言的第三方HTTP库,可以用于发送HTTP/1.1请求,包括GET、POST、PUT、DELETE等方法,以及HTTP连接池、身份验证、cookies、SSL和TLS等特性。

使用Requests库可以轻松地构建HTTP请求,并处理HTTP响应。在进行接口自动化测试时,可以使用Requests库发送请求,并对响应进行断言和校验,进而实现接口自动化测试。

Requests库可以与其他Python测试框架(如unittest、pytest)结合使用,构建出完整的接口自动化测试框架。使用Requests框架进行接口测试具有简单、易学、易用、灵活等优点,同时也可以满足大部分的接口测试需求。

2、Selenium-WebUI自动化测试

Selenium是一个流行的自动化测试工具,用于模拟用户与Web应用程序交互。它可以使用多种编程语言(如Java、Python等)编写脚本,通过控制浏览器的行为来实现自动化。

Selenium的主要功能包括:
模拟用户与Web应用程序的交互,例如单击、键入和滚动等。
断言验证,检查页面元素是否存在或符合预期。
处理弹出框、警告框等特殊情况。
支持多种浏览器(如Chrome、Firefox、IE等)和操作系统(如Windows、Mac OS X、Linux等)。

3、Postman-接口测试

Postman 提供功能强大的Web API和HTTP请求的调试,它能够发送任何类型的HTTP请求 (GET, POST, PUT, DELETE…),并且能附带任何数量的参数和Headers。

不仅如此,它还提供测试数据和环境配置数据的导入导出,付费的Post Cloud用户还能够创建自己的 Team Library用来团队协作式的测试,并能够将自己的测试收藏夹和用例数据分享给团队。

4、Monkey-稳定性测试

软件附带在sdk中,适用于android和ios,通过adb shell,生成用户或系统的伪随机事件。
压力测试结果:崩溃crash,无响应anr,基本命令:adb shell monkey 1000。

5、Jmeter-接口测试,性能测试

Apache JMeter是一个开源的Java桌面应用程序,主要用于web应用程序的负载测试。它还支持单元测试和有限的功能测试。

它有很多好的特性,比如动态报告、可移植性、强大的测试IDE等,并且支持不同类型的应用程序、协议、shell脚本、Java对象和数据库。

6、Robot Framework-WebUI自动化测试,接口测试

Robot Framework是一个开源自动化框架,它实现了用于验收测试和验收测试驱动开发(ATDD)的关键字驱动方法。Robot Framework为不同的测试自动化需求提供框架。

但是,通过使用Python和Java实现其他测试库,可以进一步扩展其测试功能。Selenium WebDriver是Robot Framework中常用的外部库。

测试工程师可以利用Robot Framework作为自动化框架,不仅可以进行Web测试,还可以用于Android和iOS测试自动化。对于熟悉关键字驱动测试的测试人员,可以轻松学习Robot Framework。

7、LoadRunner-性能测试

LoadRunner,是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。
企业使用LoadRunner能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。LoadRunner可适用于各种体系架构的自动负载测试,能预测系统行为并评估系统性能。

自动化测试常见问题解决

1、找不到元素,脚本报"NoSuchElementException:Unable to find element",或者"定位到了,不能操作,点击无效"

首先查看自己的"属性值"是否写正确;
元素的标签不唯一,默认找到第一个;
向上查看,元素是否在frame或iframe框架中;
查看元素是否在新打开的页面中,需要切换到新窗口;
换其它的定位方式;

id/name/class name/tag name/link text/xpath/css selector

检查元素属性是否是会变动的、是否是隐藏的;
添加等待时间:

sleep(),implicitly_wait(),WebDriverWait(driver, 10, 1).until(定位的元素, messages)

查看标签的属性是否有"style=‘display:none’->。元素不显示。属性改为block;
查看标签的属性是否有’οnclick=return false’->。取消点击。属性改为false(在百度首页,登陆的属性就是这个);

2、出现"object is not iterable":首先查看脚本,测试用例出现问题

3.出现"Indentation Error":
是语法问题,脚本代码没有正确对齐

4.使用PO设计模式封装的页面元素类,都有初始化函数"init"

5.页面元素调用Page类时候,Page函数,后面括号的"self"不用写

6.Page的初始化包含(self,driver)两个元素,在页面封装类中,初始化中调用方式为Page.init(self,driver)

7.类中定义变量,比如x=“hello”,调用使用:self.x

8.在测试用例调用自己页面封装的类时,经过实例化后po=Lzsp(driver),定义函数时候, 不需要再括号中写self

9.页面元素封装时候,定位方式一定要写正确,否则会出错

10.进行参数化的时候,读取数据的文件里面代码:“使用绝对地址,加双斜线”

11.运行自动化脚本时候将鼠标放到屏幕中间或者下方,(有可能切换窗口时定位不到)

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

每一次的努力,都是你成为更好版本的自己的一步。不要害怕失败,因为从失败中学到的教训会让你更加坚强。只要心怀信念,勇往直前,你就能够战胜一切困难,最终实现自己的梦想。

坚韧不拔的毅力和无畏的决心是成功的关键,即使遇到困难和挫折,也要勇往直前,相信自己,坚持不懈,为自己的目标而奋斗,只有这样才能实现自己的梦想。

每一天都是一个新的开始,无论你过去的成功与失败。抱着勇气和希望,迎接挑战并奋斗,终将收获所期盼的成果。记得向前看,不畏困难,坚持不懈,才能在人生道路上赢得胜利!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值