现在的位置: 首页 > 软件测试 > 测试工具 > 软件测试 > 测试技术 > 正文

日志分析Python脚本编写方法简述

2014年03月27日 测试工具, 测试技术 ⁄ 共 1085字 ⁄ 字号 评论 2 条 ⁄ 阅读 6,730 次
文章目录

1.前言

在进行项目性能测试过程中,需要对组件生成的日志进行分析统计,获取特定的信息,当日志文件比较大(几百M甚至上G)时,通过手工分析往往效率与效果都不令人满意。

这时通过Python脚本只需简单的一些代码即可搜索日志,完成日志的分析统计。

2.需掌握的知识

本文需要有一定的Python基础,可以参考下面的学习资料进行学习。

3.脚本详解

3.1主要逻辑

写作文的时候都会有一个主题思想,我们写Python脚本也不例外,动手之前先要有一个大概的思路:

a)确定目标,分析日志格式,确定搜索日志的方法

b)编写相关的日志信息获取函数

c)完成整体脚本编写及结果输出

3.2 实例讲解

3.2.1 分析组件日志,确定得到相关字段的方法:

3.2.1.1 分析Engine日志得到会话ID及分数

下图是Engine日志中某一会话搜索返回结果时记录的日志:

a)可以通过” ResultList(singer----song---score---begpos---endpos)”搜索日志判断得到结果

b)同一会话有2条相同信息,需要进行去重

032714_0933_Python1.png

3.2.1.2 分析BSL日志得到会话ID及实时率

下图是一个会话的日志片段,其中蓝色框是我们需要的日志,红色圆圈是我们需要的相关字段值:

a)可以通过正则表达式” SessionID =.*RealTimeRate =.*”搜索日志

b)使用字符串函数处理即可得到相关字段值

032714_0933_Python2.png

3.2.2 编写相关日志分析函数

3.2.2.1 分析Engine日志获取会话ID及分数函数

032714_0933_Python3.png

3.2.2.2 分析BSL日志获取会话ID及实时率函数

 032714_0933_Python4.png

3.2.2.3 其他函数

主要是对返回的dict结果进行格式化输出,计算最大、最小、平均值,同时返回最大、最小会话ID

 032714_0933_Python5.png

3.2.2.4 主函数编写

主要定义了日志路径及输出结果
032714_0933_Python6.png

最后日志分析结果如下:
032714_0933_Python7.png

4.学习资料

本文只是对一个日志分析python脚本进行了简单的介绍,真正掌握还需学习与实践。整理了一些学习资料: