TW洞见 | 刘冉:QA应该更新的测试工具

作为一名QA,过去一年是我的软件质量知识体系和自动化测试知识体系收获最丰的一年,让我对于软件质量和自动化测试有了一个更高层次的认识。所以我写下了一些自己更新了的知识,以及在和其他公司的QA交谈之后发现的一些他们应该更新的知识。借此希望能对各位看官起到一些提示或者补充作用,当然我也希望各位与我进行联系,并共同探讨未来的QA到底应该具有什么样的能力和知识体系。

Web应用程序视觉感知测试

视觉感知测试,对于很多QA,包括我在2013以前对于它的认知都是手动测试领域的一个成员。在这个Web系统爆炸的年代,Web UI界面布局测试,多浏览器测试,CSS的refactor等都成为了Web UI测试的痛中之痛,特别是大型Web应用的功能回归测试量太大,从而导致很多时候根本无法完成,所以很少会有团队去做全方位的UI界面布局回归测试,特别是对于使用Agile流程开发的团队就更加困难。

为了缓解这样的困境,不断地有人思考怎么自动化UI测试,我以前的公司就有人尝试在手机上做自动UI测试,但是最后也没有什么成效。最几年,Web应用程序发展得如火如荼,所以在去年,就有两个工程师,一个来自于Google,一个来自于ThoughtWorks就在尝试解决Web应用程序测试上的这个问题。不过他们的思路和以前不一样,不是想做一个全自动的UI测试框架,而是基于Agile的持续集成和持续部署的概念上,使用半自动的方法来减少UI回归测试的时间,从而减少WEB应用程序UI回归测试的时间。

来自Google的工具是Dpxdt[1],而来自ThoughtWorks的是Viff[2]. 这两个工具的基本原理都是类似的,只是使用了不同的语言开发,以及适用的范围有点区别。

Dpxdt是基于Python和PhantomJS[3]开发的一个Web Service系统,其中PhantomJS可以理解为一个没有UI的浏览器。用户使用其提供的RESTFul API可以十分方便的对比两个页面,而且它还提供一个功能十分强大的报表系统。 对于全部是静态页面的Web系统来说非常适用,不过对于需要手动导航,比如需要进行输入,点击等之后才能进行比较的页面,它现在的版本并不适合。它还提供了一个方式可以把他很方便的部署到GWS上,所以对于国内在GFW下的用户可以暂时不用考虑这个功能。

Viff是基于NodeJS和Selenium开发的一个本地工具。通过编写JavaScript代码来调用Selenium API, 并在真实的浏览器中进行截图比较。所以它比较适合动态的Web系统,因为可以编写代码模拟用户输入和点击操作。由于它底层使用的是Selenium作为驱动,所以他支持多种浏览器,比如IE,Chrome,Firefox等。在最新的Selenium中加入了对Android和iOS的支持,不过现在还不是很稳定,所以Viff还支持Android和iOS上的浏览器测试。如果对你来说搭建多浏览器环境比较困难,比如需要同时测试IE8,IE9,IE10等,可以选择BrowserStack[4]。BrowserStack是一个商业产品,他同时通过Web界面和API接口提供多浏览器环境给客户进行Web测试,Viff可以使用期API进行进行多浏览器截图。对于Viff,由于编写JavaScript代码也需要一定的门槛,所以对于没有代码能力的使用者在测试静态网页的时候应该选择Dpxdt,但是如果你有一定的代码能力,建议选用Viff。现在Viff正在开发Web Service功能,这样以后就可以作为一个Service进行部署和使用。

不过现在这两个工具都还不是很成熟,还存在一些Bug,其中Viff还在继续开发新的功能中,不过基本使用还是可以的。如果在使用这两个工具的过程中发现任何Bug,请通过Github的Issues跟踪功能来及时反馈给作者,帮助这两个开源系统越来越好。我在BQConf上有一个Perceptual Testing的演讲[5],有兴趣的可以听一听。

下图为实施了视觉感知测试之后对于Web系统回归测试的时间示意图:

原文发布于微信公众号 - 思特沃克(ThoughtWorks)

原文发表时间:2015-01-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏纯洁的微笑

电商系统之订单系统

订单系统作为电商系统的“纽带”贯穿了整个电商系统的关键流程。其他模块都是围绕订单系统进行构建的。订单系统的演变也是随着电商平台的业务变化而逐渐演变进化着,接下来...

42310
来自专栏web前端教室

web前端架构-新一次的尝试机会

上一家电商公司烧了半年,有点烧不动了,我就赶紧跑了。 感谢上一家电商公司,让我有机会操刀搞了一次电商交易类网站的架构体验。 这次换了一家公司,做语音媒体的。就是...

23890
来自专栏一场梦

一键制作个性二维码HTML源码

25020
来自专栏前端达人

源码福利(文末有彩蛋) | vuejs 2 Material Design 后台模板源码大放送

各位亲们,关于vue3.0的方案已在拟定中了,想必大家都听说过了吧,2.0你学会了吗?没学会的还不抓紧时间补补,看完官方文档再加上本文分享的重量级源码,想必各位...

42410
来自专栏Linux Python 加油站

揭秘Linux工程师一路走来都需要哪些技能

大公司也是从小公司一步步走过来的,而大公司之所以与小公司不同,不在于基础的技术体系不同,而是当数据量达到一定程度后,引发的质变而已。而在思考质变带来的性能问题中...

13540
来自专栏祝威廉

如何按程序员思维写分析师脚本

今天无意在在某群里,看到一个很复杂的SQL脚本,join很多,子查询很多,union很多,case when也很多。然后就让我们负责分析师脚本管理的同事给我看了...

14940
来自专栏令仔很忙

Hybird App(一)----第一次接触

之前一直在做JAVA的项目,最近要开发移动端,对App的开发刚开始的时候是没有任何概念的,有接触也就是玩手机用过的N多App,这算是真正意义山的第一次和App...

19710
来自专栏视频咖

从0到1搭建视频通话系统,我1天就搞定了

最近被老大分配了一个任务,他打开微信视频聊天,发起多人视频,指着功能界面说,“你看我们的产品也是有多人会议的场景,我们也加一个这样的功能,也不用很复杂,就仿照微...

50730
来自专栏EAWorld

生态型App的架构实践分享

其实文章的题目纠结了很久,最后还是采用了“生态型App”这个词,这个词可能不是一个约定俗成的词,但却是这篇文章的主线,我将会从以下面三个维度展开,期望能够给正在...

36750
来自专栏智能算法

如何快速搭建一个类似于神策数据或诸葛IO的数据分析平台?

Growth Hacking这个词在过去一两年开始迅速从硅谷传播到国内,也诞生了一系列专注于企业数据分析业务的明星初创公司,如GrowingIO,神策数据,诸葛...

69560

扫码关注云+社区

领取腾讯云代金券