CN112561690B - 信用卡分期业务接口的测试方法、系统、设备及存储介质 - Google Patents
信用卡分期业务接口的测试方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN112561690B CN112561690B CN202011542632.2A CN202011542632A CN112561690B CN 112561690 B CN112561690 B CN 112561690B CN 202011542632 A CN202011542632 A CN 202011542632A CN 112561690 B CN112561690 B CN 112561690B
- Authority
- CN
- China
- Prior art keywords
- interface
- data
- tested
- test
- result data
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 167
- 238000000034 method Methods 0.000 title claims description 35
- 238000004088 simulation Methods 0.000 claims abstract description 41
- 238000012797 qualification Methods 0.000 claims description 17
- 238000012795 verification Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 9
- 238000010998 test method Methods 0.000 abstract description 9
- 230000006870 function Effects 0.000 description 11
- 230000006399 behavior Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/03—Credit; Loans; Processing thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- Technology Law (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供一种信用卡分期业务接口的测试方法,包括根据接口测试指令,获取待测接口和测试请求报文;通过模拟组件模拟生成第一接口,其中,所述第一接口为所述待测接口依赖的接口;根据所述第一接口和所述待测接口,生成预期结果数据;通过所述第一接口和所述待测接口,基于所述测试请求报文中的测试数据生成对象值;从所述对象值中获取实际结果数据;及根据所述预期结果数据与实际结果数据,得到测试结论数据。本发明实施例通过模拟组件模拟生成第一接口,可以忽略真实的第一接口的状态、逻辑,直接且快速地得到模拟第一接口返回的数据;有效提高了待测接口测试的效率和准确率。
Description
技术领域
本发明实施例涉及测试技术领域,尤其涉及一种信用卡分期业务接口的测试方法、系统、计算机设备及计算机可读存储介质。
背景技术
信用卡分期系统是信用卡系统中的核心工程之一,用于为用户提供分期服务,其核心功能包括提供接口供各渠道资格查询和下单等,其特点在于过多地依赖下游系统获取额度和信用卡基础数据且涉及到大量的金额、手续费、优惠信息校验。
发明人意识到,在测试过程中,接口过多依赖外部接口和外部接口的数据源不稳定,容易导致上述系统的接口的测试效率低、维护成本高,进而导致系统的发布上线慢。
发明内容
有鉴于此,本发明实施例提供了一种信用卡分期业务接口的测试方法、系统、计算机设备及计算机可读存储介质,用于解决提供数据源的下游接口不稳定导致待测接口测试效率低的问题。
本发明实施例是通过下述技术方案来解决上述技术问题:
一种信用卡分期业务接口的测试方法,包括:
根据接口测试指令,获取待测接口和测试请求报文;
通过模拟组件模拟生成第一接口,其中,所述第一接口为所述待测接口依赖的接口;
根据所述第一接口和所述待测接口,生成预期结果数据;
通过所述第一接口和所述待测接口,基于所述测试请求报文中的测试数据生成对象值;
从所述对象值中获取实际结果数据;及
根据所述预期结果数据与实际结果数据,得到测试结论数据。
可选地,所述通过模拟组件模拟生成第一接口的步骤,包括:
初始化所述第一接口的注解;及
通过所述模拟组件基于所述第一接口的注解,模拟生成所述第一接口。
可选地,所述通过所述第一接口和所述待测接口,基于所述测试请求报文中的测试数据生成对象值的步骤,包括:
从所述测试请求报文中获取所述测试数据;
接收所述第一接口基于所述测试数据生成的关联数据;及
基于所述第一接口和待测接口的依赖关系调用所述关联数据,生成所述对象值。
可选地,所述在根据所述第一接口和所述待测接口生成预期结果数据的步骤之后,所述方法还包括:
将所述预期结果数据存储于第一程序块中;及
调用所述第一程序块,获取所述预期结果数据。
可选地,所述待测接口为资格查询接口,所述预期结果数据为预期结果Json字符串数据,所述实际结果数据为实际结果Json字符串数据;
所述根据所述预期结果数据与实际结果数据,得到测试结论数据的步骤,包括:
将所述预期结果Json字符串数据序列化处理,得到预期结果键值对数据;
将所述实际结果Json字符串数据序列化处理,得到实际结果键值对数据;
将所述预期结果键值对数据添加至预期结果对象中,以及将所述实际结果键值对数据添加至实际结果对象中;
遍历所述预期结果对象的多个第一字段内容和所述实际结果对象的多个第二字段内容;及
根据每个第一字段内容断言与其对应的第二字段内容,得到所述测试结论数据。
可选地,所述待测接口为订单接口,所述预期结果数据为预期订单号对应的预期落库结果数据,所述实际结果数据为实际落库结果数据,其中,所述对象值包括实际订单号,所述实际落库结果数据为根据所述实际订单号查询得到的数据;
所述根据所述预期结果数据与实际结果数据,得到测试结论数据的步骤,包括:
遍历所述预期落库结果数据的多个第三字段内容和所述实际落库结果数据的多个第四字段内容;及
根据每个第三字段内容断言与其对应的第四字段内容,得到所述测试结论数据。
可选地,所述根据所述预期结果数据与实际结果数据,得到测试结论数据的步骤,包括:
获取预设的指定名单校验规则;
基于所述指定名单校验规则,确定所述预期结果数据中的多个第一有效节点;
基于所述指定名单校验规则,确定所述实际结果数据中的多个第二有效节点;及
根据每个第一有效节点的字段内容断言与其对应的第二有效节点的字段内容,得到所述测试结论数据。
为了实现上述目的,本发明实施例还提供一种信用卡分期业务接口的测试系统,包括:
第一获取模块,用于根据接口测试指令,获取待测接口和测试请求报文;
模拟模块,用于通过模拟组件模拟生成第一接口,其中,所述第一接口为所述待测接口依赖的接口;
第一生成模块,用于根据所述第一接口和所述待测接口,生成预期结果数据;
测试模块,用于通过所述第一接口和所述待测接口,基于所述测试请求报文中的测试数据生成对象值;
第二获取模块,用于从所述对象值中获取实际结果数据;及
测试结论生成模块,用于根据所述预期结果数据与实际结果数据,得到测试结论数据。
为了实现上述目的,本发明实施例还提供一种计算机设备,所述计算机设备包括存储器、处理器以及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述信用卡分期业务接口的测试方法的步骤。
为了实现上述目的,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上所述的信用卡分期业务接口的测试方法的步骤。
本发明实施例提供的信用卡分期业务接口的测试方法、系统、计算机设备及计算机可读存储介质,通过模拟组件模拟生成第一接口,并模拟第一接口的行为,结合待测接口,得到预期结果数据和实际结果数据;根据预期结果数据和实际结果数据得到测试结论数据;通过模拟组件模拟生成第一接口,可以忽略真实的第一接口的状态、逻辑,直接且快速地得到模拟第一接口返回的数据;有效提高了待测接口测试的效率和准确率。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1为本发明实施例一之信用卡分期业务接口的测试方法的步骤流程图;
图2为本发明实施例一之信用卡分期业务接口的测试方法中模拟生成第一接口的步骤流程图;
图3为本发明实施例一之信用卡分期业务接口的测试方法中模拟第一接口的行为的步骤流程图;
图4为本发明实施例一之信用卡分期业务接口的测试方法中存储预期结果数据的步骤流程图;
图5为本发明实施例一之信用卡分期业务接口的测试方法对象之的生成的步骤流程图;
图6为本发明实施例一之信用卡分期业务接口的测试方法中待测接口为资格查询接口时,得到测试结论数据的步骤流程图;
图7为本发明实施例一之信用卡分期业务接口的测试方法中待测接口为订单接口时,得到测试结论数据的步骤流程图;
图8为本发明实施例一之信用卡分期业务接口的测试方法根据指定名单校验规则,得到测试结论数据的步骤流程图;
图9为本发明实施例二之信用卡分期业务接口的测试系统的程序模块示意图;
图10为本发明实施例三之计算机设备的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
在本发明的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本发明及区别每一步骤,因此不能理解为对本发明的限制。
实施例一
请参阅图1,示出了本发明实施例之信用卡分期业务接口的测试方法的步骤流程图。需要说明的是,下面以计算机设备为执行主体进行示例性描述,具体如下。
如图1所示,所述信用卡分期业务接口的测试方法可以包括步骤S100~S600,其中:
步骤S100,根据接口测试指令,获取待测接口和测试请求报文。
在示例性的实施例中,所述待测接口包括但不限于资格查询接口、订单接口。其中,资格查询接口用于提供各种分期类型和期数对应的定价消息、分期活动信息(如分期优惠信息)。订单接口用于提供各种分期类型和期数下单入数据库的分期总金额、本金、手续费、优惠信息、差异化信息(如活动折扣信息)、优惠券信息等。
其中,所述测试请求报文包括待测接口的接口数据以及测试数据。待测接口的接口数据包括但不限于待测接口地址、待测接口名称、待测接口功能说明数据、待测接口规则数据、接口参数、传输方式等。所述接口参数可以包括请求参数、返回参数、参数类型等。进一步地,测试数据可以为在测试环境中构造的真实数据。
步骤S200,通过模拟组件模拟生成第一接口,其中,所述第一接口为所述待测接口依赖的接口。
在信用卡分期业务系统中,要实现某项业务,通常需要依赖多个接口。例如,用户想要通过信用卡分期系统的某个资格查询接口获取该用户的某笔账单的各种分期类型和期数对应的定价消息,信用卡分期系统则需要调用该资格查询接口以及调用与该资格查询接口依赖的A银行的信用卡业务系统的接口。可以理解为是,A银行的信用卡业务系统的接口为该资格查询接口所依赖的下游接口,该资格查询接口在响应用户的查询请求时,需要获取A银行的信用卡业务系统的接口返回的账单明细、校验结果等数据。示例性的,通过模拟(mock)组件模拟生成第一接口,是在测试过程中,创建一个mock对象,模拟生成的对象可以为接口,可以理解为是,模拟生成第一接口,并模拟该第一接口的行为。
在示例性的实施例中,如图2所示,所述步骤S200可以包括步骤S201~步骤S202,其中:步骤S201,初始化所述第一接口的注解;及步骤S202,通过所述模拟组件基于所述第一接口的注解,模拟生成第一接口。例如,接口A依赖接口B,接口B依赖接口C和接口D,当对接口A进行测试是,需要构造大量的接口B、C、D等依赖对象用于接口A的测试。接上例,资格查询接口依赖A银行的信用卡业务系统的接口,被测接口为资格查询接口,第一接口为A银行的信用卡业务系统的接口,不管A银行的信用卡业务系统的接口是否开发完成,都可以通过模拟组件去模拟出A银行的信用卡业务系统的接口用于资格查询接口的测试。
进一步地,当对所述待测接口进行一次测试时,则实时模拟出第一接口,并在所述第一接口和所述待测接口之间建立逻辑连接,所述第一接口作为所述待测接口依赖的下游接口。当该次测试完成时,则实时断开所述第一接口与所述待测接口的连接。通过实时模拟所述待测接口依赖的下游接口,并模拟下游接口的行为的操作,解决了依赖的下游接口不稳定和覆盖率场景不足的缺点,能够对待测接口进行大规模的系统和回归测试,以达到覆盖更多的接口分支和用户场景的作用;有效提高了接口测试的效率和回归测试的复用率,缩短测试开发时间。
在示例性的实施例中,所述信用卡分期业务接口的测试方法还包括:将模拟出的多个第一接口封装在第二程序块中,方便后续测试的调用,达到有效维护接口的效果。
步骤S300,根据所述第一接口和所述待测接口,生成预期结果数据。
示例性的,所述第一接口的预期结果返回条件可以被预先设定。
所述第一接口可以基于预期结果返回条件生成预期数据,并将预期数据发送到待测接口。所述待测接口可以基于该预期数据执行预期数据,生成预期结果数据。
在示例性的实施例中,请参阅图3,所述步骤S300还可以包括步骤S301~步骤S303,其中:步骤S301,根据所述第一接口创建预期结果返回条件;步骤S302,通过所述第一接口根据所述预期结果返回条件,生成预期数据;步骤S303,通过所述第一接口将所述预期数据发送至所述待测接口。具体的,预期结果返回条件可以根据实际需求自行设置,工作人员可以设置其想要的、任意的期待返回的内容。例如,调用某个函数三次,调用某个函数至少三次,调用某个函数多于三次少于六次,或不调用;或者执行满足特定类型、特定参数的调用等。在本实施例中,在对所述待测接口进行测试时,不需要构造出真实的第一接口,不需要考虑第一接口是否开发完成,不需要考虑下游的第一接口的质量。通过模拟第一接口,使得所述第一接口能够根据预期结果返回条件,快速返回所述待测接口所需的预期数据,有效地提高了接口测试的效率。
在示例性的实施例中,参阅图4,上述步骤S300之后,所述信用卡分期业务接口的测试方法还可以包括步骤S311~步骤S312,其中,步骤S311,将所述预期结果数据存储于第一程序块中;及步骤S312,调用所述第一程序块,获取所述预期结果数据。在本实施例中,将所述预期结果数据存储于第一程序块中,方便后续测试的调用。
步骤S400,通过所述第一接口和所述待测接口,基于所述测试请求报文中的测试数据生成对象值。
在示例性的实施例中,如图5所示,所述步骤S400还可以包括步骤S401-S403,其中:步骤S401,从所述测试请求报文中获取所述测试数据;步骤S402,接收所述第一接口基于所述测试数据生成的关联数据;及步骤S403,基于所述第一接口和待测接口的依赖关系调用所述关联数据,生成所述对象值。在本实施例中,通过测试请求报文中的测试数据对待测接口执行测试,生成对象值。
步骤S500,从所述对象值中获取实际结果数据。
具体的,实际结果数据可以为实际结果Json字符串数据或者实际订单号。
步骤S600,根据所述预期结果数据与实际结果数据,得到测试结论数据。
其中,所述测试结论数据可以包括:
(1)所述预期结果数据与所述实际结果数据匹配的结论数据;或者
(2)所述预期结果数据与所述实际结果数据不匹配的结论数据。
进一步地,不同类型的待测接口,对应不同的测试结论数据的生成过程。
(1)所述待测接口为资格查询接口:
对于资格查询接口主要验证的是各种分期类型和期数对应的定价信息包括优惠定价信息清单。
具体的,所述预期结果数据为预期结果Json字符串数据,所述实际结果数据为实际结果Json字符串数据。
请参阅图6,所述步骤S600可以进一步包括步骤S601~S605,其中:步骤S601,将所述预期结果Json字符串数据序列化处理,得到预期结果键值对数据;步骤S602,将所述实际结果Json字符串数据序列化处理,得到实际结果键值对数据;步骤S603,将所述预期结果键值对数据添加至预期结果对象中,以及将所述实际结果键值对数据添加至实际结果对象中;步骤S604,遍历所述预期结果对象的多个第一字段内容和所述实际结果对象的多个第二字段内容;及步骤S605,根据每个第一字段内容断言与其对应的第二字段内容,得到所述测试结论数据。
具体的,将通过实时模拟得到的预期结果数据存放在json文件中,与返回的真实结果数据同时进行如下操作:将预期结果Json字符串数据和实际结果Json字符串数据序列化成键值对数据后,将键值对数据添加到对应的Java对象中,则能够将Json字符串转化为Java对象。其中,预期结果对象和实际结果对象均为Java map对象,再采用循环遍历的方式将实际结果对象中的多个第二字段内容和预期结果对象中的多个第一字段内容进行逐个比对,如有比对不一致的节点数据,生成测试结论数据为测试失败,并将比对不一致的节点数据打印出来,供结果分析使用。
(2)所述待测接口为订单接口:
对于订单接口主要验证的是各种分期类型和期数下单入数据库的金额,手续费等。具体的,所述预期结果数据为预期订单号对应的预期落库结果数据,所述实际结果数据为实际落库结果数据,其中,所述对象值包括实际订单号,所述实际落库结果数据为根据所述实际订单号查询得到的数据。进一步地,测试结论数据包括预期落库结果数据与所述实际落库结果数据匹配的结论数据或者预期落库结果数据与所述实际落库结果数据不匹配的结论数据。
请参阅图7,所述步骤S600还可以包括:步骤S611,遍历所述预期落库结果数据的多个第三字段内容和所述实际落库结果数据的多个第四字段内容;及步骤S612,根据每个第三字段内容断言与其对应的第四字段内容,得到所述测试结论数据。
以下以信用卡分期系统进行示例性说明上述待测接口为订单接口时的断言操作。
信用卡核心分析系统是在TestNG(单元测试)框架基础上引入了spring+mybatis框架搭建而成的;其中,spring框架是一个轻量级的Java开发框架,mybatis框架是可以进行SQL查询,存储过程和高级映射的优秀持久层框架。通过订单接口生成实际订单号(orderid)查询出实际落库结果数据,根据实际落库结果数据中的第四字段内容和预期落库结果数据中对应的第三字段内容执行断言,如有比对不一致的节点数据,生成测试结论数据为测试失败,并将比对不一致的节点数据打印出来,供结果分析使用。
通过上述循环遍历字段内容的方式执行断言,能够高效、全面地得到测试结论数据。
在示例性的实施例中,如图8所示,所述步骤S600可以包括步骤S620~步骤S623,其中:步骤S620,获取预设的指定名单校验规则;步骤S621,基于所述指定名单校验规则,确定所述预期结果数据中的多个第一有效节点;步骤S622,基于所述指定名单校验规则,确定所述实际结果数据中的多个第二有效节点;及步骤S623,根据每个第一有效节点的字段内容断言与其对应的第二有效节点的字段内容,得到所述测试结论数据。
以下以信用卡分期系统进行示例性说明上述对于实际结果数据的断言操作。根据信用卡分期业务系统的版本的差异,不同版本的接口的契约会变化,入参可能增加或减少,通过被测接口的实际结果数据字段内容对应的节点或预期结果数据的字段内容对应的节点可能存在多节点或者少节点的情况,加入预设的指定名单校验规则,根据指定名单校验规则一一比对实际结果数据和预期结果数据的有效节点,从而有选择性地验证有效节点对应的字段内容。其中,节点可以理解为字段。指定名单校验规则包括白名单校验规则和/或黑名单校验规则。指定名单校验规则根据系统不同的版本进行动态化设置。
示例性的,当指定名单校验规则为白名单校验规则时,根据白名单校验规则确定预期结果数据中包括的白名单字段为一个或多个第一有效节点,以及根据白名单校验规则确定实际结果数据中包括的白名单字段为一个或多个第二有效节点,根据每个第一有效节点的字段内容断言与其对应的第二有效节点的字段内容,得到测试结论数据。
示例性的,当指定名单校验规则为黑名单校验规则时,根据黑名单校验规则删除预期结果数据中包括的黑名单字段,确定预期结果数据中的其余字段为一个或多个第一有效节点,以及根据黑名单校验规则删除实际结果数据中包括的黑名单字段,确定实际结果数据中其余字段为一个或多个第二有效节点,根据每个第一有效节点的字段内容断言与其对应的第二有效节点的字段内容,得到测试结论数据。
引入指定名单校验规则,能够在满足系统不同版本的差异的前提下,有效、快速地进行接口测试;进一步提高接口测试的效率和准确率。
本发明实施例通过模拟组件模拟生成第一接口,可以忽略真实的第一接口的状态、逻辑,直接且快速地得到模拟第一接口返回的数据;有效提高了待测接口测试的效率和准确率。
实施例二
请继续参阅图9,示出了本发明信用卡分期业务接口的测试系统的程序模块示意图。在本实施例中,信用卡分期业务接口的测试系统20可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述信用卡分期业务接口的测试方法。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述信用卡分期业务接口的测试系统20在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
第一获取模块700,用于根据接口测试指令,获取待测接口和测试请求报文;
模拟模块710,用于通过模拟组件模拟生成第一接口,其中,所述第一接口为所述待测接口依赖的接口;
第一生成模块720,用于根据所述第一接口和所述待测接口,生成预期结果数据;
测试模块730,用于通过所述第一接口和所述待测接口,基于所述测试请求报文中的测试数据生成对象值;
第二获取模块740,用于从所述对象值中获取实际结果数据;及
测试结论生成模块750,用于根据所述预期结果数据与实际结果数据,得到测试结论数据。
在示例性的实施例中,所述模拟模块710,还用于:初始化所述第一接口的注解;及通过所述模拟组件基于所述第一接口的注解,模拟生成第一接口。
在示例性的实施例中,所述测试模块730,还用于:从所述测试请求报文中获取所述测试数据;接收所述第一接口基于所述测试数据生成的关联数据;及基于所述第一接口和待测接口的依赖关系调用所述关联数据,生成所述对象值。
在示例性的实施例中,所述第一生成模块720,还用于:将所述预期结果数据存储于第一程序块中;及调用所述第一程序块,获取所述预期结果数据。
在示例性的实施例中,所述待测接口为资格查询接口,所述预期结果数据为预期结果Json字符串数据,所述实际结果数据为实际结果Json字符串数据;所述测试结论生成模块750,还用于:将所述预期结果Json字符串数据序列化处理,得到预期结果键值对数据;将所述实际结果Json字符串数据序列化处理,得到实际结果键值对数据;将所述预期结果键值对数据添加至预期结果对象中,以及将所述实际结果键值对数据添加至实际结果对象中;遍历所述预期结果对象的多个第一字段内容和所述实际结果对象的多个第二字段内容;及根据每个第一字段内容断言与其对应的第二字段内容,得到所述测试结论数据。
在示例性的实施例中,所述待测接口为订单接口,所述预期结果数据为预期订单号对应的预期落库结果数据,所述实际结果数据为实际落库结果数据,其中,所述对象值包括实际订单号,所述实际落库结果数据为根据所述实际订单号查询得到的数据;所述测试结论生成模块750,还用于:遍历所述预期落库结果数据的多个第三字段内容和所述实际落库结果数据的多个第四字段内容;及根据每个第三字段内容断言与其对应的第四字段内容,得到所述测试结论数据。
在示例性的实施例中,所述测试结论生成模块750,还用于:获取预设的指定名单校验规则;基于所述指定名单校验规则,确定所述预期结果数据中的多个第一有效节点;基于所述指定名单校验规则,确定所述实际结果数据中的多个第二有效节点;及根据每个第一有效节点的字段内容断言与其对应的第二有效节点的字段内容,得到所述测试结论数据。
实施例三
参阅图10,是本发明实施例三之计算机设备的硬件架构示意图。本实施例中,所述计算机设备2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。该计算机设备2可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图10所示,所述计算机设备2至少包括,但不限于,可通过系统总线相互通信连接存储器21、处理器22、网络接口23、以及信用卡分期业务接口的测试系统20。其中:
本实施例中,存储器21至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备2的内部存储单元,例如该计算机设备2的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备2的外部存储设备,例如该计算机设备2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器21还可以既包括计算机设备2的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备2的操作系统和各类应用软件,例如上述实施例的信用卡分期业务接口的测试系统20的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备2的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如运行信用卡分期业务接口的测试系统20,以实现上述实施例的信用卡分期业务接口的测试方法。
所述网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在所述计算机设备2与其他电子装置之间建立通信连接。例如,所述网络接口23用于通过网络将所述计算机设备2与外部终端相连,在所述计算机设备2与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,GSM)、宽带码分多址(WidebandCode Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图10仅示出了具有部件20-23的计算机设备2,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器21中的所述信用卡分期业务接口的测试系统20还可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器21中,并由一个或多个处理器(本实施例为处理器22)所执行,以完成本发明。
例如,图9示出了所述实现信用卡分期业务接口的测试系统20实施例二的程序模块示意图,该实施例中,所述基于信用卡分期业务接口的测试系统20可以被划分为第一获取模块700、模拟模块710、第一生成模块720、测试模块730、第二获取模块740以及测试结论生成模块750。其中,本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述信用卡分期业务接口的测试系统20在所述计算机设备2中的执行过程。所述程序模块700-750的具体功能在实施例二中已有详细描述,在此不再赘述。
实施例四
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储信用卡分期业务接口的测试系统20,被处理器执行时实现上述实施例的信用卡分期业务接口的测试方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种信用卡分期业务接口的测试方法,其特征在于,包括:
根据接口测试指令,获取待测接口和测试请求报文;
通过模拟组件模拟生成第一接口,其中,所述第一接口为所述待测接口依赖的接口;
根据所述第一接口和所述待测接口,生成预期结果数据;
通过所述第一接口和所述待测接口,基于所述测试请求报文中的测试数据生成对象值;
从所述对象值中获取实际结果数据;及
根据所述预期结果数据与实际结果数据,得到测试结论数据;
其中,所述通过模拟组件模拟生成第一接口的步骤,包括:
初始化所述第一接口的注解;及
通过所述模拟组件基于所述第一接口的注解,模拟生成所述第一接口;
其中,当对所述待测接口进行一次测试时,则实时模拟出第一接口,并在所述第一接口和所述待测接口之间建立逻辑连接,所述第一接口作为所述待测接口依赖的下游接口;
其中,所述第一接口基于预期结果返回条件生成预期数据,并将预期数据发送到待测接口,所述待测接口基于该预期数据执行预期数据,生成预期结果数据。
2.根据权利要求1所述的信用卡分期业务接口的测试方法,其特征在于,所述通过所述第一接口和所述待测接口,基于所述测试请求报文中的测试数据生成对象值的步骤,包括:
从所述测试请求报文中获取所述测试数据;
接收所述第一接口基于所述测试数据生成的关联数据;及
基于所述第一接口和待测接口的依赖关系调用所述关联数据,生成所述对象值。
3.根据权利要求2所述的信用卡分期业务接口的测试方法,其特征在于,在所述根据所述第一接口和所述待测接口生成预期结果数据的步骤之后,所述方法还包括:
将所述预期结果数据存储于第一程序块中;及
调用所述第一程序块,获取所述预期结果数据。
4.根据权利要求3所述的信用卡分期业务接口的测试方法,其特征在于,所述待测接口为资格查询接口,所述预期结果数据为预期结果Json字符串数据,所述实际结果数据为实际结果Json字符串数据;
所述根据所述预期结果数据与实际结果数据,得到测试结论数据的步骤,包括:
将所述预期结果Json字符串数据序列化处理,得到预期结果键值对数据;
将所述实际结果Json字符串数据序列化处理,得到实际结果键值对数据;
将所述预期结果键值对数据添加至预期结果对象中,以及将所述实际结果键值对数据添加至实际结果对象中;
遍历所述预期结果对象的多个第一字段内容和所述实际结果对象的多个第二字段内容;及
根据每个第一字段内容断言与其对应的第二字段内容,得到所述测试结论数据。
5.根据权利要求4所述的信用卡分期业务接口的测试方法,其特征在于,所述待测接口为订单接口,所述预期结果数据为预期订单号对应的预期落库结果数据,所述实际结果数据为实际落库结果数据,其中,所述对象值包括实际订单号,所述实际落库结果数据为根据所述实际订单号查询得到的数据;
所述根据所述预期结果数据与实际结果数据,得到测试结论数据的步骤,包括:
遍历所述预期落库结果数据的多个第三字段内容和所述实际落库结果数据的多个第四字段内容;及
根据每个第三字段内容断言与其对应的第四字段内容,得到所述测试结论数据。
6.根据权利要求2所述的信用卡分期业务接口的测试方法,其特征在于,
所述根据所述预期结果数据与实际结果数据,得到测试结论数据的步骤,包括:
获取预设的指定名单校验规则;
基于所述指定名单校验规则,确定所述预期结果数据中的多个第一有效节点;
基于所述指定名单校验规则,确定所述实际结果数据中的多个第二有效节点;及
根据每个第一有效节点的字段内容断言与其对应的第二有效节点的字段内容,得到所述测试结论数据。
7.一种信用卡分期业务接口的测试系统,其特征在于,包括:
第一获取模块,用于根据接口测试指令,获取待测接口和测试请求报文;
模拟模块,用于通过模拟组件模拟生成第一接口,其中,所述第一接口为所述待测接口依赖的接口;其中,所述通过模拟组件模拟生成第一接口的步骤,包括:初始化所述第一接口的注解;及通过所述模拟组件基于所述第一接口的注解,模拟生成所述第一接口;
第一生成模块,用于根据所述第一接口和所述待测接口,生成预期结果数据;
测试模块,用于通过所述第一接口和所述待测接口,基于所述测试请求报文中的测试数据生成对象值;其中,当对所述待测接口进行一次测试时,则实时模拟出第一接口,并在所述第一接口和所述待测接口之间建立逻辑连接,所述第一接口作为所述待测接口依赖的下游接口;
第二获取模块,用于从所述对象值中获取实际结果数据;及
测试结论生成模块,用于根据所述预期结果数据与实际结果数据,得到测试结论数据。
8.一种计算机设备,所述计算机设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述的信用卡分期业务接口的测试方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如权利要求1至6中任一项所述的信用卡分期业务接口的测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011542632.2A CN112561690B (zh) | 2020-12-23 | 2020-12-23 | 信用卡分期业务接口的测试方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011542632.2A CN112561690B (zh) | 2020-12-23 | 2020-12-23 | 信用卡分期业务接口的测试方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112561690A CN112561690A (zh) | 2021-03-26 |
CN112561690B true CN112561690B (zh) | 2024-05-28 |
Family
ID=75031810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011542632.2A Active CN112561690B (zh) | 2020-12-23 | 2020-12-23 | 信用卡分期业务接口的测试方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112561690B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113076134A (zh) * | 2021-04-08 | 2021-07-06 | 广州虎牙科技有限公司 | 一种api变更监测方法、系统、客户端、及电子设备 |
CN113672513A (zh) * | 2021-08-23 | 2021-11-19 | 四川新网银行股份有限公司 | 一种自动生成测试挡板的系统及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108829584A (zh) * | 2018-05-24 | 2018-11-16 | 携程计算机技术(上海)有限公司 | 业务逻辑接口mock测试方法及系统 |
CN110727587A (zh) * | 2019-09-20 | 2020-01-24 | 平安普惠企业管理有限公司 | 测试数据的获取方法、装置、存储介质及计算机设备 |
-
2020
- 2020-12-23 CN CN202011542632.2A patent/CN112561690B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108829584A (zh) * | 2018-05-24 | 2018-11-16 | 携程计算机技术(上海)有限公司 | 业务逻辑接口mock测试方法及系统 |
CN110727587A (zh) * | 2019-09-20 | 2020-01-24 | 平安普惠企业管理有限公司 | 测试数据的获取方法、装置、存储介质及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112561690A (zh) | 2021-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107885656B (zh) | 产品算法自动化测试方法及应用服务器 | |
CN109726108B (zh) | 基于模拟数据的前端代码测试方法、装置、系统和介质 | |
CN110377462B (zh) | 接口测试方法、装置及终端设备 | |
CN111045935B (zh) | 版本自动审核方法、装置、设备及存储介质 | |
CN107908553B (zh) | 关联测试方法、应用服务器及计算机可读存储介质 | |
CN105101122A (zh) | 验证码输入方法和装置 | |
CN108111364B (zh) | 一种业务系统的测试方法及装置 | |
CN112579455B (zh) | 一种接口自动化测试方法、装置、电子设备及存储介质 | |
CN112561690B (zh) | 信用卡分期业务接口的测试方法、系统、设备及存储介质 | |
CN110659870A (zh) | 业务审核测试方法、装置、设备及存储介质 | |
CN112631924A (zh) | 自动化测试方法、装置、计算机设备及存储介质 | |
CN112559635B (zh) | 以太坊联盟链节点的业务处理方法、装置、设备及介质 | |
CN117009208A (zh) | 依赖关系信息的处理方法、装置、设备及存储介质 | |
CN111427582B (zh) | Rtl代码的管理方法、装置、设备及计算机可读存储介质 | |
CN117076330B (zh) | 一种访存验证方法、系统、电子设备及可读存储介质 | |
CN112433935A (zh) | 测试方法、装置、电子设备及存储介质 | |
CN112651716A (zh) | 数据处理方法、设备及存储介质 | |
CN113868116B (zh) | 测试依赖数据的生成方法、装置、服务器及存储介质 | |
CN117493188A (zh) | 接口测试方法及装置、电子设备及存储介质 | |
CN115052037B (zh) | 客户端检测方法、装置、存储介质和设备 | |
CN112799956B (zh) | 资产识别能力测试方法、装置及系统装置 | |
CN113821443B (zh) | 应用程序的功能检测方法、装置、设备及存储介质 | |
CN116737535A (zh) | 接口测试方法、装置、计算机设备和存储介质 | |
CN116401148A (zh) | 表单数据校验方法及装置 | |
CN115292178A (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 |