实施过了web系统的UI自动化,回顾梳理下,想到什么写什么,随时补充。

首先,自动化测试不是手动测试的替代品,是比较好的补充,而且不是占大比重的补充。

70%的测试工作集中在底层接口测试和单元测试,20%的测试工作为集成测试,其他10%的测试即为界面测试。

开发方向:

  1. 尽可能的相通的模块,通用的封装
  2. 开发约定好,便于定位
  3. 适用兼容测试
  4. 无界面运行
  5. 快速定位问题:报错信息、错误截图
  6. 多环境

收益点

  1. 脚本开发时间和复用次数
  2. 快速验证,第一时间响应问题

还可以做哪些?

  1. 兼容性
  2. 多环境
  3. 便于快速定位
  4. 提炼更多通用模块。
  5. 调研更优解决方案,比如:cypress等
  6. case依赖优化
  7. 深度校验

什么样的项目适合web自动化

  1. 系统稳定,太多的阻止程序或更改。
  2. 准备之前,先手工测试,确认自动测试可以涵盖的系统功能。
  3. 需要多系统,多浏览器兼容性测试

什么样的功能点需要web自动化

  1. 主业务流程
  2. 易于实现自动化的web元素、页面
  3. 重复量大的功能

web自动化常见的验证点

  1. 页面元素验证
  2. 页面列表数据验证
  3. 页面元素属性?
  4. UI的文本,图片显示正确性
  5. UI的交互逻辑正确性测试
  6. UI上的用户行为正确性测试

对于web自动化框架常见的需求点

  1. 分布式执行,可以多机器,多浏览器同步执行脚本
  2. 适用于不同环境运行
  3. 分层设计,方便维护
  4. 生成测试报告
  5. 模块的复用
  6. 必要的日志搜集

UI自动化收益点的采集

  1. 回归测试需要定期运行,在自动化时,它们可以节省测试人员的时间,我们可以更专注于其他场景和探索性测试。
  2. 脚本开发时间和复用次数
  3. 误报频率

UI自动化缺点or局限

  1. 不能快速反馈(相对于单元测试和API测试)
  2. 只会对于case已确定的内容进行校验
  3. 运行的稳定性
  4. 发现的错误不多,大多数错误似乎是通过“意外”或进行探索性测试而发现的。这可能是因为在每个探索性测试会话期间,我们可能以不同的方式测试应用程序,从而通过应用程序找到新的漏洞。
  5. 编写优秀且稳定的XPath / CSS定位器所花费的时间,并在底层HTML标记发生变化时更新它们。
  6. UI本身的变化性,要想达到和手工测试相同的覆盖率,投入比较大。

如何进行CI(Continuous Integration),也就是持续集成

   ● 持续提交代码 (Check-in)
○ 一天之中多次提交
● 持续构建代码 (Build)
○ 保证在任何时刻代码是可以继续开发的
● 持续部署代码 (Deploy)
○ 保证始终有一个可以部署的版本
● 持续测试代码 (Test)
○ 每次提交均执行单元测试
○ 每天一次或数次集成测试
○ 每天一次或数次系统测试

不过,高频的集成,还是用接口更加合适,后面的工作会把系统的交互接口自动化,届时分享。

【web系统UI自动化】关于UI自动化的总结的更多相关文章

  1. 自动化之UI(autoit)

    自动化 说到自动化,我真的很不喜欢UI这层去做实践.前置条件要求比较严谨,如果不满足特定的前置条件,那么成本实在太大了. 投入与产出差过大,效果打折扣.从互联网来说,UI自动化是入门门槛很低的一种实践 ...

  2. 接口自动化与UI自动化两者的可行性

    1.首先接口测试是跳过前端界面对服务端的测试,UI测试是对前端界面的测试,从分层测试的角度考虑,两者不应该是可以互相取代的关系.   2.从公司开展自动化的的角度考虑,可以重点关注这个项目开展接口自动 ...

  3. 自动化测试 接口自动化及UI自动化测试平台设计演示

    接口自动化及UI自动化测试平台设计演示   by:授客  QQ:1033553122 欢迎加入全国软件测试交流qq群:7156436 大家好,我是授客. 本视频意在分享个人,基于Python,Djan ...

  4. HTML5 UI框架Kendo UI Web教程:创建自定义组件(三)

    Kendo UI Web包 含数百个创建HTML5 web app的必备元素,包括UI组件.数据源.验证.一个MVVM框架.主题.模板等.在前面的2篇文章<HTML5 Web app开发工具Ke ...

  5. HTML5 UI框架Kendo UI Web中如何创建自定义组件(二)

    在前面的文章<HTML5 UI框架Kendo UI Web自定义组件(一)>中,对在Kendo UI Web中如何创建自定义组件作出了一些基础讲解,下面将继续前面的内容. 使用一个数据源 ...

  6. Atitit. .net c# web 跟客户端winform 的ui控件结构比较

    Atitit. .net c# web 跟客户端winform 的ui控件结构比较 .net   4.5 webform Winform 命名空间 System.Web.UI.WebControls ...

  7. Web Design:给实验室UI们的一堂课(上)

    实验室的UI越来越水,设计什么的做的一塌糊涂,所以拖了很久,就想给他们讲一下设计或者说入门吧,上周末才倒出来时间. 这里放上PPT和讲稿吧,懒得去整理板式了. 主要讲了一下Web Design怎么做, ...

  8. 国产 WEB UI 框架 (收费)-- Quick UI,Mini UI

    国产 WEB UI 框架 (收费)-- Quick UI,Mini UI : http://www.uileader.com/ http://www.miniui.com/

  9. Portswigger web security academy:Clickjacking (UI redressing)

    Portswigger web security academy:Clickjacking (UI redressing) 目录 Portswigger web security academy:Cl ...

随机推荐

  1. 3月21日考试 题解(数据结构+区间DP+贪心)

    前言:T3写挂了,有点难受. --------------- T1 中位数 题意简述:给你一段长度为$n$的序列,分别输出$[1,2k-1]$的中位数$(2k-1\leq n)$. --------- ...

  2. Phthon环境搭建

    一,官网去下载 https://www.python.org/downloads/ 二,安装 三,验证python 四.IPython IPython 是一个 python 的交互式 shell,比默 ...

  3. 07 CentOS简单命令与XShell简单使用

    关机 poweroff 重启 init 6 查看ip地址 ifconfig 查看当前目录下的文件与目录 ls ll 判断命令是内部还是外部的类型 type ifconfig 通过file /sbin/ ...

  4. C++socket编程write()、read()简介及与send()、recv()的区别

    1. write 函数原型:ssize_t write(int fd, const void*buf,size_t nbytes)write函数将buf中的nbytes字节内容写入文件描述符fd.成功 ...

  5. C#算法设计排序篇之07-希尔排序(附带动画演示程序)

    希尔排序(Shell's Sort) 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/687 访问. 希尔排序是插入排序的 ...

  6. Vue <script></script>区域使用filter过滤器

    Vue中过滤器(filter)的功能高度提取,便于使用,前端小伙伴们使用的频率很高.但大多数都是在模板区域来使用. 如果要在脚本区域, 也就是来使用已经定义好过滤器功能,该如何去做呢? 难道需要在ut ...

  7. matlab使用libsvm入门教程——使用matlab安装配置libsvm以及一个svm分类实例

    前言 此教程专注于刚入门的小白, 且博客拥有时效性, 发布于2019年3月份, 可能后面的读者会发现一些问题, 欢迎底下评论出现的问题,我将尽可能更新解决方案. 我开始也在如何安装libsvm上出现了 ...

  8. Linux学习笔记 一 第二章 Linux系统安装

    Linux系统安装 一.首先安装VMware 虚拟机 下载网址:https://www.vmware.com/cn/products/workstation-pro/workstation-pro-e ...

  9. MySQL查看没有主键的表

    select table_schema, table_name from information_schema.tables where table_name not in (select disti ...

  10. 【SP2916】Can you answer these queries V - 线段树

    题面 You are given a sequence \(a_1,a_2,...,a_n\). (\(|A[i]| \leq 10000 , 1 \leq N \leq 10000\)). A qu ...