相比iOS有规律的软件版本和硬件升级, Android的碎片化加大了应用的开发和测试成本。下面这张图就说明了Android的分化情况(截至10月1号):



不过, 现在各种基于云端的应用测试技术也为开发者提供了新出路,这类技术可以让他们快速查看应用在各类硬件设备上的运行情况。比如百度的Android4.1云测试服务,可为开发者提供几十种主流的移动终端设备及模拟器,而在刚刚过去的 PIE Demo Day上,国外一家提供类似的云测试服务的公司AppThwack则强调了问题的解决在于测试的自动化。AppThwack有一个自己的测试实验室,这个实验室同样包含不同版Android操作系统、不同硬件系数的各类Android设备用于测试,具体流程如下:

  • 通过网站的拖放功能安全上传应用
  • AppThwack会在各个手机和平板上运行你的应用,并进行各类测试、收集数据
  • 你可以实时地查看屏幕截图,高级结果、日志、堆栈跟踪和趋势
这家公司从7月份到现在已经运行了57.9万次测试。而 针对Android平台上的应用开发和测试,AppThwack创始人还给出了如下几个建议:

  • 在应用开发过程中,编写测试代码很重要。这一步你可以通过 JUnit(标准单元测试框架), Robotium(一个开源的自动化库,可以让你轻松编写用于模拟用户交互的JUnit测试)或者诸如 Gorilla Logic的 MonkeyTalk这类可提供Android和iOS跨平台测试的工具。
  • 在把应用推给用户之前,你是没有办法检测到所有bug的。所以,诸如 BugSense和 Crittercism这类工具就提供了一种解决方案,当一款应用在一名实际用户的设备上崩溃时,它们可以自动获取错误报告。
  • Apptentive(目前由位于西雅图的TechStars孵化,所以国内的开发者应该用不上)的服务则可以让你跟客户取得实际的联系,并由此发现应用哪部分可以正常工作,哪部分有问题。他们主要专注于帮你发现那些真正喜欢应用的客户,让他们在应用商店留下好评提高应用评级。
  • 最后, ActionBarSherlock可以让一款安装在旧版Android操作系统上的应用优雅“降级”。也就是说,在旧版设备上,应用功能要么被模拟要么被替换,而开发者则可跳过传统的代码分支——多重的代码分支往往容易造成错误,而且随着Android的碎片化的愈演愈烈也会变得更复杂。
对开发者、尤其是那些成本有限的开发者来说,求 助定制化的测试服务或许是个不错的方案,而诸如AppThwack这样的公司可以为他们推荐各类工具和解决方案,甚至帮他们编写测试代码。另外,Testdroid也能提供类似服务,而且比AppThwack做得更久。在国内,除了之前提到的百度云测试平台以外,比较知名的测试平台还包括Testin,中国移动MM社区终端池等等。

Via TC

感谢 MnouW 投递这篇资讯

资讯来源: 36氪

已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐
  • —软件人才免语言低担保 赴美带薪读研!—



更多相关文章

  1. Android开发者必知的Java知识(三) 结合注解分析ActiveAndroid的
  2. 作为一个移动应用开发者,我们的创意应当避免走向低俗
  3. Android(安卓)SQLiteException: near "": syntax error (code 1)
  4. Android键盘灯亮度控制
  5. Android开发者应该保持以下特质
  6. Hello~ Android(安卓)开发者们
  7. Ohone SDK的模拟器居然不能联网??
  8. 华尔街日报:Android(安卓)TV应用将在Google I/O发布
  9. Android应用程序访问linux驱动第一步:实现并测试Linux驱动

随机推荐

  1. cts vts 介绍
  2. Android收不到ACTION_USB_DEVICE_ATTACHE
  3. Android studio 3.4.1 升级后遇到的问题
  4. Android - 获取设备信息的工具类( DeviceU
  5. Android之SharePreferences数据存储
  6. android中属性动画 ObjectionAnimation
  7. setScaleType
  8. Python获取android设备cpu和内存占用情况
  9. Android多视图(View)切换
  10. android 实现自由移动的悬浮按钮