如何解决Phone模块Bug
作者:I且听风吟I 发布时间:[ 2016/12/14 14:05:15 ] 推荐标签:软件测试管理 缺陷管理
这是很现实的问题,搞这个模块的,其实涉及的东西很多,流程,界面等,那对于新人该如何下手呢? 带着问题去看代码,比你自己瞎抓好。
测试同学上报的问题,肯定是从界面上入手,执行了哪些操作,发生了什么异常结果。要想快速的定位问题,熟悉代码是前提,代码该如何熟悉。可以分几个层次:
模块整体结构
分了哪几个层,特别是4.4开始,分层很多,这几个层次是什么关系以及有什么作用。这一步可以参考网上已有的分析,快速掌握。 这个不是解决问题必经的步骤,但是为了更好的分析解决问题。
界面布局
InCallUI的布局很有意思,不同的界面,不一样的Fragment(废话), 使用了MVP的模式。所以要弄清楚UI,这样可以解决一部分UI小bug。以及后续添加新的功能。
关键流程
这个也是重点,bug分析是按照流程来的,流程不熟,即使改了也可能产生其他问题。关键流程有: 1) MT / MO流程 也是来电/拨号的流程 2) 几个关键进程的初始化
Call Settings
这部分内容基本是在TeleServeice目录中,属于phone进程。 设置的内容比较多了,基本设置,通话设置, 黑名单设置,开关P-Sensor设置,FDN设置,单双卡设置。比如高通平台的,还把双卡设置独立成自己的apk,放在vendor/qcom/….目录下面。
这里面很扯的是,不知是从4.4开始,在FDN输入框中的光标是在前面的,测试会报bug,要求光标移动到输入字符后面。好,那修改,因为Android原生是这么整的, 那修改TextView中的光标选取位置,一改百改。到后来 导致 CTS有一项过不了。 真是坑爹啊,那只能在上层使用的地方修改。其实,这个不应该是个问题。
查看log
这个又是一个累活, 先说应该看哪些log吧。 一般查看main、system, events, radio 。(废话) 涉及到通话流程的,如电话Dial失败, 自动挂断,掉网络的, 这个radio有用。直接查看 radio中的 如 >DIAL 看这个指令反馈的是什么,正常还是异常。如果RILJ得到的都是错误的,那很有可能是modem层有问题,或是网络有问题。这个需要抓取QXDM(高通平台) 涉及到界面的,特别是新手,不熟悉模块的代码,以及布局,又想快速的定位是在哪个界面。 推荐使用sdk中的工具 monitor.bat -> Hierarchy View, 都是厂商的工程机开发,非常方便。注意,出厂的手机是无法抓取的,有的厂商手机即使root了,也不能看到Hierarchy View monitor.bat 目录是在sdk ools, Window -> open Perspective -> Hierarchy View
分工协作
跟小组内部讨论,现在强调分工,你不可能面面俱到,特别是短时间内。所以,运用团队的力量,一起攻关。有人对协议熟悉,有人对界面熟悉,有人对流程熟悉。要知道MTK为什么支持力度那么好,给e-Service提交问题,很快得到回复,并且能及时解决。 那是因为他们专业,分工明确,过bug像流水线一样,每人负责自己的那一小片领域,一看知道问题所在点,快速解决。
提问的技巧
见过新人提交给支持厂商的bug,简直用惜墨如金来形容。导致的结果是 后续还得不断的补充材料。
一个好的提问,应该有如下内容:
1) 问题发生的版本号,平台相关的codebase号,不论是MTK还是Qcom都需要。
2) 问题的详细描述,是否必现问题
3) 提供全面的Log,根据厂商不一样,对应抓取log的工具不一样。以及关键的时间点。
4) 你对问题的分析,以及疑问点,并在case单子中告知具体的Log位置
5) 是否有视频, 复杂些的又能复现的问题,好给出视频,并告知关键的视频时间点。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11