自动化测试有必要学吗?一篇从功能测试进阶到自动化测试...

news2024/11/25 19:46:32

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

问题:自动化测试有必要学吗?

答案肯定的!

1、何为自动化测试

首先,自动化测试是一种软件测试方法,是相对于手工测试的一种测试手段。其中,测试人员使用测试工具或编程语言编写脚本来执行测试。通过模拟用户行为、执行测试用例、检查系统行为、生成测试报告等方式来自动化测试流程。

手工测试是为了提高软件质量,自动化测试是在提高软件质量的同时提高测试效率(更好、更快、更省时,多快好省,降本增效),两者的最终目标是一致的,都是为软件质量服务。

常见的自动化测试工具包括Selenium、Appium、Request、Robot Framework、JUnit、TestNG等。

2、涨薪必备

学习自动化测试比较重要的一点就是涨薪的诱惑(打工不为工资,为爱发电吗?)或者说不会自动化测试在现在的行情下很难找到测试岗位工作。

随着行业内卷越来越严重,对于测试岗位的要求也是水涨船高,岗位招聘要求都会出现自动化、性能等字眼,因此也是我们跳槽面试、升职加薪必备利器。

虽然有的公司会用到自动化测试,但实际自动化的比例很小,甚至有些根本不会用到,但是面试的时候肯定会问到自动化,就是所谓的“面试造火箭,工作拧螺丝”。

3、职业发展

从职业发展的角度看,测试无非就是两条路线,技术路线和管理路线,技术路线一般就是功能测试、自动化测试、测试开发、测试架构师,管理路线一般就是测试工程师、测试组长、测试经理、测试总监。

如果你已经从事测试工作多年,那么掌握自动化测试技能必不可少。对于初级测试来说,虽然更多的是关注测试基础技能的掌握,但是会编程和自动化会是一个很好的加分项,特别是今年找工作比往年更难了。因此,会自动化测试也是自身的核心竞争力。

4、可以解决哪些痛点

1)构造测试数据

某些业务在测试之前需要准备前置条件,并且前置操作流程较长,在页面通过手工操作费时费力,此时就可以借助自动化脚本进行数据的初始化(比如调接口造数据,接口的响应时间一般都是秒级,甚至是毫秒级别的,比起页面操作可以更快完成数据的初始化);

某需求需要大量数据进行测试,就可以使用自动化工具Jmeter、Python/Java脚本循环造数据;

如果要造一些看似真实的假数据,还可以借助Faker库…

2)接口自动化测试

结合公司业务实现一套覆盖公司系统绝大部分接口的接口自动化测试框架,在上线前跑一遍,以便于测试人员第一时间发现问题,并提交给开发人员进行修复解决,减少线上Bug率。

3)web自动化测试

对于有些功能是在前端做校验,无法通过接口进行回归,又是主功能,就可以将其实现 UI 自动化。

5、自动化测试的思想

在学习自动化之前,需要先了解自动化测试的思想,因为技术是为业务服务的,抛开业务谈技术就是耍流氓,只有了解其思想,才能更好地实施落地。

了解什么是自动化测试,自动化测试的概念、本质,哪些场景适合做自动化测试、哪些场景不适合做自动化测试,以及自动化测试的原则等。

自动化测试就是把手工测试的一系列动作转化为机器自动执行。

例如:
要实现在电商网站上搜索商品,需要有以下步骤:
打开网站(打开电商网站)–> 定位元素(定位到搜索输入框)–> 操作元素(在搜索框中输入衬衫,点击搜索按钮)–> 模拟页面动作(下拉、上滑)–> 断言结果(预期结果与实际结果比对,判断是否通过测试)–> 生成测试报告。

适合自动化测试的场景如:
需求不会频繁变动、UI 比较稳定、项目周期较长、大量的回归测试任务、冒烟测试,针对本次迭代的核心功能进行冒烟测试,不适合自动化测试的场景如:交互性太强、视频音频播放器等。

自动化测原则:
比如:一个 case 完成一个功能点、一个脚本是一个完成的场景、脚本之间独立,不能有依赖、设置合适的检查点、设计良好的框架。

6、自动化测试学习

总共可分为三种,接口、Web、App。

推荐初学者从接口自动化开始学习,相比于 UI 自动化,接口自动化测试收益更大、更容易实现、维护成本更低,有更高的投入产出比,因此是公司开展自动化测试的首选。

企业中做自动化测试的目的主要是针对那些已经成熟并且变化很少的功能模块进行回归测试。

比如 Python 技术栈会使用 Requests、Pytest 等框架结合公司业务实现一套覆盖公司系统绝大部分接口的自动化测试框架,并集成到 Jenkins,每天定时执行,将测试报告发送到邮箱。

这样做的目的主要是用来监控哪些接口服务挂了,以及版本迭代过程中上了新功能可能影响关联到其他接口导致异常发生,所以上线前要把系统或者模块的接口自动跑一遍,以便于测试人员第一时间发现问题,并交给开发人员进行修复解决,减少线上 Bug 率。

这个阶段需要学习自动化测试相关工具库,比如 Python 技术栈会有 Requests、Selenium、Appium 以及单元测试框架 Unittest、Pytest,Java 技术栈会有 HttpClient、Selenium、Appium 以及单元测试框架 TestNG 等。

7、自动化测试框架

学习了上述相关的自动化测试工具库,学会使用线性代码做自动化测试,但是线性代码存在很多缺陷,比如:测试的输入和断言都是捆绑在脚本中,易读性差;

无共享或重用脚本、可复用性低;线性脚本修改代价大,维护成本高,不便于后期优化等。

真正在企业中做自动化不会是这种线性代码,而是有一套较好的自动化测试框架。

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

不要因为起点低而放弃追逐梦想,每一次努力都是一次跨越。别被眼前的困境吓倒,愿你坚韧不拔,奋斗不止,最终收获辉煌的人生。相信自己,勇往直前!

不成功,便成仁。路漫漫其修远兮,我们不怕艰险,不惧挑战,只要拼尽全力,脚踏实地,相信自己,我们一定能够创造精彩的人生。愿你奋斗不息,收获喜悦!

不要因为失败而放弃,不要因为困难而退缩。只要你拥有梦想和勇气,坚持奋斗,努力追求,必将在人生的舞台上璀璨绽放,成就辉煌的人生。相信自己,你可以做到!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1101349.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue视频直接播放rtsp流;vue视频延迟问题解决;webRTC占cpu太大卡死问题解决

播放多个视频 <div class"video-box"><div class"video"><iframe style"width:100%;height:100%;" name"ddddd" id"iframes" scrolling"auto" :src"videoLeftUrl"></iframe>&l…

【分享】国产AI工具大整理,都是好东西(赶紧看 待会儿删)

哈喽&#xff0c;大家好&#xff0c;我是木易巷~ 我认同一个观点&#xff0c;那就是未来的世界将会只存在两种人&#xff1a;会使用AI的人和不会使用AI的人。相信许多人已经开始感受到了“AI焦虑”&#xff0c;担心自己的技能将被AI超越。然而&#xff0c;我认为AI并不是人类的…

Linux进阶-ipc消息队列

目录 system-V IPC 消息队列 消息队列和信号管道的对比 消息队列和信号的对比 消息队列和管道的对比 消息队列函数API msgget()&#xff1a;打开或创建消息队列 msgsnd()&#xff1a;发送消息 msgrcv()&#xff1a;接收消息 msgctl()&#xff1a;控制消息队列 msgsn…

移动互联网客户端可能没什么路可走了.......

2010~2020可以算移动客户端的黄金十年了&#xff0c;微信、淘宝、抖音等国民级应用都诞生于这十年间&#xff0c;也顺带产生了不少技术上的黑科技&#xff08;比如动态化、跨平台、热修复&#xff09;。 然而现在头部公司的稳定&#xff0c;App独立生存的空间被不断挤压&#…

el-menu页面离开弹窗,当前激活菜单的高亮问题

问题描述 在A页面监控路由离开&#xff0c;&#xff0c;弹出弹窗后提示未保存点击取消&#xff0c;此时左侧的菜单激活是B高亮&#xff0c;正常应该是激活A菜单。 1&#xff0c;A页面页面离开的弹窗&#xff0c;在A页面弹窗点击取消 ##解决方法 1.在菜单组件增事件&#xf…

75.C++ STL queue容器

目录 1.什么是queue容器 2.queue的构造函数 3.存取、插入、删除操作 4.赋值操作 5.大小操作 以下是一个简单示例&#xff0c;演示如何使用 queue&#xff1a; 1.什么是queue容器 queue 是 C 标准库提供的队列容器&#xff0c;它是一个容器适配器&#xff0c;用于管理遵循…

如何管理前端状态?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

如何清理内存空间?几步操作轻松搞定!

电脑内存的清理是维护系统性能的重要步骤之一。如果电脑内存不足&#xff0c;可能会导致电脑运行卡顿、无法存入文件等各种问题。及时清理电脑内存非常重要。怎样清理电脑内存呢&#xff1f;怎么才能更高效的释放更多电脑内存呢&#xff1f;下面是三个常用的方法。 一、关闭不必…

实施03(文件夹共享和网络配置)

远程连接&#xff08;防火墙设置&#xff09;把远程端口打开新建规则 选择端口后&#xff0c;选择TCP&#xff0c;选择特定本地端口&#xff0c;输入我们需要开放的端口号下一步选择允许连接回车给开放的端口号取个名称回车就可以了 实现文件夹共享首先在任意盘符新建一个文件夹…

工控网络协议模糊测试:用peach对modbus协议进行模糊测试

0x00 背景 本人第一次在FB发帖&#xff0c;进入工控安全行业时间不算很长&#xff0c;可能对模糊测试见解出现偏差&#xff0c;请见谅。 在接触工控安全这一段时间内&#xff0c;对于挖掘工控设备的漏洞&#xff0c;必须对工控各种协议有一定的了解&#xff0c;然后对工控协议…

攀岩绳上亚马逊合规认证EN892测试标准

攀岩绳 攀岩绳是与攀岩安全带和锚点相连的一种装备&#xff0c;用于保护攀岩者&#xff0c;使其不会从高处跌落。攀岩绳由承重内芯和围绕内芯编织的护套组成。 亚马逊关于攀岩绳的政策 根据亚马逊的要求&#xff0c;所有攀岩绳均应经过检测&#xff0c;并且符合下列特定法规或…

Go语言Gin框架中使用MySQL数据库的三种方式

文章目录 原生SQL操作XORMGORM 本文演示在Gin框架中通过三种方式实现增删改查的操作&#xff0c;数据表结构如下&#xff1a; CREATE TABLE users (id int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT ID,user_no bigint(20) unsigned NOT NULL COMMENT 用户编号,name varch…

Ansible --- playbook 剧本

一、playbook 的简介 playbook是 一个不同于使用Ansible命令行执行方式的模式&#xff0c;其功能更强大灵活。 简单来说&#xff0c;playbook是一个非常简单的配置管理和多主机部署系统&#xff0c; 不同于任何已经存在的模式&#xff0c;可作为一个适合部署复杂应用程序的基…

win11 定时计划任务

控制面板 任务计划 添加任务计划 &#xff0c;选按步骤添加。

2023年【天津市安全员C证】模拟考试及天津市安全员C证实操考试视频

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 天津市安全员C证模拟考试是安全生产模拟考试一点通生成的&#xff0c;天津市安全员C证证模拟考试题库是根据天津市安全员C证最新版教材汇编出天津市安全员C证仿真模拟考试。2023年【天津市安全员C证】模拟考试及天津市…

docker全家桶(基本命令、dockerhub、docker-compose)

概念 应用场景&#xff1a; Web 应用的自动化打包和发布。自动化测试和持续集成、发布。在服务型环境中部署和调整数据库或其他的后台应用。从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。 作用&#xff1a;Docker 使您能够将应用程序与基…

算法通关村第19关【青铜】| 动态规划

动态规划&#xff08;Dynamic Programming&#xff0c;简称DP&#xff09;是一种解决多阶段决策过程最优化问题的数学方法。它通常用于解决那些具有重叠子问题和最优子结构性质的问题&#xff0c;这些问题可以分解为多个相互关联的子问题。 动态规划的核心思想是将原问题分解为…

Android查看签名信息系列 · 使用逆向分析工具JadxGUI获取签名

前言 Android查看签名信息系列之使用逆向分析工具JadxGUI获取签名&#xff0c;通过这种方式&#xff0c;可以获取到的签名信息包括&#xff1a;MD5、SHA1、SHA-256、公钥(模数)等信息 实现方法 1、进入JadxGUI目录下的lib文件夹内&#xff0c;找到jadx-gui-1.4.7.jar文件 2、…

医疗制药行业数字化创新实践

本文将为大家分享3个制药行业的创新案例吧&#xff0c;都是在不同智能制造落地场景下的典型案例&#xff0c;希望对大家有所启发。 01 医疗设备企业零代码搭建集成式信息化管理平台&#xff0c;年节省150余万元 医疗制药行业数字化实现工具>>>>https://www.jianda…

LLVM(6)ORC实例分析:Transform in cpp

Transform用例总结 该用例调用JIT的setTransform接口&#xff0c;传入pass对IR代码做了一系列优化。优化一&#xff1a;fac函数的调用者能直接拿到返回值&#xff0c;不在需要进入fac计算了。 正常函数调用a fac(5)需要进入fac函数后才能拿到结果120。transform后&#xff0c…