LOFTER现在提供iOS、AOS等多个平台的移动客户端服务,这两个端也已经相继开发了几个版本,最近开发的2.0版本即将上线,测试了这么久也该总结一下了。
现在我们测试时,开发会先在本地机上打好包,然后我们在开发提供的网址上下载这个包就可以了,这样在真机上直接测试可以更直观的发现bug。以下是功能测试时需要注意的点:
1、登录
● 登录用户名和密码错误时,界面有提示信息
● 用户主动退出登录后,下次启动APP时,应该进入登录界面
● 对于支持自动登录的APP,数据交换时 ,是否能自动登录成功且数据库操作无误
● 密码更改后,登录时是否做到了有效数据的校验
● 对于未登录时一些页面的操作,是否做了控制
● 切换账号登录,检验登录的信息是否做到及时更新
● 对于多个端都进行操作时,确保数据库操作无误,且每个端可以及时看到数据的更新
● 对于一些软件,支持一个账号只允许登录一台机器,这时,需要检查账号登录多个手机时,是否将原用户剔除,且能够给出提示信息
● APP切换到后台时,再次切换到前台的测试,如登录时,有电话打进来
2、离线
离线是应用程序在本地的客户端会缓存一部分数据以功程序下次调用
● 对于一些程序,需要在登录进来后,这时没有网络的情况下可以浏览本地数据
● 对于无网络时,刷新获取新数据时,不能获取数据且能给出友好提示
● 切换到后台,再次切换到前台时,可以正常查看
● 离线后又连上网,这时对数据有更新时,需要从服务器端获取新数据来更新客户端数据,且要更新本地缓存信息
● 对于一些界面的数据不提供离线查看,需要给出相应提示且界面更新后无任何数据
3、Sqlite数据库
AOS和IOS客户端都采用了sqlite数据库,当APP需要在客户端保存数据时,它们会创建相应的数据库表,最常见的就是对账号的保存,这时的测试点主要有:
● 跟一般数据库一样,需要见擦数据的增,删,改,查
● 客户端即用即建,当表不存在时,是否会自动创建
● 数据表被删除后,新建的表中的数据能否自动从服务器端中获取回来兵保存
● 当对数据进行了修改,删除,客户端和服务器端能否有相应的更新
● 获取数据,客户端是从直接从客户端获取还是和服务器端的数据进行比较
● 对于客户端从服务器端更新的数据,客户端是否有保存于本地
4、刷新
主要是针对数据的更新操作
● 删除数据后,刷新界面观察数据是否被真正刷新,小心前端做的一些陷阱用来迷惑用户
● 添加数据后,多次刷新,确保数据真正更新
● 对于一些自动刷新的界面,进入界面是否有数据的更新
● 数据的一些处理逻辑的检查
● 确保每次刷新时从服务器端获取的新数据而非本地缓存数据
● 前后台切换时是否有数据的更新
5、APP中含有音乐 视频文件
● 播放,暂停,停止三个状态之间的转换测试
● 播放模式的检测,音乐文件一般为单曲播放
● 几首歌之间的切换,是否播放正常
● 状态栏的信息是否显示正确,音乐视频是否支持状态栏关闭的功能
● APP切换到后台,音乐 视频是否还在播放,且功能状态是否正确
● 锁屏时,这些文件是否还在播放
● 对于页面交换时,是否影响这些文件的播放
6、相机服务
● 应用相机时,再返回到APP,APP是否会崩溃
● 应用相机时,对于IOS AOS版本都做一些检查
● 前后台切换测试
● 相机拍摄的照片返回APP时,图片不能被拉伸
7、消息推送
● 如果用户设置了不接受推送消息,检查用户不会再接收到推送消息
● 检查推送消息是否按照指定的规则进行推送
● 如果推送消息只是针对登录用户,需要检查收到的消息手否与用户身份相符合,一般情况下,只对手机上的最后一个登录用户进行推送
8、UI检查
● 像素的检查
● 边框外是否含有阴影
● 边框外是圆角还是直角
● 不能出现一些显示紧凑过密的文字
● 提示文字的友好性
● 拒绝大片的空白区域
● hover与不hover时的区别
9、版本更新
● 客户端有新版本时,有更新提示
● 当客户端有新版本时,本地不删除客户端,直接更新检查是否更新成功
● 接上面,检查更新的客户端是否为新版本
● 强制更新时,可以选择取消更新
● 有更新版本时,保证老版本能继续使用,且做到兼容
● 当强制升级时,取消更新,下次进来依然提醒用户更新
10、网络
● 无网络时,执行的操作,给出友好提示
● 内网测试时,要注意外网操作时的异常情况
● 网络信号不好时,检查数据是否会一直处于提交的状态
● 在网络信号不好时,执行操作,在回调没有完成时,退出页面,有无异常情况
11、其他
● 各个端系统版本兼容测试,ios4.3 ios5.0 ios6.0 aos2.0 aos4.0等
● APP应用键盘的收起展开正确
● 快速操作不能引起程序崩溃
● 按钮不能点击时,是否显示灰白
● 屏幕旋转是否影响界面布局
● 手机端和pc端操作,每个端应该有容错处理