“沙盘雷达”自动化测试解决方案初窥

发表于:2012-10-31 10:21

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:cmriqa    来源:51Testing软件测试博客

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

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

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

  解决方案一:A-tool

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

图1,A-Tool主界面

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

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

图2,A-Tool的脚本

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

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

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

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号