在测试时,最好手机连上 xcode 进行测试,方便查看日志,程序崩溃等原因。下面整理了一些客户端方的测试总结。
1 、 网络
手机的网络目前主要分为 2G、3G、wifi。目前 2G 的网络相对于比较慢,测试时尤其要注意此块的测试。
1) 无网络时,执行需要网络的操作,给予友好提示,确保程序不出现 crash。
2) 内网测试时,要注意选择到外网操作时的异常情况处理。
3) 在网络信号不好时,检查功能状态是否正常,确保不因提交数据失败而造成 crash。
4) 在网络信号不好时,检查数据是否会一直处于提交中的状态,有无超时限制。如遇数据交换失败时要给予提示。
5) 在网络信号不好时,执行操作后,在回调没有完成的情况下,退出本页面或者执行其他操作的情况,有无异常情况。此问题也会经常出现程序 crash。
2 、 应用的前后台切换
1) APP 切换到后台,再回到 app,检查是否停留在上一次操作界面。
2) APP 切换到后台,再回到 app,检查功能及应用状态是否正常,IOS4 和 IOS5 的版本的处理机制有的不一样。
3) app 切换到后台,再回到前台时,注意程序是否崩溃,功能状态是否正常,尤其是对于从后台切换回前台数据有自动更新的时候。
4) 手机锁屏解屏后进入 app 注意是否会崩溃,功能状态是否正常,尤其是对于从后台切换回前台数据有自动更新的时候。
5) 当 App 使用过程中有电话进来中断后再切换到 app,功能状态是否正常
6) 当杀掉 app 进程后,再开启 app,app 能否正常启动。
7) 出现必须处理的提示框后,切换到后台,再切换回来,检查提示框是否还存在,有时候会出现应用自动跳过提示框的缺陷。
8) 对于有数据交换的页面,每个页面都必需要进行前后台切换、锁屏的测试,这种页面最容易出现崩溃。
3 、 数据更新
根据应用的业务规则,以及数据更新量的情况,来确定最优的数据更新方案。
1) 需要确定哪些地方需要提供手动刷新,哪些地方需要自动刷新,哪些地方需要手动+自动刷新。
2) 确定哪些地方从后台切换回前台时需要进行数据更新。
3) 根据业务、速度及流量的合理分配,确定哪些内容需要实时更新,哪些需要定时更新。
4) 确定数据展示部分的处理逻辑,是每次从服务端请求,还是有缓存到本地,这样才能有针对性的进行相应测试。
5) 检查有数据交换的地方,均有相应的异常处理。
4 、 免登录
很多应用提供免登录功能,当应用开启时自动以上一次登录的用户身份来使用 app.
1) app 有免登录功能时,需要考虑 IOS 版本差异。
2) 考虑无网络情况时能否正常进入免登录状态。
3) 切换用户登录后,要校验用户登录信息及数据内容是否相应更新,确保原用户退出。
4) 根据 MTOP 的现有规则,一个帐户只允许登录一台机器。所以,需要检查一个帐户登录多台手机的情况。原手机里的用户需要被踢出,给出友好提示。
5) app 切换到后台,再切回前台的校验
6) 切换到后台,再切换回前台的测试
7) 密码更换后,检查有数据交换时是否进行了有效身份的校验
8) 支持自动登录的应用在进行数据交换时,检查系统是否能自动登录成功并且数据操作无误。
9) 检查用户主动退出登录后,下次启动 app,应停留在登录界面。
5 、 离线浏览
很多应用会支持离线浏览,即在本地客户端会缓存一部分数据供用户查看。
1) 在无网络情况可以浏览本地数据
2) 退出 app 再开启 app 时能正常浏览
3) 切换到后台再切回前台可以正常浏览
4) 锁屏后再解屏回到应用前台可以正常浏览
5) 在对服务端的数据有更新时会给予离线的相应提示
6 、 时间测试
客户端可以自行设置手机的时区、时间,因此需要校验该设置对 app 的影响。
iphone 的时间设置:设置——通用——日期与时间,将自动设置关闭,修改时区、时间。
中国为东 8 区,所以当手机设置的时间非东 8 区时,查看需要显示时间的地方,时间是否展示正确,应用功能是否正常。时间一般需要根据服务器时间再转换成客户端对应的时区来展示,这样的用户体验比较好。比如发表一篇微博在服务端记录的是 10:00,此时,华盛顿时间为 22:00,客户端去浏览时,如果设置的是华盛顿时间,则显示的发表时间即为 22:00,当时间设回东 8 区时间时,再查看则显示为 10:00。