【软件测试】自动化测试的追求,水土不服?看看资深测试咋说的......

news2024/9/25 1:20:32

目录:导读

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


前言

大部分测试初学者入门自动化测试接触最多的也许就是 UI 自动化了,也都使用过移动端的 Uiautomator、Appium UI自动化框架、PC 互联网界面相关的 Selenium、Robot Framework UI自动化框架,潜意识里认为 UI 自动化测试很简单。

但是使用一段时间之后喜忧参半,特别是在工作中真正使用时就立马水土不服了,开发和维护脚本的时间远远大于手工测试的时间,得不偿失,最后由回归到了手工测试。

UI 自动化在实际的工作中得以使用,必须要解决以下痛点。

需求不稳定,频繁变更的项目
UI 自动化测试最大的挑战就是需求的变化,界面如果经常变动,脚本就需要重新编写,界面需求频繁的变更导致编写脚本的速度赶不上需求的变化,那 UI 自动化就是名存实亡,因此 UI 自动化测试特别适合需求稳定、不会频繁变更的项目。

敏捷开发的项目需求不稳定,需求的变更经常会导致界面的变更,同时敏捷开发的项目周期短,因此敏捷开发的项目就不适合做 UI 自动化。

开发维护周期短的项目
对于一次性开发的、周期短的项目,考虑到 UI 自动化的投入产出比,不宜进行 UI 自动化测试。

被测系统开发不规范,可测试性需求不明确
需要在项目开发前针对自动化测试定义一些列的规范,开发工程师在开发的时候遵循规范开发,UI 自动化才可以进行下去。例如针对按钮控件没有定义唯一的 id 或者文本描述等,在自动化脚本编写的时候就无法找到该控件。

如果开发在不同的版本之前经常随便变更控件的定义,那之前能执行的脚本在之后就无法正确的运行,需要实时维护,带来很高的人力成本而变得效率低下。同样的还有接口自动化测试过程中的接口参数等。

为了确保自动化测试的顺利进行,自动化测试应当遵循以下规范:

设计自动化测试用例应以主场景为先
在设计自动化测试用例时,应遵循以下顺序:主场景,扩展场景,流程。因为主场景包含了常用的,使用次数最多的功能需求。

保持自动化测试脚本的可读性
设计自动化测试脚本时,应尽量使其保持简单,让一个单元只做一件事,同时,为脚本加上必要的注释,使其具有很好的可读性。

保持自动化测试脚本的可维护性
可维护性意味着维护自动化测试脚本的成本降低,使得自动化测试可持续改进。所以,测试人员设计测试脚本的时候应避免“硬编程”,将固定的值或者测试依赖的数据写入脚本当中。

使用统一的脚本语言
虽然一些自动化测试工具支持多种脚本语言,但在设计自动化测试脚本时应统一使用同一种语言,这样有利于测试人员与各利益相关方之间的交流。

尽量避免复杂控件的测试
复杂的控件测试难度高,易出错,会大大提高自动化测试的成本。所以,测试人员应当尽量避开复杂控件的测试,或者请求开发人员开发更多的测试接口,甚至更换控件。

遵循基本的测试流程开发自动化测试脚本
自动化测试脚本的开发最后也遵循测试的基本流程,比如,先定义预期的输出结果,再输入测试数据,执行测试步骤,将实际输出结果与预期的输出结果比较,记录比较结果,给出结论。

不要轻易地将检查某个错误的脚本注释掉
某些情况下,自动化测试发现的缺陷不能全部及时地修改,这时候的自动化测试会对其中为修复的缺陷给出同样的错误信息。需要注意的是,测试人员不能为了自动化测试流程不被这种情况中止就简单地将检查这个缺陷的脚本删除或注释掉,因为这样可能会使得这个缺陷被“遗忘”。

正确的做法是测试人员设计用来检查缺陷状态的脚本,当检查到缺陷是“已修复”状态时,就执行对应的自动化测试脚本,否则,不执行该脚本。

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

如果你周围是一群鹰的话,那么你自己也会成为一只鹰;如果是在一群山雀中间的话,那么你就看不到海阔天空。

用快乐带动心情,用观念导航人生,用执着追求事业,用真诚对待朋友,用平淡对待磨难,用努力追求幸福,用感恩对待生活!

每当夜深人静的时候望着那灿烂的夜空我会感到那里充满了太多的梦想、告诉自己生命就象一场比赛、不争取就一定会失败!

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

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

相关文章

mysql存储位置 、数据类型

在线版 mysql0.80 版本 数据库存放位置默认为:C:\ProgramData\MySQL\MySQL Server 8.0 mysql数据类型(来自黑马) 数据类型大小描述备注TINYINT1 byte小整数值SMALLINT2 bytes大整数值MEDIUMINT3 bytes大整数值INT或INTEGER4 bytes大整数值age intBIGINT8 bytes极大整数值F…

MQRabbitMQ

介绍 MQ,中文是消息队列(MessageQueue),字面来看就是存放消息的队列。也就是事件驱动架构中的Broker。 几种常见MQ的对比 RabbitMQActiveMQRocketMQKafka公司/社区RabbitApache阿里Apache开发语言ErlangJavaJavaScala&Java…

车载开发知识交流【学习路线】

前言 在2023国内百废待兴;经济复苏的号召一直在响应,这对于压抑了三年的人民来说无疑是福音。这篇我们主要说一下拉动经济的其中大板块——车企;我们知道我们最大的经济除了房地产,第二就是车企。而在造车领域中也不断的加入了许…

CF1692C Where‘s the Bishop? 题解

CF1692C Wheres the Bishop? 题解题目链接字面描述题面翻译题目描述题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1提示代码实现题目 链接 https://www.luogu.com.cn/problem/CF1692C 字面描述 题面翻译 题目描述 有一个888\times888的棋盘,列编号从…

【Android视频号② 搜索用户】

上一节我们已经拿到了视频号个人主页信息 但是发现传过来的用户名是一个以V2开头的数据 接下来我们就需要根据用户名去获取V2数据 DDMS问题 上一节根据ddms 可以很好的定位到视频号触发点 但是很多人会遇到一个问题就是 Monitor 使用 如果打开报错 需要装Java1.8 版本太高了…

运维排查篇 | Linux 连接跟踪表满了怎么处理

nf_conntrack (在老版本的 Linux 内核中叫 ip_conntrack )是一个内核模块,用于跟踪一个网络连接的状态 一旦内核 netfilter 模块 conntrack 相关参数配置不合理,导致 nf_conntrack table full ,就会出现丢包、连接无法建立的问题 这个问题其…

电子技术——反馈放大器的分析方法总结

电子技术——反馈放大器的分析方法总结 第一种也是最简单的估算方法,直接拿出反馈网络,计算 β\betaβ 则假设在 AβA\betaAβ 无限大的情况下有 Af≃1/βA_f \simeq 1/\betaAf​≃1/β 。开环法。比第一种方法更能精确的估计 AAA 和 β\betaβ 的值。系…

js的异步方法:promise与定时器相遇,碰到的火花

前言: 我们在项目中长使用的异步方法 promise与定时器 在一起后,他们的顺序是什么样呢?这里来说一说。 案例1: console.log(异步打印顺序:);console.log(1);setTimeout(()>{console.log(2);},2000)setTim…

APP 兼容性测试是什么?10年阿里测试老鸟告诉你......

1、APP 兼容性测试认识 随着 APP 应用范围越来越广,用户群体越来越大,终端设备的型号也越来越多,移动终端碎片化加剧,使得 APP 兼容性测试成为测试质量保障必须要考虑的环节。 APP 兼容性测试通常会考虑:操作系统、厂…

firefly开发板RK3588非默认外设使能(串口uart、IIC、adc等)设备树修改详细步骤

sdk获取和内核编译,参考上一篇博文:rk3588内核裁剪 一、相关文件 文件1: rk3588_repo_sdk_v1.0.2a/kernel/arch/arm64/boot/dts/rockchip/rk3588-firefly-itx-3588j.dtsi此文件是针对firefly的板级设备树文件。 文件2: rk3588…

C#底层库--MySQL数据库脚本构建类(自动构建insert、update)

系列文章 C#底层库–记录日志帮助类 本文链接:https://blog.csdn.net/youcheng_ge/article/details/124187709 C#底层库–MySQL数据库脚本构建器(推荐阅读) 本文链接:https://blog.csdn.net/youcheng_ge/article/details/129179…

华为云计算之远程复制

实验环境说明身份管理IP业务IP主设备192.168.43.50H2:192.168.43.55从设备192.168.43.100P2:192.168.43.105存储的管理端口为8088登录到存储设备查看是否导入License访问https://192.168.43.50:8088,登录到主设备在设置中查看是否有添加远程设…

【AI绘图学习笔记】生成函数

生成模型学习笔记 (文章中大部分内容从网上学习笔记中摘录,推荐阅读原文,吴恩达深度学习课程笔记暂时停更一段时间,学习AI绘图原理是为了搞定毕业设计,等忙完再回头把基础补完,推荐读物《深度学习》花书&a…

我劝你千万不要去做CSGO游戏搬砖项目

尽管童话姐姐本人做CSGO游戏搬砖都快三年了,带的搬砖学员也好几百人了。但今天还是要跟未入行或者还在考虑是否入行的朋友们敲个警钟。 随着做这个的人越来越多,网上关于这个项目的文章,视频,硬广、软广也越来越多。就拿我朋友圈发…

高精度工业检测利器,维视智造BT-12C080双远心镜头

T-12C080 双远心镜头BT-12 系列标准 C 接口双远心镜头,与 1/2″(对角线 8mm)及以下成像靶面工业相机完美搭配,其结构稳定、外观轻巧,大景深,适用于较大视场下的高精度工业检测场景。产品亮点更轻巧与1/2″&…

【Database-01】达梦数据库Docker版下载安装

1、前往达梦数据库官网下载 https://www.dameng.com/1.1、选择数据库 - 数据库产品系 1.2、选择 达梦数据库管理系统(DM8) 1.3、点击试用下载 1.4、注册达梦账户 1.5、选择DM8 Docker镜像 https://www.dameng.com/list_103.html1.6、或者使用以下网址也…

雷达、定位、跟踪等信号处理邻域SCI期刊整理及推荐

雷达邻域SCI期刊整理及推荐:题名、刊物信息、撰写特点、审稿周期及投稿难度总结 定位/跟踪邻域SCI期刊整理及推荐:题名、刊物信息、撰写特点、审稿周期及投稿难度总结 估计/滤波/融合等信号处理邻域SCI期刊整理及推荐:题名、刊物信息、撰写…

Python数据分析与应用 | 数据分析工具Pandas

Pandas的数据结构分析 Pandas中有两个主要的数据结构:Series和DataFrame。 Series,一维的数据结构DataFrame,二维的,表格型的数据结构Series Series是一个类似一维数组的对象,它能够保存任何类型的数据,主要由一组数据和与之相关的索引两部分构成。左边是索引(index)…

树莓派——智能家居第一步

辛辛苦苦配了成功让树莓派开始工作了,开始搞智能家居!大体思路:基于工厂模式,分模块来实现上图分为三部分:主控、外设、控制主控我采用的是树莓派的4b4G版本,外设包括四个区域的灯(我的和上图有…

【Python】特征衍生

特征衍生1. 单变量特征衍生1.1 数据重编码1.2 高阶多项式2. 双变量特征衍生2.1 四则运算2.2 多项式衍生2.2.1 导包 & 数据2.2.2 二阶衍生2.2.3 三阶衍生3. 交叉组合3.1 导包 & 数据3.2 生成衍生列和名称3.3 独热编码1. 单变量特征衍生 1.1 数据重编码 连续变量 标准化…