美文网首页移动端测试
Android测试--记录一个简单问题的定位与跟踪

Android测试--记录一个简单问题的定位与跟踪

作者: h080294 | 来源:发表于2017-10-11 15:50 被阅读34次

    一、问题

    在某种已知的特殊情况A下,资料页头像展示了小图,而实际上应该展示大图

    二、定位过程

    1、头像数据从服务端取回,连charles抓包查看请求

    只看关键的头像相关的几个字段

    抓取后发现头像数据是按照协议规定反回了不同大小的地址,检查img url也是正确的。那么就可以确定客户端做了一些处理,没有使用origin格式的图片。

    2、定位代码

    由于不知道具体的类,用个小技巧:通过Layout_Inspector查看布局,从而快速定位代码

    然后在左侧的tree_view中,找到头像布局的地方,也就知道在哪个类里控制了。

    跟进xxx类,找到关键方法。可以看到这里额外的判断了一下是否是Thumb,如果是的话就用avatar120尺寸的图片;如果不是,则用originAvatar大小的图片。

                if (user.isThumb()) {
                    img.setVisibility(View.GONE);
                    smallL.setVisibility(View.VISIBLE);
                    smalImg.setUri(Uri.parse(user.avatar120));
                } else {
                    img.setVisibility(View.VISIBLE);
                    smallL.setVisibility(View.GONE);
                    img.setUri(Uri.parse(user.originAvatar));
                }
    

    然后跟进boolean isThumb()方法,查看得知,isThumb是从服务端中返回的字段。

    3、快速验证

    还是charles抓包查看is_thumb字段:

    果然,服务端返回了yes。为了快速验证这点,用charles的Map local,把is_thumb改为no。回到客户端,刷新,然后就顺利展示了大图。

    回归需求,产品本身是支持小头像的,那么最终就可以确定问题了:
    在特殊情况A下,服务端返回了错误的参数,导致客户端展示异常。

    三、跟进修复

    找到相关RD,描述清问题现象及出现条件,指出哪个字段在什么情况下应该返回什么值。然后就坐在边上,连他本机的环境,随手改完就随手验证。因为问题定位的足够细,三两下就修复了该问题。最终代码上线后再次验证一下就ok了。

    四、总结

    收集问题 -> 分析问题 -> 定位问题 -> 跟进解决问题。

    1、收集问题

    问题的现象、截图等等有用的关键信息

    2、分析问题

    从问题本身,找到问题出现的场景及路径

    3、定位问题

    |-- 粗粒度
    清晰的描述问题发生的场景及复现步骤,让别人能明白你描述的问题。然后交由客户端RD进行排查。
    |--细粒度
    清晰的描述问题发生的场景及复现步骤,并且能够准备的定位到问题的关键代码,判断是客户端问题或者是服务端问题。

    3、跟进解决问题

    沟通中描述清问题,协助验证上线。

    虽然问题简单,但仍应该总结一下,毕竟总结也是测试人员的核心能力之一。

    关注获取更多

    相关文章

      网友评论

      本文标题:Android测试--记录一个简单问题的定位与跟踪

      本文链接:https://www.haomeiwen.com/subject/hwjwyxtx.html