当前位置:网站首页>怎么学自动化测试,可以自学吗?
怎么学自动化测试,可以自学吗?
2022-07-21 06:38:00 【泽泽说测试】
首先,你需要有心理准备,不是说会自动化,就不用干手工测试了。 自动化测试没有办法完全取代手工测试,有些测试场景,自动化的成本要明显高于手工。
其次,咱们把平时的测试工作简单分一下类,手工测试最常见的就是基于界面的测试,通常可以串起来整套流程。 但是对于分层测试来说,接口测试是一种回报率更高的方式,自动化测试在接口测试的应用是最普遍的。 当然,还有性能,安全,这些一般都是自动化来实现。
然后,再来说一下技能。技能一般分为工具和代码两种,他们都可以达到自动化测试的效果。 如果代码能力较差,一般会先会一些工具过渡,然后再把编程能力提上来。 而且一定需要注意的是,业务测试的能力是绝对不能丢的。
工具常用的有 jmeter, postman 这样的工具,现在国内也出现了像 metersphere, apifox 等等自动化工具,都可以了解一下,其中,我个人觉得 jmeter 是要重点掌握的,它的能力足够强,既可以做全流程的接口测试,也可以做性能测试。
然后是界面端的工具,一般就是集成录制和回放功能,然后生成代码片段,以及一些遍历工具。 像 selenium ide, cypress, katalon studio 等等。 cypress 会比较流行一点,但是需要会一点 javascript 基础。 这一类工具的实用性不是很强,要么就是迁移性较差,要么就是应用不广泛,还有的是学习成本高。
接下来,说一下编程。当会一些工具之后,一般都会掌握一两门编程语言。一方面,会编程职业前景会好一点,另一方面,很多工具都会支持通过编程来自定义脚本。
编程语言的选择,测试领域一般是 python 和 java,如果没有接触过,两个选一个就行了。 如果前端测得多,要求高,最好学一下 javascript。 对于测试来说,刚开始上手的时候,我觉得没有必要太精通,花过多心思在各种编程语言的进阶用法上,能写出测试用例就差不多了,在工作中再去提升。
掌握好编程语言后,会接触各种各样的框架和库,他们就是去干具体的测试工作的。以 Python 为例,做用例编写,用例收集,用例运行,测试报告生成会用到单元测试框架,比如 unittest 和 pytest。
接口自动化一般会用到 requests / aiohttp / httpx 这样的库, 界面端会用到像 selenium / playwright / appium /airtest 这样的框架, 性能会用到 jmeter/ locust 这样的东西。
以他们为核心,要实现的大多数测试场景和技术,都很少从零开始写,会用到具体的库,比如怎么操作 csv 文件,怎么操作 yaml, 怎么实现参数化,怎么控制数据库,怎么处理数据依赖,怎么做数据生成,怎么清理垃圾数据, 怎么实现并发,怎么做分布式处理,怎么做集成,怎么部署自动化执行环境,就不一一展开说了。
有缘再聊吧。
本文完,如果不过瘾,我还整理了软件测试入门到进阶的完整笔记,可以点击查看
软件测试需要学习什么?
已经更新的内容有 Selenium网页端web自动化测试:
一、为什么用Selenium做自动化测试
二、Selenium chromedriver安装教程和快速使用
四、Selenium元素定位方式
五、Selenium等待方式
六、Selenium滚动页面
七、Selenium如何使用POM分层模式
八、Selenium关键字驱动自动化测试框架
Appium移动端App自动化测试
一、Appium环境搭建保姆级教程
二、Appium五分钟快速上手
三、Appium如何进行元素定位
四、Appium核心API操作
五、Appium获取和点击坐标
六、Appium实现图片放大和缩小
七、Appium H5 页面怎么测试
八、Appium 2.0 发布,如何升级
九、Appium并发测试如何做
快点进来看看吧:
软件测试和自动化测试学习路线图
边栏推荐
- 【RM_EE_Note】2 串口&遥控器
- 【毕设教程】物联网/嵌入式/单片机毕业设计项目开发流程
- [daily training] 1260 2D mesh migration
- What is the new generation of enterprise IT architecture? Cloud primordial? Low code?
- Chrome实现自动化测试:录制回放网页动作
- 牛客刷题 01——KiKi去重整数并排序(C语言)
- 多线程一定能优化程序性能吗?
- Simple understanding of gateway
- New features of mqtt5.0 (compare with 3.1.1)
- 【数据分析01】
猜你喜欢
[completion course] development process of IOT / embedded / MCU graduation design project
来可CAN光端机解决赋安FS5216/FS5116等联动型消防主机消防组网问题
Vs2022 shortcut key settings
Sword finger offer_ Knowledge transfer ability
Cloud foundry 4: application lifecycle
[daily training] 1260 2D mesh migration
"Core engine" of Technology
Halcon and opencv finally chose the latter
20220719 adapt openharmony-v3.1-beta to aio-3568j
Analyze the Enlightenment of children's programming thinking
随机推荐
DOM -- preloading and lazy loading
两个list求差
牛客刷题 01——KiKi去重整数并排序(C语言)
Division of class B network subnets
Vscode running C language file
Cannot open source file < stdio. in CUDA file h>
C managed and unmanaged resources
How PHP queries whether there are specified tables in MySQL database
06. Introduction, installation and simple use of octave
DOM -- page rendering process
【日常训练】1260. 二维网格迁移
itk中值滤波
dom——style的操作
分析少儿编程思维的启蒙问题
Halcon and opencv finally chose the latter
[completion course] development process of IOT / embedded / MCU graduation design project
[终端_1]-Xshell 5 最火的终端软件!
& lt; A & gt; Étiquette pour passer à la page serveur et passer les paramètres
TCP/IP协议栈Lwip的设计与实现:之五
Brush questions: Niuke - quick introduction