CN115712578A - 接口自动化测试方法、测试装置和测试*** - Google Patents
接口自动化测试方法、测试装置和测试*** Download PDFInfo
- Publication number
- CN115712578A CN115712578A CN202211564858.1A CN202211564858A CN115712578A CN 115712578 A CN115712578 A CN 115712578A CN 202211564858 A CN202211564858 A CN 202211564858A CN 115712578 A CN115712578 A CN 115712578A
- Authority
- CN
- China
- Prior art keywords
- target
- interface
- data
- error reporting
- error
- 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.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种接口自动化测试方法、测试装置和测试***,该方法包括:在接收到来自报错接口的报错信息的情况下,根据目标标识信息,从错误日志文件中获取目标日志数据,报错接口为在交易过程中发生错误的接口,目标日志数据为携带有目标标识信息的日志数据,目标标识信息为与报错接口对应的交易流水号;根据目标日志数据中的目标关键数据生成目标测试用例,目标测试用例至少包括用于测试报错接口是否存在目标测试问题的数据,目标测试问题为报错接口的报错信息对应的测试问题;在报错接口修复完成的情况下,采用目标测试用例对对应的报错接口进行测试,以验证报错接口是否修复成功。该方法解决了现有技术中测试用例无法自动生成的问题。
Description
技术领域
本申请涉及接口测试技术领域,具体而言,涉及一种接口自动化测试方法、测试装置、计算机可读存储介质和测试***。
背景技术
在测试过程中,测试案例不可能做到完全覆盖所有测试场景,尤其是较复杂的功能,因为涉及的要素/因素比较多,完全穷举是不可能的,因此只能在主要的、典型的测试场景基础上,尽量多地考虑可能发生的情况,而这个过程大多是人工完成的。但在实际测试过程中,可能在不经意间,触发了一些实际发生,但案例场景没有覆盖到,且应用程序存在问题的场景(发生错误/返回异常),这个时候需要人工分析这个场景,并补充对应的测试案例,有时甚至会忽略一些偶发问题,导致本该发现的问题被遗漏。
现有的自动化测试方法,主要聚焦于操作的图形化以及在执行方面的自动化程度,但在案例设计、数据准备等对人工参与依赖较大的部分几乎处于空白,主要原因是设计的过程以及数据准备的过程在不同行业背景、不同业务场景下,的确需要大量的人为分析设计工作,这也恰恰是测试过程中,无论是手工测试或是自动化测试,比较核心的部分,因为这几乎都是创造的过程,而不是重复的过程,这也是现有AI技术最挑战的部分。所以现阶段从正向思维去解决这个问题,难度非常之大。
发明内容
本申请的主要目的在于提供一种接口自动化测试方法、测试装置、计算机可读存储介质和测试***,以解决现有技术中测试用例无法自动生成的问题。
根据本申请实施例的一个方面,提供了一种接口自动化测试方法,所述方法应用于后端,所述后端与接口通信连接,所述方法包括:在接收到来自报错接口的报错信息的情况下,根据目标标识信息,从错误日志文件中获取目标日志数据,所述报错接口为在交易过程中发生错误的接口,所述目标日志数据为携带有所述目标标识信息的日志数据,所述目标标识信息为与所述报错接口对应的交易流水号,所述错误日志文件包括所有的所述报错接口的所述日志数据;根据所述目标日志数据中的目标关键数据生成目标测试用例,所述目标关键数据为组成所述目标测试用例的数据,所述目标测试用例至少包括用于测试所述报错接口是否存在目标测试问题的数据,一种所述报错信息对应一种测试问题,所述目标测试问题为所述报错接口的所述报错信息对应的所述测试问题;在所述报错接口修复完成的情况下,采用所述目标测试用例对对应的所述报错接口进行测试,以验证所述报错接口是否修复成功。
可选地,在根据所述目标日志数据中的目标关键数据生成目标测试用例之后,所述方法还包括:采用所述目标测试用例对待测接口进行测试,以检验所述待测接口是否存在所述目标测试问题,所述待测接口与所述报错接口为同一类型的接口。
可选地,采用所述目标测试用例对对应的所述报错接口进行测试,以验证所述报错接口是否修复成功,包括:根据所述目标测试用例生成测试脚本;采用所述测试脚本对所述报错接口进行测试,以验证所述报错接口是否修复成功。
可选地,根据所述目标日志数据中的目标关键数据生成目标测试用例,包括:从所述目标日志数据中提取出所述目标关键数据;将所述目标关键数据填充到预设测试用例模板中,得到所述目标测试用例,所述预设测试用例模板的形式为二维表格形式。
可选地,所述目标关键数据包括目标输入数据、目标判定数据和目标环境配置数据,从所述目标日志数据中提取出所述目标关键数据,包括:从所述目标日志数据中提取出所述目标输入数据和所述目标判定数据,所述目标输入数据为所述交易过程中所述报错接口的输入数据,所述目标判定数据为用于判定所述报错接口的输出数据是否正确的数据;根据所述目标输入数据和数据映射关系,从所述报错接口对应的数据表中提取所述目标环境配置数据,所述数据映射关系为所述接口与所述数据表的映射关系,所述数据表至少用于存储所述目标环境配置数据,所述目标环境配置数据为所述交易过程中所述报错接口调用的数据。
可选地,在根据目标标识信息,从错误日志文件中获取目标日志数据之前,所述方法包括:接收所述报错接口返回的所述报错信息;根据所述报错信息生成所述错误日志文件。
可选地,一个所述错误日志文件中包含的所述报错信息的数量小于或者等于预设数量。
根据本申请实施例的另一个方面,还提供了一种接口自动化测试装置,所述装置应用于后端,所述后端与接口通信连接,所述装置包括:获取单元,用于在接收到来自报错接口的报错信息的情况下,根据目标标识信息,从错误日志文件中获取目标日志数据,所述报错接口为在交易过程中发生错误的接口,所述目标日志数据为携带有所述目标标识信息的日志数据,所述目标标识信息为与所述报错接口对应的交易流水号,所述错误日志文件包括所有的所述报错接口的所述日志数据;生成单元,用于根据所述目标日志数据中的目标关键数据生成目标测试用例,所述目标关键数据为组成所述目标测试用例的数据,所述目标测试用例至少包括用于测试所述报错接口是否存在目标测试问题的数据,一种所述报错信息对应一种测试问题,所述目标测试问题为所述报错接口的所述报错信息对应的所述测试问题;测试单元,用于在所述报错接口修复完成的情况下,采用所述目标测试用例对对应的所述报错接口进行测试,以验证所述报错接口是否修复成功。
根据本申请实施例的再一个方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,所述程序被处理器执行时,所述处理器执行任意一种所述的接口自动化测试方法。
根据本申请实施例的又一个方面,还提供了一种接口自动化测试***,包括:后端,接口,一个或多个处理器,存储器以及一个或多个程序,其中,所述后端与所述接口通信连接,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行任意一种所述的方法。
上述接口自动化测试方法中,首先,在接收到来自报错接口的报错信息的情况下,根据目标标识信息,从错误日志文件中获取目标日志数据,上述报错接口为在交易过程中发生错误的接口,上述目标日志数据为携带有上述目标标识信息的日志数据,上述目标标识信息为与上述报错接口对应的交易流水号,上述错误日志文件包括所有的上述报错接口的上述日志数据;然后,根据上述目标日志数据中的目标关键数据生成目标测试用例,上述目标关键数据为组成上述目标测试用例的数据,上述目标测试用例至少包括用于测试上述报错接口是否存在目标测试问题的数据,一种上述报错信息对应一种测试问题,上述目标测试问题为上述报错接口的上述报错信息对应的上述测试问题;最后,在上述报错接口修复完成的情况下,采用上述目标测试用例对对应的上述报错接口进行测试,以验证上述报错接口是否修复成功。该方法在实际交易过程中接口返回报错信息的情况下,获取报错接口的日志数据,并根据报错接口的日志数据自动生成测试该报错接口是否存在该报错信息对应测试问题的测试用例,即针对接口的实际问题场景自动生成对应的测试用例,从而丰富了现有测试用例,该方法解决了现有技术中测试用例无法自动生成的问题。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了根据本申请的一种的实施例的接口自动化测试方法的流程图;
图2示出了根据本申请的一种的实施例的接口自动化测试装置的示意图。
具体实施方式
应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
应该理解的是,当元件(诸如层、膜、区域、或衬底)描述为在另一元件“上”时,该元件可直接在该另一元件上,或者也可存在中间元件。而且,在说明书以及权利要求书中,当描述有元件“连接”至另一元件时,该元件可“直接连接”至该另一元件,或者通过第三元件“连接”至该另一元件。
正如背景技术中所说的,现有技术中测试用例无法自动生成,为了解决上述问题,本申请的一种典型的实施方式中,提供了一种接口自动化测试方法、测试装置、计算机可读存储介质和测试***。
根据本申请的实施例,提供了一种接口自动化测试方法。
图1是根据本申请实施例的接口自动化测试方法的流程图。如图1所示,该方法包括以下步骤:
步骤S101,在接收到来自报错接口的报错信息的情况下,根据目标标识信息,从错误日志文件中获取目标日志数据,上述报错接口为在交易过程中发生错误的接口,上述目标日志数据为携带有上述目标标识信息的日志数据,上述目标标识信息为与上述报错接口对应的交易流水号,上述错误日志文件包括所有的上述报错接口的上述日志数据;
需要说明的是,交易流水号是从错误日志文件中提取目标日志数据的检索要素,通过交易流水号能够从错误日志文件中将本次交易过程中报错接口的所有日志数据全部提取出来。
为了快速查找报错接口的日志数据,在一种可选的实施方式中,在上述步骤S101之前,上述方法还包括:
步骤S201,接收上述报错接口返回的上述报错信息;
步骤S202,根据上述报错信息生成上述错误日志文件。
上述实施方式中,后端会对交易处理的返回报文进行分析,主要是基于日志分析,并将所有接口的报错信息即日志级别为error的内容定向输出到错误日志文件app_error.log.[x]中,之后,在查找报错接口的日志数据时,在错误日志文件中查找即可,从而达到了快速查找报错接口的日志数据的目的。
为了进一步快速查找报错接口的日志数据,在另一种可选的实施方式中,一个上述错误日志文件中包含的上述报错信息的数量小于或者等于预设数量。
上述实施方式中,错误日志文件app_error.log.[x]中的x为日志滚动记录的标识,可以为表示顺序的数字,即报错信息数量满足一定日志大小后,单独记录一个错误日志文件,缩短了遍历单个错误日志文件的时间,从而达到了进一步快速查找报错接口的日志数据的目的。
需要说明的是,x也可以为时间,即一段时间的报错信息单独记录一个错误日志文件。
步骤S102,根据上述目标日志数据中的目标关键数据生成目标测试用例,上述目标关键数据为组成上述目标测试用例的数据,上述目标测试用例至少包括用于测试上述报错接口是否存在目标测试问题的数据,一种上述报错信息对应一种测试问题,上述目标测试问题为上述报错接口的上述报错信息对应的上述测试问题;
可选的,本申请对于根据所述目标日志数据中的目标关键数据生成目标测试用例的具体过程不做限制,任何可行的方式均属于本申请的保护范围。
在一种可选的实施方式中,上述步骤S102包括:
步骤S1021,从上述目标日志数据中提取出上述目标关键数据;
步骤S1022,将上述目标关键数据填充到预设测试用例模板中,得到上述目标测试用例,上述预设测试用例模板的形式为二维表格形式。
上述实施方式中,如表1所示,预设测试用例模板为二维表格形式,根据预设测试用例模板的表头从目标日志数据即此次交易过程中报错接口的目标日志数据中提取出包括“2022033111101201”、“S1B1001”、“error01”、“Input1:Value1”、“Output1:value1”、“Table1-set1:value1”、“Success:00;Failed:01”在内的目标关键数据,并将“2022033111101201”填入案例编号,“S1B1001”填入交易编号,“error01”填入错误信息,“Input1:Value1”填入目标输入数据,“Output1:value1”填入目标输出数据,“Table1-set1:value1”填入目标环境配置数据,“Success:00;Failed:01”填入目标判定数据,从而形成了二维表格形式的目标测试用例,即仅需要提取需要填充到预设测试用例模板中的数据,从而提高了测试用例的生成速度。
表1
需要说明的是,本申请通过python代码:
#新建一个测试用例
wb=Workbook()
#第一个sheet
ws=wb.worksheets[0]
#设置sheet的名称
ws.title=u"错误回放案例"
#给表头A1赋值
ws.cell('A1').value='%s'%("案例编号")
#给A2赋值
ws.cell('A2').value='%s'%("交易编号")
ws.cell('A2').style.font.bold=True
##保存生成文件
file_name='test.xlsx'
file_dir='/home/x/'
dest_filename='%s%s'%(file_dir,file_name)
ew=ExcelWriter(workbook=wb)
ew=ExcelWriter(workbook=wb)
将包含案例编号和交易编号在内的目标关键数据填充到二维表格形式即excel格式的预设测试用例模板。
可选的,上述目标关键数据包括目标输入数据、目标判定数据和目标环境配置数据,本申请对于从上述目标日志数据中提取出上述目标关键数据的具体过程不做限制,任何可行的方式均属于本申请的保护范围。
在一种可选的实施方式中,上述步骤S1021包括:
步骤S10211,从上述目标日志数据中提取出上述目标输入数据和上述目标判定数据,上述目标输入数据为上述交易过程中上述报错接口的输入数据,上述目标判定数据为用于判定上述报错接口的输出数据是否正确的数据;
步骤S10212,根据上述目标输入数据和数据映射关系,从上述报错接口对应的数据表中提取上述目标环境配置数据,上述数据映射关系为上述接口与上述数据表的映射关系,上述数据表至少用于存储上述目标环境配置数据,上述目标环境配置数据为上述交易过程中上述报错接口调用的数据。
上述实施方式中,一个目标测试案例最为核心的三个要素是目标输入数据、目标判定数据和目标环境配置数据,其中,目标输入数据和目标判定数据可以直接从目标日志数据中提取出来,而目标环境配置数据需要根据前期梳理好的接口与数据表的映射关系,确定交易过程中报错接口调用的数据表,并根据目标输入数据即接口的入参数据项确定交易过程中报错接口调用的数据表中报错接口实际调用的数据,即仅提取报错接口在交易过程中调用的数据,从而保证了生成的测试用例符合实际情况。
需要说明的是,提取出的目标环境配置数据为sql脚本的形式。
还需要说明的是,目标判定数据通过接口输出数据判定接口是否错误,例如,目标判定数据00代表接口无错误,01代表接口有错误,根据目标测试用例对接口自动化测试时,接口的输出数据为00时根据判定数据判定接口无错误,接口的输出数据为01时根据判定数据判定接口错误。
为了增加测试用例的通用性,在一种可选的实施方式中,上述步骤S102之后,上述方法还包括:
步骤S301,采用上述目标测试用例对待测接口进行测试,以检验上述待测接口是否存在上述目标测试问题,上述待测接口与上述报错接口为同一类型的接口。
上述实施方式中,目标测试用例可以用于测试与报错接口同类型的待测接口是否存在目标测试问题,通用性较强。
步骤S103,在上述报错接口修复完成的情况下,采用上述目标测试用例对对应的上述报错接口进行测试,以验证上述报错接口是否修复成功。
可选的,本申请对于采用上述目标测试用例对对应的上述报错接口进行测试,以验证上述报错接口是否修复成功的具体过程不做限制,任何可行的方式均属于本申请的保护范围。
在一种可选的实施方式中,上述步骤S103包括:
步骤S1031,根据上述目标测试用例生成测试脚本;
步骤S1032,采用上述测试脚本对上述报错接口进行测试,以验证上述报错接口是否修复成功。
上述实施方式中,根据生成好的目标测试用例生成测试脚本,由于不同的自动化测试工具,执行测试脚本的语法规范不同,故需要先确定自动化测试工具(如JMeter),再进行测试用例到测试脚本的转换,生成测试脚本后,在报错接口问题修复后(可能是代码修复,配置修复,数据修复等),采用测试脚本对报错接口进行测试,以验证所述报错接口是否还存在目标测试问题,从而实现自动验证报错接口是否修复成功。
需要说明的是,测试脚本还能用于在自动化测试环境进行报错接口的错误回放,进行问题复现,以便发现报错接口发生的错误。
上述接口自动化测试方法中,首先,在接收到来自报错接口的报错信息的情况下,根据目标标识信息,从错误日志文件中获取目标日志数据,上述报错接口为在交易过程中发生错误的接口,上述目标日志数据为携带有上述目标标识信息的日志数据,上述目标标识信息为与上述报错接口对应的交易流水号,上述错误日志文件包括所有的上述报错接口的上述日志数据;然后,根据上述目标日志数据中的目标关键数据生成目标测试用例,上述目标关键数据为组成上述目标测试用例的数据,上述目标测试用例至少包括用于测试上述报错接口是否存在目标测试问题的数据,一种上述报错信息对应一种测试问题,上述目标测试问题为上述报错接口的上述报错信息对应的上述测试问题;最后,在上述报错接口修复完成的情况下,采用上述目标测试用例对对应的上述报错接口进行测试,以验证上述报错接口是否修复成功。该方法在实际交易过程中接口返回报错信息的情况下,获取报错接口的日志数据,并根据报错接口的日志数据自动生成测试该报错接口是否存在该报错信息对应测试问题的测试用例,即针对接口的实际问题场景自动生成对应的测试用例,从而丰富了现有测试用例,该方法解决了现有技术中测试用例无法自动生成的问题。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例还提供了一种接口自动化测试装置,需要说明的是,本申请实施例的接口自动化测试装置可以用于执行本申请实施例所提供的用于接口自动化测试方法。以下对本申请实施例提供的接口自动化测试装置进行介绍。
图2是根据本申请实施例的接口自动化测试装置的示意图。如图2所示,该装置包括:
获取单元10,用于在接收到来自报错接口的报错信息的情况下,根据目标标识信息,从错误日志文件中获取目标日志数据,上述报错接口为在交易过程中发生错误的接口,上述目标日志数据为携带有上述目标标识信息的日志数据,上述目标标识信息为与上述报错接口对应的交易流水号,上述错误日志文件包括所有的上述报错接口的上述日志数据;
需要说明的是,交易流水号是从错误日志文件中提取目标日志数据的检索要素,通过交易流水号能够从错误日志文件中将本次交易过程中报错接口的所有日志数据全部提取出来。
为了快速查找报错接口的日志数据,在一种可选的实施方式中,上述装置还包括:
接收单元,用于接收上述报错接口返回的上述报错信息;
处理单元,用于根据上述报错信息生成上述错误日志文件。
上述实施方式中,后端会对交易处理的返回报文进行分析,主要是基于日志分析,并将所有接口的报错信息即日志级别为error的内容定向输出到错误日志文件app_error.log.[x]中,之后,在查找报错接口的日志数据时,在错误日志文件中查找即可,从而达到了快速查找报错接口的日志数据的目的。
为了进一步快速查找报错接口的日志数据,在另一种可选的实施方式中,一个上述错误日志文件中包含的上述报错信息的数量小于或者等于预设数量。
上述实施方式中,错误日志文件app_error.log.[x]中的x为日志滚动记录的标识,可以为表示顺序的数字,即报错信息数量满足一定日志大小后,单独记录一个错误日志文件,缩短了遍历单个错误日志文件的时间,从而达到了进一步快速查找报错接口的日志数据的目的。
需要说明的是,x也可以为时间,即一段时间的报错信息单独记录一个错误日志文件。
生成单元20,用于根据上述目标日志数据中的目标关键数据生成目标测试用例,上述目标关键数据为组成上述目标测试用例的数据,上述目标测试用例至少包括用于测试上述报错接口是否存在目标测试问题的数据,一种上述报错信息对应一种测试问题,上述目标测试问题为上述报错接口的上述报错信息对应的上述测试问题;
可选的,本申请对于根据所述目标日志数据中的目标关键数据生成目标测试用例的具体过程不做限制,任何可行的方式均属于本申请的保护范围。
在一种可选的实施方式中,上述生成单元包括:
提取模块,用于从上述目标日志数据中提取出上述目标关键数据;
填充模块,用于将上述目标关键数据填充到预设测试用例模板中,得到上述目标测试用例,上述预设测试用例模板的形式为二维表格形式。
上述实施方式中,如表1所示,预设测试用例模板为二维表格形式,根据预设测试用例模板的表头从目标日志数据即此次交易过程中报错接口的目标日志数据中提取出包括“2022033111101201”、“S1B1001”、“error01”、“Input1:Value1”、“Output1:value1”、“Table1-set1:value1”、“Success:00;Failed:01”在内的目标关键数据,并将“2022033111101201”填入案例编号,“S1B1001”填入交易编号,“error01”填入错误信息,“Input1:Value1”填入目标输入数据,“Output1:value1”填入目标输出数据,“Table1-set1:value1”填入目标环境配置数据,“Success:00;Failed:01”填入目标判定数据,从而形成了二维表格形式的目标测试用例,即仅需要提取需要填充到预设测试用例模板中的数据,从而提高了测试用例的生成速度。
表1
需要说明的是,本申请通过python代码:
#新建一个测试用例
wb=Workbook()
#第一个sheet
ws=wb.worksheets[0]
#设置sheet的名称
ws.title=u"错误回放案例"
#给表头A1赋值
ws.cell('A1').value='%s'%("案例编号")
#给A2赋值
ws.cell('A2').value='%s'%("交易编号")
ws.cell('A2').style.font.bold=True
##保存生成文件
file_name='test.xlsx'
file_dir='/home/x/'
dest_filename='%s%s'%(file_dir,file_name)
ew=ExcelWriter(workbook=wb)
ew=ExcelWriter(workbook=wb)
将包含案例编号和交易编号在内的目标关键数据填充到二维表格形式即excel格式的预设测试用例模板。
可选的,上述目标关键数据包括目标输入数据、目标判定数据和目标环境配置数据,本申请对于从上述目标日志数据中提取出上述目标关键数据的具体过程不做限制,任何可行的方式均属于本申请的保护范围。
在一种可选的实施方式中,上述提取模块包括:
第一提取子模块,用于从上述目标日志数据中提取出上述目标输入数据和上述目标判定数据,上述目标输入数据为上述交易过程中上述报错接口的输入数据,上述目标判定数据为用于判定上述报错接口的输出数据是否正确的数据;
第二提取子模块,用于根据上述目标输入数据和数据映射关系,从上述报错接口对应的数据表中提取上述目标环境配置数据,上述数据映射关系为上述接口与上述数据表的映射关系,上述数据表至少用于存储上述目标环境配置数据,上述目标环境配置数据为上述交易过程中上述报错接口调用的数据。
上述实施方式中,一个目标测试案例最为核心的三个要素是目标输入数据、目标判定数据和目标环境配置数据,其中,目标输入数据和目标判定数据可以直接从目标日志数据中提取出来,而目标环境配置数据需要根据前期梳理好的接口与数据表的映射关系,确定交易过程中报错接口调用的数据表,并根据目标输入数据即接口的入参数据项确定交易过程中报错接口调用的数据表中报错接口实际调用的数据,即仅提取报错接口在交易过程中调用的数据,从而保证了生成的测试用例符合实际情况。
需要说明的是,提取出的目标环境配置数据为sql脚本的形式。
还需要说明的是,目标判定数据通过接口输出数据判定接口是否错误,例如,目标判定数据00代表接口无错误,01代表接口有错误,根据目标测试用例对接口自动化测试时,接口的输出数据为00时根据判定数据判定接口无错误,接口的输出数据为01时根据判定数据判定接口错误。
为了增加测试用例的通用性,在一种可选的实施方式中,上述装置还包括:
检验单元,用于采用上述目标测试用例对待测接口进行测试,以检验上述待测接口是否存在上述目标测试问题,上述待测接口与上述报错接口为同一类型的接口。
上述实施方式中,目标测试用例可以用于测试与报错接口同类型的待测接口是否存在目标测试问题,通用性较强。
测试单元30,用于在上述报错接口修复完成的情况下,采用上述目标测试用例对对应的上述报错接口进行测试,以验证上述报错接口是否修复成功。
可选的,本申请对于采用上述目标测试用例对对应的上述报错接口进行测试,以验证上述报错接口是否修复成功的具体过程不做限制,任何可行的方式均属于本申请的保护范围。
在一种可选的实施方式中,上述测试单元包括:
生成模块,用于根据上述目标测试用例生成测试脚本;
测试模块,用于采用上述测试脚本对上述报错接口进行测试,以验证上述报错接口是否修复成功。
上述实施方式中,根据生成好的目标测试用例生成测试脚本,由于不同的自动化测试工具,执行测试脚本的语法规范不同,故需要先确定自动化测试工具(如JMeter),再进行测试用例到测试脚本的转换,生成测试脚本后,在报错接口问题修复后(可能是代码修复,配置修复,数据修复等),采用测试脚本对报错接口进行测试,以验证所述报错接口是否还存在目标测试问题,从而实现自动验证报错接口是否修复成功。
需要说明的是,测试脚本还能用于在自动化测试环境进行报错接口的错误回放,进行问题复现,以便发现报错接口发生的错误。
上述接口自动化测试装置中,获取单元,用于在接收到来自报错接口的报错信息的情况下,根据目标标识信息,从错误日志文件中获取目标日志数据,上述报错接口为在交易过程中发生错误的接口,上述目标日志数据为携带有上述目标标识信息的日志数据,上述目标标识信息为与上述报错接口对应的交易流水号,上述错误日志文件包括所有的上述报错接口的上述日志数据;生成单元,用于根据上述目标日志数据中的目标关键数据生成目标测试用例,上述目标关键数据为组成上述目标测试用例的数据,上述目标测试用例至少包括用于测试上述报错接口是否存在目标测试问题的数据,一种上述报错信息对应一种测试问题,上述目标测试问题为上述报错接口的上述报错信息对应的上述测试问题;测试单元,用于在上述报错接口修复完成的情况下,采用上述目标测试用例对对应的上述报错接口进行测试,以验证上述报错接口是否修复成功。该装置在实际交易过程中接口返回报错信息的情况下,获取报错接口的日志数据,并根据报错接口的日志数据自动生成测试该报错接口是否存在该报错信息对应测试问题的测试用例,即针对接口的实际问题场景自动生成对应的测试用例,从而丰富了现有测试用例,该装置解决了现有技术中测试用例无法自动生成的问题。
上述接口自动化测试装置包括处理器和存储器,上述获取单元、生成单元和测试单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决现有技术中测试用例无法自动生成的问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM),存储器包括至少一个存储芯片。
本申请实施例提供了一种计算机可读存储介质,上述计算机可读存储介质包括存储的程序,其中,上述程序被处理器执行时,上述处理器执行上述接口自动化测试方法。
本申请实施例提供了一种接口自动化测试***,包括:后端,接口,一个或多个处理器,存储器以及一个或多个程序,其中,上述后端与上述接口通信连接,上述一个或多个程序被存储在上述存储器中,并且被配置为由上述一个或多个处理器执行,上述一个或多个程序包括用于执行任意一种上述的方法。
上述接口自动化测试***中,包括后端和接口,在实际交易过程中接口返回报错信息至后端的情况下,后端获取报错接口的日志数据,并根据报错接口的日志数据自动生成测试该报错接口是否存在该报错信息对应测试问题的测试用例,即针对接口的实际问题场景自动生成对应的测试用例,从而丰富了现有测试用例,该装置解决了现有技术中测试用例无法自动生成的问题。
本申请实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现至少以下步骤:
步骤S101,在接收到来自报错接口的报错信息的情况下,根据目标标识信息,从错误日志文件中获取目标日志数据,上述报错接口为在交易过程中发生错误的接口,上述目标日志数据为携带有上述目标标识信息的日志数据,上述目标标识信息为与上述报错接口对应的交易流水号,上述错误日志文件包括所有的上述报错接口的上述日志数据;
步骤S102,根据上述目标日志数据中的目标关键数据生成目标测试用例,上述目标关键数据为组成上述目标测试用例的数据,上述目标测试用例至少包括用于测试上述报错接口是否存在目标测试问题的数据,一种上述报错信息对应一种测试问题,上述目标测试问题为上述报错接口的上述报错信息对应的上述测试问题;
步骤S103,在上述报错接口修复完成的情况下,采用上述目标测试用例对对应的上述报错接口进行测试,以验证上述报错接口是否修复成功。
本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有至少如下方法步骤的程序:
步骤S101,在接收到来自报错接口的报错信息的情况下,根据目标标识信息,从错误日志文件中获取目标日志数据,上述报错接口为在交易过程中发生错误的接口,上述目标日志数据为携带有上述目标标识信息的日志数据,上述目标标识信息为与上述报错接口对应的交易流水号,上述错误日志文件包括所有的上述报错接口的上述日志数据;
步骤S102,根据上述目标日志数据中的目标关键数据生成目标测试用例,上述目标关键数据为组成上述目标测试用例的数据,上述目标测试用例至少包括用于测试上述报错接口是否存在目标测试问题的数据,一种上述报错信息对应一种测试问题,上述目标测试问题为上述报错接口的上述报错信息对应的上述测试问题;
步骤S103,在上述报错接口修复完成的情况下,采用上述目标测试用例对对应的上述报错接口进行测试,以验证上述报错接口是否修复成功。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的计算机可读存储介质包括:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
从以上的描述中,可以看出,本申请上述的实施例实现了如下技术效果:
1)、本申请的接口自动化测试方法中,首先,在接收到来自报错接口的报错信息的情况下,根据目标标识信息,从错误日志文件中获取目标日志数据,上述报错接口为在交易过程中发生错误的接口,上述目标日志数据为携带有上述目标标识信息的日志数据,上述目标标识信息为与上述报错接口对应的交易流水号,上述错误日志文件包括所有的上述报错接口的上述日志数据;然后,根据上述目标日志数据中的目标关键数据生成目标测试用例,上述目标关键数据为组成上述目标测试用例的数据,上述目标测试用例至少包括用于测试上述报错接口是否存在目标测试问题的数据,一种上述报错信息对应一种测试问题,上述目标测试问题为上述报错接口的上述报错信息对应的上述测试问题;最后,在上述报错接口修复完成的情况下,采用上述目标测试用例对对应的上述报错接口进行测试,以验证上述报错接口是否修复成功。该方法在实际交易过程中接口返回报错信息的情况下,获取报错接口的日志数据,并根据报错接口的日志数据自动生成测试该报错接口是否存在该报错信息对应测试问题的测试用例,即针对接口的实际问题场景自动生成对应的测试用例,从而丰富了现有测试用例,该方法解决了现有技术中测试用例无法自动生成的问题。
2)、本申请的接口自动化测试装置中,获取单元,用于在接收到来自报错接口的报错信息的情况下,根据目标标识信息,从错误日志文件中获取目标日志数据,上述报错接口为在交易过程中发生错误的接口,上述目标日志数据为携带有上述目标标识信息的日志数据,上述目标标识信息为与上述报错接口对应的交易流水号,上述错误日志文件包括所有的上述报错接口的上述日志数据;生成单元,用于根据上述目标日志数据中的目标关键数据生成目标测试用例,上述目标关键数据为组成上述目标测试用例的数据,上述目标测试用例至少包括用于测试上述报错接口是否存在目标测试问题的数据,一种上述报错信息对应一种测试问题,上述目标测试问题为上述报错接口的上述报错信息对应的上述测试问题;测试单元,用于在上述报错接口修复完成的情况下,采用上述目标测试用例对对应的上述报错接口进行测试,以验证上述报错接口是否修复成功。该装置在实际交易过程中接口返回报错信息的情况下,获取报错接口的日志数据,并根据报错接口的日志数据自动生成测试该报错接口是否存在该报错信息对应测试问题的测试用例,即针对接口的实际问题场景自动生成对应的测试用例,从而丰富了现有测试用例,该装置解决了现有技术中测试用例无法自动生成的问题。
3)、本申请的接口自动化测试***中,包括后端和接口,在实际交易过程中接口返回报错信息至后端的情况下,后端获取报错接口的日志数据,并根据报错接口的日志数据自动生成测试该报错接口是否存在该报错信息对应测试问题的测试用例,即针对接口的实际问题场景自动生成对应的测试用例,从而丰富了现有测试用例,该装置解决了现有技术中测试用例无法自动生成的问题。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种接口自动化测试方法,其特征在于,所述方法应用于后端,所述后端与接口通信连接,所述方法包括:
在接收到来自报错接口的报错信息的情况下,根据目标标识信息,从错误日志文件中获取目标日志数据,所述报错接口为在交易过程中发生错误的接口,所述目标日志数据为携带有所述目标标识信息的日志数据,所述目标标识信息为与所述报错接口对应的交易流水号,所述错误日志文件包括所有的所述报错接口的所述日志数据;
根据所述目标日志数据中的目标关键数据生成目标测试用例,所述目标关键数据为组成所述目标测试用例的数据,所述目标测试用例至少包括用于测试所述报错接口是否存在目标测试问题的数据,一种所述报错信息对应一种测试问题,所述目标测试问题为所述报错接口的所述报错信息对应的所述测试问题;
在所述报错接口修复完成的情况下,采用所述目标测试用例对对应的所述报错接口进行测试,以验证所述报错接口是否修复成功。
2.根据权利要求1所述的方法,其特征在于,在根据所述目标日志数据中的目标关键数据生成目标测试用例之后,所述方法还包括:
采用所述目标测试用例对待测接口进行测试,以检验所述待测接口是否存在所述目标测试问题,所述待测接口与所述报错接口为同一类型的接口。
3.根据权利要求1所述的方法,其特征在于,采用所述目标测试用例对对应的所述报错接口进行测试,以验证所述报错接口是否修复成功,包括:
根据所述目标测试用例生成测试脚本;
采用所述测试脚本对所述报错接口进行测试,以验证所述报错接口是否修复成功。
4.根据权利要求1所述的方法,其特征在于,根据所述目标日志数据中的目标关键数据生成目标测试用例,包括:
从所述目标日志数据中提取出所述目标关键数据;
将所述目标关键数据填充到预设测试用例模板中,得到所述目标测试用例,所述预设测试用例模板的形式为二维表格形式。
5.根据权利要求4所述的方法,其特征在于,所述目标关键数据包括目标输入数据、目标判定数据和目标环境配置数据,从所述目标日志数据中提取出所述目标关键数据,包括:
从所述目标日志数据中提取出所述目标输入数据和所述目标判定数据,所述目标输入数据为所述交易过程中所述报错接口的输入数据,所述目标判定数据为用于判定所述报错接口的输出数据是否正确的数据;
根据所述目标输入数据和数据映射关系,从所述报错接口对应的数据表中提取所述目标环境配置数据,所述数据映射关系为所述接口与所述数据表的映射关系,所述数据表至少用于存储所述目标环境配置数据,所述目标环境配置数据为所述交易过程中所述报错接口调用的数据。
6.根据权利要求1至5任一项所述的方法,其特征在于,在根据目标标识信息,从错误日志文件中获取目标日志数据之前,所述方法包括:
接收所述报错接口返回的所述报错信息;
根据所述报错信息生成所述错误日志文件。
7.根据权利要求6所述的方法,其特征在于,一个所述错误日志文件中包含的所述报错信息的数量小于或者等于预设数量。
8.一种接口自动化测试装置,其特征在于,所述装置应用于后端,所述后端与接口通信连接,所述装置包括:
获取单元,用于在接收到来自报错接口的报错信息的情况下,根据目标标识信息,从错误日志文件中获取目标日志数据,所述报错接口为在交易过程中发生错误的接口,所述目标日志数据为携带有所述目标标识信息的日志数据,所述目标标识信息为与所述报错接口对应的交易流水号,所述错误日志文件包括所有的所述报错接口的所述日志数据;
生成单元,用于根据所述目标日志数据中的目标关键数据生成目标测试用例,所述目标关键数据为组成所述目标测试用例的数据,所述目标测试用例至少包括用于测试所述报错接口是否存在目标测试问题的数据,一种所述报错信息对应一种测试问题,所述目标测试问题为所述报错接口的所述报错信息对应的所述测试问题;
测试单元,用于在所述报错接口修复完成的情况下,采用所述目标测试用例对对应的所述报错接口进行测试,以验证所述报错接口是否修复成功。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,所述程序被处理器执行时,所述处理器执行权利要求1至7中任意一项所述的接口自动化测试方法。
10.一种接口自动化测试***,其特征在于,包括:后端,接口,一个或多个处理器,存储器以及一个或多个程序,其中,所述后端与所述接口通信连接,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行权利要求1至7中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211564858.1A CN115712578A (zh) | 2022-12-07 | 2022-12-07 | 接口自动化测试方法、测试装置和测试*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211564858.1A CN115712578A (zh) | 2022-12-07 | 2022-12-07 | 接口自动化测试方法、测试装置和测试*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115712578A true CN115712578A (zh) | 2023-02-24 |
Family
ID=85235643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211564858.1A Pending CN115712578A (zh) | 2022-12-07 | 2022-12-07 | 接口自动化测试方法、测试装置和测试*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115712578A (zh) |
-
2022
- 2022-12-07 CN CN202211564858.1A patent/CN115712578A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109800258B (zh) | 数据文件部署方法、装置、计算机设备及存储介质 | |
CN107145437B (zh) | 一种java注解测试方法及装置 | |
CN112181804B (zh) | 一种参数校验方法、设备以及存储介质 | |
CN108241580B (zh) | 客户端程序的测试方法及终端 | |
CN111061696B (zh) | 一种交易报文日志的解析方法及装置 | |
CN110262978B (zh) | 一种基于长流程自动化测试的接口重试方法及设备 | |
CN112181854B (zh) | 一种生成流程自动化脚本的方法、装置、设备及存储介质 | |
CN111625342B (zh) | 一种数据溯源方法、装置及服务器 | |
CN117421217A (zh) | 一种软件功能自动测试方法、***、终端及介质 | |
CN112395182A (zh) | 自动化测试方法、装置、设备及计算机可读存储介质 | |
CN112882957B (zh) | 一种测试任务有效性检查方法和装置 | |
CN111767213B (zh) | 数据库检查点的测试方法、装置、电子设备及存储介质 | |
CN116431522A (zh) | 一种低代码对象存储网关自动化测试方法及*** | |
CN111949537A (zh) | 接口的测试方法、装置、设备和介质 | |
CN115712578A (zh) | 接口自动化测试方法、测试装置和测试*** | |
CN115061924A (zh) | 自动化测试案例的生成方法、生成装置 | |
CN114281761A (zh) | 一种数据文件加载方法、装置、计算机设备及存储介质 | |
CN114064488A (zh) | 交易测试方法、装置、存储介质和设备 | |
CN105988917B (zh) | 异常信息获取方法及装置 | |
CN113722213A (zh) | 一种自动化测试方法和计算机可读存储介质 | |
CN112948195A (zh) | 接口测试的方法、装置、电子设备和存储介质 | |
CN111953544B (zh) | 一种服务器的故障检测方法、装置、设备及存储介质 | |
CN114071450B (zh) | 换机换卡行为的识别方法及装置 | |
CN114253989A (zh) | 一种数据修改方案检测方法、装置及电子设备 | |
CN114756506A (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 |