• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

手机软件MMI的自动化测试方法

发布: 2009-2-17 13:43 | 作者: 不详 | 来源: 测试时代采编 | 查看: 299次 | 进入软件测试论坛讨论

领测软件测试网 手机软件MMI的自动化测试需要手机终端和计算机进行通讯,所以通讯方式可以选择串口或者蓝牙,鉴于稳定性和易用性,设计简单程度,串口通讯是非常简单的很容易实现的。

    然后自动化测试工具选择脚本语言的问题,我们可以选择VBScript,Perl,Python,比较一下,Python比较强大,Nokia的一些工具就是python做脚本的。 

    两者之间的通信机制:可以使用ATcommand进行通信,出了GSM标准支持的ATC,还要有手机专门自己的命令来支持远程终端操控手机。比如键盘控制,长按短按等。 

    手机需要暴露一些接口,比如截图,文字识别,返回图像,文字等。这样可以做自动化验证,做到无人值守。这些均需要手机来支持。比如设计手机要有这样的接口 BOOL GetPicture(int top, int bottom, int right, int left, BITMAP & bitmap); 这样通过ATC发过来命令然后手机解析一下,得到top,bottom等信息,然后得到bitmap返回。文字识别需要python来完成,char* GetStringFromPic(Point pt, const Bitmap* bitmap); 我就用C++来表示了。这样在脚本里面就可以进行比较文字了。 

    更进一步,支持录制脚本功能,比如按下某个键,串口信息,监听串口信息,这样脚本解析按下的键,然后判断在转译成脚本语言。Key(); 

    关于手机只需要支持识别ATC参数,然后传回要的结果,我想主要是通过图片来返回,因为这是模拟人工测试的原理,我按下某个键,就会出现什么结果,这样需要返回图片即可,然后脚本客户端需要对图片进行处理,要么进行比较图片内容,要么进行文字识别进行文字对比,这样可以实现测试自动化。 

    前文已经把大致的手机需要提供的接口说了一下,再次总结一下:

1.需要手机支持GSM07.07中规定(Optional)的键盘控制的命令at+ckpd
2.需要手机支持一些特殊的ATC,比如传回手机当前图片,以便作比较。
3.自动化测试的目的:能够替代人工实现大量手工难以完成的工作,重复性较强的工作,比如一些压力测试,存五百条通讯录等,删除等,考验手机内存释放时是否有内存泄露等等。二是能够完成大量的回归测试,易于维护等特点。

思路:

选择脚本语言:由于python使用很灵活而且具有强大的文本处理能力,且易于学习等特点,可以选用python作为脚本语言和实现语言。

方式:

比如定义def CCKEY()来完成发送CCKEY,也可以通过一个map文件来实现CCKEY--at+ckpd=\"c\"这种方式,然后用户这边只是用譬如以下的命令:

CenterKey()
Key(\"#\", 2)
LongPress(\"#\")
PressKey(\"0\")
LSK()
RSK()
NaviUp()
NaviDown()

  再加上python的控制流程,异常处理等,可以编出强大的易于维护的脚本来。

  手机方面的接口可以是GetImage(),然后通过脚本进行处理,这个可能需要很大的工作量,因为要么重新研究图像识别对比,文字识别等技术,要么购买组件等,即验证这一关也很难实现。

  在初期可以考虑人工来验证一些结果,比如图片对比结果,可以使用一些技术,比如蒙板等,得到一些异状图片,用户自己审阅一下,加入明显的由异样,就Fail,这样就不能自动,可以说是半自动化了。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: 手机软件 自动化 MMI


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网