13年老鸟整理,自动化测试落地实施方案总结,看这篇就够了...

news2024/11/16 20:57:16

目录:导读

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


前言

一般来说,工作中写这种技术落地方案,原因不外乎下面这几点:

技术实践落地,方案本身就是一个指引;
文档落地沉淀为知识库,便于其他同学查看学习;
梳理落地思路,经过评审才能获得团队和上级认同,进而有资源投入;

从个人的实践经验来说,一个自动化测试落地方案或者技术方案,主要由下面几点构成。

1、实施背景和挑战

写技术落地方案时,优先级最高的是交代清楚为什么要做这件事,做这件事能解决什么问题。技术本身是无法直接等于价值的,而是通过技术解决问题才能间接创造价值。

且任何技术方案的落地,势必都需要一定的成本投入,如果落地后能解决的问题所创造的价值还不如投入的资源,那这个技术案例就是失败的。

以自动化测试来说,自动化测试的本质是将手动执行的部分让机器或者工具自动执行,通过一定的规则和判断逻辑自动出具结果,提高执行的过程效率。

那么自动化测试的落地背景,一定是当前遇到了影响交付效率的问题,比如多版本并行,回归测试范围大,重复内容多;

比如业务场景太多,手动造数据太慢;比如有多种版本的兼容性问题,手工验证太慢,需要自动化来提高验证效率。

至于落地需要面临的挑战,常见的如:
从0开始建设需要一定的资源投入(人力+时间+实现难度);
需求经常变更,且研发测试交付流程混乱,没有稳定的测试环境;

要明白一点:任何技术方案落地都需要成本投入,技术方案只能解决当前已知的部分问题,要落地可能还需要满足一定的前置条件。

考虑清楚这些,再决定是否推进后续工作,而不是有个念头就直接框资源然后开搞,这样往往事倍功半。

2、技术选型和方案特点

目前业内自动化测试相关的框架和工具很多,成熟的方案也不少,但只有适合自己当前境况的才是最好的方案,而不是哪个知名度最高,哪个有大厂背书就用哪个。

在技术选型和调研阶段,重点要考虑如下几点:

框架/工具本身的特性(开箱即用、支持多语言、维护成本低、社区生态活跃、有完善的技术文档);

是否有典型的可参考落地案例(比如同类型或者类似的团队落地案例,遇到的问题以及如何解决的);

框架/工具的学习曲线、上手难度、后期维护成本、是否开源和支持二次开发(决定落地推广的成本);

通过调研选型对比,建议选择1-2个写个demo,这样一方面便于自己对框架/工具更为熟悉,还有一点则是在团队内部进行演示,听取该方案后续的使用者的建议,解答疑惑。

同时通过演示可以进一步阐述选择该框架的原因以及优势,便于争取上级支持和资源,以便于更好的落地。

3、落地方式和关键节点

制定技术方案一定要考虑周全,但在落地过程中还是要注意落地的方式。

首先要避免的是蒙头憋大招,本身现代职场更讲究团队协作,落地技术项目也是为了解决问题。很多当下的问题,如果不能很快的解决,或者短期内没看到解决的希望,可能几个月后这些问题就会演变成其他问题。

当你蒙头几个月的大招出来之后,你会发现已经失去了落地的场景,或者被其他方式解决了。

更好的方式则是,将大招拆成比较小的几个目标,以自动化测试来说:刚开始只覆盖核心业务场景的P0场景,先拿到好的结果,然后再扩大覆盖范围,细化case的粒度,直至最终目标。

从产品设计的角度来说,则是小步快跑,做出MVP结果(最小可行性方案),用好的结果说服团队和上级,扩大覆盖范围,不断改进和优化自动化测试的提效效果。

从项目管理角度来说,则是制定自动化测试的落地里程碑,以及预期的交付时间和交付效果。比如第一周demo跑通,第一个月覆盖主流程P0场景,第二个月覆盖P0+P1场景,提升回归测试效率30%等。

技术落地方案一定要具备的特质:可落地可执行,有明确的落地时间+执行方式+预期结果。

4、预期效果和长期规划

预期效果很好理解,即不同阶段要交付的产物解决了什么问题,能带来的价值。比如提效30%,比如节省工时,比如降低维护成本等。

要明白的一点是预期效果并不是画大饼,而是基于现状和调研的一种预期管理,合理的预期能争取到足够的资源来推动项目的落地。

长期规划即这个技术项目落地后,长期要做什么,能提供什么功能,解决什么问题,对团队能带来什么价值。

以自动化测试为例:短期内可能就是提高回归测试的效率,长期来说能做的事情很多。

比如:造数据、质量门禁、线上巡检、甚至成为CICD交付流水线的一部分。

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

不要让过去的失败束缚你的脚步,相信自己的能力,坚持奋斗,你将取得惊人的成就。只要心怀梦想,付出努力,成功与辉煌必将伴随着你!

即使前路坎坷,也不要放弃自己的梦想。踏上奋斗的征途,不停歇,不言败,你将以永不止步的精神迎接成功的辉煌时刻!

勇敢地面对挑战,迎接未知的未来。坚持不懈,努力奋斗,你将超越自我,创造属于自己的辉煌传奇,让世界为你的勇气和毅力而倾倒!

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

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

相关文章

C++类与对象基础(8)

目录 1. 隐式类型转换与关键字explicit: 1.1 隐式类型转换举例: 1.2 explicit关键字: 2. 友元: 2.1 友元函数: 2.2 友元类: 3. 内部类: 4. 勘误: 1. 隐式类型转换与关键字explicit: 1.1…

DelayQueue原理探究

DelayQueue并发队列是一个无界阻塞延迟队列,队列中的每个元素都有个过期时间,当从队列获取元素时,只有过期元素才会出队列。队列头元素是最快要过期的元素。 DelayQueue类图结构 由该图可知,DelayQueue内部使用PriorityQueue存放…

【揭秘APT攻击】——内网渗透实战攻略,带你领略网络安全的绝密世界!

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 💫个人格言:"没有罗马,那就自己创造罗马~" 目录 介绍 什么是内网? 什么是内网渗透? 内网渗透的目的: 内网…

Spring MVC 参数接收

参数接收 Springmvc中,接收页面提交的数据是通过方法形参来接收: 处理器适配器调用springmvc使用反射将前端提交的参数传递给controller方法的形参 springmvc接收的参数都是String类型,所以spirngmvc提供了很多converter(转换器…

CSS3实现轮播效果

在我们不使用JS的情况下&#xff0c;是否也可以实现轮播功能呢&#xff1f; 答应是可以的 上代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>轮播</title><style>.boss…

数据结构实验4:链表的基本操作

目录 一、实验目的 二、实验原理 1. 节点 2. 指针 3.链表的类型 3.1 单向链表 3.2 双向链表 3.3 单向循环链表 3.4 双向循环链表 4. 单链表的插入 4.1 头插法 4.2 尾插法 4.3 在指定位置插入元素 5. 单链表的删除 5.1 删除指定数值的节点 5.2 删除指定位置的节点 …

网络编程套接字(Socket)

文章目录 1 重点知识2 预备知识2.1 理解源IP地址和目的IP地址2.2 认识端口号2.3 理解 "端口号" 和 "进程ID"2.4 理解源端口号和目的端口号2.5 认识TCP协议2.6 认识UDP协议2.7 网络字节序 3 socket编程接口3.1 socket 常见API3.2 sockaddr结构 4 简单的UDP网…

statsmodels.tsa 笔记 detrend(去趋势)

1 基本使用方法 statsmodels.tsa.tsatools.detrend(x, order1, axis0) 2 参数说明 x数据。如果是二维数组&#xff0c;那么每一行或每一列将独立地去除趋势&#xff0c;但趋势的阶数是一样的。order趋势的多项式阶数。0 表示常数趋势&#xff08;即没有趋势&#xff09;&…

redis可视化工具 RedisInsight

redis可视化工具 RedisInsight 1、RedisInsight是什么2、下载RedisInsight3、使用RedisInsight4、其他redsi可视化工具 1、RedisInsight是什么 RedisInsight 是一个用于管理和监控 Redis 数据库的图形用户界面&#xff08;GUI&#xff09;工具。它是由 Redis Labs 开发的&…

React Native 桥接原生常量

一、编写并注册原生常量方法 在 SmallDaysAppModule 这个模块中有一个方法 getConstans &#xff0c;重载这个方法就可将自定义的常量返回&#xff0c;系统会自行调用该方法并返回定义的常量将其直接注入到 JS 层&#xff0c;在 JS 层直接获取即可。 二、JS 层获取原生常量&am…

YOLOv8 损失函数改进 | 引入 Shape-IoU 考虑边框形状与尺度的度量

🗝️改进YOLOv8注意力系列一:结合ACmix、Biformer、BAM注意力机制 论文讲解加入代码本文提供了改进 YOLOv8注意力系列包含不同的注意力机制以及多种加入方式,在本文中具有完整的代码和包含多种更有效加入YOLOv8中的yaml结构,读者可以获取到注意力加入的代码和使用经验,总…

【ECShop电子商务系统__软件测试作业】ECSHOP系统搭建文档+接口测试用例+接口文档+接口测试脚本

一、选题题目可选《ECShop电子商务系统》、《EPShop电子商城系统》或者自选其它的开源系统(至少有十个以上的功能模块的系统&#xff0c;不得选功能少、简单的系统)。 软件测试作业 说明:接口测试相关资料 二、具体要求 1、搭建测试系统并写出搭建被测系统的全过程。 2、根…

Pure Mathematics 3-(磨课课件)-反三角函数求导(更新中)

6.6 Differentiating trigonometric functions&#xff08;反三角函数求导&#xff09; Edexcel Pure Mathematics 3(2018版本教材) /-------------------------------------------------------------------------------------------------------------------- Prior Knowledge…

Python实现PDF—>Excel的自动批量转换(附完整代码)

Python实现PDF—>Excel的自动批量转换&#xff08;附完整代码&#xff09; 话不多说&#xff0c;先看效果&#xff01; 需要转换的PDF&#xff1a; 转换后的Excel&#xff1a; 01、底层原理 PDF 到 Excel 的转换涉及不同文件格式之间的数据提取和重构。底层原理可以简…

抖音小程序+乔拓云教育系统:让课程销售飞起来

随着数字媒体的迅猛发展&#xff0c;抖音已经成为了一个广受欢迎的社交平台。而当抖音遇上教育&#xff0c;一场全新的学习革命就此展开。特别是借助乔拓云教育系统&#xff0c;培训班可以轻松地开启抖音营销之旅&#xff0c;将优质课程带给更多潜在学员。 乔拓云教育系统作为一…

【Spring Boot】SpringMVC入门

1.什么是springMVC MVC就是把一个项目分成了三部分&#xff1a; MVC是一种思想。Spring进行了实现,称为Spring MVC。SpringBoot是创建SpringMVC项目的一种方式而已。springMVC对于MVC做出了一些改变&#xff1a; 当前阶段,MVC的概念又发生了一些变化,后端开发人员不涉及前端页…

【python基础】一文搞懂:Python 中轻量型数据库 SQLite3 的用法

一文搞懂&#xff1a;Python 中轻量型数据库 SQLite3 的用法 文章目录 一文搞懂&#xff1a;Python 中轻量型数据库 SQLite3 的用法1 引言2 SQLite3 简介3 基本步骤4 示例代码4.1 连接数据库4.2 创建表4.3 插入数据4.4 查询数据4.5 更新/删除数据4.6 关闭数据库连接 5 实例演示…

作业--day44

完善对话框&#xff0c;点击登录对话框&#xff0c;如果账号和密码匹配&#xff0c;则弹出信息对话框&#xff0c;给出提示”登录成功“&#xff0c;提供一个Ok按钮&#xff0c;用户点击Ok后&#xff0c;关闭登录界面&#xff0c;跳转到其他界面。如果账号和密码不匹配&#xf…

Win10下python3和python2同时安装并解决pip共存问题

特别说明&#xff0c;本文是在Windows64位系统下进行的&#xff0c;32位系统请下载相应版本的安装包&#xff0c;安装方法类似。 使用python开发&#xff0c;环境有Python2和 python3 两种&#xff0c;有时候需要两种环境切换使用&#xff0c;下面提供详细教程一份。 1、下载…

MySQL之导入、导出远程备份

一、Navicat工具导入、导出 1.1 导入 第一步&#xff1a; 右键&#xff0c;点击运行SQL文件 第二步&#xff1a; 选择要运行的SQL&#xff0c;点击开始 第三步&#xff1a; 关闭即可 1.2 导出 第一步&#xff1a; 右键选择&#xff0c;导出向导 第二步&#xff1a; 选择SQL脚…