5年测试老鸟总结,自动化测试的实施到落地,看这一篇足够...
目录:导读
- 前言
- 一、Python编程入门到精通
- 二、接口自动化项目实战
- 三、Web自动化项目实战
- 四、App自动化项目实战
- 五、一线大厂简历
- 六、测试开发DevOps体系
- 七、常用自动化测试工具
- 八、JMeter性能测试
- 九、总结(尾部小惊喜)
 
前言
Python自动化测试:https://www.bilibili.com/video/BV16G411x76E/
今天我们就来聊聊项目如何落地自动化测试,以及落地要面临和解决哪些问题。
落地前------分析因素
从我个人的工作实践经验来看,在决定是否引入新的技术框架或者开展技术项目前,足够详尽的分析调研必不可少。
这样做的好处在于一方面可以避免重复建设;另一方面,尽可能确保投入的资源能获得足够的收益。落地自动化测试之前,主要有如下几点因素需要考量。
1、当前面临的痛点是什么?
 引入自动化测试是为了解决工作过程中遇到的问题或痛点,所以在引入之前第一个要考虑的是当前面临的痛点是什么。
比如:线上功能bug频发,人力资源时间不足导致团队加班太多,版本迭代快/多版本并行等,且这些痛点都已经严重影响到了团队的日常工作效率和氛围。
先将面临的问题和痛点列出来,按照影响范围和优先级排序,然后分析背后的原因。
2、痛点背后的原因有哪些?
 线上功能bug频发,可能的原因有漏测/case覆盖率不足/需求变更快/发布流程不规范等原因。
人力或者时间不足,背后的原因可能有团队同学能力不足/团队效率不高/管理混乱/缺乏提效手段和工具。
版本迭代快多版本并行的情况,背后的原因就更复杂了,涉及到流程/管理/业务成熟度/企业所处阶段等多种因素。
3、有什么可以解决问题的方案?
 分析出团队面临的痛点以及背后的原因,我的建议是将原因列出来进行归类。
比如:
 资源问题:人手不足/工时评估不合理;
 流程问题:研发交付流程混乱,发布不可控;
 管理问题:团队效率不高,管理混乱,职责不清;
 技术建设问题:缺乏CI/CD工具&需求/代码/case/bug管理工具,团队同学缺乏相关经验;
4、自动化是不是最合适的解决方案?
 问题分类和排优先级之后,就是case by case的分析有哪些解决方案了。假设某部分问题可以通过自动化测试来解决或者改善,那就可以着手进行下一步分析。
5、当前的情况是否适合开展自动化测试?
 “自动化测试适用于重复度较高的工作,且不是一蹴而就即插即用就能解决问题的。需要相对稳定的业务需求迭代、比较成熟稳定的研发团队和一定的技术基础设施建设,以及较为规范的流程才能更好的落地,达到提效的目的”。
举个例子:某创业公司,当前处于产品初创和快速迭代期,追求的是快速推出MVP产品推向市场,业务不稳定,人力资源紧张,技术基础设施很差,那这个时候是不适合做开展自动化测试的。
开展前------评估价值
罗列问题,分析原因,制定优化方案后,接下来就是项目立项及调研了。自动化测试的调研,主要关注如下几点:
工具框架选型:业内有哪些自动化测试工具或框架?功能是否满足需求?产品稳定性如何?社区活跃度如何?是否有足够详细的说明文档和使用案例。
选定试点范围:选择哪个业务或者团队进行试点?试点对场景覆盖范围和case的粒度要求是什么?
团队成员技术栈匹配度:如果工具需要一定的代码开发,团队成员编码能力如何?对哪种语言熟悉?培训和学习成本?
要投入多少人力时间资源:确定范围和case粒度后,预期需要投入多少人日/工时才能达到预期结果?
预期的投入产出比是多少:投入预期的人日/工时后,预期的效果如何?是否能解决当前面临的痛点问题?
落地过程------解决问题
其实到了研发落地阶段,只需要遇到问题解决问题即可。
自动化工具或框架落地过程中,常见的问题有:
学习培训:工具或框架对于团队同学来说需要一定学习成本,建议提供使用说明手册并开展几次培训。
案例演示:其实自动化case或者脚本写起来很简单,但还是建议提供一些demo或者案例,能让其他同学更快速上手。
二次开发:很多开源的自动化工具已经具备了大部分常见功能,但落地过程中还是要解决一些定制化功能,或者修复开源工具的一些bug,这就需要一定的开发能力对工具进行二次开发或者优化。
构建效率:自动化测试并不是拿着工具把case写好就完事了,要考虑到自动化落地的初衷就是解决效率问题,因此落地后的构建执行效率是重点关注的因素。
构建成功率:除了关注构建执行效率,每次构建执行的成功率也要高度关注,否则会耗费大量时间在排查问题上。
接下来就是实施自动化测试了,下面列举了现测试岗主流的自动化测试配套框架。
接口自动化测试方向:Python+requests+pytest+yaml+alluer+Jenkins;
 web自动化测试方向:Python+selenium4+pytest+POM+allure+Jenkins;
 app自动化测试方向:Python+appium+POM+pytest+allure+Jenkins;
| 下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 | 
一、Python编程入门到精通

二、接口自动化项目实战

三、Web自动化项目实战

四、App自动化项目实战

五、一线大厂简历

六、测试开发DevOps体系

七、常用自动化测试工具

八、JMeter性能测试

九、总结(尾部小惊喜)
不要让失败和困难变成你放弃的理由,相信自己的实力,坚信自己能够超越一切。只有你拼尽全力,才有可能收获最好的结果。成功的唯一秘诀就是始终不停地追求进步!
每一次的尝试,都是你变得更好的机会。不要害怕失败,勇敢地迎接挑战,用汗水和努力去证明自己!成功与否并不重要,最重要的是你永远不放弃追寻梦想的勇气。
每一份努力都值得被珍惜,每一次坚持都值得被尊重。要相信自己的能力,即使路途再坎坷,也要勇往直前,因为你所拥有的只有今天,而明天还在等着你去创造!
相关文章:
 
5年测试老鸟总结,自动化测试的实施到落地,看这一篇足够...
目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 Python自动化测试&…...
 
通达信顾比倒数线指标公式,信号不漂移
顾比倒数线是由技术派大师戴若顾比发明的,该指标利用三个重要的价格来判断入场或离场时机,可用于盘后制定下一个交易日的操作计划。此外,顾比倒数线还可以用于补充验证其他指标。 在编写顾比倒数线选股公式之前,需要先了解顾比倒…...
 
网络安全: CIDR无类别路由
网络安全: CIDR无类别路由 CIDR是无类别路由,出现CIDR的原因是因为ipv4的地址被使用完客,CIDR的出现暂缓了ipv4用完的速度。 原本的ipv4很刻板,网络号分成8位,16位,24位作为掩码,也就是 xxx.0…...
 
NetMQ | 发布订阅时使用含通配符的Topic
NetMQ | 发布订阅时使用含通配符的Topic 文章目录 NetMQ | 发布订阅时使用含通配符的Topic前言通配符如何使用通配符通配符的作用结束语 前言 今天我来介绍一下NetMQ发布订阅时如何使用含通配符的Topic,让我们能够更加灵活地订阅消息。 什么是Topic? 在NetMQ中&am…...
 
行为型模式-模板方法模式
模板方法模式 概述 在面向对象程序设计过程中,程序员常常会遇到这种情况:设计一个系统时知道了算法所需的关键步骤,而且确定了这些步骤的执行顺序,但某些步骤的具体实现还未知,或者说某些步骤的实现与具体的环境相关…...
 
IPsec中IKE与ISAKMP过程分析(快速模式-消息1)
IPsec中IKE与ISAKMP过程分析(主模式-消息1)_搞搞搞高傲的博客-CSDN博客 IPsec中IKE与ISAKMP过程分析(主模式-消息2)_搞搞搞高傲的博客-CSDN博客 IPsec中IKE与ISAKMP过程分析(主模式-消息3)_搞搞搞高傲的博客…...
PostgreSQL 数据类型转换
各种数据类型(日期/时间、integer、floating point和numeric)转换成格式化的字符串及反过来从格式化的字符串转换成指定的数据类型,在实际操作中经常遇到。下面总结了一些常用的函数。 日期操作函数 函数返回类型描述实例to_char(timestamp…...
 
【Java笔试强训 1】
🎉🎉🎉点进来你就是我的人了博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔🦾🦾🦾 目录 一、选择题 二、编程题 🔥组队竞…...
 
你买票了吗?五一火车票发售量创历史新高,车票总发售2209万张票
五一劳动节已经成为了除春节国庆节外最隆重的节日,是全国性的庆祝节日。在这个节日里,人们可以通过旅游、购物、娱乐等方式来放松身心,充满活力地迎接新的挑战。同时,五一假期也成为了国内外客流量最大的旅游黄金周之一࿰…...
DiffUtil的使用
RecyclerView的DiffUtil用于计算并更新RecyclerView中数据集的变化。通过使用DiffUtil,我们可以避免完全重新加载整个列表,并且只会更改必要的视图。 以下是DiffUtil的基本用法: 创建一个继承自DiffUtil.Callback的类来计算差异。在这个类中…...
 
【Python】【进阶篇】18、Django初始化项目环境精讲
目录 18、Django初始化项目环境精讲1. 完成数据库迁移2. PyMySQL模块的使用3. migrate与makemigrations命令详解1) makegrations生成数据库迁移文件2) migrate执行数据库迁移命令3) 完成数据库迁移总结 18、Django初始化项目环境精讲 上一节中,我们完成了对 settin…...
 
Web前端基础
一.说明 如果你要了解web前端领域,那么三种语言是你必须要了解的,即html5、CSS、Javascript是你必须要了解的,通过前面的专栏内容你一定对html标记语言非常熟悉,那么其他两种语言是什么,他们怎么和html联系在一起&…...
ACM 1007 | 分段函数求值
文章目录 0x00 前言 0x01 题目描述 0x02 问题分析 0x03 代码设计 0x04 完整代码 0x05 运行效果 0x06 总结 0x00 前言 C 语言网不仅提供 C 语言,还包括 C 、 java 、算法与数据结构等课程在内的各种入门教程、视频录像、编程经验、编译器教程及软件下载、题解博…...
ChatGPT技术原理 第十四章:未来发展方向
目录 14.1 多模态对话生成 14.2 跨语言对话生成 14.3 增量学习 14.4 深度强化学习...
 
大型水利投资集团,打造数智财资管理新范式
随着我国城市化进程的不断推进,城市基础设施在国民经济中的作用愈加重要,其建设水平直接影响一个城市的竞争力。国有城投、水投等企业作为城市基础设施建设的主要参与者,其重要性不言而喻。随着国家、地方对基础设施重要性认识的加深以及政府…...
 
【java】彻底剖析 Synchronized
文章目录 前言对象结构Monitor 对象Synchronized特征原子性可见性有序性可重入锁 锁升级的过程 前言 源码级别剖析Synchronized 对象结构 Synchronized是Java中的隐式锁,它的获取锁和释放锁都是隐式的,完全交由JVM帮助我们操作,在了解Sync…...
 
有反爬机制就爬不了吗?那是你还不知道反反爬,道高一尺魔高一丈啊
文章目录 一、从用户请求的Headers反爬虫二、基于用户行为反爬虫(1)方法1(2)方法2 三、动态页面的反爬虫四.总结 不知道你们在用爬虫爬数据的时候是否有发现,越来越多的网站都有自己的反爬机制,抓取数据已经…...
 
手把手教你本地CPU环境部署清华大模型ChatGLM-6B,利用量化模型,本地即可开始智能聊天,达到ChatGPT的80%
大家好,我是微学AI,今天教你们本地CPU环境部署清华大ChatGLM-6B模型,利用量化模型,每个人都能跑动大模型。ChatGLM-6B是一款出色的中英双语对话模型,拥有超过62亿个参数,可高效地处理日常对话场景。与GLM-1…...
FFmpeg 自定义IO CONTEXT实现音频解码,以及seek函数
对于从音频流buffer中解码的场景中,我们需要实现自己的io context 去从buffer中解码,参考ffmepg官方实例:doc/examples/avio_reading.c 关于是否要实现avio context中的seek函数,需要看需要解码什么格式,大部分格式不…...
技能升级(2023寒假每日一题 13)
小蓝最近正在玩一款 RPG 游戏。 他的角色一共有 N N N 个可以加攻击力的技能。 其中第 i i i 个技能首次升级可以提升 A i A_i Ai 点攻击力,以后每次升级增加的点数都会减少 B i B_i Bi。 ⌈ A i / B i ⌉ ⌈A_i/B_i⌉ ⌈Ai/Bi⌉(上取整&a…...
 
MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
 
大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
 
Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
 
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
 
家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
规则与人性的天平——由高考迟到事件引发的思考
当那位身着校服的考生在考场关闭1分钟后狂奔而至,他涨红的脸上写满绝望。铁门内秒针划过的弧度,成为改变人生的残酷抛物线。家长声嘶力竭的哀求与考务人员机械的"这是规定",构成当代中国教育最尖锐的隐喻。 一、刚性规则的必要性 …...
 
【大模型】RankRAG:基于大模型的上下文排序与检索增强生成的统一框架
文章目录 A 论文出处B 背景B.1 背景介绍B.2 问题提出B.3 创新点 C 模型结构C.1 指令微调阶段C.2 排名与生成的总和指令微调阶段C.3 RankRAG推理:检索-重排-生成 D 实验设计E 个人总结 A 论文出处 论文题目:RankRAG:Unifying Context Ranking…...
6.9本日总结
一、英语 复习默写list11list18,订正07年第3篇阅读 二、数学 学习线代第一讲,写15讲课后题 三、408 学习计组第二章,写计组习题 四、总结 明天结束线代第一章和计组第二章 五、明日计划 英语:复习l默写sit12list17&#…...
