CN107957940B - 一种测试日志处理方法、系统及终端 - Google Patents
一种测试日志处理方法、系统及终端 Download PDFInfo
- Publication number
- CN107957940B CN107957940B CN201610902924.XA CN201610902924A CN107957940B CN 107957940 B CN107957940 B CN 107957940B CN 201610902924 A CN201610902924 A CN 201610902924A CN 107957940 B CN107957940 B CN 107957940B
- Authority
- CN
- China
- Prior art keywords
- log
- test
- log information
- file
- initial
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种测试日志处理方法、系统及终端,通过截取操作系统底层的信息输出通道获取全面的测试日志信息并结合任务指令对所述测试日志信息进行分析,确定任务指令与测试日志中具体内容的对应关系,从而实现了对测试结果的自动化分析。本发明不仅能够支持基于iOS操作系统或其他操作系统的单机软件的测试,还能够支持基于分布式计算机系统的软件的测试,具有广阔的适用范围和应用前景,能够自动将任务指令与日志内容进行匹配并自动并生成日志分析文件,从而满足用户简单方便的查看日志以及定位问题的需求。
Description
技术领域
本发明涉及软件测试领域,尤其涉及一种测试日志处理方法、系统及终端。
背景技术
基于iOS(苹果移动设备操作系统)进行软件测试,通常需要使用苹果公司提供的自动化框架日志系统(iOS UItest),但是这种日志系统存在诸多不足:
(1)不支持分布式系统,只能进行针对单机的测试以及日志进行处理;
(2)不能记录被测对象,比如被测试的APP应用程序自身打印的日志信息;
(3)日志格式简单无序,无法满足用户简单方便的查看日志以及定位问题的需求。
此外,在现有的其他操作系统计算机系统中,通常测试任务由脚本执行,并脚本执行结果生成测试日志,而现有的日志系统中的日志与脚本中的任务指令并不存在明确的对应关系,用户难以结合脚本的内容对日志进行分析。
发明内容
为了解决上述技术问题,本发明提出了一种测试日志处理方法、系统及终端,通过截取操作系统底层的信息输出通道获取全面的测试日志信息并结合任务指令对所述测试日志信息进行分析,确定了任务指令与测试日志中具体内容的对应关系,进而实现了对测试结果的自动化分析,提升了测试效率。
本发明具体是以如下技术方案实现的:
一种测试日志处理方法,所述方法包括:
执行任务指令;
获取任务执行过程中产生的测试日志信息;
根据所述测试日志信息生成初始日志文件,所述初始日志文件包括带有索引标签的日志头,所述索引标签用于定位所述初始日志文件中正文部分的具体内容;
根据所述索引标签对所述初始日志文件进行分析并得到分析结果。
进一步地,所述根据所述索引标签对所述初始日志文件进行分析并得到分析结果包括:
对初始日志文件的日志头进行分析:获取与日志头中索引标签对应的任务指令,建立所述任务指令与所述索引标签的对应关系;
对初始日志文件进行整体分析:根据正文部分的具体内容与索引标签的对应关系,对任务指令、所述任务指令产生的日志内容和所述日志内容对应的标签进行一一对应匹配。
进一步地,还包括根据所述分析结果生成所述初始日志文件对应的日志分析文件。
进一步地,若多个初始日志文件所对应的任务能够合并构成一个整体任务,则生成整体日志分析文件,所述整体日志分析文件用于表征对所述整体任务测试结果的分析结果。
进一步地,所述方法应用于分布式系统:
所述分布式系统中的各个节点向服务器上传初始日志文件;
所述服务器对所述初始日志文件进行日志分析。
进一步地,所述分布式系统中的各个节点向服务器上传初始日志文件包括:
监测是否生成生成新的初始日志文件;
若是,则主动建立与服务器的通讯连接并判断所述通讯连接是否成功建立:
若是,则:
获取上传信息,所述上传信息包括所述初始日志文件在本地的存储地址以及本地节点在所述分布式系统中的唯一标识符;
将所述上传信息传输至服务器。
进一步地,所述主动建立与服务器的通讯连接包括:
读取配置文件中记录的服务器地址;
向所述服务器发送心跳报文;
向所述服务器建立基于传输控制协议的长连接。
进一步地,在将所述上传信息传输至服务器之后,关闭所述基于传输控制协议的长连接。
进一步地,在将所述上传信息传输至服务器之后,删除本地存储的所述初始日志文件。
进一步地,服务器获取来自于分布式系统中各个节点的初始日志文件之后,还包括:
将来自于各个节点的初始日志文件按照预设的规则进行排序;
根据排序结果生成用于查找所述初始日志文件的索引列表。
进一步地,所述测试日志信息包括测试环境输出的日志信息和被测对象输出的日志信息。
进一步地,所述根据所述测试日志信息生成初始日志文件包括:
获取所述测试日志信息的输出源:
若为测试环境输出的测试日志信息,则将所述测试环境输出的测试日志信息存入框架日志信息容器;
若为被测对象输出的测试日志信息,则将所述被测对象输出的测试日志信息存入被测对象日志信息容器;
对所述框架日志信息容器和所述被测对象日志信息容器中的测试日志信息进行分别处理,并将处理结果存入统一日志信息容器;
生成与所述统一日志信息容器中的测试日志信息对应的初始日志文件。
进一步地,所述对框架日志信息容器中的测试日志信息进行处理包括:
标记所述框架日志信息容器中的测试日志信息的类型;
识别所述框架日志信息容器中的测试日志信息的级别;
生成用于定位所述框架日志信息容器中的测试日志信息的内容的索引标签。
进一步地,所述对被测对象日志信息容器中的测试日志信息进行处理包括:
将所述被测对象日志信息容器中的测试日志信息发送至被测对象;
由所述被测对象回调预设的日志信息处理函数对所述被测对象日志信息容器中的测试日志信息进行处理:
标记所述被测对象日志信息容器中的测试日志信息的类型;
识别所述被测对象日志信息容器中的测试日志信息的级别;
生成用于定位所述被测对象日志信息容器中的测试日志信息的内容的索引标签。
进一步地,在执行任务指令的过程中,通过截取操作系统底层的信息输出通道获取测试日志信息。
一种测试日志处理系统,包括:
指令执行模块,用于执行任务指令;
测试日志信息获取模块,用于获取任务执行过程中产生的测试日志信息;
初始日志文件生成模块,用于根据所述测试日志信息生成初始日志文件,所述初始日志文件包括带有索引标签的日志头,所述索引标签用于定位所述初始日志文件中正文部分的具体内容;
日志分析模块,用于根据所述索引标签对所述初始日志文件进行分析并得到分析结果。
进一步地,所述日志分析模块包括:
日志头分析单元,用于对初始日志文件的日志头进行分析;
整体分析单元,用于结合对日志头的分析结果,对初始日志文件进行整体分析。
进一步地,所述日志头分析单元包括:
任务指令获取子单元,用于获取与日志头中索引标签对应的任务指令;
第一对应关系建立子单元,用于建立所述任务指令与所述索引标签的对应关系;
所述整体分析单元,包括:
第二对应关系建立子单元,用于根据日志内容与索引标签的对应关系,对任务指令、所述任务指令产生的日志内容和所述日志内容对应的标签进行一一对应匹配。
进一步地,还包括:日志分析文件生成模块,用于根据所述日志分析的结果生成所述初始日志文件对应的日志分析文件。
进一步地,还包括:整合模块,若多个初始日志文件所对应的任务能够合并构成一个整体任务,则生成整体日志分析文件,所述整体日志分析文件用于表征对所述整体任务测试结果的分析结果。
进一步地,还包括:上传模块,用于分布式系统中的各个节点向服务器上传初始日志文件。
进一步地,所述上传模块包括:
监测单元,用于监测是否生成生成新的初始日志文件;
通讯连接建立单元,用于主动建立与服务器的通讯连接;
连接结果获取单元,用于判断所述通讯连接是否成功建立;
上传信息获取单元,用于获取上传信息,所述上传信息包括所述初始日志文件在本地的存储地址以及本地节点在所述分布式系统中的唯一标识符;
上传单元,用于将所述上传信息传输至服务器。
进一步地,所述通讯连接建立单元包括:
服务器地址读取子单元,用于读取配置文件中记录的服务器地址;
心跳报文发送子单元,用于向所述服务器发送心跳报文;
长连接建立子单元,用于向所述服务器建立基于传输控制协议的长连接。
进一步地,所述上传模块还包括:
通讯连接关闭单元,用于关闭所述基于传输控制协议的长连接。
进一步地,所述上传模块还包括:
删除单元,用于删除本地存储的所述初始日志文件。
进一步地,还包括:
排序模块,用于服务器将来自于各个节点的初始日志文件按照预设的规则进行排序;
索引列表生成模块,用于服务器根据排序结果生成用于查找所述初始日志文件的索引列表。
进一步地,所述初始日志文件生成模块包括:
获取单元,用于获取所述测试日志信息的输出源;
框架日志信息处理单元,用于对框架日志信息进行处理;
被测对象日志信息处理单元,用于对被测对象日志信息进行处理。
进一步地,所述框架日志信息处理单元包括:
类型标记子单元,用于标记所述框架日志信息容器中的测试日志信息的类型;
级别识别子单元,用于识别所述框架日志信息容器中的测试日志信息的级别;
索引标签生成子单元,用于生成用于定位所述框架日志信息容器中的测试日志信息的内容的索引标签。
进一步地,所述被测对象日志信息处理单元包括:
发送子单元,用于将所述被测对象日志信息容器中的测试日志信息发送至被测对象;
日志处理子单元,用于接受被测对象的回调,对所述被测对象日志信息容器中的测试日志信息进行处理;
所述日志处理子单元包括:
类型标记器,用于标记所述被测对象日志信息容器中的测试日志信息的类型;
级别标记器,用于识别所述被测对象日志信息容器中的测试日志信息的级别;
索引标签生成器,用于生成用于定位所述被测对象日志信息容器中的测试日志信息的内容的索引标签。
一种测试日志处理终端,所述终端包括上述的测试日志处理系统。
本发明的一种测试日志处理方法、系统及终端,具有如下有益效果:
(1)不仅能够支持基于iOS操作系统或其他操作系统的单机软件的测试,还能够支持基于分布式计算机系统的软件的测试;
(2)能够在测试过程中记录被测试的APP应用程序自身打印的日志信息;
(3)能够自动将任务指令与日志内容进行自动匹配并生成日志分析文件,从而满足用户简单方便的查看日志以及定位问题的需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本发明实施例1提供的测试日志处理方法流程图;
图2是本发明实施例1提供的根据所述测试日志信息生成初始日志文件的流程图;
图3是本发明实施例1提供的对框架日志信息队列中的测试日志信息进行处理的流程图;
图4是本发明实施例1提供的对被测对象日志信息队列中的测试日志信息进行处理的流程图;
图5是本发明实施例1提供的测试日志处理方法的总体步骤流程图;
图6是本发明实施例2提供的初始日志文件处理流程图;
图7是本发明实施例2提供的上传初始日志文件流程图;
图8是本发明实施例2提供的主动建立与服务器的通讯连接流程图;
图9是本发明实施例2的提供的初始日志文件预处理的总体步骤流程图;
图10是本发明实施例3提供的日志分析流程图;
图11是本发明实施例3提供的初始日志文件分析方法总体流程图;
图12是本发明实施例4提供的测试日志处理系统的总体框图;
图13是本发明实施例4提供的初始日志文件生成模块的框图;
图14是本发明实施例4提供的日志分析模块的框图;
图15是本发明实施例4提供的上传模块的框图;
图16是本发明实施例4提供的通讯连接建立单元的框图;
图17是本发明实施例5提供的算机终端的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
一种测试日志处理方法,如图1所示,所述方法包括:
S101.执行任务指令。
具体地,任务指令可以通过脚本进行编辑,在任务指令执行之前,还可能包括搭建测试环境的步骤。本实施例运行于iOS操作系统,通过iOS自带的自动化测试框架即可执行任务指令。当然,本发明还可以在其他操作系统之上执行任务指令。
S102.获取任务执行过程中产生的测试日志信息。
在执行任务指令的过程中,通过截取操作系统底层的信息输出通道获取测试日志信息。
现有技术中,通常依托测试框架获取的日志信息难以捕捉到被测对象输出的日志信息;而直接对被测对象进行测试,又难以获取测试环境的日志信息,本步骤中,通过截取操作系统底层的信息输出通道能够同时获取测试环境输出的日志信息和被测对象输出的日志信息,从而能够捕捉较为完备的与测试有关的信息。
具体地,本实施例中通过hook技术,截取操作系统底层的标准输出通道(stdout)和标准错误输出通道(stderr),从而获取到测试环境输出的日志信息和被测对象输出的日志信息。其中,hook技术是指能够对原有应用程序编程接口(API)生成的结果进行劫持,并跳转到用户希望执行的函数的技术。
S103.根据所述测试日志信息生成初始日志文件,所述初始日志文件包括带有索引标签的日志头,所述索引标签用于定位所述初始日志文件中正文部分的具体内容。
S104.对所述初始日志文件进行日志分析:对任务指令、所述任务指令产生的日志内容和所述日志内容对应的索引标签进行一一对应匹配。
S105.根据所述日志分析的结果生成所述初始日志文件对应的日志分析文件。
具体地,如图2所示,S103包括:
S1031.获取所述测试日志信息的输出源:
S1032.若为测试环境输出的测试日志信息,则将所述测试环境输出的测试日志信息存入框架日志信息队列;
S1033.若为被测对象输出的测试日志信息,则将所述被测对象输出的测试日志信息存入被测对象日志信息队列;
S1034.对所述框架日志信息队列和所述被测对象日志信息队列中的测试日志信息进行分别处理,并将处理结果存入统一日志信息队列。
具体地,所述统一日志信息队列中的测试日志信息均具有等级、类型以及对应的索引标签。
所述类型用于标识所述测试日志信息的输出源;
所述等级用于标识所述测试日志信息的优先级,优先级越高,则测试日志信息越重要;
所述索引标签用于快速定位的测试日志信息的具体某部分内容。
S1035.生成与所述统一日志信息队列中的测试日志信息对应的初始日志文件。
具体地,对框架日志信息队列中的测试日志信息进行处理如图3所示,包括:
A1.标记所述框架日志信息队列中的测试日志信息的类型;
A2.识别所述框架日志信息队列中的测试日志信息的级别;
A3.生成用于定位所述框架日志信息队列中的测试日志信息的内容的索引标签。
对被测对象日志信息队列中的测试日志信息进行处理,如图4所示,包括:
B1.将所述被测对象日志信息队列中的测试日志信息发送至被测对象;
B2.由所述被测对象回调预设的日志信息处理函数对所述被测对象日志信息队列中的测试日志信息进行处理。
在所述日志信息处理函数中,进行下述处理:
标记所述被测对象日志信息队列中的测试日志信息的类型;
识别所述被测对象日志信息队列中的测试日志信息的级别;
生成用于定位所述被测对象日志信息队列中的测试日志信息的内容的索引标签。
作为一种优选的实施方式,本实施例中通过使用互斥加锁机制,对所述框架日志信息队列和所述被测对象日志信息队列中的测试日志信息进行同时处理,从而提高处理效率。
在生成初始日志文件之前,本实施例还包括将所述统一日志信息队列中的每一条测试日志信息配置唯一的统一识别符,生成目标测试日志信息的步骤。
本实施例中,在生成目标测试日志信息之后,将目标测试日志信息压入日志缓存队列。当所述日志缓存队列满时或者测试任务结束时,根据缓存队列中的目标测试日志信息生成初始日志文件。通常测试日志信息的产生速度较快,而初始日志文件生成需要进行磁盘的读写操作而速度较慢,本实施例中,通过引入日志缓冲队列能够起到缓冲作用,从而能够解决测试日志信息产生速度和初始日志文件生成速度的不匹配的问题。
本实施例提供了一种测试日志处理方法,具体参见图5,通过截取操作系统底层的信息输出通道能够同时获取测试环境输出的日志信息和被测对象输出的日志信息,从而相较于现有技术获取到更为完备的测试信息。通过对测试日志信息进行分类处理,并结合处理结果对测试日志信息进行初步处理,方便用户对某项具体的测试内容进行查找和阅读。此外,缓存队列的设计解决了测试日志信息产生速度和初始日志文件生成速度的不匹配的问题,增加了本实施例运行效果的稳定性和鲁棒性。
实施例2:
一种测试日志处理方法,包括:
S201.执行任务指令。
S202.获取任务执行过程中产生的测试日志信息。
S203.根据所述测试日志信息生成初始日志文件,所述初始日志文件包括带有索引标签的日志头,所述索引标签用于定位所述初始日志文件中正文部分的具体内容。
S204.对所述初始日志文件进行日志分析:对任务指令、所述任务指令产生的日志内容和所述日志内容对应的索引标签进行一一对应匹配。
S205.根据所述日志分析的结果生成所述初始日志文件对应的日志分析文件。
本实施例能够应用于分布式系统,相较于实施例1,如图6所示,还包括下述与初始日志文件有关的步骤:
C1.所述分布式系统中的各个节点向服务器上传初始日志文件。
其中,各个节点可以是基于iOS测试框架的iOS终端设备或者模拟器,此外,还可以是基于其他操作系统的终端设备或者模拟器,服务器接收来自各个节点的初始日志文件后,进行后续的管理和分析。
具体地,如图7所示,上传初始日志文件包括:
D1.监测是否生成生成新的初始日志文件。
本实施例中各个节点通过设置监控线程完成监测的任务,本实施例中通过每隔预设时间扫描一次用于存储初始日志文件文件的日志目录监测是否生成新的初始日志文件。本实施例中的预设时间为1分钟,当然也可以根据实际需要进行调整。
D2.若是,则主动建立与服务器的通讯连接。
具体地,如图8所示,所述主动建立与服务器的通讯连接包括:
D21.读取配置文件中记录的服务器地址;
D22.向所述服务器发送心跳报文;
D23.向所述服务器建立基于传输控制协议的长连接。
D3.判断所述通讯连接是否成功建立。
D4.若是,则:
获取上传信息,所述上传信息包括所述初始日志文件在本地的存储地址以及本地节点在所述分布式系统中的唯一标识符。
本实施例中的上传信息为报文形式,通过将所述本地节点在所述分布式系统中的唯一标识符与待发送的初始日志文件组装成报文发送至服务器。
D5.将所述上传信息传输至服务器。
D6.判断上传是否成功:
D7.若是,则关闭所述通讯连接并删除本地存储的所述初始日志文件。具体地,本实施例中关闭的对象为基于传输控制协议的长连接。
C2.服务器将来自于各个节点的初始日志文件按照预设的规则进行排序。
具体地,预设的规则可以由用户自行设定。比如,若各个节点上传的初始日志文件的统一识别符包括节点编号和初始日志文件编号两部分内容,则可以由统一识别符作为对各个节点的初始日志文件进行排序的依据。此外,还可以使用各个节点编号和各个节点的初始日志文件的上传时间联合作为排序的依据。
C3.服务器根据排序结果生成用于查找所述初始日志文件的索引列表。
C4.服务器对所述初始日志文件进行日志分析并根据所述日志分析的结果生成所述初始日志文件对应的日志分析文件。
本实施例如图9所示,服务器在对初始日志文件进行分析之前还包括对初始文件进行预处理的步骤:
具体地,包括日志清洗的步骤。本实施例中的日志清洗主要用于规范各个节点上传的日志的样式和日志的编码格式,使得各个节点上传的日志在样式、版本、格式方面达到统一,具体地,可以使用正则匹配分析的方式,达到日志清洗的目的,所述正则匹配分析包括日志头正则分析、日志正文正则分析和日志结束正则分析。此外,日志清洗还可以包括去掉各个节点上传的在服务器后续进行日志分析过程中不再需要的无用信息。
在日志清洗之后,服务器将初始日志文件压入日志缓存池,服务器从日志缓存池读取初始日志文件进行后续的日志分析。通常各个节点上传初始日志文件的速度较快,而服务器进行初始日志文件的分析和生成日志分析文件需要进行磁盘的读写操作而速度较慢,本实施例中,通过引入日志缓存池能够起到缓冲作用,从而能够解决初始日志文件上传的速度和初始日志文件分析速度的不匹配的问题。
本实施例提供的测试日志处理方法能够应用于分布式系统,因此,能够适用于依托于互联网的软件测试以及多个终端的测试,从而显著拓展了本发明的适用范围。此外,本实施例中通过日志清洗对各个节点上传的初始日志文件进行了规范化,减少了后续日志分析报错的概率,提升了服务器的稳定性。通过日志缓存池的设计解决初始日志文件上传的速度和初始日志文件分析以及生成速度的不匹配的问题。
实施例3:
一种测试日志处理方法,包括:
S301.执行任务指令。
S302.获取任务执行过程中产生的测试日志信息。
S303.根据所述测试日志信息生成初始日志文件,所述初始日志文件包括带有索引标签的日志头,所述索引标签用于定位所述初始日志文件中正文部分的具体内容。
S304.根据所述索引标签对所述初始日志文件进行分析并得到分析结果。
S305.根据所述日志分析的结果生成所述初始日志文件对应的日志分析文件。
本实施例中日志分析文件均使用超文本标记语言(html)文件表示,能够方便用户在网页对日志分析结果上进行浏览。
本实施例能够应用于分布式系统,如图10所示,相较于实施例2,对初始日志文件进行日志分析包括:
S3041.对初始日志文件的日志头进行分析。
所述对初始日志文件的日志头进行分析包括:获取与日志头中索引标签对应的任务指令,建立所述任务指令与所述索引标签的对应关系。
S3042.结合对日志头的分析结果,对初始日志文件进行整体分析。
所述对初始日志文件进行整体分析包括:根据正文部分的具体内容与索引标签的对应关系,对任务指令、所述任务指令产生的日志内容和所述日志内容对应的标签进行一一对应匹配。
本实施例中如图11所示,对初始日志文件的正文内容直接压入html缓存队列,对于日志头信息,压入xml(可扩展标记语言)驱动器。
在xml驱动器中,结合记录有任务指令的脚本,对日志头信息进行分析,建立所述任务指令与所述索引标签的对应关系,并将所述关系使用xml进行表示,从而生成与所述日志头对应的xml形式的日志头分析文件,并将所述xml形式的日志头分析文件传输至所述html缓存队列和xml缓存池,所述xml缓存池用于对于各个初始日志文件日志头的分析结果进行保存。
由html驱动器对html缓存队列中存储的初始日志文件的正文以及对应的日志头的xml文件进行整体分析,对任务指令、所述任务指令产生的日志内容和所述日志内容对应的标签进行一一对应匹配,生成html形式的日志分析文件。
本实施例还包括:若多个初始日志文件所对应的任务能够合并构成一个整体任务,则生成整体日志分析文件,所述整体日志分析文件用于表征对所述整体任务的测试结果的分析结果(以html页面的形式记录)。
具体地,所述多个初始日志文件对应的日志头分析文件也被整合为整体日志头分析文件(以xml页面的形式记录);
根据整体日志头分析文件和所述多个初始日志文件对应的日志分析文件生成整体日志分析文件。
此外,还包括生成对应于整体任务的html日志统计页面。所述日志统计页面中用于显示统计信息,并且能够链接到组成所述整体任务的单个任务对应的日志分析文件(以html形式记录),以及与所述单个任务对应的存储于日志缓存池中的初始日志文件。
本实施例提供了另一个中测试日志处理方法,通过生成日志分析文件,便于用户快速定位与日志内容有关的任务指令;若被测对象存在缺陷,则用户通过查询日志分析文件能够快速定位与问题代码相关的任务指令,进而提升被测对象的开发效率和优化效率。此外,本实施例还能够对包含多个测试任务的整体任务的测试结果进行整合,并在整合结果中提供各个测试任务对应的初始日志文件和日志分析文件的链接,从而使得用户对于整体任务中的各个测试环节所产生的文件均能够进行快速定位,因此,本实施例所提供的方法能够适用于复杂度较高的测试任务的分析。
实施例4:
一种测试日志处理系统,如图12所示,包括:
指令执行模块401,用于执行任务指令;
测试日志信息获取模块402,用于获取任务执行过程中产生的测试日志信息;
初始日志文件生成模块403,用于根据所述测试日志信息生成初始日志文件,所述初始日志文件包括带有索引标签的日志头,所述索引标签用于定位所述初始日志文件中正文部分的具体内容;
日志分析模块404,用于对所述初始日志文件进行日志分析:对任务指令、所述任务指令产生的日志内容和所述日志内容对应的索引标签进行一一对应匹配;
日志分析文件生成模块405,用于根据所述日志分析的结果生成所述初始日志文件对应的日志分析文件;
整合模块406,用于若多个初始日志文件所对应的任务能够合并构成一个整体任务,则生成整体日志分析文件,所述整体日志分析文件用于表征对所述整体任务测试结果的分析结果。
本实施例还能够应用于分布式系统,在分布式系统中还包括:
上传模块407,用于分布式系统中的各个节点向服务器上传初始日志文件;
排序模块408,用于服务器将来自于各个节点的初始日志文件按照预设的规则进行排序;
索引列表生成模块409,用于服务器根据排序结果生成用于查找所述初始日志文件的索引列表。
具体地,所述初始日志文件生成模块403如图13所示,包括:
获取单元4031,用于获取所述测试日志信息的输出源。
框架日志信息处理单元4032,用于对框架日志信息进行处理。
所述框架日志信息处理单元4032包括:
类型标记子单元,用于标记所述框架日志信息容器中的测试日志信息的类型;
级别识别子单元,用于识别所述框架日志信息容器中的测试日志信息的级别;
索引标签生成子单元,用于生成用于定位所述框架日志信息容器中的测试日志信息的内容的索引标签。
被测对象日志信息处理单元4033,用于对被测对象日志信息进行处理。
所述被测对象日志信息处理单元4033包括:
发送子单元,用于将所述被测对象日志信息容器中的测试日志信息发送至被测对象;
日志处理子单元,用于接受被测对象的回调,对所述被测对象日志信息容器中的测试日志信息进行处理;
所述日志处理子单元包括:
类型标记器,用于标记所述被测对象日志信息容器中的测试日志信息的类型;
级别标记器,用于识别所述被测对象日志信息容器中的测试日志信息的级别;
索引标签生成器,用于生成用于定位所述被测对象日志信息容器中的测试日志信息的内容的索引标签。
具体地,所述日志分析模块404如图14所示,包括:
日志头分析单元4041,用于对初始日志文件的日志头进行分析。
所述日志头分析单元4041包括:
任务指令获取子单元,用于获取与日志头中索引标签对应的任务指令;
第一对应关系建立子单元,用于建立所述任务指令与所述索引标签的对应关系。
整体分析单元4042,用于结合对日志头的分析结果,对初始日志文件进行整体分析。
所述整体分析单元4042包括:
第二对应关系建立子单元,用于根据日志内容与索引标签的对应关系,对任务指令、所述任务指令产生的日志内容和所述日志内容对应的标签进行一一对应匹配。
具体地,所述上传模块407如图15所示,包括:
监测单元4071,用于监测是否生成生成新的初始日志文件。
通讯连接建立单元4072,用于主动建立与服务器的通讯连接。
如图16所示,通讯连接建立单元4072还包括:
服务器地址读取子单元40721,用于读取配置文件中记录的服务器地址;
心跳报文发送子单元40722,用于向所述服务器发送心跳报文;
长连接建立子单元40723,用于向所述服务器建立基于传输控制协议的长连接。
连接结果获取单元4073,用于判断所述通讯连接是否成功建立。
上传信息获取单元4074,用于获取上传信息,所述上传信息包括所述初始日志文件在本地的存储地址以及本地节点在所述分布式系统中的唯一标识符。
上传单元4075,用于将所述上传信息传输至服务器。
通讯连接关闭单元4076,用于关闭所述基于传输控制协议的长连接。
删除单元4077,用于删除本地存储的所述初始日志文件。
本实施例基于同样地发明构思,提供了一种测试日志处理系统,本实施例能够用于实现上述实施例中提供的测试日志处理方法。
实施例5:
本发明的实施例还提供一种测试日志处理终端,所述终端包括测试日志处理系统。该终端可以是移动终端等终端设备。可选地,在本实施例中,该终端也可以是计算机终端,还可以替换为计算机终端群中的任意一个计算机终端设备。
可选地,在本实施例中,上述计算机终端或移动终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,图17是根据本发明实施例的终端的结构框图。如图17所示,该终端可以包括:一个或多个(图中仅示出一个)处理器、存储器、以及传输装置。
其中,存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端或移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置包括一个网络适配器,其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置为射频模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器存储用于进行测试日志处理的程序。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:
可选的,上述处理器还可以执行如下步骤的程序代码:
第一步,执行任务指令;
第二步,获取任务执行过程中产生的测试日志信息;
第三步,根据所述测试日志信息生成初始日志文件,所述初始日志文件包括带有索引标签的日志头,所述索引标签用于定位所述初始日志文件中正文部分的具体内容;
第四步,根据所述索引标签对所述初始日志文件进行分析并得到分析结果。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台移动终端或计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的终端,可通过其它的方式实现。其中,以上所描述的系统实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (19)
1.一种测试日志处理方法,其特征在于,所述方法包括:
执行任务指令;
获取任务执行过程中产生的测试日志信息,所述测试日志信息包括测试环境输出的日志信息和被测对象输出的日志信息;
若为测试环境输出的测试日志信息,则将所述测试环境输出的测试日志信息存入框架日志信息容器;
若为被测对象输出的测试日志信息,则将所述被测对象输出的测试日志信息存入被测对象日志信息容器;
对所述框架日志信息容器和所述被测对象日志信息容器中的测试日志信息进行分别处理,并将处理结果存入统一日志信息容器;
生成与所述统一日志信息容器中的测试日志信息对应的初始日志文件,所述初始日志文件包括带有索引标签的日志头,所述索引标签用于定位所述初始日志文件中正文部分的具体内容;
根据所述索引标签对所述初始日志文件进行分析并得到分析结果。
2.根据权利要求1所述的一种测试日志处理方法,其特征在于,所述根据所述索引标签对所述初始日志文件进行分析并得到分析结果包括:
对初始日志文件的日志头进行分析:获取与日志头中索引标签对应的任务指令,建立所述任务指令与所述索引标签的对应关系;
对初始日志文件进行整体分析:根据正文部分的具体内容与索引标签的对应关系,对任务指令、所述任务指令产生的日志内容和所述日志内容对应的标签进行一一对应匹配。
3.根据权利要求1所述的一种测试日志处理方法,其特征在于,还包括根据所述分析结果生成所述初始日志文件对应的日志分析文件;
若多个初始日志文件所对应的任务能够合并构成一个整体任务,则生成整体日志分析文件,所述整体日志分析文件用于表征对所述整体任务测试结果的分析结果。
4.根据权利要求1所述的一种测试日志处理方法,其特征在于,所述方法应用于分布式系统:
所述分布式系统中的各个节点向服务器上传初始日志文件;
所述服务器对所述初始日志文件进行日志分析。
5.根据权利要求4所述的一种测试日志处理方法,其特征在于,所述分布式系统中的各个节点向服务器上传初始日志文件包括:
监测是否生成新的初始日志文件;
若是,则主动建立与服务器的通讯连接并判断所述通讯连接是否成功建立:
若是,则:
获取上传信息,所述上传信息包括所述初始日志文件在本地的存储地址以及本地节点在所述分布式系统中的唯一标识符;
将所述上传信息传输至服务器。
6.根据权利要求5所述的一种测试日志处理方法,其特征在于,所述主动建立与服务器的通讯连接包括:
读取配置文件中记录的服务器地址;
向所述服务器发送心跳报文;
向所述服务器建立基于传输控制协议的长连接。
7.根据权利要求4所述的一种测试日志处理方法,其特征在于,服务器获取来自于分布式系统中各个节点的初始日志文件之后,还包括:
将来自于各个节点的初始日志文件按照预设的规则进行排序;
根据排序结果生成用于查找所述初始日志文件的索引列表。
8.根据权利要求1所述的一种测试日志处理方法,其特征在于,所述对框架日志信息容器中的测试日志信息进行处理包括:
标记所述框架日志信息容器中的测试日志信息的类型;
识别所述框架日志信息容器中的测试日志信息的级别;
生成用于定位所述框架日志信息容器中的测试日志信息的内容的索引标签。
9.根据权利要求1所述的一种测试日志处理方法,其特征在于,所述对被测对象日志信息容器中的测试日志信息进行处理包括:
将所述被测对象日志信息容器中的测试日志信息发送至被测对象;
由所述被测对象回调预设的日志信息处理函数对所述被测对象日志信息容器中的测试日志信息进行处理:
标记所述被测对象日志信息容器中的测试日志信息的类型;
识别所述被测对象日志信息容器中的测试日志信息的级别;
生成用于定位所述被测对象日志信息容器中的测试日志信息的内容的索引标签。
10.根据权利要求1所述的一种测试日志处理方法,其特征在于,在执行任务指令的过程中,通过截取操作系统底层的信息输出通道获取测试日志信息。
11.一种测试日志处理系统,其特征在于,包括:
指令执行模块,用于执行任务指令;
测试日志信息获取模块,用于获取任务执行过程中产生的测试日志信息,所述测试日志信息包括测试环境输出的日志信息和被测对象输出的日志信息;
初始日志文件生成模块,用于若为测试环境输出的测试日志信息,则将所述测试环境输出的测试日志信息存入框架日志信息容器;若为被测对象输出的测试日志信息,则将所述被测对象输出的测试日志信息存入被测对象日志信息容器;以及,对所述框架日志信息容器和所述被测对象日志信息容器中的测试日志信息进行分别处理,并将处理结果存入统一日志信息容器;生成与所述统一日志信息容器中的测试日志信息对应的初始日志文件,所述初始日志文件包括带有索引标签的日志头,所述索引标签用于定位所述初始日志文件中正文部分的具体内容;
日志分析模块,用于根据所述索引标签对所述初始日志文件进行分析并得到分析结果。
12.根据权利要求11所述的一种测试日志处理系统,其特征在于,所述日志分析模块包括:
日志头分析单元,用于对初始日志文件的日志头进行分析;
整体分析单元,用于结合对日志头的分析结果,对初始日志文件进行整体分析;
所述日志头分析单元包括:
任务指令获取子单元,用于获取与日志头中索引标签对应的任务指令;
第一对应关系建立子单元,用于建立所述任务指令与所述索引标签的对应关系;
所述整体分析单元,包括:
第二对应关系建立子单元,用于根据日志内容与索引标签的对应关系,对任务指令、所述任务指令产生的日志内容和所述日志内容对应的标签进行一一对应匹配。
13.根据权利要求11所述的一种测试日志处理系统,其特征在于,还包括:
日志分析文件生成模块,用于根据所述日志分析的结果生成所述初始日志文件对应的日志分析文件;
整合模块,若多个初始日志文件所对应的任务能够合并构成一个整体任务,则生成整体日志分析文件,所述整体日志分析文件用于表征对所述整体任务测试结果的分析结果。
14.根据权利要求11所述的一种测试日志处理系统,其特征在于,还包括:
上传模块,用于分布式系统中的各个节点向服务器上传初始日志文件,所述上传模块包括:
监测单元,用于监测是否生成新的初始日志文件;
通讯连接建立单元,用于主动建立与服务器的通讯连接;
连接结果获取单元,用于判断所述通讯连接是否成功建立;
上传信息获取单元,用于获取上传信息,所述上传信息包括所述初始日志文件在本地的存储地址以及本地节点在所述分布式系统中的唯一标识符;
上传单元,用于将所述上传信息传输至服务器。
15.根据权利要求14所述的一种测试日志处理系统,其特征在于,所述通讯连接建立单元包括:
服务器地址读取子单元,用于读取配置文件中记录的服务器地址;
心跳报文发送子单元,用于向所述服务器发送心跳报文;
长连接建立子单元,用于向所述服务器建立基于传输控制协议的长连接。
16.根据权利要求14所述的一种测试日志处理系统,其特征在于,还包括:
排序模块,用于服务器将来自于各个节点的初始日志文件按照预设的规则进行排序;
索引列表生成模块,用于服务器根据排序结果生成用于查找所述初始日志文件的索引列表。
17.根据权利要求11所述的一种测试日志处理系统,其特征在于,所述初始日志文件生成模块包括:
获取单元,用于获取所述测试日志信息的输出源;
框架日志信息处理单元,用于对框架日志信息进行处理;
被测对象日志信息处理单元,用于对被测对象日志信息进行处理。
18.一种测试日志处理终端,其特征在于,所述终端包括权利要求11-17中任意一项所述的测试日志处理系统。
19.一种计算机存储介质,其特征在于,所述存储介质存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如权利要求1-10中任一项所述的测试日志处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610902924.XA CN107957940B (zh) | 2016-10-17 | 2016-10-17 | 一种测试日志处理方法、系统及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610902924.XA CN107957940B (zh) | 2016-10-17 | 2016-10-17 | 一种测试日志处理方法、系统及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107957940A CN107957940A (zh) | 2018-04-24 |
CN107957940B true CN107957940B (zh) | 2021-03-16 |
Family
ID=61954436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610902924.XA Active CN107957940B (zh) | 2016-10-17 | 2016-10-17 | 一种测试日志处理方法、系统及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107957940B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109558309A (zh) * | 2018-10-19 | 2019-04-02 | 中国平安财产保险股份有限公司 | 代码测试结果分析方法、装置、计算机设备和存储介质 |
CN109491898B (zh) * | 2018-10-30 | 2021-11-12 | 武汉思普崚技术有限公司 | 基于自动化测试与用例管理的测试效率提升方法及设备 |
CN109857672A (zh) * | 2019-02-22 | 2019-06-07 | 杭州迪普科技股份有限公司 | 一种信息收集方法、装置、设备及存储介质 |
CN109918341B (zh) * | 2019-02-26 | 2021-11-30 | 厦门美图之家科技有限公司 | 日志处理方法及装置 |
CN109871328B (zh) * | 2019-02-26 | 2022-04-05 | 网宿科技股份有限公司 | 一种软件测试方法及装置 |
CN112242917A (zh) * | 2019-07-19 | 2021-01-19 | 广州汽车集团股份有限公司 | 一种车联网服务质量检测方法及系统 |
CN113051121B (zh) * | 2019-12-26 | 2023-07-28 | 百度在线网络技术(北京)有限公司 | 日志信息检索方法、装置、电子设备和介质 |
CN112559333B (zh) * | 2020-12-10 | 2022-05-20 | 武汉联影医疗科技有限公司 | 日志生产方法、装置、计算机设备和存储介质 |
CN113282971B (zh) * | 2021-05-24 | 2024-05-17 | 康键信息技术(深圳)有限公司 | 测试日志的处理方法、装置、设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6539501B1 (en) * | 1999-12-16 | 2003-03-25 | International Business Machines Corporation | Method, system, and program for logging statements to monitor execution of a program |
CN100465968C (zh) * | 2007-08-20 | 2009-03-04 | 中兴通讯股份有限公司 | 自动化测试日志处理系统 |
CN105207806A (zh) * | 2015-08-20 | 2015-12-30 | 百度在线网络技术(北京)有限公司 | 分布式服务的监控方法及装置 |
-
2016
- 2016-10-17 CN CN201610902924.XA patent/CN107957940B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107957940A (zh) | 2018-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107957940B (zh) | 一种测试日志处理方法、系统及终端 | |
CN111835582B (zh) | 物联网巡检设备的配置方法、装置、计算机设备 | |
CN108521339B (zh) | 一种基于集群日志的反馈式节点故障处理方法及系统 | |
CN111083225A (zh) | 在物联网平台中的数据处理方法、装置及物联网平台 | |
CN111552633A (zh) | 接口的异常调用测试方法、装置、计算机设备及存储介质 | |
CN113760730B (zh) | 一种自动化测试的方法和装置 | |
US11740997B2 (en) | Method and apparatus for debugging a device | |
CN109698798B (zh) | 一种应用的识别方法、装置、服务器和存储介质 | |
CN102609472A (zh) | 进行分布式数据库系统性能测试的方法及系统 | |
CN112232881A (zh) | 一种数据检测方法、装置、电子设备及存储介质 | |
CN110932918A (zh) | 日志数据采集方法、装置及存储介质 | |
CN108255735B (zh) | 关联环境测试方法、电子装置及计算机可读存储介质 | |
CN111338693A (zh) | 基于模型构建的目标文件生成方法、服务器及存储介质 | |
CN111666193B (zh) | 基于实时日志解析的终端功能监控与测试的方法与系统 | |
CN110716804A (zh) | 无用资源的自动删除方法、装置、存储介质及电子设备 | |
CN105224420B (zh) | 一种自动解析终端异常的分析方法及系统 | |
CN116069838A (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
CN109559121A (zh) | 交易路径调用异常分析方法、装置、设备及可读存储介质 | |
CN117873486A (zh) | 一种前后端代码自动生成方法、装置、设备及存储介质 | |
CN105872731A (zh) | 数据处理的方法和装置 | |
CN113032341A (zh) | 一种基于可视化配置的日志处理方法 | |
CN112579406B (zh) | 一种日志调用链生成方法和装置 | |
CN111767161A (zh) | 远程调用深度识别方法、装置、计算机设备及可读存储介质 | |
CN111506305A (zh) | 工具包生成方法、装置、计算机设备及可读存储介质 | |
CN116257404A (zh) | 一种日志解析方法及计算设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221124 Address after: 1402, Floor 14, Block A, Haina Baichuan Headquarters Building, No. 6, Baoxing Road, Haibin Community, Xin'an Street, Bao'an District, Shenzhen, Guangdong 518100 Patentee after: Shenzhen Yayue Technology Co.,Ltd. Address before: 2, 518000, East 403 room, SEG science and Technology Park, Zhenxing Road, Shenzhen, Guangdong, Futian District Patentee before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd. |