返回首页

测试中的日志:结构和工具

文章分解日志结构、在 QA 中的作用、类型(服务器、Kafka、移动、Docker)和分析工具。重点通过 Kibana、Sentry、Grafana、Logcat 定位 bug。

QA 日志:Kibana、Sentry、Docker 和 Logcat
Advertisement 728x90

测试中的日志处理:结构、类型与工具

日志是系统中事件的文本记录。每条日志包含时间戳、日志级别(INFO、DEBUG、WARN、ERROR、FATAL)、来源(服务或模块)以及事件描述。发生错误时,会附加堆栈跟踪——列出导致失败的函数调用序列,清晰展示代码执行路径。

堆栈跟踪揭示了涉及的文件、类和方法,这对定位后端系统或移动应用中的缺陷至关重要,因为这些场景下用户界面无法暴露内部细节。

日志在质量保障中的作用

日志可验证缺陷的存在,判断故障严重性(客户端、服务器端或集成问题),并为开发人员提供关键数据。它们对间歇性问题尤其有价值——此时 DevTools 或抓包工具难以奏效,或遇到无法解释的 500 服务器错误时。

Google AdInline article slot

测试人员从日志中提取:

  • 请求与响应参数。
  • 用于调试的堆栈跟踪。
  • 错误重现频率。

这能显著加快修复后的回归测试与部署流程。

服务器日志:访问与分析

服务器日志记录请求、参数、响应及错误信息。可通过 SSH 访问 /var/log/ 目录(如 syslog、access_log),或使用专用监控平台获取。

Google AdInline article slot

直接通过 SSH 访问

SSH 连接可直接读取 Linux 服务器上的原始日志。使用 grep 筛选 ERROR 条目,tail -f 实现实时监控。当无图形化工具可用时尤为适用。

集中式日志系统

  • Kibana:按级别、时间或服务搜索;支持过滤 500/422 错误,查看完整请求与响应。
  • Sentry:提供完整的请求详情、堆栈跟踪与错误频率统计,并自动通知开发团队。
  • Grafana:仪表盘可视化 4xx/5xx 错误随时间变化趋势及按接口分布情况。
  • Loguru:适用于基础分析的简洁时间戳文本日志。

| 工具 | 核心功能 | 在 QA 中的应用 |

|------|------------------|-----------|

Google AdInline article slot

| Kibana | 事件过滤 | 定位不稳定缺陷 |

| Sentry | 堆栈跟踪 | 向开发团队报告问题 |

| Grafana | 错误指标 | 监控系统故障 |

| Loguru | 文本日志 | 基础日志检查 |

消息中间件日志

在异步系统(如 Apache Kafka)中,日志用于追踪消息交换过程。常见问题包括消息丢失、格式错误或延迟。可通过 Kibana、Loggly、Datadog 或 Confluent Control Center 分析。

示例:战斗历史请求 —— 消费者服务日志揭示处理失败原因。

移动端日志:ADB 与 Logcat

对于 Android 平台:使用 ADB 连接设备或模拟器;Logcat 显示事件日志(屏幕状态、用户操作、错误信息)。可通过 ERROR(E)级别筛选,及时发现卡顿或冻结现象。

当应用崩溃但界面无异常提示时,Logcat 成为关键排查工具。

Docker 容器日志

Docker 容器日志通过 docker logs <container_id> 命令访问,捕获应用程序的 stdout/stderr 输出。在微服务架构中尤为重要,可结合 Kubernetes 的 kubectl logs 实现编排管理。

支持过滤选项:--tail 查看最新几行,--since 查看指定时间后的记录。可集成 ELK 栈(Elasticsearch、Logstash、Kibana)实现大规模日志分析。

核心要点:

  • 日志是 UI 诊断失效后进行根因分析的首选工具。
  • 日志级别:INFO/DEBUG 用于追踪流程,ERROR/FATAL 用于标识故障。
  • 堆栈跟踪对开发人员必不可少。
  • 工具选择:Kibana/Sentry 用于搜索,Grafana 用于指标监控。
  • 移动端:ADB + Logcat;容器环境:docker logs

— Editorial Team

Advertisement 728x90

继续阅读