写点什么

自动化测试如何解决日志问题

作者:老张
  • 2022 年 8 月 24 日
    上海
  • 本文字数:1151 字

    阅读完需:约 4 分钟

自动化测试如何解决日志问题

前言

前几天在知识星球会员群里,有同学问了一个自动化测试实践中遇到的问题:持续集成的自动化用例很多,测试环境日志 level 为 debug,日志量大概 40G/每天,定位问题时日志查询很慢,该怎么解决?

这个问题可以说是自动化测试实践中经常遇到的问题,那么该如何解决这些问题呢?或者说有没有更好的方案来优化这些问题?这篇文章,我想聊聊我的看法。


日志作用

在聊日志处理之前,先来看看日志的作用。

日志的本质就是记录系统各种操作事件的记录信息。它记录了系统的各项特征,类似医院体检后的体检报告。它反映了系统的健康状态、各项操作事件、系统变更情况以及各种异常隐患。

日志是技术人员处理工作很重要的一个辅助工具和手段,运维同学可以及时的通过日志发现系统隐患和故障并及时处理问题,开发同学解决问题离不开日志信息的协助定位,测试同学在测试过程中也需要借助日志来发现和确定 bug。可以说日志就相当于我们观察系统的眼睛,没有日志就相当于失去了眼睛,系统也失去了可观测性

日志是保障系统高可用的基础,记录了系统的一举一动,无论是故障处理、系统监控、业务监控以及安全审计,都离不开日志的支持。日志种类繁多,一个完善的日志系统主要包含如下的日志信息:



日志分级

日志种类太多不容易区分,如何快速的通过日志来排查处理问题呢?日志分级是个很好的方案。

日志分级的本质是对“滚动式文本”日志做一个筛选分类,每条日志根据其重要性或严重程度分配一个日志级别。很多应用程序或者工具会自带日志分级,当然你也可以根据自己的需要自定义日志级别。

目前并没有完全通用标准的日志分级方案,当然对日志进行分级还是很有必要的,这样可以有助于提高问题定位和故障处理的效率。下面列举的几种日志等级,只是给大家一个参考思路。



日志管理

聊完了日志的作用和日志分级,接下来我们聊聊这位同学提到的问题该如何处理。

随着自动化测试覆盖的范围越大,case 会相应的越来越多,运行频次和集成的 case 数据一上来,确实会产生很多的日志。

当运行时遇到报错,高效的定位排查就很有必要,面对繁杂的日志,常见的日志管理手段可以参考如下几点:

  1. 日志切分,超过设置的文件大小就自动切分(比如超过 10M);

  2. 日志分级,参考 log4j 标准设置或者自定义日志级别(参考上面的内容);

  3. 日志命名,按照时间+日志类型做命名区分(比如 2022-08-24-17-error1.log);

  4. 日志清理,根据自动化测试运行频次定时清理过期日志(比如超过 48H 定时任务自动清理);

上述的几点建议仅供参考,当然在实际工作中可能还会遇到其他影响因素,比如环境不独立、持续集成的自动化 case 未做用例集区分导致全量运行产生了大量日志等情况。


这篇文章,主要介绍日志的作用和自动化测试实践过程中如何优化日志管理,提高问题排查效率。后续我会聊聊自动化测试中如何进行数据管理以及自动化 case 的用例集区分问题,敬请期待。

发布于: 22 小时前阅读数: 49
用户头像

老张

关注

读书、思辨、审慎。 2019.12.02 加入

专注于性能优化、全链路压测、稳定性治理。 公众号:老张的求知思考世界 博客园:https://www.cnblogs.com/imyalost/

评论

发布
暂无评论
自动化测试如何解决日志问题_自动化测试_老张_InfoQ写作社区