Skip to content

日志与可观测性

说明

可观测性包括日志、指标和链路追踪三要素,用于定位系统行为、性能瓶颈和异常原因。

面试怎么问

测试失败时你怎么通过日志定位问题?

首先确定失败时间点和请求标识(trace_id),然后在日志平台按时间和标识检索。分析思路:从错误日志入手确认异常类型,向上追踪请求链路找到根因,向下检查数据库、缓存、外部服务日志。

关键是日志要有足够的上下文(请求参数、用户信息、环境标识),否则难以定位。

你对监控指标和告警规则有什么了解?

监控指标分两类:

基础设施指标(CPU、内存、磁盘、网络)。

应用指标(QPS、响应时间、错误率)。

告警规则要设置合理的阈值和聚合周期,避免噪音告警。在测试中,我会验证关键告警是否能正常触发,也会检查监控数据是否与测试结果一致,作为额外的验证维度。

链路追踪在测试中有什么用?

链路追踪可以验证跨服务调用的正确性和性能。测试失败时,通过 trace_id 查看完整调用链,快速定位是哪个服务、哪个接口出了问题。还可以分析调用链的性能瓶颈,推动优化。在跨服务场景(如支付回调、异步消息),链路追踪是验证完整流程的关键手段。

项目里怎么用

  • 自动化失败时自动抓取关键日志片段(请求、响应、错误堆栈),附加到测试报告。
  • 结合监控平台验证性能指标是否符合预期,作为功能测试之外的补充验证。
  • 在跨服务场景用链路追踪验证调用链和数据流转,确保完整业务链路正确。
  • 建立日志关键字清单,关键操作都有可检索的日志标识。
  • 定期检查告警规则的有效性,确保测试环境告警能正常触发。

容易答错什么

只会看日志输出,不会讲日志结构和检索能力

日志不只是 print 输出,要有结构:时间戳、级别、服务名、trace_id、用户标识、业务字段。结构化日志才能高效检索和分析。要说明如何设计日志格式、如何选择日志级别、如何在日志平台快速定位问题。这是可观测性的基础能力。

忽略监控指标与测试结果的关联分析

监控数据不只是运维看,测试也可以用:响应时间验证可以用监控数据补充,并发测试需要监控资源使用情况,失败场景可以检查是否有资源瓶颈。监控与测试结合能发现更多问题,也能提高测试的可信度。

不会讲如何在测试中主动触发和验证告警

告警也需要测试验证:模拟告警触发条件,验证告警是否发出、内容是否正确、接收人是否正确。这是测试开发的重要职责,确保告警机制在生产环境真正有效。还要说明如何测试告警的降噪和聚合策略。