【web系统UI自动化】关于UI自动化的总结

实施过了web系统的UI自动化,回顾梳理下,想到什么写什么,随时补充。
首先,自动化测试不是手动测试的替代品,是比较好的补充,而且不是占大比重的补充。
70%的测试工作集中在底层接口测试和单元测试,20%的测试工作为集成测试,其他10%的测试即为界面测试。
开发方向:
- 尽可能的相通的模块,通用的封装
- 开发约定好,便于定位
- 适用兼容测试
- 无界面运行
- 快速定位问题:报错信息、错误截图
- 多环境
收益点
- 脚本开发时间和复用次数
- 快速验证,第一时间响应问题
还可以做哪些?
- 兼容性
- 多环境
- 便于快速定位
- 提炼更多通用模块。
- 调研更优解决方案,比如:cypress等
- case依赖优化
- 深度校验
什么样的项目适合web自动化
- 系统稳定,太多的阻止程序或更改。
- 准备之前,先手工测试,确认自动测试可以涵盖的系统功能。
- 需要多系统,多浏览器兼容性测试
什么样的功能点需要web自动化
- 主业务流程
- 易于实现自动化的web元素、页面
- 重复量大的功能
web自动化常见的验证点
- 页面元素验证
- 页面列表数据验证
- 页面元素属性?
- UI的文本,图片显示正确性
- UI的交互逻辑正确性测试
- UI上的用户行为正确性测试
对于web自动化框架常见的需求点
- 分布式执行,可以多机器,多浏览器同步执行脚本
- 适用于不同环境运行
- 分层设计,方便维护
- 生成测试报告
- 模块的复用
- 必要的日志搜集
UI自动化收益点的采集
- 回归测试需要定期运行,在自动化时,它们可以节省测试人员的时间,我们可以更专注于其他场景和探索性测试。
- 脚本开发时间和复用次数
- 误报频率
UI自动化缺点or局限
- 不能快速反馈(相对于单元测试和API测试)
- 只会对于case已确定的内容进行校验
- 运行的稳定性
- 发现的错误不多,大多数错误似乎是通过“意外”或进行探索性测试而发现的。这可能是因为在每个探索性测试会话期间,我们可能以不同的方式测试应用程序,从而通过应用程序找到新的漏洞。
- 编写优秀且稳定的XPath / CSS定位器所花费的时间,并在底层HTML标记发生变化时更新它们。
- UI本身的变化性,要想达到和手工测试相同的覆盖率,投入比较大。
如何进行CI(Continuous Integration),也就是持续集成
● 持续提交代码 (Check-in)
○ 一天之中多次提交
● 持续构建代码 (Build)
○ 保证在任何时刻代码是可以继续开发的
● 持续部署代码 (Deploy)
○ 保证始终有一个可以部署的版本
● 持续测试代码 (Test)
○ 每次提交均执行单元测试
○ 每天一次或数次集成测试
○ 每天一次或数次系统测试
不过,高频的集成,还是用接口更加合适,后面的工作会把系统的交互接口自动化,届时分享。
【web系统UI自动化】关于UI自动化的总结的更多相关文章
- 自动化之UI(autoit)
自动化 说到自动化,我真的很不喜欢UI这层去做实践.前置条件要求比较严谨,如果不满足特定的前置条件,那么成本实在太大了. 投入与产出差过大,效果打折扣.从互联网来说,UI自动化是入门门槛很低的一种实践 ...
- 接口自动化与UI自动化两者的可行性
1.首先接口测试是跳过前端界面对服务端的测试,UI测试是对前端界面的测试,从分层测试的角度考虑,两者不应该是可以互相取代的关系. 2.从公司开展自动化的的角度考虑,可以重点关注这个项目开展接口自动 ...
- 自动化测试 接口自动化及UI自动化测试平台设计演示
接口自动化及UI自动化测试平台设计演示 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群:7156436 大家好,我是授客. 本视频意在分享个人,基于Python,Djan ...
- HTML5 UI框架Kendo UI Web教程:创建自定义组件(三)
Kendo UI Web包 含数百个创建HTML5 web app的必备元素,包括UI组件.数据源.验证.一个MVVM框架.主题.模板等.在前面的2篇文章<HTML5 Web app开发工具Ke ...
- HTML5 UI框架Kendo UI Web中如何创建自定义组件(二)
在前面的文章<HTML5 UI框架Kendo UI Web自定义组件(一)>中,对在Kendo UI Web中如何创建自定义组件作出了一些基础讲解,下面将继续前面的内容. 使用一个数据源 ...
- Atitit. .net c# web 跟客户端winform 的ui控件结构比较
Atitit. .net c# web 跟客户端winform 的ui控件结构比较 .net 4.5 webform Winform 命名空间 System.Web.UI.WebControls ...
- Web Design:给实验室UI们的一堂课(上)
实验室的UI越来越水,设计什么的做的一塌糊涂,所以拖了很久,就想给他们讲一下设计或者说入门吧,上周末才倒出来时间. 这里放上PPT和讲稿吧,懒得去整理板式了. 主要讲了一下Web Design怎么做, ...
- 国产 WEB UI 框架 (收费)-- Quick UI,Mini UI
国产 WEB UI 框架 (收费)-- Quick UI,Mini UI : http://www.uileader.com/ http://www.miniui.com/
- Portswigger web security academy:Clickjacking (UI redressing)
Portswigger web security academy:Clickjacking (UI redressing) 目录 Portswigger web security academy:Cl ...
随机推荐
- DeepVO: Towards End-to-End Visual Odometry with Deep Recurrent Convolutional Neural Networks
1.Introduction DL解决VO问题:End-to-End VO with RCNN 2.Network structure a.CNN based Feature Extraction 论 ...
- sql developer连接mysql数据库
1 首先打开sql developer ,选择上方菜单,工具(tools)--->首选项,如下图 2 数据库(database)--->第三方 JDBC驱动程序 ; “添加条目”,选择m ...
- python字符串和数字的基本运算符
python字符穿的4种表达方式 name='张三' name="张三" name='''张三''' name="""张三""&q ...
- python2.5项目:个税计算器程序
#开发个税计算器:应纳税所得额=工资收入金额-各项社会保险费-起征点(5000元)应纳税额=应纳税所得额*税率—速算扣除数(税率参考图片)m=float(input("请输入你的税前工资:& ...
- Linux入门-基本概念
本文主要介绍linux基础概念介绍,对基本概念了解后,更好入门. 这里主要介绍一下几个概念 什么是linux GNU项目和自由软件基金会 linux发行版 什么是linux 也许大家都已经知道,L ...
- [leetcode/lintcode 题解] 前序遍历和中序遍历树构造二叉树
[题目描述] 根据前序遍历和中序遍历树构造二叉树. 在线评测地址: https://www.jiuzhang.com/solution/construct-binary-tree-from-preor ...
- Mac 从睡眠恢复后没有声音的问题
重启能解决,不想重启,因为不想重置当前工作状态 换个办法是: 杀掉coreaudiod进程,然后系统会把他自动拉起,然后就ok了.
- C++ 不具有继承关系的类之间的显式,隐式转换 2013-07-11 15:41
好久没有写blog了,今天在学习c#的时候看到某一章节 讲类的隐式与显式转换.特此留笔,以供后续参考之用. 关于显式,隐式转换有些争论,说什么不建议隐式转换.但是个人认为非必要,如果有良好的基础书写基 ...
- generate_fixed_frame()方法生成Java方法栈帧
在从generate_normal_entry()函数调用generate_fixed_frame()函数时的栈与寄存器的状态如下: 栈的状态如下图所示. 各个寄存器的状态如下所示. rax: ret ...
- exe调用DLL的方式
假设被调用的DLL存在一个导出函数,原型如下: void printN(int); 三种方式从DLL导入导出函数 生成DLL时使用模块定义 (.def) 文件 在主应用程序的函数定义中使用关键字__d ...