
遇到bug如何查日志
当测试遇到bug,你是会第一时间提给开发,还是先自己分析一下再提?如果当你提每次提bug,能顺带把bug原因附带上,我相信开发对你的印象会非常好~那么今天就说一说,我们如何去分析定位bug。分析bug绕不开查日志,这篇以查日志这一环节细说一下~大家都知道要查日志,那对于新手来说,怎么着手查日志呢?
当测试遇到bug,你是会第一时间提给开发,还是先自己分析一下再提?
如果当你提每次提bug,能顺带把bug原因附带上,我相信开发对你的印象会非常好~
那么今天就说一说,我们如何去分析定位bug。
分析bug绕不开查日志,这篇以查日志这一环节细说一下~
大家都知道要查日志,那对于新手来说,怎么着手查日志呢?
01 在查之前,我们必然会面临如下问题:
- 查什么?
- 去哪查?
- 怎么查?
02 举个具体的例子
场景:注册一个账号后,去实名认证,认证页面显示认证成功了,返回到主页还是未认证;不是前端显示问题;(业务逻辑:账号是一个系统,认证是另一个系统,分别由两个团队负责)
现在要开始定位问题了:
1、查什么?
前提:必须要了解实现逻辑:认证成功后会给账号发送mq,账号消费mq成功,更新账号的认证状态;
首先需确认是账号的问题?还是认证的问题?怎么确认呢?
- 查认证发mq了吗?
- 如果发了,账号消费mq了吗?
- 如果mq已消费,查有报错吗?
- 没有报错,查有更新认证状态的日志吗?
2、去哪查?
不同的问题在不同的地方查;我们可以
- 去服务器下查日志log文件;
- 有日志系统的直接去系统查;(比如kibana,很多公司用)
- 去MQ后台查;
如果实在不知道去哪查,后端有一个必杀技,那就是查服务器日志;
但你需要清楚,服务端日志在哪?有没有权限?
很多公司对服务器的访问都会设置很多权限,诸如跳板机、堡垒机等等(可以去网上搜下是什么);
如果是跳板机,就去找运维申请账号权限,一般情况下运维会有指引手册,教如何登录到服务器下;
登录到了服务器下,就去问开发,哪个服务的日志在哪个路径下;
3、怎么查
找到了位置,就到了最重要的环节,怎么查;
1)查认证发mq了吗?
两种方法:
方法一:
直接查日志,搜索发送mq的关键词(开发写了打log才能查,要是没写就没办法)
如果在日志能搜到,就可以说明发了
(下图是随便找的截图,kibana搜索举例;如果是在服务器下搜索,就用grep搜索,这就涉及到Linux命令,此处不细说)
方法二:
登录mq后台,查是否发了
由于已消费的mq查不到记录,所以在mq后台查的话,需要自己新建一个队列去绑定发送的交换机,来监听发送方是否发了(这个我下篇讲吧,这里就不细讲了)
贴个图
2)如果认证发了mq,账号消费mq了吗?
这个和上面一样,查消费日志、或者去mq后台查有没有积压;
3)如果mq已消费,查有报错吗?
一般这种异步处理的场景,报错不会体现在接口本身,而只是内部报错;
以账号userid为关键字搜索,或者最后一次请求的requestid为关键字搜索,根据操作时间看对应的服务器日志有没有报错信息;
如果有报错,一般长这样; 具体在哪一行都暴露出来;
(查服务器日志更简单,直接查error文件就行)
4)没有报错,查有更新认证状态的日志吗?
这个就跟上面一样了,只不过查询的关键字不同。
以上就讲完了日志的分析查看过程。
分析问题前,一定要熟悉业务逻辑,不能盲目提bug,如果不去定位,稍微复杂的场景就会提错开发负责人,尤其涉及团队协作的,如果能更精准定位到责任方,就能更快速去解决问题。
当然有个更重要的点,就是能提升自己的能力,这样才能一步步升级打怪!
更多推荐
所有评论(0)