什么是UI自动化测试?什么项目适合做UI自动化测试?

🍅点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

本文主要分享做简单的UI自动化测试简介、为何要做UI自动化测试、什么情况下适合做UI自动化测试以及其他的心得体会,希望能给各位同行带来思想上的碰撞。

1、about自动化测试

定义:把人为驱动的测试转化为机器执行的一种过程,重点在于持续集成这个概念;

优势:节约人力和时间成本;

测试金字塔:

如上图所示,敏捷大师Mike Cohn提出该概念,然后由Martin Fowler大师在此基础上提出了测试分层概念,以区别于传统的自动化测试。

2、自动化测试分层

单元自动化测试(数据处理层):指对软件中最小的可测试单元进行检查和验证,一般需要借助单元测试框架,如java的Junit、TestNG,python的unittest,常见的手段是code review等;

接口自动化测试(业务逻辑层):主要检查验证模块间的调用返回以及不同系统、服务间的数据交换,常见的接口测试工具有postman、jmeter、loadrunner等;

UI自动化测试(GUI界面层):UI层是用户使用产品的入口,所有功能通过这一层提供给用户,测试工作大多集中在这一层,常见的测试工具有UFT、Robot Framework、Selenium、Appium等;

性价比:按照测试金字塔模型以及投入/产出比,越向下,回报率越高;

Google的自动化分层投入占比:

小测试(Unit):占比70%;

中测试(Service):占比20%;

大测试(UI):占比10%;

自动化测试面临的挑战:面临的最大挑战就是变化,因为变化会导致测试用例运行失败,所以需要对自动化脚本不断debug,如何控制成本、降低成本是对自动化测试工具以及人员能力的挑战。

3、什么样的项目适合自动化测试

如上图所示,真正工作中无法全部满足以上条件,所以需要作出权衡,一般来说,只需要满足以下几点,就可以对项目开展自动化测试(图中红色框标注的选项):

①需求稳定,不会频繁变更

自动化测试最大的挑战就是需求的变化,而自动化脚本本身就需要修改、扩展、debug,去适应新的功能,如果投入产出比太低,那么自动化测试也失去了其价值和意义;

折中的做法是选择相对稳定的模块和功能进行自动化测试,变动较大、需求变更较频繁的部分用手工测试;

②多平台运行,组合遍历型、大量的重复任务

测试数据、测试用例、自动化脚本的重用性和移植性较强,降低成本,提高效率和价值;

③软件维护周期长,有生命力

自动化测试的需求稳定性要求、自动化框架的设计、脚本开发与调试均需要时间,这其实也是一个软件开发过程,如果项目周期较短,没有足够的时间去支持这一过程,那自动化测试也就不需要了;

④被测系统开发较为规范,可测试性强

主要出于这几点考虑:被测试系统的架构差异、测试技术和工具的适应性、测试人员的能力能否设计开发出适应差异的自动化测试框架;

4、常见的自动化测试工具简介

UFT(Unified Functional Testing)

即原来的QTP(Quick Test Professional Software)与ST(Service Test)合并而来,由HP公司开发,是一个企业级的商业自动化测试工具,提供了强大易用的录制回放功能,

同时兼容对象识别模式与图像识别模式,支持B/S和C/S两种架构的软件测试;

Robot Framework

一款基于python语言编写的自动化测试框架工具,具备良好的扩展性,支持关键字驱动,支持多种类型的客户端和接口,可进行分布式测试;

Selenium

应用于web的自动化测试工具,支持多平台、多浏览器、多语言来实现自动化,优点如下:

①开源、免费;

②多浏览器支持:chrome、Firefox、IE、Edge等;

③多平台支持:Linux、Windows、MAC;

④多语言支持:java、python、Ruby、C#、JavaScript、C++;

⑤对web界面有良好的支持;

⑥简单(API简单)、灵活(开发语言驱动);

⑦支持分布式测试用例执行;

5、UI自动化测试要不要做?

如果一个组织真正重视软件质量,UI自动化测试是有必要做。有如下几点理由:

1.任何自动化工具都是在简单、机械、重复的任务场景下最能发挥作用,UI测试非常符合这个特点。

2.对于很多组织来说,UI测试是当前耗费测试团队人力多的环节,大部分专职测试人员日常工作就是UI测试。“工欲善其事必先利其器”,测试人员也需要自动化工具来提升其日常工作效率。

3.无论后台多复杂、多重要,用户接触的终究还是前端界面。现在的软件除了后台逻辑之外,还有很多前端脚本逻辑和样式,单纯靠后台接口/单元测试,无法证明用户端的可用性。

4.自动化测试确实是要分层的(单元测试、接口测试、UI测试),从测试团队的角度来说,非常希望有足够充分的单元测试和接口测试来保证提测版本的质量,但实际情况往往是开发团队所维护单元测试和接口测试也是非常不充分、甚至几乎没有。

所以任何项目中有人拿“分层自动化测试”跟我讲不要做UI自动化测试的时候,我都会先请他们把接口测试和单元测试展示给我看看,然后再跟他们探讨自动化测试的实施策略。但是从实践的角度,为什么很多质疑的声音呢?

归根结底就是三个字“不稳定”!测试环境构建不稳定、被测软件界面不稳定、测试框架运行不稳定。

其实只要适当的过程改善和开发团队配合,这些问题基本都是能够解决或者明显改善的。以测试环境为例,在纯手工测试阶段,有些项目的测试环境可以被随时停止、随意更新。这样对手工测试也是有影响的(工作进度受干扰、测试计划被打乱),但是可以忍受。自动化测试会对测试环境提出更规范的要求,至少不能随时停止,这就需要对研发测试过程进行必要的改善。然而被测软件界面不稳定、测试框架运行不稳定,就没有测试环境不稳定那么容易解决了。这里面主要涉及与开发团队的配合、测试框架的设计。

6、什么样的项目更适合做自动化测试

在有些人看来,质量不高的原因是没有采用先进的测试技术,比如自动化测试。但质量不高的真正原因是项目本身的质量要求就是不高的。否则哪怕堆人肉,也要实现充分的回归测试。如果在这种情况下,如果采用适合的测试框架和实施策略推行自动化测试,通常会取得比较明显的成效。

所以关于什么类型的项目适合做自动化测试,我想回答的并不是什么项目周期长、需要长期维护、采用敏捷开发模式、组织推行DevOps、测试团队有基本编码技能,balabala…这些年笔者建议不要做UI自动化测试的项目也有很多,一些被我拒绝支持的项目也符合上述特点。后来我在评估一个项目是否适合做自动化测试时,引入了一些非技术指标:

1.当前测试覆盖度、质量风险及测试投入;

2.目标测试覆盖度、质量风险,以及如果不引入自动化手段需要的测试投入;

3.这个目标是谁制定的或者是向谁承诺要达成的?

如果项目没有制定一个在当前人力资源下无法达成的回顾覆盖范围目标,或者仅仅是项目组内定的目标,都没有向老板汇报或向客户承诺此目标。我觉得在这种情况下说要做自动化测试都是不太有诚意的。

对于真心实意要做自动化测试的项目,接下来我会引导他们把现有所有测试用例拿出来,具体分析每个(每类)用例的自动化执行可行性、实现技术方案(UI、接口),以及前期需要投入的成本。

在做完自动化测试ROI分析之后,如果确定要引入自动化测试,那么再辅以适当的自动化测试框架,实施成功的可能性是非常大的。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

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

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

相关文章

混淆矩阵入门

混淆矩阵从入门到精通教程 本教程面向机器学习初学者,从核心概念、公式推导到实战案例,循序渐进讲解混淆矩阵的使用方法,结合工业场景(石油、燃气)和通用场景,每个案例都完整计算准确率、精确率、召回率、F…

CTF竞赛入门指南:用Python从零开始编写自动化解题脚本

CTF网络安全大赛中的Python应用 CTF(Capture The Flag)网络安全大赛是一个在网络安全社区中广泛流行的竞赛形式。它通过各种挑战来检验参赛者的网络安全技能,包括逆向工程、漏洞利用、密码学、Web安全等。Python作为一种高效而强大的编程语言…

【文献速递】从基因到蛋白质的“信使”与“搬运工”:详解mRNA、rRNA与tRNA的生成与使命

在生命这台精密的分子机器中,遗传信息从DNA的“蓝图”转化为功能蛋白质的“实体”,是一个高度复杂且有序的过程。这一过程的核心,依赖于三类关键核糖核酸(RNA)的精密协作:信使RNA(mRNA&#xff…

机械制造行业如何实现大文件的分块上传?

2023年XX月XX日 外包项目攻坚日志 - 20G级文件传输系统开发实录 (关键词:信创环境兼容/海量文件存储/企业级断点续传/简历镀金项目) 凌晨3点:需求风暴会议复盘 客户作为省级档案数字化服务商,提出的变态需求&#xff…

互联网大厂 1000 道 Java 面试八股文整理(2026 年最新版)

很多 Java 工程师的技术不错,但是一面试就头疼,10 次面试 9 次都是被刷,过的那次还是去了家不知名的小公司。 问题就在于:面试有技巧,而你不会把自己的能力表达给面试官。 应届生:你该如何准备简历&#x…

gb28181点播流程中INVITE消息需要注意的点

1. Content-Length必须正确,否则设备会报415。2. sip 服务器给设备发 INVITE 消息时,sdp 携带的是媒体服务器的能力描述,正确的报文示例如下INVITE sip:{camera_id}3402000000:{local_port} SIP/2.0 Via: SIP/2.0/TCP {local_ip}:{local_port…

大模型微调常见问题解决方案汇总

一、环境配置类问题 环境配置是微调的第一步,也是最基础的环节,框架、硬件、依赖之间的兼容性问题,会直接导致后续工作无法开展,这类问题的排查优先级最高。 问题1:依赖版本冲突,安装后导入包时报错 这是最…

2026年诚信的叉车塑料托盘,网格塑料托盘,塑料托盘厂家选型推荐指南 - 品牌鉴赏师

引言在现代物流与仓储领域,塑料托盘、叉车塑料托盘、网格塑料托盘、九脚塑料托盘、平板塑料托盘以及仓储塑料托盘等塑料制品扮演着至关重要的角色。它们的质量、性能和适用性直接影响着物流效率、货物安全以及企业的运…

关于MoE(混合专家模型):看这篇就对了

一、MoE的诞生背景与核心定义 要理解MoE,首先要明确它解决的核心问题——传统稠密Transformer的固有瓶颈。Transformer是当前大模型的基础架构,其核心的前馈神经网络(FFN)层是模型做特征加工的关键,但传统的FFN是稠密层…

2026 年风味酱生产厂家推荐榜:山东晶荣食品有限公司 ,香菇风味酱/大葱风味酱/洋葱风味酱/牛肉风味酱/鲍菇风味酱全系供应

在调味酱市场中,风味酱凭借其独特的口感和广泛的应用场景,逐渐成为消费者餐桌上的常客。据行业数据显示,2025年风味酱市场规模已突破120亿元,年复合增长率达8.7%,其中香菇风味酱、牛肉风味酱等细分品类增速显著。…

吃透JVM深层原理:从内存模型到垃圾回收,面试生产排障全攻略

一、JVM内存模型:不止是“堆栈”那么简单 很多人对JVM内存的理解停留在“堆存对象、栈存方法”,但这只是表层认知。JVM规范定义的内存区域,每个都有明确职责和溢出场景,吃透这些才能避开90%的内存异常坑。 1. 内存区域细分&…

智能马桶哪家好?十大品牌深度测评给您一个选择(市场+用户+网评+销量四维认证) - 提酒换清欢

2026智能马桶品牌星级排名(市场+用户+网评+销量四维认证) 排名核心标准说明 本次排名综合四大核心维度:市场表现(渠道覆盖、政策适配、产能规模)、用户口碑(满意度、复购率、场景适配度)、网评数据(平台好评率…

江苏省聚乙二醇4000优质厂家推荐榜 - 优质品牌商家

江苏省聚乙二醇4000优质厂家推荐榜一、行业背景与推荐依据据《2026中国聚醚醇类化工原料行业发展白皮书》数据显示,聚乙二醇4000作为多功能化工中间体,近年在制药、化妆品、油田化学品等领域的年需求增长率达8.2%,已…

基于SpringBoot的校园疫情防控管理系统毕业设计源码

博主介绍:✌ 专注于Java,python,✌关注✌私信我✌具体的问题,我会尽力帮助你。 一、研究目的 本研究旨在开发一套基于SpringBoot框架的校园疫情防控管理系统,以应对当前新冠疫情对校园生活带来的挑战。具体研究目的如下: 首先&a…

拉床(数控/榫槽)制造商口碑分析:行业翘楚深度剖析 - 品牌推荐大师

在制造业智能化、高端化转型的浪潮中,拉床作为金属切削领域的关键装备,其性能、精度与售后服务对企业生产至关重要。据市场调研,2026年中国拉床市场规模有望突破62亿元,数控机型占比超40%,行业竞争呈现“高端技术…

厦门装修省钱秘籍:高性价比公司大揭秘 - 品牌测评鉴赏家

厦门装修省钱秘籍:高性价比公司大揭秘一、厦门装修,钱要花在刀刃上 在厦门这座美丽的海滨城市,拥有一套温馨舒适的家是许多人的梦想。装修作为实现梦想的重要环节,既充满期待感,也需要精准把控细节,尤其对于追求…

2026年江北彩印店综合实力TOP榜:服务、技术、资信三维度权威排行 - 华Sir1

前言:一站式能力成为决策关键 随着2026年企业降本增效与品牌化建设的需求持续深化,商业印刷市场已悄然完成一轮洗牌。根据《2026中国印刷业智能化发展报告》指出,单纯的价格优势正在让位于“一站式解决方案”的综合…

成都恒利泰:一只功分器如何止损20万?

成都恒利泰:一只功分器如何止损20万?客户案例: 凌晨一点的胡志明市港口,潮水声混着汽笛。 越南代理商小阮把最后一箱设备搬上岸,却接到紧急电话:“海关临时抽检,目前只剩一路射频,要同时接三副天线,通不过今天…

基于SpringBoot的校园疫情防控系统毕业设计源码

博主介绍:✌ 专注于Java,python,✌关注✌私信我✌具体的问题,我会尽力帮助你。一、研究目的本研究旨在设计并实现一套基于SpringBoot框架的校园疫情防控系统,以满足当前疫情防控形势下校园管理工作的实际需求。具体研究目的如下:构…

权威解读:2026年化污水处理设备厂家十大品牌排行榜单! - 深度智识库

面对日益严格的环保法规和多样化的处理需求,一张权威的污水处理设备推荐榜单,能让决策者拨开市场迷雾,看清行业真正的实力派。污水处理行业正迎来高质量发展的关键时期。在“双碳”目标深入实施的背景下,市场对高效…