一、接口的产生
1、接口的定义
一般来说,接口分为硬件类接口和软件类接口。银行系统的接口一般指的是软件接口,软件接口分为两种:
(1)程序内部的接口:方法与方法、模块与模块之间的交互,程序内部抛出的接口,用于模块与模块之间的交互,使用于自身的系统。
(2)系统对外的接口:与银行别的业务系统之间的交互。由于对方系统不会提供数据库共享,只提供一个写好的方法,让其对接,业务系统需通过这个写好的方法,来获取自身系统想要的数据。这个写好的方法,就是对外的接口。
2、接口的分类
接口一般分为两种:
(1)webService接口:走soap协议通过http传输,请求报文和返回报文都是xml格式的。测试时需要通过工具才能进行调用、测试。银行系统基本上不用这种类型,这种类型目前还有少数行业在使用。
(2)httpapi接口:走http协议,通过路径来区分调用的方法。请求和报文都是key-value形式的,返回报文一般都是json串,有get和post等方法。银行系统目前都用这种接口类型。
二、接口测试的概念
1、接口测试的定义
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
2、接口测试的意义
(1)如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,接口测试可以为这种情况提供解决方案。
(2)能够提早发现系统内部及系统间的缺陷,符合质量风险管控前移的理念。
(3)接口测试可以自动化并且是持续集成的,缩短项目周期,低成本高效益,特别适合敏捷开发及持续测试。
(4)从用户的角度对系统接口进行全面检测。实际项目中,接口测试会覆盖一定程度的业务逻辑。
三、接口测试点的分析
1、接口测试的准备
做接口测试之前,需要先检查一下需要的东西是否已经就位。
2、接口的种类及关注点分析
从开发的角度上定义,接口类型可分为新增接口、接口修改和接口复用。测试团队根据接口类型的不同,需要关注的测试要点也是不同的,如下表所示:
四、实例
以一个银行信用卡核心系统的一支客户信息查询交易为例。这个交易为新增交易,它的界面如图1、所示。在这个界面中,查询条件区存在卡号、姓名、证件号等查询条件。列表返回区有币种、客户、名字类型、客户卡等等字段。
在卡核心中,这个接口中的字段如图2所示。
以这支交易为例,接口的分析点如下图所示:
以接口的分析点,编写的测试用例如下:
五、小结
银行的业务都是由不同的应用系统组成链路而成的,接口成为各个应用系统的“关口”,而接口测试则有“过五关,斩六将”的气势。希望已经在或是即将在银行测试的小伙伴们,除了要重视本身的应用系统的各种类型测试之外,还要重视与本身相关联系统的接口的测试。
作者:陆空