Stephen Janaway在软件测试这一行干了超过12年,一直专注于移动设备和应用程序领域。他在爱立信,摩托罗拉和诺基亚等公司做过软件测试和测试管理,现在他在带领英国诺基亚的软件测试和质量保证团队,一心放在大量的市场设备上。Stephen是一名独立的可以提供移动测试服务的顾问。 |
?
在西欧和美国,移动设备业重点放在智能手机及其相关生态系统上。但是,对于世界上的大多数移动设备消费者来说,未来功能机可能仍独领风骚,估计70%现今世上使用的移动设备都是功能手机。尽管比起智能机,功能机很简单,但它们的功能正变得越来越丰富,这对于测试它们的人来说成了个大大的难题。其中一些挑战在其他种类的测试中也有,而一些却是移动设备领域和功能机本身特有的。在我们研究这些特有挑战前,首先有必要解释一下为什么功能机和功能机消费者与购买使用智能机的人有的方面不同,有的方面又一样。
并没有官方定义来区分功能手机和智能机,这句话一点儿不错,两者最常用的区分根据是价格。但考虑到设备制造商在极其激烈的移动市场里的折扣尺度,这并不是最佳区分方法。为了本文的目的,我们可以假设功能手机是一个——运行有专门制造商且不允许真的多任务或第三方本机应用程序的操作系统的,并且屏幕很小的——移动设备。? 根据用户所需成本以及制造和零件成本,功能机要比智能机便宜。它可能有摄像头也可能没有,它的处理器肯定比智能机慢,内存比智能机要小。功能机价位也可以拥有触摸屏,更多传统设备款式,如ITU-T键盘,现在也还有——事实上,功能机的款式和功能范围比直板触摸屏设备占主导的智能机的范围更广。
去了解消费者是如何使用功能机的也很重要,尤其是从测试的角度去考虑功能机时。虽然贵的(零售价在60到120欧元间)功能机,在西欧和美国可能打折,但打折通常只在预售期。功能机最大程度可低降到20欧元甚至更低。这对富裕的西方人来说没差,但对于发展中国家的消费者,这是一项重要的财务采购,经常需要好几个月的积蓄。这对设备的感知质量有很大影响,因此,要在发布前进行测试以便大家对质量有信心。功能机消费者对其设备更感自豪,因为他们或许已存了一段时间能够支付它们了,也别指望他们的骄傲会因为质量差而削弱。他们更可能把设备拿去修理并产生个更高的期待:相信那些设备不会坏。一个合理的比喻就是发达国家所拥有的电视或汽车。发展中国家的功能机消费者也有很高的期待。如果买得起的话,他们大多会买智能机,他们希望未来的功能机可以提供智能机那样的体验。于是,我们就看见移动设备制造商不断尝试增加他们功能机的功能(尤其是诺基亚S40平台和三星的SGH平台),并一直在内存及处理性能低的平台上提供这些功能。这就意味着要最大程度地利用平台并让有效测试更显重要。
功能机消费者的典型使用情况与智能机的也不一样。在发展中国家尤其是非洲,一个村庄或许要共用一个手机;事实上,共用一个移动设备以确保与村外的交流的业务已建立了(如村庄手机项目:www.grameenfoundation.org/what-we-do/empowering-poor)。一些功能机提供如多个通讯录和通话记录的功能以支持多个用户。通过使用多个SIM卡省钱的做法在发展中国家很流行,在发展中国家,或许一个网络会提供廉价的本地语音通话,另一个网络提供廉价的外地语音通话。消费者通常会经常替换SIM卡,且设备可以支持一张以上的SIM卡。诺基亚提供可以像内存卡一样轻松替换SIM卡的设备,两张卡同时使用。其他制造商提供可以在同一个设备中支持四张不同SIM卡的设备。尽管功能机通常不为第三方开发提供给设备配置本机应用程序的性能,但通常一些第三方运行环境本身就有了。最常见的就是JAVA移动版本(JME, 正式名称为J2ME)环境,通过第三方可以写出名为MIDlets并在设备上运行的小程序。JME是世上最广泛使用的移动设备环境,它包含了标准API。通过这些API,第三方开发可以评估越来越多的本机功能,如通讯录,GPS,触摸屏和短消息。估计全球功能机占有70%的市场份额。
一些设备也支持美国高通公司的无线二进制运行环境(BREW)平台。但它却不是一个像JME一样真正的虚拟环境,它不提供API,且应用程序可以用C, C++ 或Java编码。现在第三方应用程序的测试员面临的最大的挑战是平台碎片化。鉴于款式,屏幕尺寸和用于功能机的平台硬件各种各样,且设备制造商提供的设备一般少于标准API规定的全套设备且其中不少还是他们自己制造的,对大量设备进行测试有助于确保测试覆盖充分。可以用多种方法将应用程序放到设备里。最流行的是app商店,例如:GetJar和Nokia商店。至于智能机,也可以用相同的方法下载并安装应用程序,且这些商店的用处很大——诺基亚商店里的设备有100,000多个应用程序在运行S40,GetJar一天有超过3百万的下载量,堪称世界第二大的app商店。确保app商店提交,下载,安装和卸载都被进行过测试很重要。所以,作为一名测试员,测试功能机和功能机应用程序时你尤其应该要注意哪些方面呢?以下内容至关重要:
智能手机应用程序需要测试哪些方面?
从某种角度来说,功能机与智能机并不是那么不同,两者间的差异,尤其是价格,正得越来越模糊。因此,一个成功的测试策略要关注应用程序功能,网络交互,压力和加载,合适的位置等方面。一个好的起点就是要让测试部看看现在的思维导图。尖端功能机现在支持地图,push email和如愤怒的小鸟等游戏。但对于未来的功能机的发展空间,一些方面变得更加重要了:
1. 网络交互
功能机被用于——尤其是在发展中国家——移动网络不可靠,信号也不强的地方。因为用户和网络比乡下大,城市的基础设施通常更加超常负载,这意味着手机通讯发射塔到有移动手机的距离更大了。这说明任何移动应用程序都要能适应网络,或数据载体,损失或降级。考虑突然失去网络交互的情况以及被测应用程序上的影响,很关键。如在使用应用程序时进入及出了网络覆盖范围外的使用情况也是高度相关的。
2. 电池寿命
无论在什么平台上测试移动设备时,都要充分了解应用程序的电池寿命的影响。然而当人们考虑一个发展中国家的电池寿命的使用情况时,功能机的电池寿命会更重要。在电力支持不稳定和根本没有支持的国家,需要在“充电商店”里充电,那么良好的电池寿命就变得相当重要了。编写的不错的应用程序不应该耗费过多的电,且对电池影响进行测试(要么通过脱机监测仪,要么通过执行典型案例和凭借设备的电量指示灯来监测电池寿命)很重要。也需要慎重考虑电池用完时设备或应用程序的性能;电量低时会崩溃或退出吗?
?
3. 设备使用时间
功能机的电池寿命通常比智能机长,因此要很久才会电量用完或设备重启。使用得当也可以使得设备的使用时间更长。音乐播放器就是个典型的例子——在发展中国家,移动设备通常用作最基本的音乐播放器和收音机,因此音乐播放器可以运行10个小时甚至更久。确保应用程序本身继续运行且没有如内存泄露一类的bug,就需要用不同的方法去对其进行测试。对使用情况长时间测试在功能机中比在智能机中更重要,且可以发现短时间的功能测试无法发现的bug。
4. SIM卡
如果被测应用程序使用存储在SIM卡或内存卡上的数据,就要确保有同等数量的卡来测试。不是所有的SIM卡都做的一样,有些会比其他的慢上很多;这似乎是发展中国家(如印度)的一个特定问题。一些牌子的内存卡也相当慢,这会对设备或应用程序的功能产生影响。获取并测试与应用程序或设备的预期发布国家/地区相关的卡可以帮助减少不兼容导致的早期场地周转或卡运行慢的风险。
大量功能机都支持多张SIM卡,而且或许还支持在不关闭设备的情况下交替使用这些卡。下面包含了一些要考虑的相关使用情况:
??不关闭应用程序就拿掉电池会怎样?这是替换SIM卡时常见的使用情况。
??替换SIM卡时使用SIM卡里数据的应用程序会怎样?数据还在吗?还是被删掉了?
5. 数据共享
尽管数据的使用在西方相当普遍且其价格越来越便宜,但发展中国家的市场上却不一样,那里的消费者极具价格意识。因此应用程序(如基于代理浏览器的云)的使用,通过在交付到移动设备前压缩网页以减少数据使用,很流行。用户也极可能通过免费渠道(如蓝牙和红外线)分享内容。测试时将所有共享方法以及被测应用程序是否提供最低价方法都要考虑到位。
6. 可用性
相比智能机,功能机通常屏幕更小且有不同的输入法。功能机的屏幕可以小到128 × 128像素,测试时要确保应用程序充分利用有限屏幕。像文字大小,每页显示的信息细节,为了看到最重要的信息所要求的滚动次数等问题在屏幕如此小的情况下更显重要。正因应用程序要支持各种大小的屏幕,测试UI是否伸缩自如很重要。尽管大量功能机有机械键盘,通常是ITU-T(只有数字)或标准的传统键盘配置,这使得在屏幕上选择更容易,但是越来越多的功能机开始用触摸屏了。 这些通常是更便宜的阻性板,需要按选地更精准,并确保最后应用程序或设备的可用性。考虑用户将怎么在屏幕上滚动,怎么用手指或笔尖选择区域。对多语言支持的考虑和测试也很重要。在说多种语言的国家,应用程序就需要支持多种语言,在多个国家发布的应用程序也是一样。有一点尤其要注意,就是如果合适的话就要确保应用程序支持从左到右和从右到左的语言且没有布局或可读问题。
7. 有限的设备内存和处理性能
功能机,因为价格便宜,所以比起智能机,它们设备内存更小,处理器规格更低。它们不太可能会有专门的图形处理器。因此,任何设备或应用程序的测试策略都要考虑内存满了和设备正被多设备使用按压的情况。用户使用功能机时通常其内存几乎都快满了,因为只有10Mb,任何应用程序的行为都应该在这些情况下进行测试。尽管功能机操作系统几乎不支持多任务和背景的应用程序,但测试来自其他应用程序(如:来电和短信,音乐播放器)的干扰以及蓝牙数据同步, 蜂窝数据或IR也很重要。其他功能,如备份和恢复,也可以在一些功能机操作系统上运行。
8. 设备
如讨论第三方运行期间时所提到的,功能机里有不少的设备和操作系统。支持JME或BREW应用程序接口的水平以及可用硬件和软件配置的图表编号,会变得很混乱。建议花时间了解一下应用程序打算发布的地方的市场。看看哪些新设备更受欢迎,哪些设备市场上已经有了。这可以帮助一门心思地针对少数需要购来测试的设备。功能机的处理性能和设备内存低,因此设备上的测试比智能机上的更重要。模拟器不会,尽管流行的基于云的服务(如:Perfecto Mobile)支持一些功能机,但并不全面;且没什么比得上手上有设备来支持测试。
一个成功的功能机APP测试策略
为了成功地发布一个功能机的app,就要考虑以上所有方面。功能机的市场还是很大的,因此任何app可能出现在数百万人手中,他们app如预期的那般好。测试要有效果,可以减少推出质量差的app的风险。至少将以下几点考虑在内才是明智之举:
??在设备上测试,不要依赖模拟器。功能机碎片很大,设备本身的处理器速度慢,内存低,因此无法模拟。
??电池使用寿命是功能机的关键。它的质量一定要好,用户或许无法轻易充电。被测app被使用时确保电池使用寿命。
??功能机用户往往受经济制约。他们会用最廉价的方法实施他们的特定使用情况。就是说要替换SIM,通过蓝牙发送,复制到,再从内存卡中移除。被测app使用最廉价的方法吗?有用吗?
??考虑可用性。功能机的屏幕小,app一般支持更多语言,输入法与智能机也不一样。
??功能机用户会使用信号差的不太可靠的网络来连接。被测app该如何应对?
??功能机用户确确实实在用app商店。他们一天下载无数的app且那些商店基本都比你们想象的更大。确保app商店的提交,下载,安装及卸载都经过测试很重要。
??功能机比智能机更快更频繁地耗尽处理器性能和内存。给被测app不断施压。如果你不这么做那么等着吧,用户会这么做的。
??人们用不同于智能机的方法使用功能机。他们更常用像音乐播放器或收音机一类的app。他们分享手机。他们替换SIM卡。花时间了解该类情况并对它们进行测试。花时间了解顾客并想想他们会怎么使用app,或许不是你常用的方法。
将这些都考虑在内,功能机的app和设备本身要进行测试的方方面面很多,功能机市场份额仍很高。相比智能机用户,功能机用户更关注质量,都不愿忍受手机质量差。他们期待得更多,当一个app可以通过功能机在上百万甚至数十亿人手中时,,它应该在推出市场前接受最全面的测试。
版权声明:本文出自 SPASVO泽众软件测试网:http://www.spasvo.com/news/html/2014115144156.html
原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。