如何从0到1落地自动化测试?何为成熟模型?测试老鸟的总结...

news2024/9/30 5:27:42

目录:导读

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


前言

过去十年,IT迅猛发展,那时候软件开发和测试需求每天都在增加,对应聘者是来者不拒,美团掀起的千团大战,则一下子提高的软件开发、测试的薪资水平,此后虽然一地鸡毛,但是间接影响就是软件开发、测试高薪资对从业人员的高吸引力,特别是测试的门槛偏低。

2023年现在软件测试进入高要求阶段

Python自动化测试:https://www.bilibili.com/video/BV16G411x76E/

近几年,各大厂都在缩减开发与测试比例,以前华为开发与测试比例是1:1左右,现在提倡全栈工程师,比例就有所下降,大概3:2左右,后面会更多。

因为现在都在搞自动化测试,减少了手工测试人员,而相应的现在软件越来越庞大,越来越复杂,对安全、性能、可兼容的要求更高。

现在要求测试几乎是全流程参与,对测试人员的业务感知、代码阅读等也提出了更高的要求。

自动化测试已经成为测试工程师的标配。

接下来我们就来讲解自动化测试

怎样落地自动化测试

在讨论新手从零到一落地接口自动化测试之前,我想先抛出我的几点建议:

从零开始,不要直接去学习所谓的自动化框架;
学习框架之前,很有必要学习网络协议和编码知识;

为什么这么说?
新手一般技术基础不太扎实,且没有太多编码实践,直接学习框架特别容易一步一个坑。

从零开始学习落地接口自动化或者其他自动化测试,我更建议从易到难的去落地实践,这样一方面可以在日常工作中优先保证工作的完成,提升工作效率;

另一方面就像打怪升级一样,从易到难去学习提升自己,并不断优化自动化测试在工作中的实践。从易到难落地接口自动化测试,大概可以遵循如下几个步骤:

学会用工具进行接口测试(如jmeter/postman);
学会用持续集成工具(如jenkins)将接口测试脚本批量执行;
学会诸如git/gitlab等版本和源代码管理的工具,便于团队多人协作;
学习一门编程语言,利用自动化测试框架将工具脚本转化为代码脚本;
学习将公共部分封装,优化代码结构,提高写代码脚本的效率,降低维护成本;
学习数据参数化管理的方法,可以从Excel——配置文件——数据库——造数工厂这个方向迭代;
尝试按照业务线和测试场景区分脚本集合,然后引入mock,降低服务间的调用依赖,提高执行效率;
开始造轮子,搞KPI,开发自动化测试平台;

自动化测试成熟度模型

初级阶段-测试半自动化
先利用工具将日常费时的手工测试部分转化为半自动化(如postman/jmeter/jenkins),不要考虑什么框架或者CICD等高大上的东西,先解决部分效率问题,才能有时间和资源投入后续的建设。

当然这个阶段更适用于初创企业或者小型公司的测试同学。

中级阶段-回归测试自动化
有了前期的部分建设,接下来可以将日常的提测冒烟测试、系统测试阶段的主流程回归测试以及部分造测试数据的过程转化为自动化。

这个过程中一方面需要培养提升建设团队同学的技术能力,另一方面为自动化测试的大范围落地做铺垫(毕竟很多公司自动化测试看不到短期效益就变成了纯粹的KPI然后不了了之)。

注意:上面我说的都是测试自动化,并不是自动化测试。测试自动化指的是先将日常手工测试比较费时且重复度较高的部分转化为利用工具执行,

这样做是为了提高效率,解放人力资源,也是为了打好基础,顺带让领导知道,做这些事对团队有长期价值的。

高级阶段-大范围自动化测试
到了高级阶段,我个人认为就可以开展大范围的自动化测试了。

这里的大范围并不是说完全不需要手工测试,而是按照自动化测试的纺锥模型(不是金字塔模型),按照UI-10%/API-70%/UNIT-20%的占比去不断建设和落地。

当然,这个阶段可以开始尝试测试左移的实践,测试同学去做更多具有创造性和探索性的工作,比如:

花更多时间在需求阶段,包括需求分析和需求评审,做好需求阶段的质量卡点;
设计更高效的自动化测试流程框架,提升测试用例的有效覆盖率(正交实验法);
推动研发同学实践单元测试,测试同学提供case并评审验证,研发同学负责落地;
建设质量度量相关的事情(为了解决问题验证效果而度量,并非为了度量指标而魔改自动化);

成熟阶段-自动化测试流水线
有了前面三个阶段的技术建设和用例沉淀以及不同团队间的协同配合,这个阶段可以考虑将自动化测试融入到企业的自动化交付流水线中。

关于devops的持续交付流水线相关的内容,后续继续更新…

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

成功需要勇气与决心,需要不停地追求和付出。只要坚持自己的梦想,跨过挫折和磨难,最终的胜利属于那些不畏艰险、敢于拼搏的人!

在人生道路上,我们需要付出比别人更多的汗水和努力。只要拥有一颗不屈不挠的心,坚定地向目标前进,即使路途艰险,也能最终到达成功的彼岸!

每个人都有自己的梦想,但成功属于那些不断拼搏、不断进取的人。只要坚定信念,勇往直前,终会走出一条光辉的人生之路,实现自己的理想与价值!

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

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

相关文章

离散数学_九章:关系(5)

🚩9.5 等价关系 1、等价关系(Equivalence Relations)等价关系等价的元素📘例1:模m同余 📘例2:字符串 📘例3:整除 2、等价类(Equivalence Classes&#xff09…

DP动态规划

1.背包问题 1.1 0/1背包 1.1.1经典做法 def solve(N,C): # 从左到右,从上到下 (先种类,再体积)for i in range(1,N1): # N种物品,先1种,再2种......for j in range(0,C1): # 当前背包体积if c[i]>j :…

武忠祥老师每日一题||定积分基础训练(四)

已知, ln ⁡ ( x 1 x 2 ) 为奇函数(证明放在文章末尾) \ln (x\sqrt{1x^2})为奇函数(证明放在文章末尾) ln(x1x2 ​)为奇函数(证明放在文章末尾) 所以, ∫ − 2 2 ln ⁡ ( x 1 …

13万字林业局信息化设计信息化及数据中心、森林防火平台建设方案

1.1.1 应用系统集成平台 集成平台起到“承下启上”的作用,“承下”是指其基于数据中心,提供数据关联、处理和转换等服务,“启上”是指其为上层应用系统提供数据和整合服务。此外,集成平台也为系统与外部系统、外部资源提供交换和…

基于micro-app+vue-element-admin实现微前端

简述 本文是在对之前搭建和学习micro-app的基础上的进一步研究学习。 因为我们目前项目使用的框架是vue-element-admin,所以还需要研究一下micro-app在vue-element-admin的使用方法。 关于micro-app在vue-element-admin的实现,百度什么也没找到&#xf…

二、Spring Cloud Alibaba环境搭建

一、依赖环境 SpringCloud Alibaba 依赖 Java 环境来运行。还需要为此配置 Maven环境,请确保是在以下版本环境中安装使用。 64 bit JDK 1.8;Maven 3.2.x。 spring-cloud-alibaba相关网址: 地址:https://github.com/alibaba/spring-cloud-…

常用HTML标签分享系列一

前言 HTML,超文本标记语言,由标签组成,分为单标签和双标签,每个标签的属性id唯一,但name不唯一,其基本结构为Dom(Document Object Mode 文档对象模型)树,如图: <html lang"en"> <head><!-- 头部内容 --> </head> <body><!-- 身体内…

Spark 任务执行流程

Driver启动&#xff0c;创建SparkContextSparkContext 向资源管理器注册&#xff0c;并向资源管理器申请运行 Executor资源管理器分配资源&#xff0c;然后资源管理器启动 ExecutorExecutor 发送心跳至资源管理器Executor 向 SparkContext 注册自己SparkContext 构建 DAG 有向无…

图神经网络:在自定义数据集上动手实现图神经网络

文章说明&#xff1a; 1)参考资料&#xff1a;PYG官方文档。超链。 2)博主水平不高&#xff0c;如有错误还望批评指正。 文章目录 自定义数据集动手实现图神经网络自定义数据集训验测集拆分&#xff0c;创建Data的数据结构&#xff0c;观察Data的基本信息&#xff0c;可视化图网…

【Golang项目实战】用Go写一个学生信息管理系统,真的太酷啦| 保姆级详解,附源码——建议收藏

博主简介&#xff1a;努力学习的大一在校计算机专业学生&#xff0c;热爱学习和创作。目前在学习和分享&#xff1a;数据结构、Go&#xff0c;Java等相关知识。博主主页&#xff1a; 是瑶瑶子啦所属专栏: Go语言核心编程近期目标&#xff1a;写好专栏的每一篇文章 学习了Go的基…

Java 基础进阶篇(十)—— Java集合详细总结

文章目录 一、集合类体系结构二、Collection系列集合2.1 Collection 集合体系2.2 Collection 集合体系特点2.3 Collection 常用API2.4 Collection 集合的遍历方式2.4.1 方式一&#xff1a;迭代器2.4.2 方式二&#xff1a;foreach&#xff08;增强for循环&#xff09;2.4.3 方式…

Python系列之Windows环境安装配置

目录 一、Python安装 1.1下载 1.2 安装 1.3增加环境变量 二、PyCharm安装 2.1 PyCharm简介 2.2 PyCharm下载安装 一、Python安装 1.1下载 python 官网The official home of the Python Programming Languagehttps://www.python.org/downloads/ 1.2 安装 要勾选选项 Ad…

校园兼职平台系统的设计与实现

技术栈&#xff1a; Spring、SpringMVC、MyBatis、HikariCP、fastjson、slf4j、EL和JSTL 系统功能&#xff1a; 前台&#xff1a; &#xff08;1&#xff09;用户注册&#xff1a;这里的用户分为职位发布者和职位应聘者&#xff0c;他们都需要注册本大学生兼职管理系统才能进…

为什么 OpenAI 团队采用 Python 开发他们的后端服务?

Python&#xff0c;年龄可能比很多读者都要大&#xff0c;但是它在更新快速的编程界却一直表现出色&#xff0c;甚至有人把它比作是编程界的《葵花宝典》&#xff0c;只是Python的速成之法相较《葵花宝典》有过之而无不及。 Python简洁&#xff0c;高效的特点&#xff0c;大大…

196页11万字智慧水务平台建设方案

本资料来源公开网络&#xff0c;仅供个人学习&#xff0c;请勿商用&#xff0c;如有侵权请联系删除。 业务需求分析 3.1 主要业务描述 &#xff08;1&#xff09;调度中心主要业务描述 配套工程调度中心为一级调度机构&#xff0c;同时也是水务集团原水供水的统一调度中心。…

python-pandas库

目录 目录 目录 1.pandas库简介&#xff08;https://www.gairuo.com/p/pandas-overview&#xff09; 2.pandas库read_csv方法&#xff08;https://zhuanlan.zhihu.com/p/340441922?utm_mediumsocial&utm_oi27819925045248&#xff09; 1.pandas库简介&#xff08;http…

第七章 使用ssh服务管理远程主机

第七章 使用ssh服务管理远程主机 一、配置网卡服务 1、配置网卡参数 &#xff08;1&#xff09;、执行nmtui命令运行网络配置工具 [rootcentos ~]# nmtui&#xff08;2&#xff09;、选择编辑连接并按回车 &#xff08;3&#xff09;、选择以太网中网卡名称并编辑 &#xf…

JavaWeb06(三层架构连接数据库)

目录 三层架构 1.什么是三层架构 三层架构 就是将整个业务划分为三层&#xff1a;表示层、业务逻辑层、数据访问层。 2. 层与层之间的关系 3.怎么理解三层架构 4.为什么需要三层架构 区分层次的目的是为了“高内聚&#xff0c;低耦合”的思想&#xff1b; 简单来说&…

从零开始学习Linux运维,成为IT领域翘楚(五)

文章目录 &#x1f525;Linux打包压缩与搜索命令&#x1f525;Linux常用系统工作命令&#x1f525;Linux管道符、重定向与环境变量&#x1f525;管道命令符 &#x1f525;Linux打包压缩与搜索命令 tar 命令 语法&#xff1a; tar [选项] [文件]选项: &#x1f41f; -c 产生.t…

牛客网---CM11 链表分割 代码详解+哨兵位的比较

文章目录 前言CM11 链表分割链接&#xff1a;方法一&#xff1a;尾插(带哨兵位)1.1 思路&#xff1a;1.2 代码&#xff1a;1.3 流程图1.4 注意点 方法二&#xff1a;尾插(不带哨兵位)2.1代码&#xff1a; 对比&#xff1a; 总结 前言 独处未必孤独喜欢就是自由 本章的内容是牛…