• 0
  • 0
分享
  • 自动化测试如何解决日志问题——软件测试圈
  • 恬恬圈 2022-10-20 11:44:17 字数 1238 阅读 1429 收藏 0

前言

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

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

日志作用

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

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

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

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

1.png

日志分级

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

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

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

2.png

日志管理

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

随着自动化测试覆盖的范围越大,case会相应的越来越多,运行频次和集成的case数据一上来,确实会产生很多的日志。当运行时遇到报错,高效的定位排查就很有必要,面对繁杂的日志,常见的日志管理手段可以参考如下几点:

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

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

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

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

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

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


作者:在人间换酒钱

原文链接:https://blog.csdn.net/m0_53918927/article/details/126550970


  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 接口测试和功能测试虽然都属于软件测试的范畴,但两者的测试目的、测试内容和测试重点都有所不同。那今天我将接口测试和功能测试配合实例为大家介绍这两种测试的区别,以 Apifox 这个最近风头很大的接口测试软件进行讲解。一、测试目的不同接口测试的目的是测试应用程序的接口是否能够按照规范要求与其他系统或组件进行交互,以及在不同负载条件下接口的稳定性、性能和安全性。功能测试的目的则是为了确保应用程序的功能符合规格说明书或需求文档中的规定。Apifox 是一个在线接口测试平台(但其实也有桌面端啦),它的主要目的是为了帮助测试人员快速创建和执行接口测试用例,验证接口的正确性和稳定性。通过使用 Apifox,...
            0 0 916
            分享
          • 前言        相信大家对于linux常用的命令一定都不陌生,但是一些简单,好玩,有趣,虽然可能没有实际作用的命令,你又有了解多少呢?话不多说,本期文章为大家带来15个好玩的linux命令,希望大家能够喜欢!1、sl 命令        你会看到一辆火车从屏幕右边开往左边……        当然我们需要先安装软件包sudo apt-get install sl        然后运行sl即可看到效果2、...
            13 13 1847
            分享
          •   学习自动化这个想法,其实自己在心里已经琢磨了很久,就是一直没付诸实践,觉得现在手工测试已经能满足当前的工作需要,不想浪费时间去学习新的东西,有点时间还不如刷刷视频、看看小说等。  第一次有学习Selenium的冲动是在一次被训话之后,觉得委屈了,不想干了,想换份工作。  那个时候手工测试比比皆是,没有自己的优势,所以就打算学习自动化知识来充实自己。网上视频也找了,但是仗着自己之前有点代码基础,没有按照课程系统学习,导致一知半解,在学习完Selenium录制脚本的功能之后,觉得自动化测试只是用工具录制脚本,然后回放就可以了,学习到此结束。  由于未继续学习,只会用Selenium录制脚本然后...
            0 0 582
            分享
          •   再过两天,Galaxy S24 系列就要正式发布了,围绕这款新设备的消息可谓热闹非凡。几乎每一天,我们都能看到新的营销材料展示新设备的某些方面。在经历了昨天的两次大规模泄密之后,新手机又经历了一次大规模泄密,突出了三星希望你了解的一些新特性。  从上面的图片中可以看出,三星在 Galaxy S24 的设计之初就非常注重人工智能功能的引入,即时翻译功能被放到了非常重要的位置,看来,三星并没有把人工智能仅仅作为一项新奇的卖点来添加,而是希望用户能够利用它来提高工作效率,期待看到它们真正能够发挥作用。  除此之外,摄像头和屏幕的改进等几个重大亮点都出现在海报资料中。  Galaxy S24 系列...
            0 0 338
            分享
          • 并发测试和持续性压测都是评估系统性能的常用方法,它们可以帮助开发人员发现并解决系统中的性能问题。本文来详细介绍下。概念并发测试: 旨在评估系统在同时处理多个用户请求时的性能。在这种 测试 中,系统会暴露于一定数量的用户负载下,并且会记录系统的响应时间、吞吐量和资源利用率等指标。这些指标可以用来确定系统的性能瓶颈,以及在不同负载下系统的表现。持续性压测: 旨在评估系统在长时间运行或高负载下的性能。在这种测试中,系统会暴露于一定数量的用户负载下,并且会持续一段时间运行,通常在几个小时或几天。这种测试可以用来确定系统在长时间运行下的表现,以及在高负载下系统是否具有可扩展性。并发测试在并发测试中,需要...
            0 0 1523
            分享
      • 51testing软件测试圈微信