注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

移动Labs

http://labs.chinamobile.com/

 
 
 

日志

 
 
关于我

移动Labs(labs.chinamobile.com):中国移动研究院主办的通信行业汇聚门户,专注于移动通信和互联网领域,核心会员是中移动广大员工及ICT行业用户。提供资讯、博客、讨论组、专业报告、视频、电子日报等信息及知识服务,以及研究院主办的每周线下活动“无限论坛”。

网易考拉推荐

金镝:手动测试工程师的福音还是危机?——“沙盘雷达”自动化测试解决方案初窥  

2012-10-09 13:45:35|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

独家供稿:移动Labs

传统手机软件测试怎么做?测试人员按照测试用例手工操作手机,双眼紧盯屏幕,时刻注意软件界面的变化是否符合正常流程。测试工作量小的时候,这样的测试方式最高效,测试人员拿起手机很快就能完成。那么工作量变大的时候,比如规定某个操作要执行1000次,或者要连续24小时不间断测试;还有工作精度要求高的时候,比如测试应用程序启动时间要求测试结果要精确到毫秒级。测试人员此时除了流泪就是崩溃了,最后要么吐血苦干,要么随便填个结果偷懒了事。测试工作的进度、质量都无从保证。

其实,有一种办法可以让这些难题迎刃而解。那就是:自动化测试。怎么自动化测试手机软件呢?基本的思路就是把人工操作手机变成自动化操作手机、把测试用例里写的操作过程变成自动化操作的指令、把人眼判断测试结果变成自动化判断结果。

实现这样的自动化测试的途径有很多种。移动研究院在“沙盘雷达”自动化测试系统中就采用两套解决方案。这两套方案区别主要在:1、自动操作手机的方式不同;2、操作指令的描述方式不同。在自动化辨别结果这一点上,两者异曲同工。

 

解决方案一:A-tool

A-Tool是沙盘雷达系统中的一套运行在PC端的自动化测试工具软件。

金镝:手动测试工程师的福音还是危机?——“沙盘雷达”自动化测试解决方案初窥 - 移动Labs - 中国移动研究院(移动Labs)
 

1A-Tool主界面

在自动操作手机的方式上,A-Tool是调用Android手机的系统底层接口,可以直接向手机发送点击屏幕、滑动屏幕、按动硬键(如电源键、音量键等)这样的控制指令。观看A-Tool演示的观众,往往留下深刻印象的场景就是:一台手机,通过USB线和一台电脑连接。演示人员在电脑的软件界面上点了一个按钮后,手机屏幕就开始自己动了起来,有时是某个图标被点击了,有时是屏幕横着滑来滑去,有时还会在某个文本输入框中自动输入一串文字。这些其实都是A-Tool通过测试脚本向手机发送控制指令的结果。

操作指令的描述方式,用测试的专业术语来说,就是测试脚本。测试脚本的描述方式可以有很多种:有的是专业的编程语言;有的是图形化的,就像使用Visio软件画出的流程图;还有的是日常语言样式的,类似于“点击菜单键”这样的描述。A-Tool采用的就是这种方式。A-Tool定义了一套自己的语言格式,它所支持的手机操作以及其他控制指令,全部采用了极易理解的日常用语方式。这样,测试人员很快就能开发出简洁清晰的测试脚本,而不用去掌握专业的开发语言。

金镝:手动测试工程师的福音还是危机?——“沙盘雷达”自动化测试解决方案初窥 - 移动Labs - 中国移动研究院(移动Labs)
 

2A-Tool的脚本

在自动化判别结果方面,A-Tool采用了业界通用的方案:图片比对。每当A-Tool执行到测试脚本中规定的检查运行结果的步骤时,A-Tool会读取手机屏幕当前的显示信息并将其转化成图片,然后与预先保存好的一幅代表在该步骤时手机功能表现正常的图片做比对,如果两者一样,就判定测试通过,否则就是失败。

A-Tool方案代表的是一类自动化测试工具产品。这类产品和手机系统相关联,如果要控制手机,必须打通系统的底层控制接口,如果要校验结果,也必须找到获取手机屏幕显示内容的系统接口。一旦这些接口打通,这类产品的优势将非常明显,如执行速度快、测试可靠性高、测试结果精度高、功能扩展性强等。

目前,在应用“沙盘雷达”测试时,一般是将A-Tool用于对Android应用的测试,如功能测试、压力测试、性能测试(启动延时、页面切换延时等时延类测试)、交互测试等。

 

解决方案二:机械手

A-Tool是一套软件,而机械手是软硬结合的自动化测试系统。它由一个机械手测试盒和一套运行在PC上的机械手控制软件组成。

金镝:手动测试工程师的福音还是危机?——“沙盘雷达”自动化测试解决方案初窥 - 移动Labs - 中国移动研究院(移动Labs)
 

3,机械手的组成:机械手测试盒+机械手控制软件

它操作手机的方式是这样的:机械手测试盒扮演的是人手替代者的角色。测试过程中所有人手和手机之间的交流,如点击屏幕、滑动屏幕、按动硬键等,都由机械手测试盒里由电机驱动的可在平面及纵向移动的金属臂完成。而这个金属臂听命的是PC上的机械手控制软件。控制软件又是根据测试人员编写的测试脚本来向金属臂发送控制命令。

控制软件的测试脚本,采用了上文提到的图形化脚本方式,测试人员只需把各种操作排列好,并把每个操作之间的逻辑关系连接好,脚本就完成了,也非常的简单和方便。

金镝:手动测试工程师的福音还是危机?——“沙盘雷达”自动化测试解决方案初窥 - 移动Labs - 中国移动研究院(移动Labs)
 

4,机械手脚本

机械手测试盒除了内置了代替人手的金属臂外,还内置了一个人眼的替代者:摄像头。这个摄像头在测试过程中会一直对着手机屏幕拍摄,就像测试时测试人员用眼睛观察手机屏幕一样。当测试脚本要求检查测试结果时,摄像头就给手机屏幕拍个照。这个照片会传送给PC上的控制软件。后续控制软件对这个图片所做的工作就和A-Tool一样了,即与预存的正确图片做比对。

从以上可以看出,机械手方案的思路非常像做了一个代替测试人员的机器人。这种方案的最大优势就在于和手机系统的无关性。如果以后这个机器人的手更灵活、眼睛更精确、控制能力和思维能力更强、甚至再加上耳朵,此类方案会在手机测试领域发挥更大的作用。

在应用“沙盘雷达”测试时,一般是将机械手方案用在不易打通系统底层接口的iOS应用的测试,如功能测试、压力测试、交互测试等。

无论是A-Tool还是机械手,或是沙盘雷达中的其他自动化测试工具。有了它们,再苦再难的测试任务都不足为惧了,测试人员只要点几下鼠标就可以坐享其成。但测试人员是否会心生危机:如果自动化测试工具更强大了,手动测试工程师的饭碗会不会丢呢?


本博文发表在移动Labs的文链是:
http://labs.chinamobile.com/mblog/521/184650


【相关博文】
如何使用ServiceTestCase进行Android的Service类型API测试
Android/OPhone单元测试指南
【精彩推荐】

  评论这张
 
阅读(885)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017