手机程序开发和测试关注点整理

最近公司要组建手机测试部门,总结一下自己3年多做手机开发的经验,都是零星的木有条例,希望有帮助。大家有其他好的可以留言,互相交流。

手机做为受限设备,从受限角度来考虑,他是屏幕尺寸受限,计算能力受限,电力供应受限。手机程序与常规PC程序在测试的时候需要从上诉三个受限角度多考虑一下。

一、屏幕尺寸受限

  1. 屏幕比例尺寸不一样,分辨率也不尽相同,应该保证在各种手机上面界面可以完全呈现,不能出现按钮,列表被接触屏幕等影响用户使用的情况。
  2. 选项不易超过1屏幕,最多1.5屏幕。如果太多的选项就要考虑分步骤,做成向导样子。太多的选项会让用户放弃使用,也极易出现错误。对于输入不方便的手机,这个缺点更会被放大。
  3. 手机界面上面不易出现超过10项的下拉列表,因为太多项目的下拉列表用户选择困难,还有就是对性能要求太高。以前**做过一个wap网站,下拉列表有100多项,普通nokia手机直接死机。iphone可以下拉,但是选择起来是很不方便,直接可以放弃使用。
  4. 输入框界面要考虑弹出键盘会不会盖住下面的输入框,会不会影响用户输入和下一步操作。
  5. 界面上面的按钮位置安排是否合理,符不符合用户习惯,尤其一些太小的按钮用户无法触摸到或不易触摸到。
  6. 对于项目超过20项的列表建议使用筛选的方式,搜索和选择配合才能达到最好的用户体验。

二、计算能力受限

  1. 再测试的时候注意测试对大图片,大文件加载的时候会不会崩溃。很多程序再写的时候不考虑手机内存上限,4m的高分辨率图片不进行缩放到文件直接加载到内存,系统会崩溃。对于大的xml文件不能采用dom方式加载。
  2. 对于查询出列表方式的测试,要测试当返回结果超过20条的时候系统是选择分页加载还是直接都加载到界面。如果是直接都加载到界面,当返回条目超过某一个限制的时候手机程序也是必须崩溃的。
  3. 开发手机程序的时候要多考虑内存满的前提下的异常处理。可以先再手机上面开启多点程序,然后再打开咱们的程序,进行一些耗内存的操作(比如打开摄像头,图片缩放等操作)看看再内存异常的前提下程序做了如何的处理,会不会崩溃,会不会走向莫名异常。
  4. 手机详情界面界面如果显示的内容超过一屏幕,而内存也没有特殊的操作,可以再内存拼接成html,然后用webview来加载。这样两个优点,一是可以自定义样式很漂亮,二是webview会帮我们处理好翻页,滚动,图片处理等操作,对本程序使用的内存也是一个节省。
  5. 对于有轮询操作的,写代码的时候后用while(0)但是循环体内必须sleep一下来释放cpu片,不然手机的cpu会很高,手机会发热很严重。
  6. 手机网络为非稳定性网络,再测试的时候建议用离线和移动网络都跑一边,不要使用wifi测试,那样测试不出来网络异常处理。所有与网络相关操作,再手机上面最少要重试2边保证其可用性。

三、电力供应受限

  1. 手机开发基础缓存数据加载到内存,少进行磁盘io操作,节省驱动sd卡需要的电量。对于gps,wifi等耗电设备再不使用的时候要要用程序关掉。
  2. 网络通讯如果是周期性质的建议内容越少越好,心跳包发个1就好。周期间隔不宜低于一分钟。如果实时性要求不高建议15分钟一次。
  3. 手机程序费特殊性要求一般不可以明显增加系统耗电。再测试的时候可以试着玩改程序一个小时,看看电量下降多少。不能超过10%。还有一个有效的方法,就是再测试程序1-2小时发现手机电池很热(多台手机都热)说明系统设计有问题,对资源使用过多,要更总分析。

手机测试最根本的原则就是可用。比如随意操作不能崩溃,使用方便,能选择的绝对不让用户输入。把用户当成傻瓜,不要让用户考虑太多。现在基本没有用户愿意去看操作手册。还有公司的程序多于专用apn相关,需要通过专用apn切换访问内网。最近看了几个程序,发现很多接入点切换不正确,不能正常访问,而且最不靠谱的是再程序进入的时候切换到专用apn,但是退出的时候不切换回来。用户再退出咱们的程序后变不能上网了。这样的后果就是咱们的程序破坏了系统的可用性,这种都属于很严重的bug。

posted on 2011-09-14 17:27 JesseZhao 阅读(...) 评论(...) 编辑 收藏

导航

公告