移动端BUG排查思路

2020年 是我做测试的第7年,也是做移动端测试第7年。现分享分享下移动端BUG排查思路

 

一、辅助工具:fidlder、charles

移动端测试的吃饭工具,用于抓去http请求后,然后进行各类分析及操作

 

二、熟悉并了解常见http码

比如:抓包看到请求 404 ,那就是资源不存在。那就3种可能

(1)静态图片404,说明该静态图片写死在前端请求里,即出现404的原因,图片静态资源没有放到指定路径、开发没提静态资源的代码等

(2)api接口404,即后端服务可能未部署

(3)发现这个404请求不应该是版本请求的,即前端版本代码合错、打包分支切错了

 

再比如,常见的500、502、504

(1)500,服务器内部错误,这时根据具体报错请求查后端日志,常见于 代码有BUG、存在脏数据等

(2)502,服务挂了。常见于服务部署中(即服务不可用)、有人(开发或运维)改动转发代理之类造成。

(4)504 ,服务超时。一般找运维解决就好了

 

三、千奇百怪的问题

此处千奇百怪的问题,主要以我个人项目经历种遇到一些有意思/比较曲折的BUG排查

(1)生产服务发布后,前端静态样式仍然没有变化

此处排查思路:

排查前端页面缓存

排查是否为机型问题

排查代码合并

检查部署分支

检查js hash是否生成新的hash

检查CDN缓存

检查nginx配置------- 在最后一步终于发现问题,nginx配置里header有个参数配置错了


(2)同一个环境下,我手里移动端设备发出部分指定请求每次必然都要响应30s及以上

排查思路:

检查移动端设备的网络问题---大家都是同一个网络

检查移动端设备问题----
       Android 和 IOS:把账号从IOS换到Android仍能出现

      相同设备:相同设备下、相同环境、相同网络条件,我的测试设备可复现,他的复现

从上一步排查结果可确认:唯一不同就是登录的用户差异,随后检查根据接口返回值检查 用户数据差异性,从而确认问题情况

 

排查结果:某种指定类型的用户状态,在调用接口A时会单独去查库,因为测试环境没有建索引,所以查询慢。把数据库索引加上后响应正常

 

(3)偶发的BUG

首页要树立一个观点,从来不存在偶发的BUG,只是没有找到复现方法而已

说下移动偶发BUG排查思路

(1)操作差异:连贯性操作、有中断流程的操作,可能会导致一个现象:BUG偶发出现

比如:用户注册、填写资料并提交的场景

   a.用户注册后,直接根据页面流程填写资料

   b.用户注册后,先退出登录,再重新登录后再去填写资料

虽然a、b 2个操作都能达到用户注册后填写资料的流程,但是从接口层面去分析,用户注册/登录后常规情况下会调用用户状态/用户数据的接口,但是如果其中一个流程没有调用呢?

此类问题可以通过理解业务调用逻辑/接口调用顺序等来设计测试点,从而排查问题

 

(2)返回操作、点击操作、切换tab栏操作等操作的先后顺序不一致

 

(3)测试环境有变化:比如部署的服务分支、部署前端版本等发生变动了

(4)新版本安装与覆盖安装:相同版本、机型、网络条件、相同用户,偶发出现,如果是APP考虑,新版本安装与覆盖安装、内存不足等问题

 

 

BUG排查思路大体如上,结合抓包工具看具体请求报错,在根据业务场景调用一层层往下查服务端报错日志

 

移动端BUG排查思路

上一篇:手机访问wamp


下一篇:Dynamic DMA mapping Guide