1. 设备和平台
• Google analytics
• adobe omniture
2. 移动网络切换
• 异常处理的提示
3. 多任务处理
• app的切换处理
• 恢复
• 流畅度
4. 手势操作
• 应用手势和操作系统手势是否冲突
5. 用户体验
• 横竖屏
• 辅助功能
• 一致性
• webview
6. 消息和通知
• 权限最小化
• 传感器通知
• 消息推送
7. 操作系统特性
• 安卓
• widget
• dalvik 和 artxxxx(具体名字没记到)
• ios
• widget
• slideover
• splitview
8. 特定的设备
• 字体默认值可能不同等
9. 多文件格式的支持
• office
• 图片
• 视频
10. 国家和地区的支持
• 文字显示
• 时间和格式
• 输入法
11. 高内存占用
• 操作系统对app内存的限制
• 大量图片
• 长时间语音
• 大量的视频
12. 非标准控件
• 操作系统本身提供的控件
• 第三方类库的控件
• app中独立使用的控件
13. app升级管理
• 覆盖增量安装
• 用户信息
• 数据库变化
• 删除app
14. app缓存机制
• 更新频率
• 更新显示
15. 第三方app集成和调用
• app集成
• app调用
16. app依赖
• 第三方系统 app
• webservice
• api和集成测试
17. 自动化测试和探索式测试
自动化测试可以通过软件完成。
探索式测试
• 测试设备
• 页面跳转
• 数据流动
• 涉及多页面的测试
18. 安全测试
• webservice
• 查看app发送的信息是不是明文是不是会泄漏消息
• 安卓 ddms
• sqlite数据库
19. 性能测试
• 网络连接速度测试
• 流畅度
• webservice性能
• sqlite数据库性能
20. 操作系统的升级
• 新操作系统的特性和规范
• 当前系统的回归测试
• 新系统的适应性测试
21. 持续集成和持续部署
• 稳定性问题
• ios testflight
• 安卓 dropbox
不要问我为什么只有21条,作者 ppt 跳过了一条哈,我也没办法。
这二十多条可以串起来,听我慢慢道来,首先做 app 的时候要考虑设备和平台(1),有些特定的设备需要特别考虑(8),设备操作系统的的特性也要考虑(7)。
在不同国家使用 app 的时候,需要国家和地区的支持(10)。当我们第一次使用app 的时候,我们会使用手势操作(4),app 也会提示你要不要消息和通知要不要打开(6),在使用的时候有人会在不同的使用场景使用,需要测试移动网络的切换(2),在用户切换应用的时候,需要考虑多任务处理(3),在不杀死进程的要求下,需要考虑高内存占用问题(11),程序用久了,就要考虑缓存了,app 的缓存机制(14)就特别突出了。
在大谈用户体验(5)的今天,如果文件可以支持多种文件(9),就要考虑app依赖(16)比如第三方app集成和调用啦(15)还有很多非标准控件(12),在说用户体验的时候,安全(18)和性能(19)不能不提。
在系统升级或者软件升级的时候,需要各种app升级管理(13),升级当然少不了测试,自动化测试和探索式(17)必不可少,还记得那些因系统升级而不能用的 app 吗,这个也是考虑操作系统的升级(20),在这个过程中,可以使用持续集成和持续部署的工具(21)来协调工作。