在过去的30多年中,自动化测试最大的趋势之一就是朝着以基于PC的模块化平台架构演变。通过最新的商业可能的计算技术配合强大的处理器、最新的I/O总线、更高级的操作系统来搭建整个测试平台。在此趋势继续演变的同时,还出现了如平板电脑和智能手机这种新型的运算装置,让具有前瞻性的公司可以在自动化测试系统中利用这些商业可用的技术。
在最近的10年中,智能手持移动设备一般都是以PDA和智能手机为主。但在Apple公司发布了iPhone和iPad之后,又有Google、Microsoft等多家厂商发布的类似设备,都促使了行业进入移动计算的新纪元。现在,已经有数以千万计的平板电脑和智能手机在消费者与企业用户手中。
1、用于自动化测试的移动设备
虽然平板电脑与智能手机并无法取代如PXI的PC结构测量平台,但却具有其独特的延伸测试系统的优点。根据Pew Research Center的调查,绝大多数的平板电脑使用者主要着眼于其便利性。Nielsen Company于2011年对消费者“使用平板电脑取代传统电脑的理由”的调查中指出,主要原因在于平板电脑改善了使用体验,例如其绝佳的便携性、简单易用性、更快速的开关机时间、更长的电池续航能力。从这此资料来看,移动装置在自动化测试中所扮演的角色,应该不外乎测试系统监控、测试数据和报表查看功能。
(1)测试系统监控
测试工程师、管理者、技术人员都可以通过平板电脑与智能手机,直接了解测试系统的状态。如果测试系统在附近,如同一栋建筑或校园内,这个功能十分有用。如果测试系统位于地球的另一端,移动设备也能够提供一个用户界面,就更能体现系统的便捷性。针对远程测试系统,平板电脑与智能手机可以持续监视多样数据,或直接控制其工作模式。在此使用条件下,测试系统本身需要连接上局域网或公共网络。移动装置只要位于同一校园或通过VPN进入内部网络,都可以由内部网络进行远程的监控。而测试系统只要连上公共网络,理想状态下可以在任何地点使用移动设备对其进行操作。
(2)测试数据与报表查看
除了直接连接至测试系统之外,测试工程师可能需要查看相关的测试报表,以分析之前的测试结果并找出相应的趋势。在这个条件下,只要可以通过连接其它连网的电脑以取得测试系统的数据,测试系统本身并不需要连接到网络。这种功能将可以帮助整理测试结果,分析资料、建立报表,最后传送到远程使用者的移动装置中。
在上面的两种使用条件下,如果要通过平板电脑和智能手机取得重要的数据,往往会遇到两个共同的问题。第一就是要能通过网络正确地交换数据。目前可以选择的通讯协议有TCP、UDP、HTTP等。而对于服务器和客户端之间的数据交互,信息技术(IT)行业正在朝着网络服务的方向发展。
2、网络服务
网络服务属于应用程序编程接口(API)。几乎任何程序语言所编写的客户端,都可以通过HTTP进行存取。当呼叫完毕时,网络服务就会马上回传一个用户可以直接读取的响应(一般为XML格式文件)。呼叫某特定的网络服务,可能是测试系统的状态,当天最新的测试结果,或者客户端想监视的任何资料。只要针对指定的URL发出HTTP请求、解析相关的响应,最后显示给用户即可。
测试组织如果能够通过网络服务完成移动客户端与服务器之间的通讯,将可以获得多项优势。第一,网络服务简单易用,可能通过任何编程语言完成编写。第二,由于网络服务是以最普遍的通讯协议(如HTTP)为架构,因此通讯操作极为简单友善,并且可以通过SSL的工业标准技术进行加密。基于这些理由,主要的网络公司如Google、Yahoo!、Microsoft、Amazon等都通过网络服务来为远程用户提供搜索、地图、云计算等功能。
3、本地 vs 基于网络架构的移动应用程序
一旦客户端获取到数据,移动设备上的应用程序就可以获取并显示数据。开发移动应用程序首先要决定:该应用程序是基于操作系统的本地程序还是基于浏览器运行的程序?这个决定将影响应用程序的各个方面,包括了从开发所需的专业程度到其所具备的功能。
平板电脑和智能手机上的本地应用程序是专门为如iPad等特定的设备所开发的。根据装置的操作系统的不同,应用程序将通过内置的API而获取设备上的功能和数据。如果想让应用程序正常工作,就必须符合供应商的规范(技术与编程规范)。本地应用程序往往较为丰富、互动性较高、更能紧密地整合在设备中。但如果要开发本地应用程序,工程师必须熟悉特定的移动开发平台与对应的开发工具,大部分的应用程序都无法用于其它的平台,并且需要通过供应商的商店发布程序(如Apple的App Store)。
另外值得注意的是,移动装置在过去的5年中快速地发生着改变。根据PC Magazine的报告,五年前,RIM和Nokia占领了绝大部分的手机市场,但目前却由Google的Android拿下了43%的智能手机市场,Apple则以28%名列第二。
此外,在iPad的引领下,各大厂商已经席卷了在5年前还默默无闻的平板电脑市场。而相应的竞争厂商只能在后面苦苦追赶。在变化如此激烈的市场环境下,我们根本无法评估对特定平台的应用程序应该做多少的投资,才能产生相应的收益。
从另一方面讲,所有的平板电脑与智能手机都内置移动式的网络浏览器。以HTML和JavaScript技术编写的网络架构的应用程序,大部分都可以适用于所有的平板电脑和智能手机,而且无需通过供应商的商店即可发布。与本地应用程序相比较,网络应用程序虽然看起来有很多优点,但还是有它的不足。在移动装置的浏览器中运行的应用程序,一般都有其限定的框架,或者无法以内建API获取相应功能,不能支持多点触摸,所以往往不是非常直观,用户体验比较差。
4、完整的移动设备解决方案
移动设备的巨幅成长,为工程师、管理者、技术人员提供了编译上的优势。让自动化测试行业可以远程获取测试数据与结果。目前的解决方案,虽然可以通过移动设备达到远程监控或报表生成,但测试机构仍需要新的专业技术,才能整合网络连线、网络服务,移动应用程序等。
查询进一步信息,请访问官方网站http://www.ni.com/white-paper/13796/zhs。