遇到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,如果不去定位,稍微复杂的场景就会提错开发负责人,尤其涉及团队协作的,如果能更精准定位到责任方,就能更快速去解决问题。

当然有个更重要的点,就是能提升自己的能力,这样才能一步步升级打怪!

  • 15
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在开发后台管理系统时,常见的 bug 有以下几种: 1. 数据显示错误:后台管理系统通常需要展示大量数据,可能会出现数据显示不正确的问题,比如数据缺失、数据重复、数据格式错误等。你可以检数据源和数据处理逻辑,确保数据正确性。 2. 权限问题:后台管理系统一般会涉及到权限管理,不同用户可能有不同的权限。如果用户无法执行某些操作或者能够访问未授权的页面,可能是权限配置有问题。可以检权限控制代码和数据库中的权限设置。 3. 表单验证问题:后台管理系统中常常包含表单提交操作,如果没有进行合适的表单验证,可能会导致数据错误或者安全问题。确保表单验证逻辑完善,并对用户输入进行合理的检和过滤。 4. 数据库操作错误:后台管理系统通常需要对数据库进行增删改操作,如果数据库操作有误,可能会导致数据错误或者无法正常操作。检数据库操作的语句和逻辑,确保正确性和安全性。 5. 性能问题:后台管理系统可能面对大量的数据和并发请求,如果性能不佳,可能会导致页面加载缓慢或者响应延迟。使用性能分析工具,优化数据库询、接口调用和前端渲染等环节。 当遇到后台管理系统的 bug 时,可以尝试以下解决方法: 1. 仔细检代码,特别是涉及数据处理、权限控制和表单验证的部分。 2. 使用调试工具和日志记录,看代码执行过程中的变量和错误信息。 3. 检数据库操作,确保正确性和安全性。 4. 分析性能问题,优化关键路径和瓶颈。 5. 如果遇到复杂问题,可以逐步缩小范围,创建最小可复现示例,以便更好地定位问题所在。 6. 寻求同事或开发者社区的帮助,分享问题并提供相关代码和错误信息。 希望这些信息对你有所帮助!如果你有更具体的问题或者需要进一步的帮助,请告诉我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值