BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Grischa Ekart 关注 0 他的粉丝 ,译者 李彬 关注 1 他的粉丝 发布于 2013年6月24日. 估计阅读时间: 2 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

在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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT