首先,崩溃有几种情况:
- 闪退
- 提示停止运行
- 无响应
崩溃原因:
1.接口返回值
直接原因:
app无法解析接口返回值 导致客户端代码报错
- 获取不到要获取的参数
- 参数类型不对
引起原因:
- 脏数据
- 网络问题导致接口超时或漏了数组元素
- 前后台没有统一参数类型标准
- 参数名错误
- 实体消失
解决办法:
在网络顺畅/不顺畅情况下抓包,对着api文档一个一个的参数对比,返回值有数组可以横向对比,可能是其中某个元素内的某个参数和其他元素内的这个参数有内容不同/类型不同/为空/不存在/规范不同。
测试方法:
首先要从2个角度考虑。
- 后台不要返回这种脏数据,或者有脏数据要进行处理再返回给app。
- app要有一定的容错性,不能因为一个参数这么一点小事就导致崩溃(低级bug瞬间升级到致命bug)。
所以要从俩边测试。
- 先进行正常的接口测试,保证正常数据返回没有问题。再通过操作数据库或其他手段进行构造脏数据,测试服务器的错误处理能力。
- 再利用mock或抓包工具,强行修改返回值,测试app端的容错能力。用脚本或手动把所有/特定 的参数进行更改