AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

感知测试让持续部署更加安全

  • 2013-06-23
  • 本文字数:813 字

    阅读完需:约 3 分钟

在 Santa Clara 举行的 Velocity 2013 上,来自 Google 的 Brett Slatkin 展示了一种用于视觉回归测试的方法:Perceptual Diff(注:这是一个基于感知尺度的图像比对工具,它将采用人类视觉模型对两幅图像的差异进行判断)将新发布的Web 页面截图与之前版本进行对比,而且能够检测并剔除像素层面的微小变更。

Brett 认为,Perceptual Diff 填补了自动化测试中的一个重要空白。持续部署依靠众多自动化测试,来增强代码质量和部署两方面的信心。此外,还需要防止无法预见的错误,因此手动测试是必需的。然而这些测试代价高昂,需要重复进行而且有时是无效的——一个真实的例子是,某件视觉作品(为了进行测试,页面上放置了一匹粉色的马驹)躲过了全部 QA 检查,成功地混进了产品中。

Perception Diff 使用一个无渲染浏览器(注:Headless Browser,指渲染页面在后台完成,无需显示设备的浏览器)—— PhantomJS ——进行页面呈现并生成截图。这些图片通过 Visual Diff(注:Visual Diff 是 Google Summer of Code 2008 的一个项目)进行对比。对比结果中高亮勾绘出了有差别的区域,从而能够被人眼轻松识别。

该方法在去年的 Velocity Ignite 会议上现身,随后运用在 Google Consumer Surveys 的部署上,以提升持续部署方面的信心。Brett 宣布,使用该方法令以下难以发现的回归得以捕捉:布局错误、数字格式和错误排列顺序。他承认存在必需被过滤掉的“假性结果”,例如时间戳这样的变更。对于相对静态页面的测试,Perceptual Diff 表现良好;而对于动态页面,则需要预先载入一致的数据集。

Depicted (dpxtd) 是一个发布在 GitHub 上的开源版本。它把 Perceptual Diff 封装在工作流里,从而能够被集成到部署过程中。

另一方面,Brett 还展示了在部署过程中增加自信的积极影响——更短的部署周期能够增强动力;而在成功部署方面更加自信则促使新手着手进行部署,由此也就缩短了他们的上手阶段。

查看英文原文: Perceptual Testing for Safer Continuous Deployment

2013-06-23 08:201803
用户头像

发布了 256 篇内容, 共 79.0 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

链路分析 K.O “五大经典问题”

阿里巴巴云原生

负载均衡 阿里云 云原生 流量 链路分析

低代码助推生物制药企业CDMO的“数字化转型”之路

优秀

低代码 制药企业CDMO

【Redis核心原理专题】(1)「技术提升系列」分析探究如何实现LFU的热点key发现机制以及内部的Scan扫描技术的原理

码界西柚

redis 12月日更 Redis Scan Redis 热点key Redis服务

TCP/IP的底层队列

程序员历小冰

网络 TCP/IP 28天写作 12月日更

[Pulsar] Pulsar Resources介绍

Zike Yang

Apache Pulsar 12月日更

重磅|火山引擎边缘计算节点服务正式发布!

火山引擎边缘云

边缘计算 网络 云计算,

实现macOS热门功能,我只用了60行代码!

Jackpop

数据库牛人是如何进行SQL优化的?

Ethereal

数据库 sql SQL优化

增长方法论:五步验证法

石云升

产品经理 28天写作 产品增长 12月日更

东数西算,风起中原

脑极体

设计模式的提出

卢卡多多

28天写作 12月日更

Go+ XML 编码和解码处理教程(5.5)

liuzhen007

28天写作 12月日更

Holos: 我来了,我是个大块头。

mtfelix

28天写作

46 K8S之集群高可用

穿过生命散发芬芳

k8s 28天写作 12月日更

开源轻量级 IM 框架 MobileIMSDK v6.1.2 发布

JackJiang

TCP websocket 即时通讯 IM MobileIMSDK

JavaScript操作 DOM 的这些事件基础

你好bk

JavaScript 前端 DOM BOM WebApi

什么是Kubernetes?Kubernetes是怎样工作的?

Ethereal

云计算 Kubernetes

15.  《重学JAVA》--Lambda表达式

杨鹏Geek

Java 25 周年 28天写作 12月日更

电脑安全小知识

喀拉峻

黑客 网络安全 安全 计算机基础

【架构师训练营】模块二作业

樰巳-堕~Horry

架构实战营 「架构实战营」

如何在 AWS 云中从 Amazon EC2 启动 RHEL 8?

Ethereal

云计算 AWS RHEL 8 Amazon EC2

架构模块二作业

Vincent

「架构实战营」

2021的科技卦象·震·到元宇宙玩“躲猫猫”

脑极体

5分钟认识802.11标准,言简意赅!

Ethereal

网络技术 无线技术 网络技术联盟站 802.11

分析一下微信朋友圈的高性能复杂度

Sindorei

「架构实战营」

云原生新边缘:火山引擎边缘计算最佳实践

火山引擎边缘云

云计算 云原生 边缘计算

LabVIEW软件、驱动安装及编程方法(理论篇—2)

不脱发的程序猿

机器视觉 LabVIEW 工业自动化

读《思辨与立场》-04自我理解

wood

28天写作 批判性思维 思辨与立场

工业机器视觉系统的构成与开发过程(理论篇—1)

不脱发的程序猿

计算机视觉 机器视觉 图像处理 LabVIEW 工业自动化

解决问题

Nydia

Hystrix Dashboard

李子捌

微服务 28天写作 12月日更

感知测试让持续部署更加安全_DevOps & 平台工程_Grischa Ekart_InfoQ精选文章