CN109885496B - 测试日志管理方法及系统 - Google Patents
测试日志管理方法及系统 Download PDFInfo
- Publication number
- CN109885496B CN109885496B CN201910127994.6A CN201910127994A CN109885496B CN 109885496 B CN109885496 B CN 109885496B CN 201910127994 A CN201910127994 A CN 201910127994A CN 109885496 B CN109885496 B CN 109885496B
- Authority
- CN
- China
- Prior art keywords
- test
- server
- log
- request
- information
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种测试日志管理方法及系统,该方法包括:API服务器接收测试请求,并将该测试请求发送至日志管理服务器及至少一个应用服务器;所述API服务器及所述至少一个应用服务器在接收到所述测试请求后,均采集与该测试请求相关的测试日志信息,并将该测试日志信息发送至所述日志管理服务器;所述日志管理服务器按照所述API服务器及所述至少一个应用服务器之间的调用顺序将所述测试日志信息按照链式方式进行存储,生成该测试请求对应的链式日志。本发明的技术方案通过链式日志的形式展示测试请求下的所有测试日志信息,代替了人工对逐个测试日志信息进行定位的过程,提高获取测试日志信息的时效性,减少耗时。
Description
技术领域
本发明涉及自动化测试技术领域,具体而言,涉及一种测试日志管理方法及系统。
背景技术
随着计算机技术的快速发展,计算机测试成为开发中重要的一环。测试可通过人工或自动手段,来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。开发工作的根本是尽量实现用户的需求,测试工作的根本是检验系统是否满足用户的需求。
然而,由于测试人员无法深入到底层的服务器(例如,应用A服务器,应用B服务器等),在一个复杂的场景下,一个API(Application Programming Interface)接口可能会聚合多个应用服务器,一旦应用服务返回异常,则需要测试人员逐个服务器进行手动查看测试日志信息,分析过程费力耗时且无法保证分析的时效性。
另外,由于应用服务器在实现自身业务的处理功能时,可能还需要嵌套调用其他的服务器,其中,其他的服务器可包括数据服务器、消息服务器等,整个业务实现过程中,各服务器之间会形成一个高度复杂的关系调用网,在任何一个节点出现异常时,排查门槛非常高,尤其在测试人员不了解服务器部署的情况下,排查难度更大。
发明内容
鉴于上述问题,本发明实施例的目的在于提供一种测试日志管理方法及系统,以解决现有技术的不足。
根据本发明的一个实施方式,提供一种测试日志管理方法,该方法包括:
API服务器接收测试请求,并将该测试请求发送至日志管理服务器及至少一个应用服务器;
所述API服务器及所述至少一个应用服务器在接收到所述测试请求后,均采集与该测试请求相关的测试日志信息,并将该测试日志信息发送至所述日志管理服务器;
所述日志管理服务器按照所述API服务器及所述至少一个应用服务器之间的调用顺序将所述测试日志信息按照链式方式进行存储,生成该测试请求对应的链式日志。
在上述的测试日志管理方法中,所述测试请求中包括请求标识,所述API服务器及所述至少一个应用服务器还发送所述测试日志信息对应的请求标识至所述日志管理服务器;
所述“日志管理服务器按照所述API服务器及所述至少一个应用服务器之间的调用顺序将所述测试日志信息按照链式方式进行存储”包括:
所述日志管理服务器根据所述测试请求获得所述请求标识,并在接收的所有测试日志信息中确定与该请求标识对应的测试日志信息;
根据API服务器及所述至少一个应用服务器之间的调用顺序将与该请求标识对应的测试日志信息按照链式方式进行存储。
在上述的测试日志管理方法中,按照链式方式进行存储包括以下步骤:
所述日志管理服务器根据所述API服务器及所述至少一个应用服务器之间的调用关系为所述API服务器及所述至少一个应用服务器分配步长;
根据所述步长确定在链式数据结构中用于存储API服务器或应用服务器的测试日志信息的位置,并将该步长对应的测试日志信息存储至该链式数据结构中相应位置以生成该测试请求对应的链式日志。
在上述的测试日志管理方法中,按照链式方式进行存储包括以下步骤:
所述日志管理服务器获取所述API服务器和所述至少一个应用服务器在被调用时的时间戳;
根据所述时间戳确定在链式数据结构中用于存储API服务器或应用服务器的测试日志信息的位置,及将该时间戳对应的所述测试日志信息存储至该链式数据结构中相应位置以生成该测试请求对应的链式日志。
在上述的测试日志管理方法中,通过API接口将测试请求发送至日志管理服务器及至少一个应用服务器,所述API接口由所述API服务器根据发送所述测试请求的测试端地址来分配。
在上述的测试日志管理方法中,所述测试请求中还包括发起该测试请求的测试账户信息,该测试日志管理方法还包括:
所述日志管理服务器为所述测试账户信息分配对应的可视化前端,并将该测试请求对应的链式日志发送至所述可视化前端进行显示。
在上述的测试日志管理方法中,还包括:
所述可视化前端接收用户输入的请求标识,并将自身的身份信息及所述请求标识发送至所述日志管理服务器;
所述日志管理服务器根据所述请求标识确定对应的链式日志,并将该链式日志发送至所述身份信息对应的可视化前端进行显示。
在上述的测试日志管理方法中,所述日志管理服务器还提取所述测试日志信息中的有效信息,并将所述API服务器及所述至少一个应用服务器对应的有效信息按照链式方式进行存储。
在上述的测试日志管理方法中,所述“日志管理服务器还提取所述测试日志信息中的有效信息”包括:
所述日志管理服务器获取所述测试日志信息中的所有事件信息及该事件信息对应的事件标识,提取预定事件标识对应的事件信息作为有效信息。
根据本发明的另一个实施方式,提供一种测试日志管理系统,该系统包括API服务器、至少一个应用服务器及日志管理服务器:
所述API服务器用于接收测试请求,并将该测试请求发送至日志管理服务器及至少一个应用服务器;
所述API服务器及所述至少一个应用服务器在接收到所述测试请求后,均采集与该测试请求相关的测试日志信息,并将该测试日志信息发送至所述日志管理服务器;
所述日志管理服务器用于按照所述API服务器及所述至少一个应用服务器之间的调用顺序将所述测试日志信息按照链式方式进行存储,生成该测试请求对应的链式日志。
本公开的实施例提供的技术方案可以包括如下有益效果:
本发明中一种测试日志管理方法及系统,整合分布式服务器间的调用关系,根据API服务器及至少一个应用服务器之间的调用顺序,将各服务器产生的测试日志信息存储为链式日志,将测试日志信息按照统一规范整合输出;通过链式日志的形式展示测试请求下的所有测试日志信息,无需逐个检查各个服务器的测试日志信息,方便开发人员和测试人员的阅读和问题排查效率;同时,各服务器之间的调用关系的拓扑结构也方便了后期的服务治理。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明第一实施例提供的一种测试日志管理方法的流程示意图。
图2示出了本发明实施例提供的一种各服务器之间调用关系的示意图。
图3示出了本发明第二实施例提供的一种测试日志管理方法的流程示意图。
图4示出了本发明第三实施例提供的一种测试日志管理方法的流程示意图。
图5示出了本发明第四实施例提供的一种测试日志管理系统的结构示意图。
图6示出了本发明第五实施例提供的一种测试日志管理系统的结构示意图。
主要元件符号说明:
10-API服务器;20-应用服务器;30-日志管理服务器;40-测试端;50-即时日志分流服务器;60-可视化前端;70-异常分析服务器;80-Bug可视化前端;90-异常处理端;100-离线可视化前端;110-离线日志服务器。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
图1示出了本发明第一实施例提供的一种测试日志管理方法的流程示意图。
该测试日志管理方法包括如下步骤:
在步骤S110中,API服务器接收测试请求,并将该测试请求发送至日志管理服务器及至少一个应用服务器。
本实施例中,在测试人员所在终端安装测试端APP,在所述测试端APP提供测试人员账户信息(例如测试账号及密码等)录入入口,在测试人员录入自己的测试账户,在测试端APP验证测试人员录入的测账户信息通过后,测试端APP与API服务器通过Netty技术建立长连接,其中,测试人员所在终端可称为测试端。
本实施例仅以接口测试为例对测试日志管理方法进行说明,在其他的实施例中,还可以通过其他类型的测试为例进行说明。
在测试端与API服务器建立长连接后,测试端读取API服务器发布的API接口的JAR包,并对JAR包中的接口方法进行解析,解析过程中主要采用Java反射机制,解析后的API接口信息主要包括API接口提供函数的参数结构信息、响应结构信息、版本信息及接口描述文本信息等。
获取API接口信息后,测试端针对某个功能发送测试请求至API服务器,同时测试人员针对某个功能对待测试的API接口添加测试用例,针对添加的测试用例对API接口的函数或功能进行测试。API服务器将接收到的测试请求发送至执行该某个功能的至少一个应用服务器,API服务器上添加的测试用例可同时对执行该某个功能过程中与该API接口连接的至少一个应用服务器所提供的服务进行测试,得到测试结果。
进一步地,通过API接口将测试请求发送至日志管理服务器及至少一个应用服务器,所述API接口由所述API服务器根据发送所述测试请求的测试端地址来分配。
具体地,所述测试端地址与API服务器中的API接口之间的对应关系可如下表所示:
测试端地址 | API接口 |
192.168.111.23 | InterfaceA |
192.168.111.36 | InterfaceB |
…… | …… |
上表中,发送测试请求的测试端地址为“192.168.111.23”时,其对应的API服务器中的API接口为“InterfaceA”;发送测试请求的测试端地址为“192.168.111.36”时,其对应的API服务器中的API接口为“InterfaceB”,等等。
API服务器根据测试端地址与API接口之间的对应关系确定与发送测试请求的测试端地址对应的API接口,通过该API接口将接收到的测试请求发送到与该API接口连接的至少一个应用服务器。
进一步地,测试人员还可以对待测试的API接口的测试用例进行添加和修改,添加或修改完成后,还可以针对实际测试场景,某个功能的测试请求设置对该API接口调用的频次及并发数等,将上述测试用例、调用的频次及并发数等参数配置完成后,即可实现与该测试请求相关的多API接口的自动化测试。
在步骤S120中,API服务器及至少一个应用服务器在接收到测试请求后,均采集与该测试请求相关的测试日志信息,并将该测试日志信息发送至日志管理服务器。
具体地,在对该测试请求进行测试过程中,所有与该测试请求相关的所有端,如测试端、API服务器及至少一个应用服务器,都会产生测试日志信息,API服务器及至少一个应用服务器均采集与该测试请求相关的测试日志信息并存储在其所在端的本地存储器。
API服务器及至少一个应用服务器还可将采集的与该测试请求相关的测试日志信息发送至日志管理服务器,或者,日志管理服务器主动通过Kafka即时日志输出管道对与该测试请求相关的所有测试日志信息进行回收。
在步骤S130中,日志管理服务器按照API服务器及至少一个应用服务器之间的调用顺序将测试日志信息按照链式方式进行存储,生成该测试请求对应的链式日志。
进一步地,所述测试请求中包括请求标识,所述API服务器及所述至少一个应用服务器还发送所述测试日志信息对应的请求标识至所述日志管理服务器;
所述“日志管理服务器按照所述API服务器及所述至少一个应用服务器之间的调用顺序将所述测试日志信息按照链式方式进行存储”包括:
所述日志管理服务器根据所述测试请求获得所述请求标识,并在接收的所有测试日志信息中确定与该请求标识对应的测试日志信息;根据API服务器及所述至少一个应用服务器之间的调用顺序将与该请求标识对应的测试日志信息按照链式方式进行存储。
具体地,API服务器接收到测试请求时,API服务器拦截当前的测试请求,并通过UUID的方式为该测试请求生成一个请求标识,该请求标识用于唯一标识该测试请求。
API服务器将该测试请求所在的数据包进行解析,将该测试请求对应的请求标识加入到该测试请求所在的数据包的头部,生成新的测试请求,并将该新的测试请求通过与发送该测试请求的测试端地址对应的API接口发送至该API接口连接的至少一个应用服务器及日志管理服务器中。在后续需要转发该测试请求时,所有转发的测试请求中均包含请求标识。
接收到测试请求的API服务器及至少一个应用服务器均开始实时采集该测试请求产生的测试日志信息,并将与该测试请求相关的测试日志信息与该测试请求长的请求标识建立对应关系。后续查找与该测试请求相关的测试日志信息时,仅需知道该测试请求的请求标识,即可获得与其对应的测试日志信息。
在对该测试请求进行测试完成后,日志管理服务器获得该测试请求相关的所有端(例如API服务器及应用服务器等)的测试日志信息,并对接收的测试请求进行解析,获得请求标识,并在获得的所有测试日志信息中获取与该请求标识对应的所有测试日志信息,并将该所有的测试日志信息根据测试端、API服务器及应用服务器之间的调用顺序进行链式存储。
测试端、API服务器及应用服务器之间的调用顺序如图2所示,测试端发起一个单一功能的测试请求,该测试请求到达API服务器后,API服务器基于当前的测试请求中所请求的业务向应用A服务器、应用B服务器及应用C服务器发出RPC请求,同样,应用A服务器、应用B服务器及用用C服务器为了实现自身业务的处理功能又需要嵌套调用彼此或其他服务器,例如,应用A服务器为了实现自身业务的处理功能又需要调用数据库服务器及应用D服务器,应用B服务器为了实现自身业务的处理功能又需要调用应用E服务器,应用E服务器为了实现自身业务的处理功能又需要调用消息服务器,消息服务器又需要调用应用C服务器等。
进一步地,按照链式方式进行存储包括以下步骤:
所述日志管理服务器根据所述API服务器及所述至少一个应用服务器之间的调用关系为所述API服务器及所述至少一个应用服务器分配步长;根据所述步长确定在链式数据结构中用于存储API服务器或应用服务器的测试日志信息的位置,并将该步长对应的测试日志信息存储至该链式数据结构中相应位置以生成该测试请求对应的链式日志。
例如,由于发起测试请求的为测试端,可为测试端分配步长1,测试端调用API服务器,可为API服务器分配步长2,API服务器调用应用A服务器、应用B服务器及用用C服务器,可为应用A服务器、应用B服务器或应用C服务器中的任一服务器,比如为应用A服务器分配步长3,应用A服务器调用数据库服务器及应用D服务器,可为数据库服务器及应用D服务器中任一服务器,比如数据库服务器分配步长4,数据库服务器调用应用E服务器,可为应用服务器分配步长5,等等。
在为测试端、API服务器及应用服务器分配好步长后,在已建立好的链式数据结构中,根据步长的顺序确定该链式数据结构中的位置,并将该步长对应的测试日志信息存储到相应位置所在的空间中,生成该测试请求对应的链式日志,比如,将步长1对应的测试日志信息存储至链式数据结构中的第一个位置对应的空间长,将步长2对应的测试日志信息存储至链式数据结构中第二个位置对应的空间中,等等。
进一步地,按照链式方式进行存储包括以下步骤:
所述日志管理服务器获取所述API服务器和所述至少一个应用服务器在被调用时的时间戳;根据所述时间戳确定在链式数据结构中用于存储API服务器或应用服务器的测试日志信息的位置,及将该时间戳对应的所述测试日志信息存储至该链式数据结构中相应位置以生成该测试请求对应的链式日志。
例如,在进行串行处理时,一次只能执行一个服务,测试端发送测试请求的时间戳为2018/10/10 14:00:36,API服务器被调用的时间戳为2018/10/10 14:01:06,应用A服务器被调用的时间戳为2018/10/10 14:01:36,数据库服务器被调用的时间戳为2018/10/1014:01:56,等等,将测试端、API服务器及应用服务器被调用时的时间戳进行排序,根据排序结果依次为测试端、API服务器及应用服务器在已建立好的链式数据结构中分配相应的位置,并将测试端、API服务器及应用服务器对应的测试日志信息存储至链式数据结构中相应位置对应的空间中,以形成该测试请求对应的链式日志。比如,将最早的时间戳对应的测试日志信息存储至链式数据结构中的第一个位置对应的空间长,将第二早的时间戳对应的测试日志信息存储至链式数据结构中第二个位置对应的空间中,等等。
值得注意的是,不同测试请求的请求标识均不相同。
进一步地,所述API服务器及至少一个应用服务器还可通过探针技术实现测试日志信息的采集和收集。
例如,在API服务器或应用服务器中提供的应用程序中添加探针,就可以将API接口、应用服务、数据库等数据进行追踪,将追踪结果通过HTTP或gRPC发送到收集器,收集器对追踪结果进行分析和聚合,存储到本地存储器。通过探针技术进行测试日志信息的采集和手机可降低对diamagnetic的侵入性。
进一步地,所述日志管理服务器还提取所述测试日志信息中的有效信息,并将所述API服务器及所述至少一个应用服务器对应的有效信息按照链式方式进行存储。
为了减少存储空间及测试日志信息提取有效信息的速度,日志管理服务器还将接收的测试日志信息进行解析,提取出有效信息,将有效信息按照链式方式进行存储。
进一步地,所述“日志管理服务器还提取所述测试日志信息中的有效信息”包括:
所述日志管理服务器获取所述测试日志信息中的所有事件信息及该事件信息对应的事件标识,提取预定事件标识对应的事件信息作为有效信息。
具体的,所述事件标识可包括请求标识、步数、请求类型、测试日志信息所在终端的地址、方法名称、测试请求起始时间、测试请求执行时长、调用方法时Java虚拟机性能指标、方法中请求参数、响应结构、测试结构状态码、测试账户信息等。
选取预定事件标识对应的事件信息作为有效信息,并将有效信息按照链式方式进行存储。
实施例2
图3示出了本发明第二实施例提供的一种测试日志管理方法的流程示意图。
该测试日志管理方法包括如下步骤:
在步骤S210中,API服务器接收测试请求,并将该测试请求发送至日志管理服务器及至少一个应用服务器。
步骤S210与步骤S110相同,在此不再赘述。
在步骤S220中,API服务器及至少一个应用服务器在接收到测试请求后,均采集与该测试请求相关的测试日志信息,并将该测试日志信息发送至日志管理服务器。
步骤S220与步骤S120相同,在此不再赘述。
在步骤S230中,日志管理服务器按照API服务器及至少一个应用服务器之间的调用顺序将测试日志信息按照链式方式进行存储,生成该测试请求对应的链式日志。
步骤S230与步骤S130相同,在此不再赘述。
在步骤S240中,日志管理服务器为测试账户信息分配对应的可视化前端,并将该测试请求对应的链式日志发送至可视化前端进行显示。
进一步地,所述测试请求中还包括发起该测试请求的测试账户信息,所述日志管理服务器为所述测试账户信息分配对应的可视化前端,并将该测试请求对应的链式日志发送至所述可视化前端进行显示。
具体地,测试端与API服务器通过测试账户信息建立连接后,测试端向API服务器中发送的测试请求中还包括测试端的测试账户信息,API服务器将该测试账户信息发送到日志管理服务器后,日志管理服务器为该测试账户信息分配可视化前端,并在测试完成后,将该测试请求对应的链式日志发送到该测试账户信息对应的可视化前端进行实时显示,以使测试人员可实时查看该测试请求相关的所有测试日志信息。
实施例3
图4示出了本发明第三实施例提供的一种测试日志管理方法的流程示意图。
该测试日志管理方法包括如下步骤:
在步骤S310中,API服务器接收测试请求,并将该测试请求发送至日志管理服务器及至少一个应用服务器。
步骤S310与步骤S110相同,在此不再赘述。
在步骤S320中,API服务器及至少一个应用服务器在接收到测试请求后,均采集与该测试请求相关的测试日志信息,并将该测试日志信息发送至日志管理服务器。
步骤S320与步骤S120相同,在此不再赘述。
在步骤S330中,日志管理服务器按照API服务器及至少一个应用服务器之间的调用顺序将测试日志信息按照链式方式进行存储,生成该测试请求对应的链式日志。
步骤S330与步骤S130相同,在此不再赘述。
在步骤S340中,可视化前端接收用户输入的请求标识,并将自身的身份信息及请求标识发送至日志管理服务器。
具体地,用户还可以在某一可视化前端中输入请求标识,查询该请求标识对应的测试日志信息。
用户在可视化前端输入请求标识,可视化前端将获取的请求标识及自身的身份信息发送到日志管理服务器。
在步骤S350中,日志管理服务器根据请求标识确定对应的链式日志,并将该链式日志发送至身份信息对应的可视化前端进行显示。
具体地,日志管理信息查找该请求标识对应的链式日志,若获得与该请求标识对应的链式日志,将该链式日志发送到该身份信息对应的可视化前端进行显示;若未获得该请求标识对应的链式日志,则显示不存在该请求标识对应的链式日志的提示信息。
实施例4
图5示出了本发明第四实施例提供的一种测试日志管理系统的结构示意图。
该测试日志管理系统包括API服务器10、至少一个应用服务器20及日志管理服务器30。
所述API服务器10用于接收测试请求,并将该测试请求发送至日志管理服务器及至少一个应用服务器20;
所述API服务器10及所述至少一个应用服务器20在接收到所述测试请求后,均采集与该测试请求相关的测试日志信息,并将该测试日志信息发送至所述日志管理服务器30;
所述日志管理服务器30用于按照所述API服务器10及所述至少一个应用服务器20之间的调用顺序将所述测试日志信息按照链式方式进行存储,生成该测试请求对应的链式日志。
实施例5
图6示出了本发明第五实施例提供的一种测试日志管理系统的结构示意图。
该测试日志管理系统包括API服务器10、至少一个应用服务器20、日志管理服务器30、测试端40、即时日志分流服务器50、可视化前端60、异常分析服务器70、Bug可视化前端80、异常处理端90、离线可视化前端100及离线日志服务器110。
测试端40用于根据用户输入的测试账户信息与API服务器10建立长连接,并在建立连接后发送测试请求至API服务器10。
所述API服务器10用于接收测试请求,并将该测试请求发送至日志管理服务器30及至少一个应用服务器20。
所述API服务器10及所述至少一个应用服务器20还在接收到测试请求后,采集与该测试请求相关的测试日志信息,并将该测试日志信息发送至日志管理服务器30。
所述日志管理服务器30用于按照所述API服务器10及所述至少一个应用服务器20之间的调用顺序将所述测试日志信息按照链式方式进行存储,生成该测试请求对应的链式日志,并将链式日志发送到离线日志服务器110进行存储,还将链式日志发送至即时日志分流服务器50进行存储。
所述离线日志服务器110将链式日志推送至对应的离线可视化前端100进行显示,以供用户查看。
所述即时日志分流服务器50用于将所述链式日志推送到所述测试账户信息对应的可视化前端60进行即时显示。
所述即时日志分流服务器50还用于将该链式日志发送至异常分析服务器70,所述异常分析服务器70对链式日志进行分析,获得所述测试日志信息中各测试结果状态码,根据预先存储的测试结果状态码与测试结果状态之间的对应关系确定表示异常状态的测试结果状态码,根据该表示异常状态的测试结果状态码定位异常的功能模块,并根据所述表示异常状态的测试结果状态码及所述异常的功能模块生成Bug报告,然后将该Bug报告发送到Bug可视化前端80。
所述Bug可视化前端80用于显示所述Bug报告给用户查看,并根据预先存储的功能模块和开发人员之间的对应关系将该Bug报告发送至对应开发人员所在终端,即异常处理端90,以使所述开发人员根据该Bug报告对异常进行处理。
所述异常处理端90还根据Bug报告中的请求标识,在离线可视化前端100中输入请求标识,离线可视化前端100将该请求标识发送到离线日志服务器110,离线日志服务器110查询与该请求标识对应的链式日志,并推送到该离线可视化前端100进行显示,异常处理端90的开发人员根据Bug报告及该Bug报告对应的链式日志对Bug进行重现,进而解决该Bug。
进一步地,所述日志管理服务器30、所述即时日志分流服务器50、所述离线日志服务器110、所述异常分析服务器70可为同一个服务器,在该同一个服务器上实现上述的日志管理服务器30、所述即时日志分流服务器50、所述离线日志服务器110及所述异常分析服务器70的功能。
进一步地,所述可视化前端60、所述Bug可视化前端80及所述离线可视化前端100可为同一个前端,通过该同一个前端显示所述可视化前端60、所述Bug可视化前端80及所述离线可视化前端100中所显示的内容。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,也可以通过其它的方式实现。以上所描述的系统实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种测试日志管理方法,其特征在于,该方法包括:
API服务器接收测试请求,并将该测试请求发送至日志管理服务器及至少一个应用服务器;
所述API服务器及所述至少一个应用服务器在接收到所述测试请求后,均采集与该测试请求相关的测试日志信息,并将该测试日志信息发送至所述日志管理服务器;
所述日志管理服务器按照所述API服务器及所述至少一个应用服务器之间的调用顺序将所述测试日志信息按照链式方式进行存储,生成该测试请求对应的链式日志,并将所述链式日志发送至即时日志分流服务器;
异常分析服务器对来自所述即时日志分流服务器的链式日志进行分析以得到所述测试日志信息中各测试结果状态码,并根据预定的测试结果状态码与测试结果状态之间的对应关系确定表示异常状态的测试结果状态码以生成Bug报告。
2.根据权利要求1所述的测试日志管理方法,其特征在于,所述测试请求中包括请求标识,所述API服务器及所述至少一个应用服务器还发送所述测试日志信息对应的请求标识至所述日志管理服务器;
所述日志管理服务器按照所述API服务器及所述至少一个应用服务器之间的调用顺序将所述测试日志信息按照链式方式进行存储包括:
所述日志管理服务器根据所述测试请求获得所述请求标识,并在接收的所有测试日志信息中确定与该请求标识对应的测试日志信息;
根据API服务器及所述至少一个应用服务器之间的调用顺序将与该请求标识对应的测试日志信息按照链式方式进行存储。
3.根据权利要求2所述的测试日志管理方法,其特征在于,按照链式方式进行存储包括以下步骤:
所述日志管理服务器根据所述API服务器及所述至少一个应用服务器之间的调用关系为所述API服务器及所述至少一个应用服务器分配步长;
根据所述步长确定在链式数据结构中用于存储API服务器或应用服务器的测试日志信息的位置,并将该步长对应的测试日志信息存储至该链式数据结构中相应位置以生成该测试请求对应的链式日志。
4.根据权利要求2所述的测试日志管理方法,其特征在于,按照链式方式进行存储包括以下步骤:
所述日志管理服务器获取所述API服务器和所述至少一个应用服务器在被调用时的时间戳;
根据所述时间戳确定在链式数据结构中用于存储API服务器或应用服务器的测试日志信息的位置,及将该时间戳对应的所述测试日志信息存储至该链式数据结构中相应位置以生成该测试请求对应的链式日志。
5.根据权利要求1所述的测试日志管理方法,其特征在于,通过API接口将测试请求发送至日志管理服务器及至少一个应用服务器,所述API接口由所述API服务器根据发送所述测试请求的测试端地址来分配。
6.根据权利要求1所述的测试日志管理方法,其特征在于,所述测试请求中还包括发起该测试请求的测试账户信息,该测试日志管理方法还包括:
所述日志管理服务器为所述测试账户信息分配对应的可视化前端,并将该测试请求对应的链式日志发送至所述可视化前端进行显示。
7.如权利要求1所述的测试日志管理方法,其特征在于,还包括:
可视化前端接收用户输入的请求标识,并将自身的身份信息及所述请求标识发送至所述日志管理服务器;
所述日志管理服务器根据所述请求标识确定对应的链式日志,并将该链式日志发送至所述身份信息对应的可视化前端进行显示。
8.根据权利要求1所述的测试日志管理方法,其特征在于,所述日志管理服务器还提取所述测试日志信息中的有效信息,并将所述API服务器及所述至少一个应用服务器对应的有效信息按照链式方式进行存储。
9.如权利要求8所述的测试日志管理方法,其特征在于,所述日志管理服务器还提取所述测试日志信息中的有效信息包括:
所述日志管理服务器获取所述测试日志信息中的所有事件信息及该事件信息对应的事件标识,提取预定事件标识对应的事件信息作为有效信息。
10.一种测试日志管理系统,其特征在于,该系统包括API服务器、至少一个应用服务器及日志管理服务器:
所述API服务器用于接收测试请求,并将该测试请求发送至日志管理服务器及至少一个应用服务器;
所述API服务器及所述至少一个应用服务器在接收到所述测试请求后,均采集与该测试请求相关的测试日志信息,并将该测试日志信息发送至所述日志管理服务器;
所述日志管理服务器用于按照所述API服务器及所述至少一个应用服务器之间的调用顺序将所述测试日志信息按照链式方式进行存储,生成该测试请求对应的链式日志,并将所述链式日志发送至即时日志分流服务器;
异常分析服务器用于对来自所述即时日志分流服务器的链式日志进行分析以得到所述测试日志信息中各测试结果状态码,并根据预定的测试结果状态码与测试结果状态之间的对应关系确定表示异常状态的测试结果状态码以生成Bug报告。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910127994.6A CN109885496B (zh) | 2019-02-20 | 2019-02-20 | 测试日志管理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910127994.6A CN109885496B (zh) | 2019-02-20 | 2019-02-20 | 测试日志管理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109885496A CN109885496A (zh) | 2019-06-14 |
CN109885496B true CN109885496B (zh) | 2022-06-07 |
Family
ID=66928738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910127994.6A Active CN109885496B (zh) | 2019-02-20 | 2019-02-20 | 测试日志管理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109885496B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110287053B (zh) * | 2019-06-27 | 2022-11-04 | 四川新网银行股份有限公司 | 分布式系统异常统一处理的方法 |
CN111078558B (zh) * | 2019-12-16 | 2023-04-07 | 广州品唯软件有限公司 | 自动化测试的日志存储方法及装置和计算机可读存储介质 |
CN111190785B (zh) * | 2019-12-24 | 2023-08-04 | 中国航空工业集团公司西安飞机设计研究所 | 模块化的机电综合管理系统自动测试方法 |
CN112286791A (zh) * | 2020-09-27 | 2021-01-29 | 长沙市到家悠享网络科技有限公司 | 一种业务系统测试方法、装置、设备和存储介质 |
CN113392028A (zh) * | 2021-07-19 | 2021-09-14 | 镁佳(北京)科技有限公司 | 一种分布式测试系统及控制方法 |
CN116701069B (zh) * | 2022-02-25 | 2024-07-02 | 腾讯科技(深圳)有限公司 | 数据通路测试方法、装置、设备、存储介质及程序产品 |
CN117033334B (zh) * | 2023-10-08 | 2023-12-22 | 吉林省高速公路集团有限公司 | 高速公路收费车道日志采集处理方法及系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10862784B2 (en) * | 2011-10-04 | 2020-12-08 | Electro Industries/Gauge Tech | Systems and methods for processing meter information in a network of intelligent electronic devices |
CN103645982B (zh) * | 2013-11-29 | 2017-11-14 | 北京奇虎科技有限公司 | 日志处理方法及客户端 |
CN106161074A (zh) * | 2015-04-21 | 2016-11-23 | 中兴通讯股份有限公司 | 一种云终端日志处理方法、装置及系统 |
CN107306416A (zh) * | 2016-04-25 | 2017-10-31 | 中国移动通信集团云南有限公司 | 业务日志的记录方法与装置 |
CN107515901B (zh) * | 2017-07-24 | 2020-12-04 | 中国科学院信息工程研究所 | 一种链式日志存储结构及其哈希索引结构、数据操作方法及服务器、介质 |
CN108134824A (zh) * | 2017-12-19 | 2018-06-08 | 深圳马可孛罗科技有限公司 | 一种旅行产品运行日志记录方法及系统 |
CN109215748B (zh) * | 2018-06-29 | 2020-11-20 | 浙江省肿瘤医院 | 基于区块链的医院信息系统的使用方法 |
CN109189658B (zh) * | 2018-08-20 | 2022-05-27 | 厦门集微科技有限公司 | 一种日志存储方法、控制节点及计算机可读存储介质 |
-
2019
- 2019-02-20 CN CN201910127994.6A patent/CN109885496B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109885496A (zh) | 2019-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109885496B (zh) | 测试日志管理方法及系统 | |
CN110245078B (zh) | 一种软件的压力测试方法、装置、存储介质和服务器 | |
US7913233B2 (en) | Performance analyzer | |
CN111522728A (zh) | 自动化测试用例的生成方法、电子设备及可读存储介质 | |
CN111614483A (zh) | 链路监控方法、装置、存储介质及计算机设备 | |
CN110134583B (zh) | 软件测试及数据处理方法及装置 | |
CN113596078B (zh) | 业务问题定位方法及装置 | |
CN102904774B (zh) | 终端、服务器和服务器性能测试方法 | |
CN109409948B (zh) | 交易异常检测方法、装置、设备及计算机可读存储介质 | |
CN109802842B (zh) | 应用拓扑的生成方法及相关设备 | |
CN113360376A (zh) | 埋点测试方法和装置 | |
CN106648722B (zh) | 基于大数据的Flume接收端数据处理方法和装置 | |
CN112235128B (zh) | 一种交易路径分析方法、装置、服务器及存储介质 | |
CN115705190A (zh) | 依赖程度的确定方法及装置 | |
CN112948262A (zh) | 一种系统测试方法、装置、计算机设备和存储介质 | |
CN106484601B (zh) | 客户端的用户数据分析方法及系统 | |
CN114610689B (zh) | 一种分布式环境中请求日志的记录和分析方法 | |
CN114567543A (zh) | 一种问题接口的定位方法、装置、电子设备及存储介质 | |
CN112988591A (zh) | 一种计费逻辑验证方法、装置、设备及存储介质 | |
CN113448985A (zh) | 一种api接口生成方法、调用方法、装置及电子设备 | |
CN113132143A (zh) | 服务调用追踪方法及相关产品 | |
CN110661677B (zh) | 一种dns测试方法、装置和系统 | |
CN113190458A (zh) | 自动埋点数据分析的方法、装置、计算机设备和存储介质 | |
CN112988560A (zh) | 测试系统健壮性的方法和装置 | |
CN112749078A (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 |