如何正确选择UI自动化测试
近年流行一个词—UI,和UI搭边好像都那么高大上,软件测试行业也不例外,比如UI自动化测试。
常见的UI自动化测试程序有哪些呢?
l 带UI的Unit Test,比如mock掉底层代码,仅仅测试UI逻辑;
l 带UI的API Test,比如UI的component,大部分的API都是跟UI相关的;
l 功能测试。大部分的UI自动化测试是功能测试。或者说是Regression Test即回归测试;
UI自动化测试既有优点也是有缺点的,优点在于:覆盖范围广、不需要被测程序源代码、最大程度模拟用户操作等;缺点在于同样也存在一些固定因素,比如:大部分写UI自动化测试的人员没有丰富的代码经验,自动化测试代码也是软件代码,所以还是需要遵循开发从设计开始的所有流程,甚至有些UI的自动化测试是通过录制回放脚本来完成的。
所以自己的产品是否适合UI自动化测试,是否有其它替代方式?所以在采用UI自动化方案之前也是需要考虑一下几点:
l 需要看对产品的支持程度;
l 自动化工具的开发语言是否需要学习成本,自动化工具的第三方类库是否丰富,建议选择采用通用语言的自动化工具,比如用python或者c#作为脚本语言的工具。可以参考UI自动化测试工具TestWriter,就是用C#和java作为脚本语言工具,由于操作简单,不用进行脚本维护,所以维护性要相比较同类型的工具会容易维护;
l 在定义UI节点的时候,自动化工具是否提供方便的方式来生成UI的映射。而且这种映射是否比较容易维护;
l 是否可以方便的调试测试程序,比如是否支持断点和变量值查看。
多说一句,UI自动化是测试生来无法回避的一种能力,可以不依赖它,但是你需要。
如何正确选择UI自动化测试的更多相关文章
- 【转】 UI自动化测试的关注点
我发现了,大家极度关心自动化测试,尤其是UI自动化测试,虽然现在作为专项测试,离开这些越来越远了,但总能遥想以前,我总能想起自己做nokia的WindowsLive的ui自动化,做web的自动化测试, ...
- [转]Android UI 自动化测试
介绍 Android测试支持库包含UI自动化模块,它可以对Android应用进行自动黑盒测试.在API Level 18中引入了自动化模块,它允许开发者在组成应用UI的控件上模仿用户行为. 在这个教程 ...
- Python+appium+unittest UI自动化测试
什么是UI自动化 自动化分层 单元自动化测试,指对软件中最小可测试单元进行检查和验证,一般需要借助单元测试框架,如java的JUnit,python的unittest等 接口自动化测试,主要检查验证模 ...
- 从一次故障聊聊前端 UI 自动化测试
背景 事件的起因在于老板最近的两次"故障",一次去年的,一次最近.共同原因都是脚手架在发布平台发布打包时出错,导致线上应用白屏不可用. 最神奇的是,事后多次 Code Review ...
- 使用AirtestProject+pytest做支付宝小程序UI自动化测试
一,前言 1,背景 因公司业务需要做支付宝小程序的UI自动化测试,于是在网上查找小程序的自动化资料,发现微信小程序是有自己的测试框架的,但几乎找不到支付宝小程序UI自动化测试相关的资料.白piao失败 ...
- ui自动化测试,页面方法的使用
悬浮下拉框 的设置选择 下拉框的选择 显性等待 双击, ActionChains类的方法行动链 提示框 双击,右击 双击用到行动连,提示框用到Alert的类 右击用到的也是行动连 UI自动化测试 #h ...
- 腾讯优测优分享 | 游戏的UI自动化测试可以这样开展
腾讯优测是专业的自动化测试平台,提供自动化测试-全面兼容性测试,云真机-远程真机租用,漏洞分析等多维度的测试服务,让测试更简单! 对于目前的两大游戏引擎cocos-2dx.unity3D,其UI自动化 ...
- 使用WatiN进行UI自动化测试
Watin是一个UI自动化测试工具,支持ie/firefox,官方网站:http://watin.org/. 主要有以下特点: 支持主要的html元素,见:http://watin.org/docum ...
- 【转】Web UI自动化测试原理
目前市面上有很多Web UI自动化测试框架,比如WatiN, Selinimu,WebDriver,还有VS2010中的Coded UI等等. 这些框架都可以操作Web中的控件,模拟用户输入,点击等 ...
随机推荐
- zTree+EasyUi做权限遇到的小问题
最近需要做一个zTree+EasyUi的权限管理系统,以前有过接触,在做这一块时,用到了ztree,树来加载咱们的菜单栏,后台获取登录用户信息的权限列表,转换成json对象来加载到咱们的树当中,代码如 ...
- 接口测试总结<转>
本文主要分为两个部分: 第一部分:主要从问题出发,引入接口测试的相关内容并与前端测试进行简单对比,总结两者之前的区别与联系.但该部分只交代了怎么做和如何做?并没有解释为什么要做? 第二部分:主要介绍为 ...
- Linux配置网络YUM源
配置网络yum源 RHEL6.5 [root@xuegod163 ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun ...
- 【转】Backbone使用总结
转自 http://www.pchou.info/javascript/2014/06/26/backbone-summary-01.html 开始在项目中大规模使用backbone,一路磕磕碰碰, ...
- 关于Xcode7中添加不了libresolv.dylib等类似库的问题
Xcode7中,由于某些机制,使得我们在添加类似于 libresolv.dylib.libz.dylib等库的时候,直接在Build Phases中点击加号添加,似乎已经无法找到相应的库.此时,我们可 ...
- Add more security in Visual Studio 2012
Compile flags: /GS: Stack protection from buffer overrun. /SDL: Subset of W3&W4 security warning ...
- JAVA设计模式--抽象工厂模式
抽象工厂设计模式 1.系统中有多个产品族,而系统一次只可能消费其中一族产品2.同属于同一个产品族的产品以其使用.来看看抽象工厂模式的各个角色(和工厂方法的如出一辙):抽象工厂角色: 这是工厂方法模式的 ...
- 链接报error LNK2019: unresolved external symbol错误,解决
http://blog.163.com/aiding_001/blog/static/22908192011102224344450/ 某次编写一个COM组件,接口定义好之后,增加了ZRX代码后编译链 ...
- Swap Swap,即交换分区
Swap,即交换区,除了安装Linux的时候,有多少人关心过它呢?其实,Swap的调整对Linux服务器,特别是Web服务器的性能至关重要.通过调整Swap,有时可以越过系统性能瓶颈,节省系统升级费用 ...
- Fragment、Activity 保存状态
Activity 保存状态1. void onCreate(Bundle savedInstanceState) 当Activity被第首次加载时执行.我们新启动一个程序的时候其主窗体的onCreat ...