当前位置: 首页 > java >正文

【最细】自动化测试-解决日志问题,一文贯通...

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

持续集成的自动化用例很多,测试环境日志level为debug,日志量大概40G/每天,定位问题时日志查询很慢,该怎么解决?

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

1、日志作用

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

日志是技术人员处理工作很重要的一个辅助工具和手段,运维同学可以及时的通过日志发现系统隐患和故障并及时处理问题,开发同学解决问题离不开日志信息的协助定位,测试同学在测试过程中也需要借助日志来发现和确定bug。

可以说日志就相当于我们观察系统的眼睛,没有日志就相当于失去了眼睛,系统也失去了可观测性。

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

在这里插入图片描述

2、日志分级

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

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

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

在这里插入图片描述

3、日志管理

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

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

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

1)日志切分,超过设置的文件大小就自动切分(比如超过10M);
2)日志分级,参考log4j标准设置或者自定义日志级别(参考上面的内容);
3)日志命名,按照时间+日志类型做命名区分(比如2025-05-21-17-error1.log);
4)日志清理,根据自动化测试运行频次定时清理过期日志(比如超过48H定时任务自动清理);

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

最新最全花1W买的Python+Selenium全栈Web自动化测试

下面是我整理的2025年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

人生就像一场马拉松,重要的不是起跑时的速度,而是坚持到底的毅力。当你觉得疲惫时,请记住:每一个伟大的成就背后,都是无数个不放弃的瞬间。你的坚持,正在创造属于自己的传奇!

不要害怕失败,因为每一次跌倒都是站得更高的机会。你的潜力像海洋般深邃,表面平静,内里汹涌。勇敢追梦吧,世界永远为永不言弃的人保留最闪耀的舞台!

http://www.xdnf.cn/news/7924.html

相关文章:

  • 深入浅出IIC协议 - 从总线原理到FPGA实战开发 --第四篇:I2C工业级优化实践
  • 2024CCPC辽宁省赛 个人补题 ABCEGJL
  • Plant Cell|澳大利亚国立大学研究团队揭示狗尾草应对长期高温的 “生存秘籍”-三重协同机制逆天改命!
  • 46页 @《人工智能生命体 新启点》中國龍 原创连载
  • fatload使用方式
  • 解锁 YOLOv8 新潜能:EfficientViT 主干网络的优化实践与实验数据解读
  • 【spring】spring学习系列之十一:spring的事件监听
  • uni.getLocation()和uni.openSetting()
  • SOC-ESP32S3部分:5-IDF的日志管理
  • LVDS系列13:Xilinx Ultrascale系可编程输入延迟(三)
  • STM32之串口通信WIFI上云
  • Centos8安装 python3并保留系统的python2
  • C语言求1到n的和(附带源码和解析)
  • 华为云Flexus+DeepSeek征文|零基础搭建Dify-LLM应用开发平台 - 从部署到应用的完整指南
  • 关于光谱相机的灵敏度
  • C++学习之类和对象_2
  • 【web全栈】若依框架B站学习视频
  • 面向高温工业场景的EtherCAT/CANopen协议转换系统设计与应用
  • 互联网大厂Java求职面试:Spring Cloud微服务架构与AI集成挑战
  • Redis从入门到实战 - 高级篇(下)
  • Linux锁和互斥锁
  • 机器学习之随机森林(五)
  • Unity ​​MeshCollider 无法被射线检测到
  • TCP网络编程学习
  • PCB设计实践(二十三)什么是阻抗匹配,需要做啥
  • Backwards对自动路由的影响
  • ​​AirtestIDE-win-1.2.9 使用教程:从安装到脚本录制(Windows版)
  • YOLOv11旋转目标检测Hrsc2016
  • day25- 系统编程之 标准IO(II) 及 文件IO
  • 网络编程概述