当前位置: 首页 > news >正文

【UI自动化】前言

系列文章目录

【UI自动化】前言

自动化不能代替手工测试,自动化都是以手工测试为基础,自动化测试实现的步骤要依赖手工;

文章目录

  • 系列文章目录
    • 【UI自动化】前言
  • 自动化测试的类型
  • 自动化解决的问题
  • 什么是UI测试
  • 测试分类
  • 一、使用UI自动化的原因
  • 二、UI自动化的优缺点
  • 三、适合做UI自动化的项目
  • 四、什么阶段适合做自动化
  • 总结


自动化测试的类型

  • 接口自动化
  • 性能自动化
  • UI自动化:WEB,APP

自动化解决的问题

回归测试

什么是UI测试

通过工具或代码对软件界面进行的测试

测试分类

  • 黑盒测试(功能测试)
  • 白盒测试(单元测试)
  • 灰盒测试(接口测试)
    UI自动化属于黑盒测试

一、使用UI自动化的原因

  • 解决-回归测试:重复高,频率高》项目发版前对核心功能进行验证
  • 解决-压力测试(手工无法实现):性能测试,接口数据量大,用户多》模拟多用户同时操作,验证软件服务器处理多用户请求的能力
  • 解决-兼容性测试(手工测试麻烦),测试条件多,手工执行效率低;
    平台:window,linux,mac,鸿蒙
    浏览器:edge,chrome
    系统分类:桌面操作系统,服务器端操作系统,移动端操作系统,嵌入式操作系统
    移动端:品牌多,型号多,屏幕大小不一致
  • 提高测试效率,保证产品质量

二、UI自动化的优缺点

  • 优点:低成本;效率高,比手工测试快;场景不变可以重复执行;减少犯错,代码实现不会有差错;克服手工测试局限性,比如重复量高的,性能测试,压力测试
  • 缺点:不能实现复杂逻辑的业务,比如ERP系统;涉及第三方,比如:支付模块,物料跟踪模块(没有权限)

三、适合做UI自动化的项目

需求稳定,不会频繁变更;项目开发周期长;需要频繁实现回归测试,项目进入迭代周期;
周期太短;变动频繁的项目则不适合

四、什么阶段适合做自动化

  • 功能结束后进行UI自动化
  • 具备一定规模,功能测试组+自动化测试组,分组并行实现;比如在功能测试的同时部署自动化测试环境;分析需求;编写自动化测试用例

总结

  • 自动化不可能发现更多bug,他是基于手工测试设计的一套固定场景。要发现这些场景之外的bug还是需要依赖手工测试。比如手工测试可以同时进行功能和布局的测试,自动化测试无法检查布局问题,他只判断页面中是否存在目标元素,而不判断该元素的布局是否正确;
  • 一些稳定的场景可以使用自动化测试,提高效率

相关文章:

【UI自动化】前言

系列文章目录 【UI自动化】前言 自动化不能代替手工测试,自动化都是以手工测试为基础,自动化测试实现的步骤要依赖手工; 文章目录 系列文章目录【UI自动化】前言 自动化测试的类型自动化解决的问题什么是UI测试测试分类一、使用UI自动化的…...

Unity对象池的高级写法 (Plus优化版)

唐老师关于对物体分类的OOD的写法确实十分好,代码也耦合度也低,但是我有个简单的写法同样能实现一样的效果,所以我就充分发挥了一下主观能动性 相较于基本功能,这一版做出了如下改动 1.限制了对象池最大数量,多出来的…...

vue3<script setup>中computed

在 Vue 3 中&#xff0c;<script setup> 语法糖是 Composition API 的一种简化写法&#xff0c;它允许你更简洁地编写组件逻辑。在 <script setup> 中使用 computed 与在普通 <script> 标签中使用 Composition API 的方式类似&#xff0c;但通常我们会借助 i…...

【已解决】使用JAVA语言实现递归调用-本关任务:用循环和递归算法求 n(小于 10 的正整数) 的阶乘 n!。

本关任务&#xff1a;用循环和递归算法求 n&#xff08;小于 10 的正整数&#xff09; 的阶乘 n!。 测试说明 平台会对你编写的代码进行测试&#xff0c;比对你输出的数值与实际正确数值&#xff0c;只有所有数据全部计算正确才能通过测试&#xff1a; 测试输入&#xff1a;1…...

BiRefNet 教程:基于 PyTorch 实现的双向精细化网络

BiRefNet 教程&#xff1a;基于 PyTorch 实现的双向精细化网络 BiRefNet 是一个图像分割网络&#xff0c;专注于复杂任务如背景移除、掩码生成、伪装物体检测、显著性目标检测等。该模型结合了编码器、解码器、多尺度特征提取、以及梯度监督机制&#xff0c;能够有效处理不同类…...

Oracle 数据库安装和配置指南(新)

目录 1. 什么是Oracle数据库&#xff1f; 2. 安装前的准备工作 2.1 硬件要求 2.2 软件要求 2.3 下载Oracle安装包 3. Oracle数据库的安装步骤 3.1 Windows系统安装步骤 3.2 Linux系统安装步骤 4. 配置Oracle数据库 4.1 设置环境变量&#xff08;Linux&#xff09; 4.…...

JavaScript的注释与常见输出方式

注释 源码中注释是不被引擎所解释的&#xff0c;它的作用是对代码进行解释。Javascript 提供两种注释的写法:一种是单行注释&#xff0c;用//起头;另一种是多行注释&#xff0c;放在/*和*/之间。 单行注释&#xff1a; //这是单行注释 多行注释&#xff1a; /*这是 多行 注…...

深入探索Android开发之Java核心技术学习大全

Android作为全球最流行的移动操作系统之一&#xff0c;其开发技能的需求日益增长。本文将为您介绍一套专为Android开发者设计的Java核心技术学习资料&#xff0c;包括详细的学习大纲、PDF文档、源代码以及配套视频教程&#xff0c;帮助您从Java基础到高级特性&#xff0c;再到A…...

vue3 选择字体的颜色,使用vue3-colorpicker来选择颜色

1、有的时候我们会用到颜色的选择器&#xff0c;像element-plus提供了&#xff0c;但是ant-design-vue并没有&#xff1a; 这个暂时没有看到&#xff1a; 但是Ant Design 5的版本有&#xff0c;应该不是vue的。 2、使用第三方提供的vue3-colorpicker&#xff1a;storybook/cli…...

windows C++ 并行编程-使用消息块筛选器

本文档演示了如何使用筛选器函数&#xff0c;使异步消息块能够根据消息的有效负载接受或拒绝消息。 创建消息块对象(例如 concurrency::unbounded_buffer、concurrency::call 或 concurrency::transformer)时&#xff0c;可以提供筛选器函数&#xff0c;用于确定消息块是接受还…...

【mysql技术内幕】

MySQL之技术内幕 1.MVCC模式2. 实现mvcc模式的基础点3.MySQL锁的类型4. 说下MySQL的索引有哪些吧&#xff1f;5. 谈谈分库分表6. 分表后的id咋么保证唯一性呢&#xff1f;7. 分表后非sharding key的查询咋么处理的&#xff1f; 1.MVCC模式 MVCC, 是multi-version concurrency c…...

快递物流单号识别API接口DEMO下载

单号识别API为用户提供单号识别快递公司服务&#xff0c;依托于快递鸟大数据平台&#xff0c;用户提供快递单号&#xff0c;即可实时返回可能的一个或多个快递公司&#xff0c;存在多个快递公司结果的&#xff0c;大数据平台根据可能性、单号量&#xff0c;进行智能排序。 应用…...

Jetpack——Room

概述 Room是谷歌公司推出的数据库处理框架&#xff0c;该框架同样基于SQLite&#xff0c;但它通过注解技术极大简化了数据库操作&#xff0c;减少了原来相当一部分编码工作量。在使用Room之前&#xff0c;要先修改模块的build.gradle文件&#xff0c;往dependencies节点添加下…...

Dynamic Connected Networks for Chinese Spelling Check(ACL2021)

Dynamic Connected Networks for Chinese Spelling Check(ACL2021) 一&#xff0e;概述 文中认为基于bert的非自回归语言模型依赖于输出独立性假设。不适当的独立性假设阻碍了基于bert的模型学习目标token之间的依赖关系&#xff0c;从而导致了不连贯的问题。为些&#xff0c…...

前端vue-3种生命周期,只能在各自的领域使用

上面的表格可以简化为下面的两句话&#xff1a; setup是语法糖&#xff0c;下面的两个import导入是vue3和vue2的区别&#xff0c;现在的vue3直接导入&#xff0c;比之前vue2简单 还可以是导入两个生命周期函数...

el-upload如何自定展示上传的文件

Element UI 中&#xff0c;el-upload 组件支持通过插槽&#xff08;slot&#xff09;来自定义文件列表的展示方式。这通常是通过 file-list 插槽来实现的。下面是一个使用 el-upload 组件并通过 file-list 插槽来自定义文件列表展示的完整示例代码。 在这个示例中&#xff0c;…...

研1日记15

1. 文心一言生成&#xff1a; 在PyTorch中&#xff0c;nn.AdaptiveAvgPool1d(1)是一个一维自适应平均池化层。这个层的作用是将输入的特征图&#xff08;或称为张量&#xff09;在一维上进行自适应平均池化&#xff0c;使得输出特征图的大小在指定的维度上变为1。这意味着&…...

基于Nginx搭建点播直播服务器

实现直播和点播离不开服务器⽀持&#xff0c;可以使用开源的NGINX服务器搭建直播和点播服务。 当然&#xff0c;NGINX本身是不⽀持视频的&#xff0c;需要为NGINX增加相应的RTMP模块进行支持。 1、下载nginx和rtmp模块 # nginx wget ht tp://nginx.org/download/nginx-1.18.…...

QT LineEdit显示模式

QT LineEdit显示模式 QLineEdit 显示模式:   Normal 普通模式   NoEcho 不回写&#xff0c;即输入内容是有的&#xff0c;但是显示不出来,就是不在 QLineEdit 输入框中显示&#xff0c;但是触发例如 textChanged 信号会将所输入的文字写出来   Password 显示密码   Pa…...

IT技术在数字化转型中的关键作用

IT技术在数字化转型中的关键作用 在当今数字化浪潮中&#xff0c;IT技术无疑扮演着核心角色。无论是企业的数字化转型&#xff0c;还是政府公共服务的智能化提升&#xff0c;信息技术都在推动着整个社会向更高效、更智能的方向发展。本文将探讨IT技术在数字化转型中的关键作用…...

Keil MDK-ARM许可证错误-25的解决方案

1. 问题现象与背景解析最近在升级Keil MDK-ARM到新版本后&#xff0c;不少开发者遇到了一个棘手的许可证错误。当尝试编译项目时&#xff0c;系统会弹出如下错误提示&#xff1a;Error: A9555E: License checkout for feature mdk_xxx_compiler5 with version 5.0201411 has be…...

汇编新手避坑指南:搞懂AX、BX、CX、DX这些“双面”寄存器,才算入门

汇编新手避坑指南&#xff1a;搞懂AX、BX、CX、DX这些“双面”寄存器&#xff0c;才算入门 第一次接触汇编语言时&#xff0c;那些神秘的寄存器名称总让人望而生畏。尤其是AX、BX、CX、DX这几个"双面人"&#xff0c;一会儿能拆成AH和AL&#xff0c;一会儿又能合体使用…...

实战指南:AI调用成本降71%——利用“推理路由”告别大模型胡乱开销

大多数 AI 应用在刚开始时&#xff0c;都会在代码中硬编码一个模型。对于原型开发来说&#xff0c;这运行得很好&#xff0c;但一旦单个端点需要处理多个复杂的任务类别&#xff0c;这种模式就会分崩崩离析。分类、紧急程度评分、面向客户的草稿以及长篇总结&#xff0c;这些任…...

[实战剖析] 从零构建CSRF攻击:GET与POST请求的攻防博弈

1. CSRF攻击的本质与危害 跨站请求伪造&#xff08;CSRF&#xff09;就像有人偷偷用你的手机给朋友发消息。想象你登录了社交网站没有退出&#xff0c;这时访问了恶意网页&#xff0c;它就能冒充你执行加好友、改资料等操作。这种攻击不需要窃取密码&#xff0c;只要浏览器保持…...

告别龟速下载!Windows下用VSCode离线包5分钟搞定ESP-IDF环境(附镜像加速)

5分钟极速部署&#xff1a;Windows下VSCode与ESP-IDF开发环境实战指南 当第一次接触ESP32开发时&#xff0c;许多开发者都会遇到一个共同的难题——官方工具链的下载速度慢如蜗牛。这不仅浪费宝贵时间&#xff0c;还可能让初学者在配置阶段就失去耐心。本文将分享一套经过实战…...

Textractor:3分钟掌握游戏文本提取,轻松跨越语言障碍!

Textractor&#xff1a;3分钟掌握游戏文本提取&#xff0c;轻松跨越语言障碍&#xff01; 【免费下载链接】Textractor Extracts text from video games and visual novels. Highly extensible. 项目地址: https://gitcode.com/gh_mirrors/te/Textractor 还在为看不懂日…...

Auto.js开发环境搭建:用雷电模拟器替代真机,解决局域网IP不在同一网段的问题

Auto.js开发环境搭建&#xff1a;雷电模拟器网络架构深度解析与实战指南 当开发者手头没有备用安卓设备&#xff0c;或者真机与电脑的Wi-Fi连接频繁断开时&#xff0c;安卓模拟器成为了Auto.js脚本测试的救星。但模拟器的网络配置往往暗藏玄机——为什么雷电模拟器显示172.16.x…...

企业信息化架构(业务架构、应用架构、数据架构、技术架构)方案:四横五纵框架 、元模型+视图 、业务、应用、数据、技术四大架构

该方案提出了企业信息化架构的“四横五纵”框架&#xff0c;涵盖业务、应用、数据、技术四大架构及架构管控&#xff0c;通过元模型定义元素关系&#xff0c;以多层级视图实现从战略到实施的可视化与落地&#xff0c;支撑企业架构全生命周期管理。 四横五纵框架清晰划分了企业架…...

从“会响”到“可靠”:给这个经典12V降5V电路加个二极管和电容,稳定性提升不止一点点

从“会响”到“可靠”&#xff1a;经典12V降5V电路的稳定性优化实战 当你在面包板上搭建好那个经典的稳压管NPN降压电路&#xff0c;看着万用表显示稳定的5V输出时&#xff0c;或许会感到一丝成就感。但当你接上负载&#xff0c;发现电压开始波动&#xff0c;或者在电源反接时闻…...

告别驱动烦恼:用TI官方CCS开发MSP430,为什么比第三方IAR更省心?

嵌入式开发者的效率革命&#xff1a;为什么TI官方CCS是MSP430开发的最优解&#xff1f; 在嵌入式开发领域&#xff0c;工具链的选择往往决定了项目的启动速度和开发体验。对于MSP430系列微控制器的开发者而言&#xff0c;面对IAR、GCC和TI官方的Code Composer Studio(CCS)等多种…...