【软件测试】自动化测试日志问题该怎么解决?测试老鸟总结方案...

本文针对自动化测试中遇到的日志问题,如大量日志导致查询缓慢,提出了解决方案。包括日志分级、日志切分、命名规则和清理策略。还介绍了Python的logging模块,以及自定义日志的封装方法,帮助测试人员更有效地进行日志管理和问题定位。
摘要由CSDN通过智能技术生成


前言

Python自动化测试:https://www.bilibili.com/video/BV1MS4y1W79K/

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

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

下面我们就来分析一下

日志的作用

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

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

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

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

日志是保障系统高可用的基础,记录了系统的一举一动,无论是故障处理、系统监控、业务监控以及安全审计,都离不开日志的支持。

日志种类繁多,一个完善的日志系统主要包含如下的日志信息:

请添加图片描述

日志的分级

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

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

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

请添加图片描述

日志的管理

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

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

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

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

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

接下来我们就再来讲解一下logging框架

python-logging模块中,默认的是root日志收集器,默认的输出级别为:WARNING

自定义日志的操作流程

创建日志收集器:logger = logging.getLogger(“日志收集器的name”)
设置日志收集器的日志级别:logger.setLevel(logging
Python Web自动化测试是使用Python编程语言进行Web应用程序的自动化测试。通过自动化测试,可以模拟用户行为、检测应用程序的功能和性能,并确保应用程序在不同浏览器和操作系统上的正常运行。 Python Web自动化测试通常包括以下几个步骤: 1. 环境设置:首先,需要安装Python解释器和相关的库,如Selenium、Requests等。这些库提供了用于模拟用户行为和与Web应用程序进行交互的功能。 2. 页面元素定位:在进行Web自动化测试之前,需要确定要测试的页面元素,如按钮、输入框、链接等。使用Selenium库提供的定位方法,可以通过标签名称、类名、ID、CSS选择器等方式找到页面元素。 3. 编写测试脚本:使用Python编写测试脚本,通过调用Selenium库提供的方法,模拟用户的操作,如点击按钮、输入文本、跳转页面等。同时,可以使用断言来验证页面元素的存在、文本内容的正确性等。 4. 执行测试脚本:执行编写好的测试脚本,可以使用命令行工具或集成开发环境来运行。在执行过程中,可以实时查看测试结果,并生成测试报告。 5. 分析测试结果:根据测试结果,分析应用程序的功能是否正常,是否存在Bug或性能问题。如果发现问题,可以通过调试和修复代码来解决总结来说,Python Web自动化测试是使用Python编程语言和相关库对Web应用程序进行自动化测试的过程。通过模拟用户行为,可以有效地验证应用程序的功能和性能,并提高测试效率和质量。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【自动化测试】如何做好python接口/web自动化测试?看看8年测试老鸟总结......](https://blog.csdn.net/shuang_waiwai/article/details/127808096)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值