现在很多公司都在做UI自动化测试,也有很多正在做UI自动化测试的路上,招聘的时候习惯性的会问会不会性能测试,会不会自动化测试(一般指UI自动化测试),也有很多小伙伴一直憧憬着要做技术专家,那么性能测试暂且不表,UI自动化测试到底有没有用呢,或者有什么用呢,本节就重点阐述说明UI自动化测试的应用场景和存在价值。

正文

首先需要正确的认识UI自动化测试,测试按照类型可分为功能测试和非功能测试,功能测试按照实施方法可分为脚本(Unit)测试、接口自动化测试、UI自动化测试、人工测试,非功能就包含了性能、安全、易用性、可靠性等等。

当前有一半以上的企业在做且只在做着手工测试,手工测试在整个测试界占比还是相当大的,这有它的必然性,因为当前国内的IT公司大部分还处于无序到有序的发展阶段,手工测试依然是主流的测试手段。业界也有些团队或个人在探索和研究着其他的测试方法,除了以上所说的之外还有一些精准测试、日志回溯测试、深度遍历测试、AI测试等。

互联网的发展规律和万事万物都是一样的,都是从出生到成长,从不断地试错然后慢慢到成熟,再然后到稳定固化,然后再改进。在当前这个试错或者从无序到有序的阶段中,好多事情还没有形成固化的体系。

再次回到UI自动化测试这部分,首先说,UI自动化测试是什么呢,它是自动执行或运行预定义的操作步骤的一种测试手段,基于UI(界面)层面,完全模拟人工测试的一种测试行动。

在理想情况下,UI自动化能够几乎完全完美的模拟人的手工操作,但其实它也是有一些限制的,比如一些需要外设、需要传感器的操作,机器很难模拟,需要大量的代码去破解或者模拟类似行为,如人脸、指纹、二维码扫码、图片识别、花式验证码,这里并不是说不可以模拟,而是如果模拟的话需要付出比较大的代价,暂时还没有发现很方便或简单解决这些难题的方法。

UI自动化是什么讲完了,然后谈谈UI自动化的应用场景。

UI自动化可以应用的场景包括对客系统的功能测试(一般用于回归阶段),覆盖PCweb、安卓、IOS等端;也可用于自动化造数,这部分效率上不如接口自动化,但是造数准确性上要优于接口,因为黑盒情况下无法了解系统内部构造,并且即是了解了系统交互设计,接口自动化人员可以完全模拟该设计,但无法确保实际开发这就是按照这个逻辑去实施的;还可以应用于自动化办公,解决固定流程下系统中的人力重复劳动;还可应用于智能客服、远程控制、黑客、点赞刷票、抢红包等等。更多应用场景需要大家集思广益的去开发。

再说说UI自动化测试的价值,一切不以拦截缺陷为目的的测试手段都是耍流氓,说这句话可能会得罪一部分人,但是事实就是如此。无论是何种的测试手段,都应该以拦截缺陷作为首要目标,自动化测试也是如此。

很多人会说,自动化测试一年就发现了三五个,或者十几个缺陷,还有做下去的必要么?投入那么多收入这么少,性价比是不是太低了?这个就真的是需要看价值了,如果有这个疑问,那么需要看这样几件事:

1、自动化拦截的缺陷如果没有被拦截到,会造成多大的损失?拿“估计损失去”减“投入”就是自动化测试指向,如果为正,则需要保持自动化测试当前的投入状态,如果为负则需要分析后适当调整自动化测试的覆盖程度(如果还未拦截到高价值的缺陷,则需要分析覆盖率,是否增加覆盖,还有一种可能是覆盖率过高,投入过大,远超缺陷的价值)。

2、自动化在什么阶段拦截的缺陷?距离上线时间越近,被拦截下来的缺陷价值就越大
3、自动化测试拦截的缺陷是否应当被手工人员发现?如果应当,说明手工测试需要加强管控
4、自动化测试拦截的缺陷隐藏深度如何?如果发现了隐藏较深的缺陷,应当继续加强自动化测试的投入和覆盖程度。
5、依据自动化测试拦截的缺陷情况分析开发过程的规范性。

如果以上价值都不需要考虑,则不建议做自动化测试。另可以根据系统类型不同选择不同的自动化测试技术,比如迭代较慢,业务重要程度高,对客业务少,这类系统可以考虑做单元测试,或接口自动化;提供服务类的系统,接口数量大,对接前端系统较多的可以做接口自动化;业务迭代速度快,注重用户体验,版本管理不够稳定,新功能较多的系统,可以考虑UI自动化测试(有些人觉得页面变动频繁不应该做UI自动化,这个是对的,但是如果实在原有框架内实施,新增功能,迭代较快,并且对客系统,其实很适合做UI自动化测试,前提是也需要好用的工具)。

最后谈谈UI自动化测试的定位吧,前边已经讲的差不多了,UI自动化的定位其实就是回归测试工具、自动化造数工具、测试体系的补充。抛开自动化造数不提,在有些企业中,UI自动化测试也属于测试体系的一个补充,为了完善团队的测试方法,同时在一些评级或者对外宣传方面也会起到名誉作用。完全属于小公司不建议做,有钱往大了做的一种测试方法。

结尾

UI自动化测试容易做,但是想要做好很难(获得自我认同就很难了、获得他人的认同更难),除了以上讲到的价值和定位,也希望在未来可以走出不一样的道路

UI自动化测试如何走出困境?价值又如何体现?相关推荐

  1. 疯狂马斯克:如何带特斯拉走出困境?

    ▼ 点击上方蓝字 关注网易智能 为你解读AI领域大公司大事件,新观点新应用 文 | 小羿 特斯拉财报透露了哪些事? 5月3日,特斯拉发布了2018年第一季度财报.下面智能菌为大家分析下财报重点: 1. ...

  2. 普通程序员如何走出困境?

    普通程序员如何走出困境? 2010-01-14 12:52 这是发到我邮箱里面的一封信,信很长,从字面看,这位程序员朋友内心有点焦虑和沮丧,但他毕竟还没有放弃希望.所以来信求教与我. 这点,我心有戚戚 ...

  3. 当你迷茫时你是怎么走出困境的?

    知乎问题:当你迷茫时你是怎么走出困境的? 涛哥回答: 冯唐有冯唐的迷茫,马云也有马云的困境.有时,我们可能幻觉地认为,某某某真爽啊,我要是像他那样就好了,然后每天周游四方. 很多东西,就像看片一样,看 ...

  4. 巴比特 | 元宇宙每日必读:疫情让文旅按下暂停键,元宇宙是“走出困境”的捷径吗?...

    摘要:自疫情来袭,诸多行业被迫按下暂停键,其中文旅行业首当其冲.而在防疫常态化时代背景下,元宇宙的到来让文旅业在这次热潮中嗅到机会.从虚拟空间到数字藏品,文旅企业快速与时代浪潮接轨,开拓了一系列潮流玩 ...

  5. 普通程序员如何走出困境

    这是发到我邮箱里面的一封信,信很长,从字面看,这位程序员朋友内心有点焦虑和沮丧,但他毕竟还没有放弃希望.所以来信求教与我. 这点,我心有戚戚焉,其实,我自己定位,也仅仅是一个普通程序员,这位朋友谈到的 ...

  6. 普通程序员如何走出困境?【转】

    这是发到我邮箱里面的一封信,信很长,从字面看,这位程序员朋友内心有点焦虑和沮丧,但他毕竟还没有放弃希望.所以来信求教与我. 这点,我心有戚戚焉,其实,我自己定位,也仅仅是一个普通程序员,这位朋友谈到的 ...

  7. 展讯走出困境开始爬坡

    2009年8月19日展讯发布Q2财报,虽然依然亏随1310万美元,不过从近几个季度财报分析,展讯已经走出2008年以来的低谷,开始迅速爬坡,按照展讯公布的财报预计2009年Q3营收将超过3100万美元 ...

  8. Linux在中国如何走出困境?

    多年来,在国内所谓"圈子"里面的人,总是把Linux用户看成是"小众群体",不能给予足够的重视,软件盗版的泛滥进一步加重了这一倾向.我们该怎么办呢? 我认为,在 ...

  9. 规划设计 | 智慧城市为智能交通系统建设走出困境提供新契机

    我国各大中城市的智能交通建设已经历过20多个年头,在系统建设中始终存在着系统建设比较凌乱.部门间建设的各类系统整合性较低.智能化分析水平不高.决策支持能力不足等问题.数字化.信息化和智能化的迅速发展, ...

最新文章

  1. vim 代码跳转神器 YouComPlete
  2. java excel 导出_java导出Excel通用方法实例
  3. python基础:多级菜单
  4. FFMpeg的avcodec_send_packet/avcodec_receive_frame是异步解码
  5. 产品流程图的制作方法详解
  6. 手机连接ftp文件服务器,手机轻松玩转小白文件管理器远程FTP教程——x-plo
  7. 读《晨间日记的奇迹》有感
  8. cp正在写入文件导致文件内容不一致
  9. error Target dll has been cancelled debugger aborted
  10. Android手机应用CTA认证自测
  11. AHA Music插件:超好用的听歌识曲搜索工具
  12. elementUI中el-table每行异常高度原因排查,累死
  13. egret_eui容器
  14. 33 大数据项目之电商数仓(电商数据仓库系统)
  15. 解决uniapp退出全屏视频字体变大的bug
  16. hdoj杭电问题分类
  17. html如何实现加载动画
  18. 字典爆破php,【爆破大法】百站爆破经验总结(附带各种爆破字典)
  19. 西门子200PLC中断指令
  20. Nuke关于Grade节点的一些笔记

热门文章

  1. 原生js生成99乘法表(美化版)
  2. 32位操作系统下各种数据类型所占有的字节数
  3. 广东计算机一级考点总结,计算机一级考点归纳总结
  4. cpu负载是什么意思(电脑cpu负载是什么意思)
  5. 虚拟机 Ubuntu 分辨率
  6. 理财规划师市场概况如何?理财规划师的就业前景好不好?
  7. ASP.NET验证控件之CustomValidator
  8. 叫男朋友猪头的四大理由
  9. 初学Java找不到或无法加载主类
  10. php 七牛 视频切片,七牛云试用指南-音视频切片与播放授权