CN109947641B - 自动化测试方法及装置 - Google Patents
自动化测试方法及装置 Download PDFInfo
- Publication number
- CN109947641B CN109947641B CN201910124186.4A CN201910124186A CN109947641B CN 109947641 B CN109947641 B CN 109947641B CN 201910124186 A CN201910124186 A CN 201910124186A CN 109947641 B CN109947641 B CN 109947641B
- Authority
- CN
- China
- Prior art keywords
- test
- abnormal
- functional module
- test result
- log
- 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
本发明公开了一种自动化测试方法及装置,该方法包括:对接收的链式日志中各测试日志信息进行解析,获得测试日志信息中各测试结果状态码;根据预先存储的测试结果状态码与测试结果状态之间的对应关系确定表示异常状态的测试结果状态码;根据该表示异常状态的测试结果状态码定位异常的功能模块;根据表示异常状态的测试结果状态码及异常的功能模块生成Bug报告;根据预先存储的功能模块和开发人员之间的对应关系将该Bug报告发送至对应开发人员所在终端,以使开发人员根据该Bug报告对异常进行处理。本发明的技术方案根据链式日志对异常进行识别,并将异常功能模块的Bug报告分配至对应开发人员,提高测试人员的工作效率及测试过程的自动化程度。
Description
技术领域
本发明涉及自动化测试技术领域,具体而言,涉及一种自动化测试方法及装置。
背景技术
IT技术趋向大型化、高复杂度发展,质量变得越来越重要。这个时期,测试的基础理论和实用技术开始形成,并且设计了测试过程中的各种流程和管理方法,测试的目的即实际输出与预期输出之间的审核或比较。
然而,由于测试人员无法深入到底层的服务器(例如,应用A服务器,应用B服务器等),在分析服务器出现异常确无法定位该服务器对应的实际负责人,发送Bug报告比较茫然。现有的解决方法是先将Bug报告通过API接口发送给该API接口对应的接口开发者,接口开发者根据接收到的Bug报告进行进一步的确定对应的业务开发人员,该种方式增大了接口开发者对Bug报告的二次分配压力。
发明内容
鉴于上述问题,本发明实施例的目的在于提供一种自动化测试方法及装置,以解决现有技术的不足。
根据本发明的一个实施方式,提供一种自动化测试方法,该方法包括:
对接收的链式日志中各测试日志信息进行解析,获得所述测试日志信息中各测试结果状态码;
根据预先存储的测试结果状态码与测试结果状态之间的对应关系确定表示异常状态的测试结果状态码;
根据该表示异常状态的测试结果状态码定位异常的功能模块;
根据所述表示异常状态的测试结果状态码及所述异常的功能模块生成Bug报告;
根据预先存储的功能模块和开发人员之间的对应关系将该Bug报告发送至对应开发人员所在终端,以使所述开发人员根据该Bug报告对异常进行处理。
在上述的自动化测试方法中,还包括:
根据测试请求对待测试的功能模块设置测试用例,以使所述功能模块对应的API服务器及至少一个应用服务器根据所述测试用例进行自动化测试,并获得用以生成链式日志的测试日志信息。
在上述的自动化测试方法中,所述链式日志通过以下方式生成:
根据所述API服务器和所述至少一个应用服务器在被调用时的时间戳的先后顺序,将所述时间戳对应的所述测试日志信息存储至所述链式数据结构中相应位置以生成该测试请求对应的链式日志。
在上述的自动化测试方法中,所述“根据该表示异常状态的测试结果状态码定位异常的功能模块”包括:
根据所述表示异常状态的测试结果状态码对应的测试请求确定API服务器中发送该测试请求的API接口;
根据所述API接口与功能模块之间的对应关系确定异常的功能模块。
在上述的自动化测试方法中,所述链式日志中各测试日志信息还包括测试信息,其中,所述测试信息包括方法名称及该测试日志信息所在服务器的地址;
所述“根据该表示异常状态的测试结果状态码定位异常的功能模块”包括:
根据所述测试日志信息所在服务器的地址及所述方法名确定该表示异常状态的测试结果状态码对应的服务;
根据所述服务及调用该服务的起始时间确定该表示异常状态的测试结果状态码对应的功能模块。
在上述的自动化测试方法中,所述Bug报告中包括该Bug报告对应的测试请求的请求标识,该自动化测试方法还包括:所述Bug报告中包括该Bug报告对应的测试请求的请求标识,所述链式日志中包括测试用例信息,该自动化测试方法还包括:
所述开发人员所在终端根据所述开发人员输入的所述请求标识获取该Bug报告对应的链式日志,根据所述异常功能模块的测试用例信息重新对所述功能模块对应的API服务器及至少一个应用服务器进行自动化测试,结合自动化测试结果将所述Bug报告中的异常功能模块产生的异常信息还原到出现异常时的状态。
在上述的自动化测试方法中,还包括:
根据所述表示异常状态的测试结果状态码确定异常的严重程度;
根据所述严重程度确定对应Bug报告的优先级。
根据本发明的另一个实施方式,提供一种自动化测试装置,该装置包括:
状态码获取模块,用于对接收的链式日志中各测试日志信息进行解析,获得所述测试日志信息中各测试结果状态码;
确定模块,用于根据预先存储的测试结果状态码与测试结果状态之间的对应关系确定表示异常状态的测试结果状态码;
定位模块,用于根据该表示异常状态的测试结果状态码定位异常的功能模块;
生成模块,用于根据所述表示异常状态的测试结果状态码及所述异常的功能模块生成Bug报告;
发送模块,用于根据预先存储的功能模块和开发人员之间的对应关系将该Bug报告发送至对应开发人员所在终端,以使所述开发人员根据该Bug报告对异常进行处理。
根据本发明的又一个实施方式,提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述的自动化测试方法的步骤。
根据本发明的再一个实施方式,提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述的自动化测试方法的步骤。
本公开的实施例提供的技术方案可以包括如下有益效果:
本发明中一种自动化测试方法及装置,根据链式日志对异常信息进行识别,根据异常信息定位异常功能模块,并将异常功能模块的Bug报告分配至对应开发人员,实现Bug报告的自动指派,提高测试人员的工作效率及测试过程的自动化程度;整合分布式服务器间的调用关系,将各服务器产生的测试日志信息存储为链式日志,方便开发人员和测试人员的阅读和问题排查效率。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明第一实施例提供的一种自动化测试方法的流程示意图。
图2示出了本发明实施例提供的一种链式日志的示意图。
图3示出了本发明第二实施例提供的一种自动化测试方法的流程示意图。
图4示出了本发明第三实施例提供的一种自动化测试方法的流程示意图。
图5示出了本发明第四实施例提供的一种自动化测试装置的结构示意图。
主要元件符号说明:
500-自动化测试装置;510-状态码获取模块;520-确定模块;530-定位模块;540-生成模块;550-发送模块。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
图1示出了本发明第一实施例提供的一种自动化测试方法的流程示意图。
该自动化测试方法包括如下步骤:
在步骤S110中,对接收的链式日志中各测试日志信息进行解析,获得测试日志信息中各测试结果状态码。
具体地,该自动化测试方法应用于测试端、API服务器及至少一应用服务器。所述测试端与所述API服务器连接,所述API服务器与为所述API服务器提供服务的至少一应用服务器连接。
所述链式数据结构类似于计算机中链表结构,包括多个块,每一块为预定大小的存储空间,该存储空间中存储有某一端(例如测试端、API服务器或应用服务器)的测试日志信息,每一块还对应有一地址,根据该地址及测试端、API服务器及应用服务器之间的调用顺序将测试日志信息存储为链式日志。
如图2所示的链式数据结构中包括N块,每一块对应有一空间,该空间中存储有测试日志信息,每一块还对应有一地址,该地址用于指向该块的空间。比如,地址1指向链式数据结构中的第一块的空间,在存储测试日志信息时,可根据地址1将要存储的测试日志信息存储至第一块的空间中;地址2指向链式数据结构中第二块的空间,在存储测试日志信息时,可根据地址2将要存储的测试日志信息存储至第二块的空间中;以此类推,地址N指向链式数据结构中的第N块的空间,在存储测试日志信息时,可根据地址N将要存储的测试日志信息存储至第N块的空间中。而且,在链式数据结构中,依据每一块的先后顺序进行存储,比如,第一次存储时,首先将要存储的测试日志信息存储至第一块的空间,在第二次存储时,再将要存储的测试日志信息存储至第二块的空间,依次类推,直至在第N次存储时,将要存储的测试日志信息存储至第N块的空间。
根据链式数据结构的结构提取链式日志中每一块的测试日志信息,并根据测试日志信息的存储结构对链式日志中存储的测试端、API服务器及至少一应用服务器对应的测试日志信息进行解析,获得所有测试日志信息中的所有的测试结果状态码。
进一步地,所述链式日志通过以下方式生成:
根据所述API服务器和所述至少一个应用服务器在被调用时的时间戳的先后顺序,将所述时间戳对应的所述测试日志信息存储至所述链式数据结构中相应位置以生成该测试请求对应的链式日志。
例如,若测试端发送测试请求的时间戳为2019/01/01 08:23:00,测试端调用API服务器中所提供服务的时间戳为2019/01/01 08:23:10,API服务器调用应用A服务器中所提供服务的时间戳为2019/01/01 08:23:20,应用A服务器调用数据库服务器中所提供服务的时间戳为2019/01/0108:23:30,等等。将测试端、API服务器、数据库服务器及应用服务器等被调用服务时的时间戳进行升序排序,并根据升序排序结果依次为测试端、API服务器、数据库服务器及应用服务器等在已建立好的链式数据结构中分配相应的位置,并将测试端、API服务器、数据库服务器及应用服务器等对应的测试日志信息存储至链式数据结构中相应位置对应的空间中,以形成该测试请求对应的链式日志。比如图2所示,将所有时间戳进行排序,将最早的时间戳对应的测试端的测试日志信息存储至链式数据结构中的地址1对应的空间中,将第二早的时间戳对应的API服务器的测试日志信息存储至链式数据结构中地址2对应的空间中,依次类推,将第N早的时间戳对应的一端(例如应用服务器或消息服务器)的测试日志信息存储至链式数据结构中地址N对应的空间中。
对链式日志中测试端、API服务器及至少一应用服务器对应的测试日志信息进行解析,获得该链式日志中所有的测试结果状态码。
在步骤S120中,根据预先存储的测试结果状态码与测试结果状态之间的对应关系确定表示异常状态的测试结果状态码。
例如,所述测试结果状态码与测试结果状态之间的对应关系可以为下表中所示:
测试结果状态码 | 测试结果状态 |
400 | 服务器不理解请求的语法 |
403 | 服务器拒绝请求 |
404 | 服务器找不到请求的网页 |
200 | 服务器已成功处理了请求 |
…… | …… |
上表中,测试结果状态码为400时,表示服务器不理解请求的语法;测试结果状态码为403时,表示服务器拒绝请求;测试结果状态码为404时,表示服务器找不到请求的网页;测试结果状态码为200时,表示服务器已成功处理了请求,等等。
在所有的测试结果状态中确定表示异常状态的测试结果状态码,例如400、403、404、405、406、407等。
在步骤S130中,根据该表示异常状态的测试结果状态码定位异常的功能模块。
进一步地,所述“根据该表示异常状态的测试结果状态码定位异常的功能模块”包括:
根据所述表示异常状态的测试结果状态码对应的测试请求确定API服务器中发送该测试请求的API接口;根据所述API接口与功能模块之间的对应关系确定异常的功能模块。
具体地,所述API接口与应用服务器之间的对应关系可通过下表进行描述:
上表中,API接口InterfaceA对应的应用服务器包括:应用A服务器、应用B服务器及应用C服务器,应用A服务器、应用B服务器及应用C服务器中的测试日志信息中的表示异常状态的测试结果状态码对应的API接口均为InterfaceA;API接口InterfaceB对应的应用服务器包括应用D服务器,应用D服务器中的测试日志信息中的表示异常状态的测试结果状态码对应的API接口为InterfaceB;等等。
功能模块与API接口之间的对应关系可通过下表进行描述:
上表中,API接口InterfaceA、InterfaceB及InterfaceC对应的功能模块为FunctionA;API接口InterfaceD对应的功能模块为FunctionB;等等。
根据表示异常状态的测试结果状态码对应的API接口及API接口与功能模块之间的对应关系确定异常的功能模块。
进一步地,所述链式日志中各测试日志信息还包括测试信息,其中,所述测试信息包括方法名称及该测试日志信息所在服务器的地址,所述“根据该表示异常状态的测试结果状态码定位异常的功能模块”包括:
根据所述测试日志信息所在服务器的地址及所述方法名确定该表示异常状态的测试结果状态码对应的服务;根据所述服务及调用该服务的起始时间确定该表示异常状态的测试结果状态码对应的功能模块。
具体地,根据API服务器或应用服务器的地址及API服务器或应用服务器提供服务的方法名称确定该表示异常状态的测试结果状态码对应的表示异常的服务,一服务可被多个功能模块进行调用,可根据调用该异常的服务的起始时间确定该测试结果状态码对应的异常的功能模块。
在步骤S140中,根据表示异常状态的测试结果状态码及异常的功能模块生成Bug报告。
例如,该Bug报告中可包括表示异常状态的测试结果状态码、表示异常的测试结果状态、Bug标识、标识异常的功能模块、异常等级、Bug严重程度、测试环境、测试人员等信息。
在步骤S150中,根据预先存储的功能模块和开发人员之间的对应关系将该Bug报告发送至对应开发人员所在终端,以使开发人员根据该Bug报告对异常进行处理。
具体地,所述功能模块与开发人员之间的对应关系可通过下表进行表示:
功能模块 | 开发人员 |
FunctionA | P1 |
FunctionB | P2 |
…… | …… |
上表中,功能模块FunctionA对应的开发人员为P1,可将FunctionA对应的Bug报告发送到P1所在的终端;功能模块FunctionB对应的开发人员为P2,可将FunctionB对应的Bug报告发送到P2所在的终端;等等。
实施例2
图3示出了本发明第二实施例提供的一种自动化测试方法的流程示意图。
该自动化测试方法包括如下步骤:
在步骤S210中,根据测试请求对待测试的功能模块设置测试用例,以使功能模块对应的API服务器及至少一个应用服务器根据测试用例进行自动化测试,并获得用以生成链式日志的测试日志信息。
具体地,一功能模块中所包含的服务可能需要调用API服务器中的至少一个API接口,每一API接口连接有提供服务的至少一个应用服务器。
为所述功能模块相关的所有API接口设置测试用例,通过该测试用例对所述API接口及为所述API接口提供服务的应用服务器进行测试。
测试过程中,测试人员所在的测试端、API服务器及至少一应用服务器均产生测试日志信息,从测试端、API服务器及至少一应用服务器回收与该测试请求相关的测试日志信息,并根据测试端、API服务器及至少一应用服务器之间的调用顺序生成链式日志。换言之,所述链式日志中包括测试端、API服务器及至少一应用服务器对应的测试日志信息,该测试端、API服务器及至少一应用服务器对应的测试日志信息根据调用顺序通过链式方式进行存储。
在步骤S220中,对接收的链式日志中各测试日志信息进行解析,获得测试日志信息中各测试结果状态码。
步骤S220与步骤S110相同,在此不再赘述。
在步骤S230中,根据预先存储的测试结果状态码与测试结果状态之间的对应关系确定表示异常状态的测试结果状态码。
步骤S230与步骤S120相同,在此不再赘述。
在步骤S240中,根据该表示异常状态的测试结果状态码定位异常的功能模块。
步骤S240与步骤S130相同,在此不再赘述。
在步骤S250中,根据表示异常状态的测试结果状态码及异常的功能模块生成Bug报告。
步骤S250与步骤S140相同,在此不再赘述。
在步骤S260中,根据预先存储的功能模块和开发人员之间的对应关系将该Bug报告发送至对应开发人员所在终端,以使开发人员根据该Bug报告对异常进行处理。
步骤S260与步骤S150相同,在此不再赘述。
在步骤S270中,根据开发人员输入的请求标识获取该Bug报告对应的链式日志,并根据链式日志重现所述Bug报告中的异常信息,以使开发人员根据重现的异常信息进行处理。
在对Bug报告进行处理时,开发人员按照测试人员提交的Bug报告中的信息对异常进行重现,要求开发人员必须明确知道API接口下所对接的至少一个应用服务器,及所有应用服务器、API服务器等的测试日志信息,复现过程复杂,异常修复效率低下。本实施例中还提出一种异常信息快速重现方案,以根据链式日志及Bug报告重现异常信息,重现过程简单,提高异常修复率。
进一步地,所述Bug报告中包括该Bug报告对应的测试请求的请求标识,该自动化测试方法还包括:所述Bug报告中包括该Bug报告对应的测试请求的请求标识,所述链式日志中包括测试用例信息,该自动化测试方法还包括:
所述开发人员所在终端根据所述开发人员输入的所述请求标识获取该Bug报告对应的链式日志,根据所述异常功能模块的测试用例信息重新对所述功能模块对应的API服务器及至少一个应用服务器进行自动化测试,结合自动化测试结果将所述Bug报告中的异常功能模块产生的异常信息还原到出现异常时的状态。
具体地,开发人员所在终端根据开发人员输入的请求标识,确定与其对应的链式日志,并将该链式日志发送至所述异常处理终端。
本实施例中,所述开发人员所在终端可存储有各测试请求的链式日志及其对应的请求标识。在一些其他的实施例中,还可以在其他的终端中存储各测试请求的链式日志及其对应的请求标识,开发人员所在终端将开发人员输入的请求标识发送到所述其他的终端,所述其他的终端根据所述请求标识确定对应的链式日志,并将该链式日志发送至所述开发人员所在终端。
所述链式日志中包括测试用例信息,所述测试用例信息可包括方法名称、测试请求起始时间、测试请求执行时长、调用方法时Java虚拟机性能指标、方法中请求参数、响应结构、测试结构状态码等。
根据链式日志中记载的参数将该测试请求相关的测试端、API服务器及应用服务器等的参数配置到测试时的状态,并通过相同的测试用例信息重新对功能模块相关的API服务器中的API接口及应用服务器进行自动化测试,得到与Bug报告中一致的测试结果,进而将功能模块产生的异常信息还原到出现异常时的状态,以便于后续的开发人员方便即时的对异常进行处理。
实施例3
图4示出了本发明第三实施例提供的一种自动化测试方法的流程示意图。
该自动化测试方法包括如下步骤:
在步骤S310中,根据测试请求对待测试的功能模块设置测试用例,以使功能模块对应的API服务器及至少一个应用服务器根据测试用例进行自动化测试,并获得用以生成链式日志的测试日志信息。
步骤S310与步骤S210相同,在此不再赘述。
在步骤S320中,对接收的链式日志中各测试日志信息进行解析,获得测试日志信息中各测试结果状态码。
步骤S320与步骤S110相同,在此不再赘述。
在步骤S330中,根据预先存储的测试结果状态码与测试结果状态之间的对应关系确定表示异常状态的测试结果状态码。
步骤S330与步骤S120相同,在此不再赘述。
在步骤S340中,根据该表示异常状态的测试结果状态码定位异常的功能模块。
步骤S340与步骤S130相同,在此不再赘述。
在步骤S350中,根据标识异常状态的测试结果状态码确定异常的严重程度。
例如,所述严重程度可包括S1级:应立即修复的问题;S2级:在产品发布之前必须修复的问题;S3级:如果时间允许应修复的问题;S4级:可以在发布版本中存在的问题;S5级:建议;等等。
所述测试结果状态码与严重程度之间的对应关系可通过下表进行描述:
测试结果状态码 | 严重程度等级 |
404 | S1 |
405 | S1 |
302 | S4 |
…… | …… |
上表中,测试结果状态码404级405对应的严重程度等级均为S1级;测试结果状态码302对应的严重程度等级为S4级;等等。
在步骤S360中,根据严重程度确定对应Bug报告的优先级。
具体地,所述严重程度等级越高(例如,S1级为最高级,S2级及之后级别的严重程度依次降低),Bug报告的优先级越高,需要开发人员的相应速度越快。
在步骤S370中,根据表示异常状态的测试结果状态码及异常的功能模块生成Bug报告。
步骤S370与步骤S140相同,在此不再赘述。
在步骤S380中,根据预先存储的功能模块和开发人员之间的对应关系将该Bug报告发送至对应开发人员所在终端,以使开发人员根据该Bug报告对异常进行处理。
步骤S380与步骤S150相同,在此不再赘述。
在步骤S390中,根据开发人员输入的请求标识获取该Bug报告对应的链式日志,并根据链式日志重现所述Bug报告中的异常信息,以使开发人员根据重现的异常信息进行处理。
步骤S390与步骤S270相同,在此不再赘述。
实施例4
如图5所示,本实施例提供了一种自动化测试装置,该自动化测试装置500包括状态码获取模块510、确定模块520、定位模块530、生成模块540及发送模块550。
状态码获取模块510,用于对接收的链式日志中各测试日志信息进行解析,获得所述测试日志信息中各测试结果状态码;
确定模块520,用于根据预先存储的测试结果状态码与测试结果状态之间的对应关系确定表示异常状态的测试结果状态码;
定位模块530,用于根据该表示异常状态的测试结果状态码定位异常的功能模块;
生成模块540,用于根据所述表示异常状态的测试结果状态码及所述异常的功能模块生成Bug报告;
发送模块550,用于根据预先存储的功能模块和开发人员之间的对应关系将该Bug报告发送至对应开发人员所在终端,以使所述开发人员根据该Bug报告对异常进行处理。
本发明其他实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述方法的步骤或上述装置中各模块的功能。
所述电子设备可以为计算机、移动终端、服务器等。
本发明其他实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法的步骤或上述装置中各模块的功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,也可以通过其它的方式实现。以上所描述的系统实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
Claims (9)
1.一种自动化测试方法,其特征在于,该方法包括:
根据测试请求对待测试的功能模块设置测试用例,以使所述功能模块对应的API服务器及至少一个应用服务器根据所述测试用例进行自动化测试,并获得用以生成链式日志的测试日志信息;
其中,所述链式日志的生成包括:根据所述API服务器和所述至少一个应用服务器在被调用时的时间戳的先后顺序,将所述时间戳对应的所述测试日志信息存储至链式数据结构中相应位置以生成该测试请求对应的链式日志;
对接收的所述链式日志中各测试日志信息进行解析,获得所述测试日志信息中各测试结果状态码;
根据预先存储的测试结果状态码与测试结果状态之间的对应关系确定表示异常状态的测试结果状态码;
根据所述表示异常状态的测试结果状态码对应的测试请求确定API服务器中发送该测试请求的API接口;
根据所述API接口与功能模块之间的对应关系确定异常的功能模块;
根据所述表示异常状态的测试结果状态码及所述异常的功能模块生成Bug报告;
根据预先存储的功能模块和开发人员之间的对应关系将该Bug报告发送至对应开发人员所在终端,以使所述开发人员根据该Bug报告对异常进行处理。
2.如权利要求1所述的自动化测试方法,其特征在于,所述Bug报告中包括该Bug报告对应的测试请求的请求标识,所述链式日志中包括测试用例信息,该自动化测试方法还包括:
所述开发人员所在终端根据所述开发人员输入的所述请求标识获取该Bug报告对应的链式日志,根据所述异常的功能模块的测试用例信息重新对所述功能模块对应的API服务器及至少一个应用服务器进行自动化测试,结合自动化测试结果将所述Bug报告中的异常功能模块产生的异常信息还原到出现异常时的状态。
3.如权利要求1所述的自动化测试方法,其特征在于,还包括:
根据所述表示异常状态的测试结果状态码确定异常的严重程度;
根据所述严重程度确定对应Bug报告的优先级。
4.一种自动化测试方法,其特征在于,该方法包括:
根据测试请求对待测试的功能模块设置测试用例,以使所述功能模块对应的API服务器及至少一个应用服务器根据所述测试用例进行自动化测试,并获得用以生成链式日志的测试日志信息,所述测试日志信息包括测试信息,其中,所述测试信息包括方法名称及该测试日志信息所在服务器的地址;
其中,所述链式日志的生成包括:根据所述API服务器和所述至少一个应用服务器在被调用时的时间戳的先后顺序,将所述时间戳对应的所述测试日志信息存储至链式数据结构中相应位置以生成该测试请求对应的链式日志;
对接收的所述链式日志中各测试日志信息进行解析,获得所述测试日志信息中各测试结果状态码;
根据预先存储的测试结果状态码与测试结果状态之间的对应关系确定表示异常状态的测试结果状态码;
根据所述测试日志信息所在服务器的地址及所述方法名确定该表示异常状态的测试结果状态码对应的服务;
根据所述服务及调用该服务的起始时间确定该表示异常状态的测试结果状态码对应的功能模块;
根据所述表示异常状态的测试结果状态码及所述异常的功能模块生成Bug报告;
根据预先存储的功能模块和开发人员之间的对应关系将该Bug报告发送至对应开发人员所在终端,以使所述开发人员根据该Bug报告对异常进行处理。
5.如权利要求4所述的自动化测试方法,其特征在于,所述Bug报告中包括该Bug报告对应的测试请求的请求标识,所述链式日志中包括测试用例信息,该自动化测试方法还包括:
所述开发人员所在终端根据所述开发人员输入的所述请求标识获取该Bug报告对应的链式日志,根据所述异常的功能模块的测试用例信息重新对所述功能模块对应的API服务器及至少一个应用服务器进行自动化测试,结合自动化测试结果将所述Bug报告中的异常功能模块产生的异常信息还原到出现异常时的状态。
6.如权利要求4所述的自动化测试方法,其特征在于,还包括:
根据所述表示异常状态的测试结果状态码确定异常的严重程度;
根据所述严重程度确定对应Bug报告的优先级。
7.一种自动化测试装置,其特征在于,该装置包括:
状态码获取模块,用于根据测试请求对待测试的功能模块设置测试用例,以使所述功能模块对应的API服务器及至少一个应用服务器根据所述测试用例进行自动化测试,并获得用以生成链式日志的测试日志信息,其中,所述链式日志的生成包括:根据所述API服务器和所述至少一个应用服务器在被调用时的时间戳的先后顺序,将所述时间戳对应的所述测试日志信息存储至链式数据结构中相应位置以生成该测试请求对应的链式日志,对接收的所述链式日志中各测试日志信息进行解析,获得所述测试日志信息中各测试结果状态码;
确定模块,用于根据预先存储的测试结果状态码与测试结果状态之间的对应关系确定表示异常状态的测试结果状态码;
定位模块,用于根据所述表示异常状态的测试结果状态码对应的测试请求确定API服务器中发送该测试请求的API接口,根据所述API接口与功能模块之间的对应关系确定异常的功能模块;
生成模块,用于根据所述表示异常状态的测试结果状态码及所述异常的功能模块生成Bug报告;
发送模块,用于根据预先存储的功能模块和开发人员之间的对应关系将该Bug报告发送至对应开发人员所在终端,以使所述开发人员根据该Bug报告对异常进行处理。
8.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至6任一所述的自动化测试方法的步骤。
9.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至6任一所述的自动化测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910124186.4A CN109947641B (zh) | 2019-02-20 | 2019-02-20 | 自动化测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910124186.4A CN109947641B (zh) | 2019-02-20 | 2019-02-20 | 自动化测试方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109947641A CN109947641A (zh) | 2019-06-28 |
CN109947641B true CN109947641B (zh) | 2022-07-19 |
Family
ID=67006833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910124186.4A Active CN109947641B (zh) | 2019-02-20 | 2019-02-20 | 自动化测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109947641B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110543375B (zh) * | 2019-07-22 | 2023-03-10 | 深圳壹账通智能科技有限公司 | 赔付事务异常处理方法、装置、计算机设备和存储介质 |
CN111143304B (zh) * | 2019-11-20 | 2023-09-29 | 杭州端点网络科技有限公司 | 一种基于请求链路的微服务系统异常日志分析方法 |
CN111367796B (zh) * | 2020-02-26 | 2023-06-16 | 浪潮通用软件有限公司 | 应用程序调试方法及装置 |
CN113448827A (zh) * | 2020-03-26 | 2021-09-28 | 北京沃东天骏信息技术有限公司 | 一种测试数据的处理方法和装置 |
CN111538669B (zh) * | 2020-04-29 | 2023-09-22 | 中国银行股份有限公司 | 一种基于历史问题回溯分析的测试案例抽取方法及装置 |
CN111581107B (zh) * | 2020-05-13 | 2023-08-18 | 武汉虹信科技发展有限责任公司 | Ftp程序疲劳测试方法及系统 |
CN112486831A (zh) * | 2020-12-04 | 2021-03-12 | 锐捷网络股份有限公司 | 一种测试系统、方法、电子设备及存储介质 |
CN113282496B (zh) * | 2021-05-31 | 2024-04-02 | 深圳赛安特技术服务有限公司 | 接口自动测试方法、装置、设备及存储介质 |
CN113238960A (zh) * | 2021-06-07 | 2021-08-10 | 上海识装信息科技有限公司 | 一种自动指派的Bug治理的方法、装置及电子设备 |
CN115048315A (zh) * | 2022-07-06 | 2022-09-13 | 东软睿驰汽车技术(沈阳)有限公司 | 自动驾驶仿真测试结果的分析方法、装置和电子设备 |
CN117591437A (zh) * | 2024-01-18 | 2024-02-23 | 杭州罗莱迪思科技股份有限公司 | Web程序异常的自动化检测和测试的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8713531B1 (en) * | 2011-06-28 | 2014-04-29 | Google Inc. | Integrated bug tracking and testing |
CN106095670A (zh) * | 2016-06-02 | 2016-11-09 | 网易(杭州)网络有限公司 | 测试报告的生成方法及装置 |
CN106301995A (zh) * | 2015-06-24 | 2017-01-04 | 北京京东尚科信息技术有限公司 | 一种自动检测接口服务异常的方法和装置 |
CN107506294A (zh) * | 2017-07-04 | 2017-12-22 | 深圳市小牛在线互联网信息咨询有限公司 | 可视化自动化测试方法、装置、存储介质和计算机设备 |
CN109189658A (zh) * | 2018-08-20 | 2019-01-11 | 厦门集微科技有限公司 | 一种日志存储方法、控制节点及计算机可读存储介质 |
-
2019
- 2019-02-20 CN CN201910124186.4A patent/CN109947641B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8713531B1 (en) * | 2011-06-28 | 2014-04-29 | Google Inc. | Integrated bug tracking and testing |
CN106301995A (zh) * | 2015-06-24 | 2017-01-04 | 北京京东尚科信息技术有限公司 | 一种自动检测接口服务异常的方法和装置 |
CN106095670A (zh) * | 2016-06-02 | 2016-11-09 | 网易(杭州)网络有限公司 | 测试报告的生成方法及装置 |
CN107506294A (zh) * | 2017-07-04 | 2017-12-22 | 深圳市小牛在线互联网信息咨询有限公司 | 可视化自动化测试方法、装置、存储介质和计算机设备 |
CN109189658A (zh) * | 2018-08-20 | 2019-01-11 | 厦门集微科技有限公司 | 一种日志存储方法、控制节点及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
"如何跟项目经理和开发人员反馈安全测试报告的问题";weixin_33766805;《https://blog.csdn.net/weixin_33766805/article/details/92220844》;20161128;第1页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109947641A (zh) | 2019-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109947641B (zh) | 自动化测试方法及装置 | |
CN106294120B (zh) | 测试代码的方法、设备和计算机程序产品 | |
CN108388514B (zh) | 接口自动化测试方法、装置、设备及计算机可读存储介质 | |
CN114185708A (zh) | 基于分布式链路追踪的数据分析方法、装置和电子设备 | |
CN105068935B (zh) | 一种软件测试结果的处理方法及装置 | |
CN109522181B (zh) | 一种分布式存储系统的性能测试方法、装置和设备 | |
CN112540887A (zh) | 故障演练方法、装置、电子设备及存储介质 | |
CN112799953A (zh) | 一种接口测试方法及装置、计算机设备及存储介质 | |
CN111367782B (zh) | 回归测试数据自动生成的方法及装置 | |
CN109639456B (zh) | 一种自动化告警的改进方法及告警数据的自动化处理平台 | |
CN110990289A (zh) | 一种自动提交bug的方法、装置、电子设备及存储介质 | |
CN116662197A (zh) | 一种接口自动化测试方法、系统、计算机和可读存储介质 | |
CN111143151B (zh) | 业务监控方法、装置以及电子设备 | |
CN115276844B (zh) | 通信模组的测试方法、装置、存储介质及电子设备 | |
CN116431522A (zh) | 一种低代码对象存储网关自动化测试方法及系统 | |
CN107102938B (zh) | 测试脚本的更新方法及装置 | |
CN115840686A (zh) | 一种服务器性能测试方法、装置、电子设备以及存储介质 | |
CN112948195B (zh) | 接口测试的方法、装置、电子设备和存储介质 | |
CN114090372A (zh) | 一种故障处理的方法和装置 | |
CN114500249A (zh) | 一种根因定位方法和装置 | |
CN111159006B (zh) | 一种自动化测试方法及装置 | |
CN109815109B (zh) | 数据模式变更检测方法、装置、设备及可读存储介质 | |
CN110362464B (zh) | 软件分析方法及设备 | |
CN112148621A (zh) | 一种测试方法、装置及电子设备 | |
CN111694715A (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 |