您的位置:软件测试 >> 测试技术 >> 测试精品文章
移动自动化实战操作与注意事项
作者:Venkatesh Sriramulu(泽众软件原创翻译) 发布时间:[ 2015/5/19 10:55:50 ] 推荐标签:移动测试

  Venkatesh Sriramulu现在印度金奈的高知特信息技术有限公司担任项目经理。他有九年以上的IT经验,他的整个职业生涯都把重心放在软件测试和项目管理上。他在管理端到端企业IT项目生命周期以及为简化并在复杂的企业活动中引进测试工具而制定方针(这是一个改进软件测试流程的动力)方面有着卓越的经验。他还擅长敏捷和SOA测试,并且为测试流程的改进提出了不少创新想法。
  引言
  手机已不再仅仅是“打电话和发短信的”设备了,如今它是提供不折不扣娱乐功能,金融服务和企业移动性的智能伙伴。IDC预测,今年智能手机出货量将达到9.78亿。Forrester研究表明,到2016年,智能手机和平板电脑将放权到一百万全球消费者手中。不像web应用程序,用户体验已变成了移动应用程序成功的一个关键驱动力。随着手机发展到支持B2C,B2B和B2E应用程序,用户期待性能能和他们在笔记本电脑和个人计算机上的体验相匹配。虚拟设备可以是功能自动化的但是用户体验或性能是不可测量的。为了在一定程度上解决这个问题,引进了使用云的远程设备测试。然而触摸体验和情感体验需要直觉,这如今在市场上还没有解决方法。尽管有选项,但事实上没有一个选项可以解决所有问题,我们还是深入挖掘,恰当运用虚与实吧。移动测试自动化可以根据不同水平的虚拟化分为如下几类(见图1):


  图1.移动测试自动化方法

  基于浏览器插件的移动测试自动化
  这只适用于基于web的移动应用程序。Safari,Mozilla Firefox,and Google Chrome等浏览器提供(可以给与web相关内容的)浏览器插件。这个方法利用了内嵌的用户代理。用户代理帮助提供(将在一个设备上呈现到常规桌面浏览器上的)特定的web内容。这可以通过使用流行工具(如QTP,Selenium,或RFT,它们支持所有的桌面浏览器)来开发自动化。
  优势:市场上有很多即时可得的开源自动化工具/框架,这是自动化廉价简单的方法。
  劣势:只有功能自动化是可能的。设备兼容性,屏幕分辨率和性能参数用这个无法计算出来。无法测试本地或混合app。用这个自动化只能建立一个非常有限的QA可信度。
  基于Simulator/emulator的移动测试自动化
  一个手机Simulator是一个在其真实环境中模仿所有典型硬件和典型移动设备的软件功能的软件应用程序。对于所有操作系统,市场上都有合适的Simulator和emulator,并兼容了大量的设备。将Simulator自动化所花的时间要比连接到当地网络或云中的真实设备的延迟时间少。根据应用程序,当应用程序在真实设备上运行时要小心对待该延迟以避免应用程序中的消极因素。现下多数Simulator都是免费的,移动手机制造商废了不少精力确保他们的平台易测试,也有不少解决方案。将它们自动化的工具也是免费的;这些工具的质量很高,非常值得信赖。
  优势:simulation的一大优势是:其提供的(实际证明以现下技术水平无法进行测量的)细节程度。Simulation可以轻易地被自动化,市场上也有相应的框架可以将它们自动化。不同的中断和特定设备的特点可以和功能自动化一样被测试。Simulation测试比在每次设计上执行多个测试更便宜更快。
  劣势:牢记一点——simulators与真机测试无法相互替代,simulators会出现真实设备中不存在的问题:
  **Simulation错误:第一个缺点是simulation错误。在simulation中,我们通常使用事物的工作原理而不是规律编程,原理也不是正确。一次错误击键可以改变Simulation的结果。我们首先需要运行一个基线以证明它是有效的。
  **硬件-软件差异:simulator的另一方面的测试是软件和硬件间的差异。Simulator并不能呈现出每个支持设备的特定硬件和软件功能。
  **性能:比较PC运行emulator的处理能力和手机的类别,有限的CPU和内存以及被用于测试,emulator上的性能不能保证。
  **安全:人们对数据很敏感,比如保留在手机上的银行账号,或者显示在屏幕上的密码。安全设计对于各个手机型号都有变化。模拟环境中的这几类安全问题的测试并没有好好利用时间,因为需要被测试的是实际的手机行为。
  使用云的远程的基于设备的移动测试自动化
  如果你有一个针对多款手机的应用程序,面对不同的形式,技术规格以及服务供应商,你该如何测试你的应用程序?很明显获取所有你需要测试的手机并不可行。算你的公司可以获取你需要的所有手机,也需要花上不少精力来对所有手机进行测试工作。并不是所有的手机都有一样的安全设计,所以每个设备都要进行单独测试。基于云的远程设备利用对大量真实运行的移动设备硬件以及(通过网络可获取的)软件的选择解决了该问题。随地自动化的能力是一个很大的优势,因为所需要做的只是连接到云实验室。“随地进行自动化”的功能是使用工具如Perfecto Mobile和Device Anywhere时的一个明显的优势。它们让身处世界上任何地方的开发者和测试员能在线“获取”全面的新的移动手机和平板电脑。因为整个基础设施是在一个网络内部的,测试团队有等同于他们当前本地环境的专用连接性能。一些组织有类似的本地创建而不在云中的实验室结构。
  优势:揭示性能缺陷更容易,缺陷是手机本身或其环境的结果。Emulator中无法找到的崩溃和内存泄露问题用这个自动化可以找到。数据记录(像处理器使用,内存利用,应用程序启动时间,电池使用,网络流量和网络延迟)都可计算。互用性测试是有可能的,如果建立了一个载体测试实验室。熟悉整个行业产品的测试工程师也可以用商业工具插件机制比如:HP QTP和IBM RFT。
  劣势:大的劣势是许可费用。许多公司提供费用支用拨款制度服务,但是比起上述任何自动化方法,投资费用仍很高。此外,移动应用程序的测试更新需要不断地投资。还有,某些类型的测试如蓝牙以及一些中断是无法被测试的,这或许非常接近真机测试,但仍不是真机测试。
  使用自动化程序的真实的基于设备的移动测试自动化
  真机自动化是手动测试员在真实的移动设备上进行的测试自动化。这不能视作不可能,但听起来像是外星人技术。然而这项技术已经开始实现了。2012年,T-Mobile公司推出了Tappy,第一个自动化电话测试机器人。Tappy像一个普通手机用户一样按下按钮,导航触屏。它编入了用户会在日常生活中体验的数不清的使用情景,包括测试键盘,用户界面速度,电池寿命,音乐,语音通话,游戏,短信,邮件,网页浏览和app下载的方法。Jason Huggins,Sauce Labs的创始人之一,设计了一个可以玩愤怒的小鸟的机器人。这个机器人叫“Tapster”,它是由3D打印材料制作的,由Arduino驱动,且完全开源。Tapsterbot和Appium在将来会更紧密地合作。OCULUS机器人已在硅谷英特尔总部建成,两端用两个带有橡胶垫的手指以微米的精度敲击和轻刷。英特尔创建OCULUS试着凭经验测试触摸屏的响应速度和“触感”来判断大家是否会喜欢。

上一页12下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd