一种接口的测试方法及装置与流程

文档序号:32617438发布日期:2022-12-20 21:45阅读:35来源:国知局
一种接口的测试方法及装置与流程

1.本技术涉及人工智能技术领域,尤其涉及一种接口的测试方法及装置。


背景技术:

2.旧核心银行系统(bocs-o,bank of core system-old)已经对客户营业多年,积累了大量的客户信息及交易数据,故还要定期对旧核心银行系统进行接口测试。
3.目前旧核心银行系统主要采用自动化测试系统(atfs,automated testing framework system)对上述旧核心银行系统接口进行自动化测试。
4.但是由于旧核心银行系统中待测接口量大,并且自动化测试系统本身不稳定,例如可能出现栏位获取不稳定的问题,进一步使自动化测试系统对于旧核心银行系统测试效率低下。


技术实现要素:

5.有鉴于此,本技术实施例提供了一种接口的测试方法及装置,旨在提升对于旧核心银行系统测试效率。
6.第一方面,本技术实施例提供了一种接口的测试方法,所述方法包括:
7.自动化测试框架通过管理平台获取第一报文,所述第一报文用于描述待测接口的数据信息;
8.所述自动化测试框架对第一报文进行关键数据替换,得到第二报文;
9.所述自动化测试框架接收第三报文,所述第三报文为第二报文经过环境测试后返回的报文;
10.所述自动化测试框架根据预期结果,判断所述第三报文对应的结果与所述预期结果是否一致;
11.所述自动化测试框架响应于所述第三报文对应的结果与所述预期结果一致,所述自动化测试框架确定接口测试结果为通过。
12.在一种可能的实现方式中,所述自动化测试框架接收第三报文包括:
13.所述自动化测试框架将所述第二报文发送至所述管理平台进行相对应的环境测试;
14.所述自动化测试框架接收来自所述管理平台返回的所述第三报文。
15.在一种可能的实现方式中,所述自动化测试框架接收第三报文包括:
16.根据系统显示要求,确定所述第二报文发送时的编码形式;
17.根据确定的编码形式发送所述第二报文。
18.在一种可能的实现方式中,所述方法还包括:
19.获取交易流或业务流相对应的调用频率;
20.根据所述调用频率,区分存放交易脚本封装以及业务脚本封装。
21.第二方面,本技术实施例提供了一种接口的测试装置,所述装置应用于自动化测
试框架,所述装置包括:
22.获取单元,用于通过管理平台获取第一报文,所述第一报文用于描述待测接口的数据信息;
23.替换单元,用于对第一报文进行关键数据替换,得到第二报文;
24.接受单元,用于接收第三报文,所述第三报文为第二报文经过环境测试后返回的报文;
25.判断单元,用于根据预期结果,判断所述第三报文对应的结果与所述预期结果是否一致;
26.响应单元,用于响应于所述第三报文对应的结果与所述预期结果一致,所述自动化测试框架确定接口测试结果为通过。
27.在一种可能的实现方式中,所述接受单元用于将所述第二报文发送至所述管理平台进行相对应的环境测试;接收来自所述管理平台返回的所述第三报文。
28.在一种可能的实现方式中,所述接受单元用于根据系统显示要求,确定所述第二报文发送时的编码形式;根据确定的编码形式发送所述第二报文。
29.在一种可能的实现方式中,所述装置还包括区分存放单元,用于获取交易流或业务流相对应的调用频率;根据所述调用频率,区分存放交易脚本封装以及业务脚本封装。
30.第三方面,本技术实施例提供了一种设备,所述设备包括存储器和处理器,所述存储器用于存储指令或代码,所述处理器用于执行所述指令或代码,以使所述设备执行前述第一方面任一项所述的接口的测试方法。
31.第四方面,本技术实施例提供了一种计算机存储介质,所述计算机存储介质中存储有代码,当所述代码被运行时,运行所述代码的设备实现前述第一方面任一项所述的接口的测试方法。
32.本技术实施例提供了一种接口的测试方法及装置。在执行所述接口的测试方法时,首先自动化测试框架通过管理平台获取第一报文,所述第一报文用于描述待测接口的数据信息。接着,所述自动化测试框架对第一报文进行关键数据替换,得到第二报文。然后,所述自动化测试框架接收第三报文,所述第三报文为第二报文经过环境测试后返回的报文。然后,所述自动化测试框架根据预期结果,判断所述第三报文对应的结果与所述预期结果是否一致。最后,所述自动化测试框架响应于所述第三报文对应的结果与所述预期结果一致,所述自动化测试框架确定接口测试结果为通过。这样,通过自动化测试框架实现对接口进行测试,达到提升测试效率的目的。
附图说明
33.为更清楚地说明本实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
34.图1为本技术实施例提供的接口的测试方法的一种方法流程图;
35.图2为本技术实施例提供的接口的测试装置的一种结构示意图。
具体实施方式
36.目前由于旧核心银行系统已经对客户营业多年,积累了大量的客户信息及交易数据,对于银行来说,维护旧核心银行系统,对其进行接口测试是非常有必要的。
37.现有技术主要是使用自动化测试系统对旧核心银行系统进行自动化测试,但是在测试过程中,由于自动化测试系统其本身的设计,可能会出现栏位获取不稳定等问题,这就导致使用自动化测试系统测试旧核心银行系统时效率低下。并且由于自动化测试系统本身不支持关键字封装等功能,后期对旧核心银行系统进行维护也比较困难。
38.为了解决上述问题,本技术实施例提供了一种接口的测试方法及装置。其中,所述接口的测试方法可以用于自动化测试框架,用于测试旧核心银行系统。
39.下面从自动化测试框架的角度,对本技术实施例提供的接口的测试方法进行说明。其中,所述自动化测试框架可以运行于测试人员的主机或服务器。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。需要说明的是,本发明提供的银行应用的测试方法及装置可用于人工智能领域或金融领域。上述仅为示例,并不对本发明提供的银行应用的测试方法及装置的应用领域进行限定。
40.参见图1,图1为本技术实施例提供的接口的测试方法的一种方法流程图图,包括:
41.s101:自动化测试框架通过管理平台获取第一报文,所述第一报文用于描述待测接口的数据信息。
42.自动化测试框架(rf,robot framework)在对接口进行测试之前,首先可以通过查数据库的方式从管理平台(szait)中的交易测试管理部分获取第一报文。所述自动化测试框架是一个自动化测试平台,支持数据驱动、关键字驱动等,功能全面,可用于分布式测试、接口测试、复杂应用测试等多种测试场景。自动化测试框架易于扩展,用户可以创建自己需要的测试库;易于集成,提供了命令行接口和可扩展标记语言(xml,extensible markup language)格式的输出;可以利用“标签”功能对测试用例进行分类和有选择执行;提供超文本标记语言(html,hyper text markup language)格式的结果报告和日志,易于阅读。基于自动化测试框架开发的测试框架具备复用度高,维护成本低等优点。
43.所述交易测试管理用于生成第一报文。所述管理平台还包括测试环境管理以及可扩展标记语言格式管理部分,所述测试环境管理用于存储测试环境,在后续步骤中可以用于提供测试环境,所述可扩展标记语言格式管理用于转换报文格式,在后续步骤中可以用于发送和接收报文时进行报文格式转换。所述第一报文用于描述旧核心银行系统中待测接口的数据信息,也可以称为原始报文。所述数据信息包括待测接口的请求协议、端口、地址、统一资源定位符(url,uniform resource locator)路径、参数等信息。由此,可以仅通过在所述管理平台查找数据库获取第一报文的方式,即可获得待测接口的数据信息。
44.在一种可能的实现方式中,可以将从管理平台获取的第一报文,进行关键字封装。
45.s102:所述自动化测试框架对第一报文进行关键数据替换,得到第二报文。
46.在所述自动化测试框架通过管理平台中的交易测试管理部分获取到所述第一报文之后,所述自动化测试框架可以对获取到的所述第一报文进行关键数据替换。所述关键数据例如可以是银行、机构、经办柜员、账号、交易金额等。此时所述第一报文经过关键数据
替换后的报文为第二报文。
47.在一种可能的实现方式中,对第一报文进行关键数据替换可以采用创建清单的形式,然后调用替换字符串,实现关键数据的替换。所述替换字符串为关键字的其中之一。
48.s103:所述自动化测试框架接收第三报文,所述第三报文为第二报文经过环境测试后返回的报文。
49.在所述自动化测试框架对第一报文进行关键数据替换得到第二报文之后,所述自动化测试框架可以接收所述第二报文经过环境测试后的第三报文。
50.在一种可能的实现方式中,所述自动化测试框架将所述第二报文发送至所述管理平台中的测试环境管理部分进行相对应的环境测试。所述相对应的环境是以环境名称(tor,the onion router)的形式体现的,不同的环境名称表示不同的测试环境中互联网协议(ip,internet protocol)和端口,然后接收来自所述管理平台中的测试环境管理部分返回的所述第三报文。目前,环境名称是存储于所述管理平台中的测试环境管理部分的。
51.在一种可能的实现方式中,所述自动化测试框架可以对业务流或者交易流进行封装,形成关键字。所述关键字用于标识特定数据项目,所述特定数据项目包括交易流和业务流,所述交易流为用户进行交易时的流程,所述业务流为用户办理业务时的流程。
52.在一种可能的实现方式中,所述自动化测试框架可以获取所述交易流或业务流相对应的调用频率,所述调用频率例如可以是在所述自动化测试框架对所述第一报文进行关键字替换时的调用频率。接着,所述自动化测试框架根据所述调用频率,区分存放交易脚本封装以及业务脚本封装。此时所述交易脚本封装与所述业务脚本封装可以按照实际使用功能进行文档归类管理,以方便在任意场景脚本中调用。所述实际使用功能例如可以是凭证领取、开户以及配折功能等。如果测试过程中报文出现问题,可以选择维护关键字,这样就可以有效的降低维护成本。具体而言,可以先将脚本和数据进行分离整理,使报文进行参数化,然后再对脚本进行优化。
53.在一种可能的实现方式中,所述自动化测试框架首先根据系统显示要求,确定所述第二报文发送时的编码形式。例如系统显示要求为e码显示,所述e码也就是显示成能够被测试人员看到的中文的部分,则自动化测试框架应该根据e码显示要求,确定发送报文时的编码。经过发明人研究发现,当发送的报文是不指定编码形式的报文时,返回的报文是系统显示要求中的e码,可以正常显示的中文。发明人发现,不指定编码形式可以通过关键字requests library数据库实现。这样可以有效避免自动化测试框架发起主机交易,发送报文时,默认以非系统显示要求中的编码形式发送报文,导致返回报文中的中文部分显示乱码。
54.s104:所述自动化测试框架根据预期结果,判断所述第三报文对应的结果与所述预期结果是否一致。
55.在所述自动化测试框架接收第三报文之后,为了可以知道交易前、交易后的数据变化情况,所述自动化测试框架可以从不同分包中获取第三报文相对应的结果与预期结果进行比对。所述预期结果可以采用创建清单形式,所述清单形式的预期结果列表可以拆分出索引内容,所述索引内容包括分包类型、起始位置以及结束位置。所述分包类型例如可以是表示查询返回的报文类型的分包、表示交易成功的报文类型的分包以及表示交易失败的报文类型的分包等。所述自动化测试框架可以根据预期结果,判断所述第三报文对应的结
果与所述预期结果是否一致。所述预期结果可以人为进行设定,也可以通过大数据训练历史环境测试数据进行设定。所述预期结果存放在自动化测试框架中,可以有效避免存放在管理平台时被覆盖。
56.s105:所述自动化测试框架响应于所述第三报文对应的结果与所述预期结果一致,所述自动化测试框架确定接口测试结果为通过。
57.如果所述第三报文对应的结果与所述预期结果一致,则所述自动化测试框架确定接口测试结果为通过;如果所述第三报文对应的结果与所述预期结果不一致,则所述自动化测试框架确定接口测试结果为失败;如果判断失败,则所述自动化测试框架确定接口测试结果为失败。所述判断失败例如可以是所述自动化测试框架没有接收到第三报文,造成无法进行s104判断步骤,进而导致结果失败。
58.以上为本技术实施例提供接口的测试方法的一些具体实现方式,基于此,本技术还提供了对应的接口的测试装置。下面将从功能模块化的角度对本技术实施例提供的接口的测试装置进行介绍。
59.参见图2所示的接口的测试装置200的结构示意图,该装置200包括获取单元210、替换单元220、接受单元230、判断单元240和响应单元250。
60.所述获取单元210,用于通过管理平台获取第一报文,所述第一报文用于描述待测接口的数据信息;
61.替换单元220,用于对第一报文进行关键数据替换,得到第二报文;
62.接受单元230,用于接收第三报文,所述第三报文为第二报文经过环境测试后返回的报文;
63.判断单元240,用于根据预期结果,判断所述第三报文对应的结果与所述预期结果是否一致;
64.响应单元250,用于响应于所述第三报文对应的结果与所述预期结果一致,所述自动化测试框架确定接口测试结果为通过。
65.本技术实施例提供了一种接口的测试装置。在执行所述接口的测试装置相对应的方法时,首先自动化测试框架通过管理平台获取第一报文,所述第一报文用于描述待测接口的数据信息。接着,所述自动化测试框架对第一报文进行关键数据替换,得到第二报文。然后,所述自动化测试框架接收第三报文,所述第三报文为第二报文经过环境测试后返回的报文。然后,所述自动化测试框架根据预期结果,判断所述第三报文对应的结果与所述预期结果是否一致。最后,所述自动化测试框架响应于所述第三报文对应的结果与所述预期结果一致,所述自动化测试框架确定接口测试结果为通过。这样,通过自动化测试框架实现对接口进行测试,达到提升测试效率的目的。
66.在一种可能的实现方式中,所述接受单元230用于将所述第二报文发送至所述管理平台进行相对应的环境测试;接收来自所述管理平台返回的所述第三报文。
67.在一种可能的实现方式中,所述接受单元230用于根据系统显示要求,确定所述第二报文发送时的编码形式;根据确定的编码形式发送所述第二报文。
68.在一种可能的实现方式中,所述装置还包括区分存放单元,用于获取交易流或业务流相对应的调用频率;根据所述调用频率,区分存放交易脚本封装以及业务脚本封装。
69.本技术实施例还提供了对应的设备以及计算机存储介质,用于实现本技术实施例
提供的方案。
70.其中,所述设备包括存储器和处理器,所述存储器用于存储指令或代码,所述处理器用于执行所述指令或代码,以使所述设备执行本技术任一实施例所述的接口的测试方法。
71.所述计算机存储介质中存储有代码,当所述代码被运行时,运行所述代码的设备实现本技术任一实施例所述的接口的测试方法。
72.本技术实施例中提到的“第一”、“第二”(若存在)等名称中的“第一”、“第二”只是用来做名字标识,并不代表顺序上的第一、第二。
73.通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例接口的测试方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本技术的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(英文:read-only memory,rom)/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如路由器等网络通信设备)执行本技术各个实施例或者实施例的某些部分所述的接口的测试方法。
74.上述计算机存储介质包含的计算机程序代码可以用任意适当的介质传输,包括:无线、电线、光缆、射频(radio frequency,rf)或者以上任意合适的组合。
75.可以以汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或以一种或多种程序设计语言或其组合来编写用于执行本技术实施例操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言,例如:java、smalltalk、c++,还包括常规的过程式程序设计语言,例如:c语言或类似的程序设计语言。计算机程序代码可以完全的在用户计算机上执行、部分的在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行以及完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括:局域网(lan)或广域网(wan),可以连接到用户计算机,也可以连接到外部计算机。
76.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
77.以上所述仅是本技术示例性的实施方式,并非用于限定本技术的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1