CN106997322A - 用于自动化测试的方法及设备 - Google Patents

用于自动化测试的方法及设备 Download PDF

Info

Publication number
CN106997322A
CN106997322A CN201710082224.5A CN201710082224A CN106997322A CN 106997322 A CN106997322 A CN 106997322A CN 201710082224 A CN201710082224 A CN 201710082224A CN 106997322 A CN106997322 A CN 106997322A
Authority
CN
China
Prior art keywords
test
message
end processor
simulation
test case
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.)
Granted
Application number
CN201710082224.5A
Other languages
English (en)
Other versions
CN106997322B (zh
Inventor
李盛
王磊
郑雪纯
黄定候
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WANGYIBAO Co Ltd
Original Assignee
WANGYIBAO Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by WANGYIBAO Co Ltd filed Critical WANGYIBAO Co Ltd
Priority to CN201710082224.5A priority Critical patent/CN106997322B/zh
Publication of CN106997322A publication Critical patent/CN106997322A/zh
Application granted granted Critical
Publication of CN106997322B publication Critical patent/CN106997322B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明的实施方式提供了一种用于自动化测试的方法。该用于自动化测试的方法包括:在接收到用于触发获取测试用例数据的请求的情况下,从模拟前置机处获取测试用例数据;根据所述获取的测试用例数据执行测试操作。此外,本发明实施方式还提供了一种用于自动化测试的设备以及计算机可读存储介质。

Description

用于自动化测试的方法及设备
技术领域
本发明的实施方式涉及网络通讯领域,更具体地,本发明的实施方式涉及用于自动化测试的方法、用于自动化测试的设备及计算机可读存储介质。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或者上下文。此处的描述不因为包括在本部分中就承认是现有技术。
程序测试也即软件测试通常是指针对一个完成了全部或者部分功能/模块的计算机程序在正式使用前的检测,以确保计算机程序能够按预定方式正确运行。
目前,已经存在利用Mock技术实现程序测试的技术方案,即利用Mock来模拟一些在应用中不容易构造或者不容易获得的对象,从而可以将测试与测试边界以外的对象隔离开;例如,设定程序在调用一HTTP接口时,预期该HTTP接口会返回Success,则可以预先将调用该HTTP接口的返回值写入相应的接口文档中,这样在测试过程中,如果程序调用HTTP接口,则并不需要真正去访问该HTTP接口,而是由Mock所模拟的对象直接返回该接口文档中相应的返回值即可,从而测试过程不必依赖真正的接口被调用后的返回值。
发明内容
但是,由于在测试过程需要使用风险管理平台下发的指令的情况下,往往需要反复和CFCA(China Financial Certification Authority,中国人民银行授权中国金融认证中心,下述简称为人行)工作人员沟通,发送测试数据给工作人员,工作人员将测试需要的下行报文发送到金融城域网从而实现预埋到CFCA前置机。而由于前置系统接入前置机的过程通常较晚,相关工作人员少而全国有百余家支付机构,反馈时效性往往较差,无疑会对项目的上线进度产生影响;另外,在已经正式上线的前置系统中新增功能或者修改已有功能的情况下,通常需要利用已经正式上线的备用前置系统进行测试,然而测试过程可能会对线上系统的稳定性造成影响;再有,目前的前置系统与前置机之间的通信方式通常采用Socket(套接字)方式,且前置系统与前置机之间传输的报文通常为XML(eXtensibleMarkup Language,可扩展标记语言)格式的报文,而现有的Mock技术中,用来模拟应用中不容易构造或者不容易获得的对象时,通常使用独立的Mock机,而是用的Mock机和测试设备通常分属于不同的物理实体,二者之间通常通过HTTP协议通信,由此现有的通过调用HTTP接口而获得相应的返回值的程序测试的技术方案无法直接应用于涉及与前置机进行信息交互的程序测试中。
因此在现有技术中,项目上线进度会受到程序测试的影响,线上系统的稳定性存在安全隐患,且基于Mock技术的程序测试方式无法直接应用于涉及与前置机进行信息交互的程序测试中;这是非常令人烦恼的过程。
为此,非常需要一种改进的用于自动化测试的技术方案,在能够对前置系统中的程序进行自动化测试的同时,提高项目上线进度,并消除测试过程对线上系统的稳定性造成影响。
在本上下文中,本发明的实施方式期望提供一种用于自动化测试的方法、设备以及计算机可读存储介质。
在本发明实施方式的第一方面,提供了一种用于自动化测试的方法,包括:在接收到用于触发获取测试用例数据的请求的情况下,从模拟前置机处获取测试用例数据;根据所述获取的测试用例数据执行测试操作。
在本发明的一个实施例中,所述模拟前置机设置于前置系统中,且所述前置系统通过前置机与金融城域网连接。由于模拟前置机设置于前置系统中,且前置系统和模拟前置机之间的通信并不使用现有技术中HTTP的通信方式,而是可以采取从本地读取数据的通信方式,因此绕过了socket的通信方式,使获取测试用例数据的方式简单易行。
在本发明的又一个实施例中,所述模拟前置机包括:基于MOCK的模拟前置机,且所述请求包括:超文本传输协议HTTP请求。
在本发明的再一个实施例中,所述在接收到用于触发获取测试用例数据的请求的情况下,从模拟前置机处获取测试用例数据的步骤包括:在确定出接收到的所述请求中包含有用于表征模拟前置机的标识的情况下,从模拟前置机处获取测试用例数据。
在本发明的再一个实施例中,所述方法还包括:在确定出接收到的所述请求中未包含有用于表征模拟前置机的标识的情况下,从前置机处获取测试用例数据,从而有效隔离了真实测试环境和Mock测试环境。
在本发明的再一个实施例中,所述从模拟前置机处获取测试用例数据的步骤包括:获取模拟前置机的预设下行报文集合中的至少一部分下行报文;其中所述下行报文包括:传输方向为由金融城域网中的风险管理平台到前置系统的报文。
在本发明的再一个实施例中,所述预设下行报文集合包括:基于可扩展标记语言XML的报文。
在本发明的再一个实施例中,所述从模拟前置机处获取测试用例数据的步骤还包括:从模拟前置机处获取至少一个支付机构的黑名单数据。
在该实施例中,可以在模拟前置机中存储模拟人行的黑名单数据;模拟人行黑名单数据包括:前置系统接收到的来自金融城域网中的风险管理平台的黑名单即所有支付机构上传的测试黑名单数据,和/或测试人员自行模拟的黑名单数据。该黑名单通过FTP协议传递,方向为模拟前置机到前置系统。
模拟人行黑名单数据和模拟前置机中设置的下行报文分别存储在不同的存储路径下。在本发明的再一个实施例中,所述预设下行报文集合中的下行报文包括:前置系统接收到的来自金融城域网中的风险管理平台的报文和/或对前置系统接收到的来自金融城域网中的风险管理平台的报文进行改造而获得的报文。
在本发明的再一个实施例中,所述改造而获得的报文包括:滤除了来自金融城域网中的风险管理平台的报文的至少一部分附件内容,并对报文中的部分参数进行修改而获得报文。
改造来自金融城域网的真实的下行报文是易于实现的。改造而获得的报文与真实的下行报文相比,其内容中除了用户账户、报文唯一标识,以及报文的主要指令——冻结、止付、查询参数等不一致,其他都是模板类内容,是可以不变的。而对于改造而获得的报文中用户账户、报文唯一标识,以及报文的主要指令——冻结、止付、查询等参数,可以依据测试人员用例来设置;此外,对于真实报文的附件内容——警官证照片等前置系统不需要的内容,在系统开发设计中已经在上层过滤,即不设置在改造而获得的报文中。
在本发明的再一个实施例中,所述方法还包括:将执行测试操作所产生的上行报文存储于预设上行报文集合中;其中,所述上行报文包括:传输方向为由前置系统到金融城域网中的风险管理平台的报文。
在本发明的再一个实施例中,所述方法还包括:将预设上行报文集合中的上行报文与相应的标准上行报文进行比较,并输出比较结果;其中,所述比较结果用于确定测试结果。
在本发明的再一个实施例中,所述将预设上行报文集合中的上行报文与相应的标准上行报文进行比较的步骤包括:计算所述预设上行报文集合中的上行报文的消息摘要算法第五版MD5值以及所述相应的标准上行报文的消息摘要算法第五版MD5值;比较两个MD5值是否相同。
在本发明实施方式的第二方面,提供了一种用于自动化测试的设备,包括:第一获取模块,用于在接收到用于触发获取测试用例数据的请求的情况下,从模拟前置机处获取测试用例数据;测试模块,用于根据所述获取的测试用例数据执行测试操作。
在本发明的一个实施例中,所述模拟前置机设置于前置系统中,且所述前置系统通过前置机与金融城域网连接。
在本发明的又一个实施例中,所述模拟前置机包括:基于MOCK的模拟前置机,且所述请求包括:超文本传输协议HTTP请求。
在本发明的再一个实施例中,所述第一获取模块具体用于:在确定出接收到的所述请求中包含有用于表征模拟前置机的标识的情况下,从模拟前置机处获取测试用例数据。
在本发明的再一个实施例中,所述设备还包括:第二获取模块,用于在确定出接收到的所述请求中未包含有用于表征模拟前置机的标识的情况下,从前置机处获取测试用例数据。
在本发明的再一个实施例中,所述第一获取模块具体用于:获取模拟前置机的预设下行报文集合中的至少一部分下行报文;其中,所述下行报文包括:传输方向为由金融城域网中的风险管理平台到前置系统的报文。
在本发明的再一个实施例中,所述预设下行报文集合包括:基于可扩展标记语言XML的报文。
在本发明的再一个实施例中,所述第一获取模块还具体用于:从模拟前置机处获取至少一个支付机构的黑名单数据。
在该实施例中,可以在模拟前置机中存储模拟人行的黑名单数据;模拟人行黑名单数据包括:前置系统接收到的来自金融城域网中的风险管理平台的黑名单数据即所有支付机构上传的测试黑名单数据,和/或测试人员自行模拟的黑名单数据。该黑名单通过FTP协议传递,方向为模拟前置机到前置系统。模拟人行黑名单数据和模拟前置机中设置的下行报文分别存储在不同的存储路径下。
在本发明的再一个实施例中,所述预设下行报文集合中的下行报文包括:前置系统接收到的来自金融城域网中的风险管理平台的报文和/或对前置系统接收到的来自金融城域网中的风险管理平台的报文进行改造而获得的报文。
在本发明的再一个实施例中,所述改造而获得的报文包括:滤除了来自金融城域网中的风险管理平台的报文的至少一部分附件内容,并对报文中的部分参数进行修改而获得报文。
在本发明的再一个实施例中,所述设备还包括:上行处理模块,用于将执行测试操作所产生的上行报文存储于预设上行报文集合中;其中,所述上行报文包括:传输方向为由前置系统到金融城域网中的风险管理平台的报文。
在本发明的再一个实施例中,所述设备还包括:比较模块,用于将预设上行报文集合中的上行报文与相应的标准上行报文进行比较,并输出比较结果;其中,所述比较结果用于确定测试结果。
在本发明的再一个实施例中,所述比较模块具体用于:计算所述预设上行报文集合中的上行报文的消息摘要算法第五版MD5值以及所述相应的标准上行报文的消息摘要算法第五版MD5值;比较两个MD5值是否相同。
在本发明实施方式的第三方面中,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明的第一方面中的相应步骤。
根据本发明实施方式的用于自动化测试的方法、用于自动化测试的设备以及计算机可读存储介质,通过设置模拟前置机,并在模拟前置机处设置测试用例数据,这样在接收到用于触发获取测试用例数据的请求的情况下,可以从模拟前置机处获取测试用例数据来执行测试操作,而不需要必须从前置机处获得测试用例数据,因此,本发明实施方式提供的程序测试技术可以在前置系统接入前置机之前进行程序测试,避免了由于前置系统接入前置机的过程较晚使测试操作滞后进而对项目上线进度产生影响的现象;另外,本发明实施方式通过利用预设的模拟前置机来实现测试,在已经正式上线的前置系统中新增功能或者修改已有功能时,可以在不增加新的用于测试的前置系统的情况下,不需要改变已经正式上线的备用前置系统的角色使其成为测试环境来进行程序的测试,而是通过在备用前置系统中设置模拟前置机或者设置模拟前置机和测试用户数据,即可实现程序的测试,从而在避免配置新设备的同时,消除了测试过程为线上系统所带来的不稳定因素;由此可知,本发明实施方式提供了一种新的程序自动化测试技术方案,该技术方案在提高了项目上线进度的同时,有利于保证线上系统的稳定性,且具有较低的测试成本。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示意性地示出了根据本发明实施方式的可以在其中实现的一应用场景示意图;
图2示意性地示出了根据本发明实施方式的可以在其中实现的另一应用场景示意图;
图3示意性地示出了根据本发明一实施例的用于自动化测试的方法流程图;
图4示意性地示出了根据本发明一实施例的用于自动化测试的设备的结构示意图;
图5示意性地示出了根据本发明一实施例的计算机的结构示意图;
图6示意性地示出了根据本发明一实施例的计算机可读存储介质的示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术技术人员知道,本发明的实施方式可以实现为一种设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种用于自动化测试的方法、设备以及计算机可读存储介质。
在本文中,需要理解的是,本发明实施方式所涉及的术语Mock是一种单元测试中常见的技术,Mock可以通过模拟一些在应用中不容易构造或者不容易获得的对象将测试与测试边界以外的对象隔离开。本发明实施方式所涉及的术语前置机是指由CFCA开发的一款能够接入金融城域网的物理机,且目前我国几乎所有的支付机构都依赖于该物理机接入金融城域网中的风险管理平台。本发明实施方式所涉及的术语前置系统通常是指支付机构自己建立的系统,且前置系统主要用于与前置机对接,以解析来自风险管理平台的下行报文、拼装向风险管理平台发送的上行报文,并将相关部门(如中国人民银行以及公安部等)传输来的指令传达给相应的业务系统(如支付机构中的风险控制系统以及支付业务系统等)。此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
本发明人发现,由于在测试过程需要使用风险管理平台下发的指令的情况下,往往需要反复和CFCA工作人员沟通,发送测试数据给工作人员,工作人员将测试需要的下行报文发送到金融城域网从而实现预埋到CFCA前置机。而由于前置系统接入前置机的过程通常较晚,相关工作人员少而全国有百余家支付机构,反馈时效性往往较差,无疑会对项目的上线进度产生影响;另外,在已经正式上线的前置系统中新增功能或者修改已有功能的情况下,通常需要利用已经正式上线的备用前置系统进行测试,然而测试过程可能会对线上系统的稳定性造成影响;再有,目前的前置系统与前置机之间的通信方式通常采用Socket方式,且前置系统与前置机之间传输的报文通常为XML格式的报文,而现有的Mock技术中,用来模拟应用中不容易构造或者不容易获得的对象时,使用独立的MOCK机,MOCK机和测试设备分属不同的物理实体,二者之间通过HTTP协议通信,由此,现有的通过调用HTTP接口而获得相应的返回值的程序测试的技术方案无法直接应用于涉及与前置机进行信息交互的程序测试中。
因此,针对现有技术中的项目上线进度会受到程序测试的影响、线上系统的稳定性存在安全隐患以及基于Mock技术的程序测试方式无法直接应用于涉及与前置机进行信息交互的程序测试中等技术问题,本发明实施方式提供了一种用于自动化测试的方法以及设备,通过利用模拟前置机(如基于Mock的模拟前置机)实现自动化测试。在本发明实施方式中,通过设置模拟前置机,并在模拟前置机处设置测试用例数据,这样,在接收到用于触发获取测试用例数据的请求的情况下,可以从模拟前置机处获取测试用例数据来执行测试操作,而不需要必须从前置机处获得测试用例数据,从而本发明实施方式可以在前置系统接入前置机之前进行程序测试,避免了由于前置系统接入前置机的过程较晚使测试操作滞后进而对项目上线进度产生影响的现象;另外,本发明实施方式通过利用预设的模拟前置机来实现测试,在已经正式上线的前置系统中新增功能或者修改已有功能时,可以在不增加新的用于测试的前置系统的情况下,不需要改变已经正式上线的备用前置系统的角色使其成为测试环境来进行程序的测试,而是通过在备用前置系统中设置模拟前置机或者设置模拟前置机和测试用户数据,即可实现程序的测试,从而在避免配置新设备的同时,消除了测试过程为线上系统所带来的不稳定因素;由此可知,本发明实施方式提供了一种新的程序自动化测试技术方案,该技术方案在提高了项目上线进度的同时,有利于保证线上系统的稳定性,且具有较低的测试成本。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
应用场景总览
首先参考图1,示意性地示出了根据本发明实施方式的可以在其中实现的一个应用场景。
图1中,任意一个支付机构的前置系统100通常在通过防火墙110之后与前置机120连接,并进一步通过前置机120接入金融城域网130。前置系统100与前置机120之间的通信方式通常为Socket方式,且前置系统100与前置机120之间相互传输的报文通常为XML格式的报文。在需要对前置系统100中运行的与前置机120存在信息交互的程序进行测试时,可以采用本发明实施方式的用于自动化测试的技术方案;例如,设定前置系统100中运行的一程序需要根据来自金融城域网130的指令执行相应的操作,并向金融城域网130返回相应的指令执行结果信息,则本发明实施方式提供的技术方案可以实现对该程序的自动化测试。
图2中,设定一个支付机构包括:前置系统100、风险控制系统140以及支付业务系统150;且前置系统100通常在通过防火墙110之后与前置机120连接,并进一步通过前置机120接入金融城域网130。前置系统100与前置机120之间的通信方式通常为Socket方式,且前置系统100与前置机120之间相互传输的报文通常为XML格式的报文。在需要对前置系统100中运行的与前置机120存在信息交互的程序进行测试时,可以采用本发明实施方式的用于自动化测试的技术方案;例如,设定前置系统100中运行的一程序在接收到来自金融城域网130的账户冻结指令后,应针对风险控制系统140和支付业务系统150中的相应账户信息进行相应的冻结操作,以实现账户冻结,并向金融城域网130返回账户冻结指令的执行结果信息,则本发明实施方式提供的技术方案可以实现对该程序的自动化测试。
然而,本领域技术人员完全可以理解,本发明实施方式的适用场景不应受到上述框架任何方面的限制。
示例性方法
下面结合图1和图2所示的应用场景,参考图3来描述根据本发明示例性实施方式的用于自动化测试的方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
参见图3,示意性地示出了根据本发明一实施例的用于自动化测试的方法的流程图,该方法通常可以在前置系统中执行,具体的,该方法可以在还未正式上线的前置系统(如还未与前置机连接的前置系统或者虽与前置机连接但是还处于调试阶段的前置系统)中执行,也可以在已经正式上线的备用前置系统(即生产环境中的前置系统)中执行,更有甚至可以在已经正式上线的主用前置系统中执行;当然,本发明实施方式也不排除该方法在非前置系统的普通计算机或者服务器等智能电子设备中执行的可能性。
本实施方式的用于自动化测试的方法主要包括:步骤S300和S310;可选的,该方法还可以包括:步骤S320和步骤S330。
S300、在接收到用于触发获取测试用例数据的请求的情况下,从模拟前置机处获取测试用例数据。
作为示例,本发明实施方式中的请求主要用于触发本发明实施方式执行获取测试用例数据的操作,且该请求通常为测试人员输入的请求,例如,在需要对一程序进行自动化测试过程中,往往需要利用一组测试用例数据来执行测试过程,此时测试人员输入该请求,本发明实施方式在接收到该请求之后,会根据该请求执行从相应位置获取测试用例数据的操作。本发明实施方式中的请求通常为HTTP(HyperText Transfer Protocol,超文本传输协议)请求等,且本发明实施方式不限制该请求所采用的协议。
作为示例,本发明实施方式中的模拟前置机通常设置于本发明方法实施方式的执行主体中,例如,在本发明方法实施方式的执行主体为前置系统的情况下,本发明实施方式中的模拟前置机可以设置于前置系统中,该前置系统在正式上线的情况下,可以通过前置机与金融城域网中的风险管理平台进行信息交互。
作为示例,本发明实施方式中的模拟前置机可以为基于Mock的模拟前置机,即该模拟前置机可以是利用Mock技术而模拟出的一个对象。本发明实施方式可以利用Mock技术提供的模拟方式实现模拟前置机,由于用Mock技术模拟一些在应用中的对象是现有技术,因此利用Mock技术实现模拟前置机的具体实现过程在此不再详细说明。
作为示例,本发明实施方式可以通过对请求中承载的信息进行判断,可以确定出是从基于模拟前置机的测试环境中获取测试用例数据,还是从基于前置机的测试环境中获取测试用例数据的指示信息,从而本发明实施方式可以在不需要编写两套测试代码的情况下,实现在两种不同的测试环境中执行测试操作。一个具体的例子为:在当前接收到的请求中承载有用于表征模拟前置机的标识(如Mock=true)的情况下,可以确定出需要从模拟前置机(即基于模拟前置机的测试环境,也可以称为Mock测试环境)处获取测试用例数据;而在接收到的请求中未承载有上述用于表征模拟前置机的标识的情况下,可以确定出需要从前置机(即基于前置机的测试环境,也可以称为真实测试环境)处获取测试用例数据;由此可知,本发明实施方式可以使一套测试代码能够同时适用于Mock测试环境以及真实测试环境。另外,由于本发明实施方式可以从模拟前置机处获取测试用例数据,因此,无论前置系统是否与前置机相连接,本发明实施方式均可以利用从模拟前置机处获得的测试用例数据对前置系统中的程序进行自动化测试,从而可以避免由于前置机故障或者金融城域网瘫痪等因素而导致的由于无法获得前置机处的测试用例数据而不能够对前置系统中的程序进行自动化测试的现象;还有,即便是前置系统与前置机成功连接,本发明实施方式也可以选择是基于前置机进行自动化测试,还是基于模拟前置机进行自动化测试,从而在前置系统已经正式上线的情况下,如果前置系统由于新增功能或者修改已有功能等原因而需要对前置系统中的程序进行测试,则本发明实施方式完全可以通过在备用前置系统中设置模拟前置机以及测试用例数据,并通过在请求中承载表征从模拟前置机处获取测试用例数据的指示信息,而实现在不改变备用前置系统的角色的同时实现程序的自动化测试,即本发明实施方式可以在不影响备用前置系统正常的线上工作的情况下,使其同时能够成为测试环境的载体来对程序进行测试,从而消除了测试过程为线上系统所带来的不稳定因素。再有,由于模拟前置机可以设置于前置系统中,且前置系统和模拟前置机之间的通信可以不使用现有技术中HTTP的通信方式,而是可以采取从本地读取数据的通信方式,因此,本发明实施方式绕过了Socket通信方式,使获取测试用例数据的方式简单易行。
作为示例,本发明实施方式中的测试用例数据可以为下行报文,即传输方向为:由金融城域网中的风险管理平台到前置系统的报文,且该下行报文可以为基于XML的报文,本发明实施方式并不限制实际应用中的下行报文具体所采用的协议。本发明实施方式中的模拟前置机处设置有预设下行报文集合(如与前置机中的各下行报文所在文件夹的路径和名称均相同的文件夹),且该预设下行报文集合中通常包括一个或者多个下行报文,本发明实施方式在根据接收到的请求而从模拟前置机处获取测试用户数据时,通常会一次性的获取该预设下行报文集合中的所有下行报文。当然,本发明实施方式也可以从预设下行报文集合中获取部分下行报文。
作为示例,本发明实施方式的预设下行报文集合中的下行报文可以为前置系统实际接收到的来自金融城域网中的风险管理平台的报文(如由风险管理平台实际向前置系统下发的账户冻结指令等);本发明实施方式的预设下行报文集合中的下行报文也可以为对前置系统实际接收到的来自金融城域网中的风险管理平台的报文进行相应改造而获得的报文,也就是说,本发明实施方式在接收到来自金融城域网中的风险管理平台的报文后,可以根据实际测试需求针对该报文中的部分参数进行修改,从而形成新的报文,该新的报文即为对前置系统接收到的来自金融城域网中的风险管理平台的报文进行改造而获得的报文;一个具体的例子,报文中的一部分内容属于不需要修改的模板类内容,而报文中的一些参数可以根据实际测试需求进行修改,例如,报文中用户账户信息、报文唯一标识以及指令参数(如冻结指令参数、止付指令参数以及查询指令参数)等参数可以根据实际测试需求进行修改。另外,在报文具有附件内容(如警官证照片等)的情况下,由于前置系统并不需要部分甚至全部附件内容,因此,部分甚至全部附件内容通常会在系统开发设计中被上层过滤,从而在改造报文时,可以滤除来自金融城域网中的风险管理平台的报文的至少一部分附件内容,即本发明实施方式并不需要在改造后的报文中设置部分甚至全部附件内容。
改造报文的一个具体的例子,设定由风险管理平台实际向前置系统下发的下行报文为针对用户a的账户冻结指令,则该账户冻结指令中会承载有用户a的账户名称等用户a特有的信息,通过对该账户冻结指令中的用户a特有的信息以及报文唯一标识进行修改,从而改造出新的账户冻结指令,如将该账户冻结指令中的用户a特有的信息修改为用户b特有的信息,并分配一个新的报文唯一标识,从而改造出针对用户b的账户冻结指令。从而本发明实施方式可以使测试人员将更多的精力投入到测试用例数据的设置上,而不是将更多的精力投入到测试程序(如Mock语句)的编写上,这也符合程序测试应以数据为导向的发展方向。
作为示例,本发明实施方式可以根据测试需求在模拟前置机处预先设置至少一个支付机构的黑名单数据(如基于TXT格式的文件),从而在测试过程中,可以从模拟前置机处获取至少一个支付机构的黑名单数据,以针对程序中的不同功能进行测试。上述支付机构的黑名单数据可以是由金融城域网中的风险管理平台下发的支付机构的黑名单数据,如各支付机构向风险管理平台上报黑名单数据,由风险管理平台汇总后,通过FTP(FileTransfer Protocol,文件传输协议)下发给各支付机构的前置系统。上述支付机构的黑名单数据也可以是针对金融城域网中的风险管理平台下发的支付机构的黑名单数据进行改造而获得的支付机构的黑名单数据。
本发明实施方式通过对前置系统接收到的来自金融城域网中的风险管理平台的下行报文和/或支付机构的黑名单数据进行改造而获得新的测试用例数据,可以极大的降低测试过程对来自金融城域网中的风险管理平台的下行报文和/或支付机构的黑名单数据的依赖程度,从而有效避免了在测试过程中需要被动等待金融城域网中的风险管理平台向前置系统传输下行报文和/或支付机构的黑名单数据的现象;另外,通过根据测试需求对来自金融城域网中的风险管理平台的报文和/或支付机构的黑名单数据进行改造而获得的测试用例数据,极大的丰富了测试用例数据,从而能够更好的实现对程序的测试。
S310、根据获取的测试用例数据执行测试操作。
作为示例,本发明实施方式根据获取的测试用例数据执行测试操作的一个具体的例子为:如图2所示,在获取到的测试用例数据为账户冻结指令的情况下,本发明实施方式由前置系统100向风险控制系统140发送账户冻结通知,从而使风险控制系统140根据该账户冻结通知将相应用户添加在黑名单中,并向支付业务系统150发送账户冻结请求,使支付业务系统150根据接收到的账户冻结请求在相应用户的账户信息中添加账户冻结标志位;本发明实施方式可以通过查看风险控制系统140和支付业务系统150中的信息设置结果来确定测试结果。
另外,支付业务系统150还可以向风险控制系统140和/或前置系统100发送账户已成功冻结的响应消息,且风险控制系统140可以在接收到支付业务系统150发送来的账户已成功冻结的响应消息时,向支付业务系统150发送账户已成功冻结的响应消息;本发明实施方式在前置系统100接收到账户已成功冻结的响应消息时,可以产生相应的上行报文,该上行报文即传输方向为由前置系统到金融城域网中的风险管理平台的报文。
S320、将执行测试操作所产生的上行报文存储于预设上行报文集合中。
作为示例,本发明实施方式中的预设上行报文集合(如预设文件夹)可以位于模拟前置机处,续前例,由于本发明实施方式可以在前置系统100中设置模拟前置机,从模拟前置机处获取测试用例数据,并利用测试用例数据对风险控制系统140和支付业务系统150中的信息进行设置,且产生的上行报文存储在模拟前置机处的预设上行报文集合中,因此,本发明实施方式可以在支付机构内部形成一个闭合的测试环境。
作为示例,本发明实施方式的预设上行报文集合中的上行报文同样可以为基于XML的报文,本发明实施方式并不限制实际应用中的上行报文具体所采用的协议。
S330、将预设上行报文集合中的上行报文与相应的标准上行报文进行比较,并输出比较结果信息。
作为示例,本发明实施方式的比较结果信息主要用于确定测试结果。一个具体的例子,在已经正式上线的前置系统100中新增功能的情况下,如果该新增的功能不应对前置系统100中的原有功能产生影响,则可以在备用前置系统100中设置模拟前置机,并在模拟前置机处设置曾经针对原有功能进行测试的测试用例数据(即预设下行报文集合),通过从模拟前置机处获取测试用例数据(如预设下行报文集合中的部分或者所有下行报文),并根据测试用例数据执行相应的操作之后,会形成预设上行报文集合,本发明实施方式可以将之前针对原有功能进行测试而产生的预设上行报文集合中的上行报文作为标准上行报文,并通过将当前预设上行报文集合中的相应上行报文与相应的标准上行报文进行比较,可以获知两个上行报文是否存在差异等,从而可以自动确定出新增的功能是否对原有功能产生了影响。
作为示例,本发明实施方式可以通过消息摘要算法实现上行报文的比较过程,如计算预设上行报文集合中的一个上行报文的MD5(Message Digest Algorithm,上行报文的消息摘要算法第五版)值以及相应的标准上行报文的MD5值,从而通过比较两个MD5值是否相同可以自动获得两个上行报文是否存在差异。
由上述描述可知,本发明实施方式并没有采用Mock技术中的通过调用HTTP接口,从该HTTP接口对应的接口文档中获取相应的返回值,并返回的方式来进行测试,而是采用了从模拟前置机处获取测试用例数据的方式进行测试;由于HTTP接口对应的返回值可以为多个,因此,通常需要针对不同返回值编写不同的测试语句,从而使测试语句的编写与程序开发代码的联系较紧密,因此,可以将测试过程看作是程序开发过程的迭代过程,这需要测试人员对程序开发代码进行充分理解才能较好的完成程序的测试;一旦测试人员对程序开发代码的理解存在偏差,则会导致测试过程出现偏差;本发明实施方式通过利用Mock技术实现模拟前置机并由请求触发从模拟前置机处获取测试用例数据来实现测试,极大的降低了测试语句的编写与程序开发代码的联系,从而有效避免了由于测试人员对程序开发代码理解偏差而导致的测试过程存在偏差的现象。
示例性设备
在介绍了本发明示例性实施方式的方法之后,接下来,参考图4对本发明示例性实施方式的用于自动化测试的设备进行说明。
参见图4,示意性地示出了根据本发明一实施例的用于自动化测试的设备的结构示意图,该设备通常设置于前置系统中,具体的,该设备可以设置于还未正式上线的前置系统(如还未与前置机连接的前置系统或者虽与前置机连接但是还处于调试阶段的前置系统)中,也可以设置于已经正式上线的备用前置系统(即生产环境中的前置系统)中,更有甚至该设备可以设置于已经正式上线的主用前置系统中;当然,本发明实施方式也不排除该设备设置于非前置系统的普通计算机或者服务器等智能电子设备中的可能性。
图4中,本发明实施方式的用于自动化测试的设备包括:第一获取模块400以及测试模块410;可选的,该设备还可以包括:第二获取模块420、上行处理模块430以及比较模块440。
第一获取模块400主要用于在接收到用于触发获取测试用例数据的请求的情况下,从模拟前置机处获取测试用例数据;第二获取模块420主要用于在确定出接收到的请求中未包含有用于表征模拟前置机的标识的情况下,从前置机处获取测试用例数据。
作为示例,第一获取模块400接收到的请求主要用于触发第一获取模块400执行获取测试用例数据的操作,且第一获取模块400接收到的请求通常为测试人员输入的请求,例如在需要对一程序进行自动化测试过程中,往往需要利用一组测试用例数据来执行测试过程,此时测试人员输入该请求,第一获取模块400在接收到该请求之后,会根据该请求执行从相应位置获取测试用例数据的操作。第一获取模块400接收到的请求通常为HTTP请求,且本发明实施方式不限制该请求所采用的协议。
作为示例,本发明实施方式中的模拟前置机通常设置于本发明设备实施方式所在的设备中,例如,在本发明的设备设置于前置系统中的情况下,本发明实施方式中的模拟前置机可以设置于前置系统中,该前置系统在正式上线的情况下,其可以通过前置机与金融城域网中的风险管理平台进行信息交互。
作为示例,本发明实施方式中的模拟前置机可以为基于Mock的模拟前置机,即该模拟前置机可以是利用Mock技术而模拟出的一个对象。本发明实施方式可以利用Mock技术提供的模拟方式实现模拟前置机,由于用Mock技术模拟一些在应用中的对象是现有技术,因此利用Mock技术实现模拟前置机的具体实现过程在此不再详细说明。
作为示例,第一获取模块400通过对接收到的请求中承载的信息进行判断,可以确定出是其需要从基于模拟前置机的测试环境中获取测试用例数据,还是应由第二获取模块420从基于前置机的测试环境中获取测试用例数据的指示信息,从而本发明实施方式可以在不需要编写两套测试代码的情况下,实现在两种不同的测试环境中执行测试操作。一个具体的例子为:在当前接收到的请求中承载有用于表征模拟前置机的标识(如Mock=true)的情况下,第一获取模块400可以确定出期需要从模拟前置机(即基于模拟前置机的测试环境,也可以称为Mock测试环境)处获取测试用例数据;而在接收到的请求中未承载有上述用于表征模拟前置机的标识的情况下,第二获取模块420可以确定出期需要从前置机(即基于前置机的测试环境,也可以称为真实测试环境)处获取测试用例数据;由此可知,本发明实施方式的设备可以在利用一套测试代码的基础上同时适用于Mock测试环境以及真实测试环境。另外,由于本发明实施方式的第一获取模块400可以从模拟前置机处获取测试用例数据,因此,无论前置系统是否与前置机相连接,本发明实施方式的设备均可以利用从模拟前置机处获得的测试用例数据对前置系统中的程序进行自动化测试,从而可以避免由于前置机故障或者金融城域网瘫痪等因素而导致的由于无法获得前置机处的测试用例数据而不能够对前置系统中的程序进行自动化测试的现象;另外,即便是前置系统与前置机成功连接,本发明实施方式的设备也可以选择是基于前置机进行自动化测试,还是基于模拟前置机进行自动化测试,从而在前置系统已正式上线的情况下,如果前置系统由于新增功能或者修改已有功能等原因而需要对前置系统中的程序进行测试,则本发明实施方式的设备完全可以通过在备用前置系统中设置模拟前置机以及测试用例数据,并通过在请求中承载表征从模拟前置机处获取测试用例数据的指示信息,而实现在不改变备用前置系统的角色的同时实现程序的自动化测试,即本发明实施方式的设备可以在不影响备用前置系统正常的线上工作的情况下,使其同时能够成为测试环境的载体来对程序进行测试,从而消除了测试过程为线上系统所带来的不稳定因素。再有,由于模拟前置机可以设置于前置系统中,且前置系统和模拟前置机之间的通信可以不使用现有技术中HTTP的通信方式,而是可以采取从本地读取数据的通信方式,因此,本发明实施方式绕过了Socket通信方式,使获取测试用例数据的方式简单易行。
作为示例,第一获取模块400和第二获取模块420所获取的测试用例数据可以为下行报文,即传输方向为:由金融城域网中的风险管理平台到前置系统的报文,且该下行报文可以为基于XML的报文,也可以为基于TXT的文件,本发明实施方式并不限制实际应用中的下行报文具体所采用的格式以及传输方式。本发明实施方式中的模拟前置机处设置有预设下行报文集合(如与前置机中的各下行报文所在文件夹的路径和名称均相同的文件夹),且该预设下行报文集合中通常包括一个或者多个下行报文,第一获取模块400在根据接收到的请求而从模拟前置机处获取测试用户数据时,通常会一次性的获取该预设下行报文集合中的所有下行报文。当然,本发明实施方式也可以从预设下行报文集合中获取部分下行报文。
作为示例,本发明实施方式的预设下行报文集合中的下行报文可以为前置系统实际接收到的来自金融城域网中的风险管理平台的报文(如由风险管理平台实际向前置系统下发的账户冻结指令等);本发明实施方式的预设下行报文集合中的下行报文也可以为对前置系统实际接收到的来自金融城域网中的风险管理平台的报文进行相应改造而获得的报文,也就是说,本发明实施方式在接收到来自金融城域网中的风险管理平台的报文后,可以根据实际测试需求针对该报文中的部分参数进行修改,从而形成新的报文,该新的报文即为对前置系统接收到的来自金融城域网中的风险管理平台的报文进行改造而获得的报文;一个具体的例子,报文中的一部分内容属于不需要修改的模板类内容,而报文中的一些参数可以根据实际测试需求进行修改,例如,报文中用户账户信息、报文唯一标识以及指令参数(如冻结指令参数、止付指令参数以及查询指令参数)等参数可以根据实际测试需求进行修改。另外,在报文具有附件内容(如警官证照片等)的情况下,由于前置系统并不需要部分甚至全部附件内容,因此,部分甚至全部附件内容通常会在系统开发设计中被上层过滤,从而在改造报文时,可以滤除来自金融城域网中的风险管理平台的报文的至少一部分附件内容,即本发明实施方式并不需要在改造后的报文中设置部分甚至全部附件内容。
改造报文的一个具体的例子,设定由风险管理平台实际向前置系统下发的下行报文为针对用户a的账户冻结指令,则该账户冻结指令中会承载有用户a的账户名称等用户a特有的信息,通过对该账户冻结指令中的用户a特有的信息以及报文唯一标识进行修改,从而改造出新的账户冻结指令,如将该账户冻结指令中的用户a特有的信息修改为用户b特有的信息,并分配一个新的报文唯一标识,从而改造出针对用户b的账户冻结指令。由此可知本发明实施方式可以使测试人员将更多精力投入到测试用例数据的设置上,而不是将更多的精力投入到测试程序(如Mock语句)的编写上,这也符合程序测试应以数据为导向的发展方向。
作为示例,本发明实施方式可以根据测试需求在模拟前置机处预先设置至少一个支付机构的黑名单数据(如基于TXT格式的文件),从而在测试过程中,可以从模拟前置机处获取至少一个支付机构的黑名单数据,以针对程序中的不同功能进行测试。上述支付机构的黑名单数据可以是由金融城域网中的风险管理平台下发的支付机构的黑名单数据,如各支付机构向风险管理平台上报黑名单数据,由风险管理平台汇总后,通过FTP下发给各支付机构的前置系统。上述支付机构的黑名单数据也可以是针对金融城域网中的风险管理平台下发的支付机构的黑名单数据进行改造而获得的支付机构的黑名单数据。
本发明实施方式通过对前置系统接收到的来自金融城域网中的风险管理平台的下行报文和/或支付机构的黑名单数据进行改造而获得新的测试用例数据,可以极大的降低测试过程对来自金融城域网中的风险管理平台的下行报文和/或支付机构的黑名单数据的依赖程度,从而有效避免了在测试过程中需要被动等待金融城域网中的风险管理平台向前置系统传输下行报文和/或支付机构的黑名单数据的现象;另外,通过根据测试需求对来自金融城域网中的风险管理平台的报文和/或支付机构的黑名单数据进行改造而获得的测试用例数据,极大的丰富了测试用例数据,从而能够更好的实现对程序的测试。
测试模块410主要用于根据第一获取模块400或者第二获取模块420所获取的测试用例数据执行测试操作。
作为示例,测试模块410根据获取的测试用例数据执行测试操作的一个具体的例子为:如图2所示,在第一获取模块400或者第二获取模块420所获取到的测试用例数据为账户冻结指令的情况下,测试模块410由前置系统100向风险控制系统140发送账户冻结通知,从而使风险控制系统140根据该账户冻结通知将相应用户添加在黑名单中,并向支付业务系统150发送账户冻结请求,使支付业务系统150根据接收到的账户冻结请求在相应用户的账户信息中添加账户冻结标志位;本发明实施方式可以通过查看风险控制系统140和支付业务系统150中的信息设置结果来确定测试结果。
另外,支付业务系统150还可以向风险控制系统140和/或前置系统100发送账户已成功冻结的响应消息,且风险控制系统140可以在接收到支付业务系统150发送来的账户已成功冻结的响应消息时,向支付业务系统150发送账户已成功冻结的响应消息;在前置系统100接收到账户已成功冻结的响应消息时,可以产生相应的上行报文,该上行报文即传输方向为由前置系统到金融城域网中的风险管理平台的报文。
上行处理模块430主要用于将执行测试操作所产生的上行报文存储于预设上行报文集合中。
作为示例,预设上行报文集合可以位于模拟前置机处,续前例,由于本发明实施方式可以在前置系统100中设置模拟前置机,第一获取模块400从模拟前置机处获取测试用例数据,并利用测试用例数据对风险控制系统140和支付业务系统150中的信息进行设置,且产生的上行报文由上行处理模块430存储在模拟前置机处的预设上行报文集合中,因此,本发明实施方式可以在支付机构内部形成一个闭合的测试环境。
作为示例,本发明实施方式的预设上行报文集合中的上行报文同样可以为基于XML的报文,本发明实施方式并不限制实际应用中的上行报文具体所采用的协议。
比较模块440主要用于将预设上行报文集合中的上行报文与相应的标准上行报文进行比较,并输出比较结果。
作为示例,比较模块440所输出的比较结果信息主要用于确定测试结果。一个具体的例子,在已经正式上线的前置系统100中新增功能的情况下,如果该新增的功能不应对前置系统100中的原有功能产生影响,则可以在备用前置系统100中设置模拟前置机,并在模拟前置机处设置曾经针对原有功能进行测试的测试用例数据(即预设下行报文集合),通过第一获取模块400从模拟前置机处获取测试用例数据(如预设下行报文集合中的部分或者所有下行报文),测试模块410根据测试用例数据执行相应的操作之后,会由上行处理模块430将测试而产生的上行报文添加在预设上行报文集合中,比较模块440可以将之前针对原有功能进行测试而产生的预设上行报文集合中的上行报文作为标准上行报文,并通过将当前预设上行报文集合中的相应上行报文与相应的标准上行报文进行比较,可以获知两个上行报文是否存在差异等,从而可以自动的确定出新增的功能是否对原有功能产生了影响。
作为示例,比较模块440可以通过消息摘要算法实现上行报文的比较过程,如比较模块440计算预设上行报文集合中的一个上行报文的MD5值以及相应的标准上行报文的MD5值,从而通过比较两个MD5值是否相同可以自动获知两个上行报文是否存在差异。
图5示出了适于用来实现本发明实施方式的示例性计算机系统/服务器50的框图。图5显示的计算机系统/服务器50仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,计算机系统/服务器50以通用计算设备的形式表现。计算机系统/服务器50的组件可以包括但不限于:一个或者多个处理器或者处理单元501,系统存储器502,连接不同系统组件(包括系统存储器502和处理单元501)的总线503。
总线503表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器50典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器50访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器502可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)5021和/或高速缓存存储器5022。计算机系统/服务器50可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,ROM5023可以用于读写不可移动的、非易失性磁介质(图5中未显示,通常称为“硬盘驱动器”)。尽管未在图5中示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线503相连。系统存储器502中可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块5024的程序/实用工具5025,可以存储在例如系统存储器502中,且这样的程序模块5024包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块5024通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器50也可以与一个或多个外部设备504(如键盘、指向设备、显示器等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器50交互的设备通信,和/或与使得该计算机系统/服务器50能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口505进行。并且,计算机系统/服务器50还可以通过网络适配器506与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图5所示,网络适配器506通过总线503与计算机系统/服务器50的其它模块(如处理单元501等)通信。应当明白,尽管图5中未示出,可以结合计算机系统/服务器50使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元501通过运行存储在系统存储器502中的程序,从而执行各种功能应用以及数据处理,例如执行并实现上文中用于自动化测试的方法中的各步骤,例如,在接收到用于触发获取测试用例数据的请求的情况下,从模拟前置机处获取测试用例数据;根据获取的测试用例数据执行测试操作等。
本发明实施方式的计算机可读存储介质一个具体例子如图6所示。
图6的计算机可读存储介质为光盘600,其上存储有计算机程序(即程序产品),该程序被处理器执行时,会实现上述方法实施方式中所记载的各步骤,例如,在接收到用于触发获取测试用例数据的请求的情况下,从模拟前置机处获取测试用例数据;根据获取的测试用例数据执行测试操作等。上述步骤的具体内容以及方法实施方式所包含的其他步骤在此不再重复说明。
应当注意,尽管在上文详细描述中提及了用于自动化测试的设备的若干模块或子模块,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

Claims (10)

1.一种方法,包括:
在接收到用于触发获取测试用例数据的请求的情况下,从模拟前置机处获取测试用例数据;
根据所述获取的测试用例数据执行测试操作。
2.如权利要求1所述的方法,所述模拟前置机设置于前置系统中,且所述前置系统通过前置机与金融城域网连接。
3.如权利要求1所述的方法,所述模拟前置机包括:基于MOCK的模拟前置机,且所述请求包括:超文本传输协议HTTP请求。
4.如权利要求1所述的方法,所述在接收到用于触发获取测试用例数据的请求的情况下,从模拟前置机处获取测试用例数据的步骤包括:
在确定出接收到的所述请求中包含有用于表征模拟前置机的标识的情况下,从模拟前置机处获取测试用例数据。
5.如权利要求4所述的方法,所述方法还包括:
在确定出接收到的所述请求中未包含有用于表征模拟前置机的标识的情况下,从前置机处获取测试用例数据。
6.如权利要求1或2或3或4或5所述的方法,所述从模拟前置机处获取测试用例数据的步骤包括:
获取模拟前置机的预设下行报文集合中的至少一部分下行报文;
其中,所述下行报文包括:传输方向为由金融城域网中的风险管理平台到前置系统的报文。
7.如权利要求6所述的方法,所述预设下行报文集合包括:基于可扩展标记语言XML的报文。
8.如权利要求6所述的方法,所述从模拟前置机处获取测试用例数据的步骤还包括:
从模拟前置机处获取至少一个支付机构的黑名单数据。
9.如权利要求6所述的方法,所述预设下行报文集合中的下行报文包括:前置系统接收到的来自金融城域网中的风险管理平台的报文和/或对前置系统接收到的来自金融城域网中的风险管理平台的报文进行改造而获得的报文。
10.一种设备,包括:
第一获取模块,用于在接收到用于触发获取测试用例数据的请求的情况下,从模拟前置机处获取测试用例数据;
测试模块,用于根据所述获取的测试用例数据执行测试操作。
CN201710082224.5A 2017-02-15 2017-02-15 用于自动化测试的方法及设备 Active CN106997322B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710082224.5A CN106997322B (zh) 2017-02-15 2017-02-15 用于自动化测试的方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710082224.5A CN106997322B (zh) 2017-02-15 2017-02-15 用于自动化测试的方法及设备

Publications (2)

Publication Number Publication Date
CN106997322A true CN106997322A (zh) 2017-08-01
CN106997322B CN106997322B (zh) 2022-04-26

Family

ID=59431928

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710082224.5A Active CN106997322B (zh) 2017-02-15 2017-02-15 用于自动化测试的方法及设备

Country Status (1)

Country Link
CN (1) CN106997322B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107844421A (zh) * 2017-10-31 2018-03-27 平安科技(深圳)有限公司 接口测试方法、装置、计算机设备和存储介质
CN110334000A (zh) * 2019-05-07 2019-10-15 重庆天蓬网络有限公司 一种基于mock技术的测试方法
CN112231209A (zh) * 2020-10-10 2021-01-15 金蝶医疗软件科技有限公司 参数获取方法、装置、计算机设备和存储介质
CN113704087A (zh) * 2021-07-09 2021-11-26 奇安信科技集团股份有限公司 一种跨域传输设备的文件业务测试方法、装置及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1996374A (zh) * 2006-12-30 2007-07-11 中国建设银行股份有限公司 一种用于前置测试的方法、装置及系统
CN105224461A (zh) * 2015-10-23 2016-01-06 网易(杭州)网络有限公司 一种集成测试用例的生成方法和装置
EP3021225A1 (en) * 2014-11-14 2016-05-18 Mastercard International, Inc. Automated configuration code based selection of test cases for payment terminals
CN105701009A (zh) * 2015-12-30 2016-06-22 中国银联股份有限公司 移动终端中的安全性应用测试方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1996374A (zh) * 2006-12-30 2007-07-11 中国建设银行股份有限公司 一种用于前置测试的方法、装置及系统
EP3021225A1 (en) * 2014-11-14 2016-05-18 Mastercard International, Inc. Automated configuration code based selection of test cases for payment terminals
CN105224461A (zh) * 2015-10-23 2016-01-06 网易(杭州)网络有限公司 一种集成测试用例的生成方法和装置
CN105701009A (zh) * 2015-12-30 2016-06-22 中国银联股份有限公司 移动终端中的安全性应用测试方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107844421A (zh) * 2017-10-31 2018-03-27 平安科技(深圳)有限公司 接口测试方法、装置、计算机设备和存储介质
CN107844421B (zh) * 2017-10-31 2020-08-14 平安科技(深圳)有限公司 接口测试方法、装置、计算机设备和存储介质
CN110334000A (zh) * 2019-05-07 2019-10-15 重庆天蓬网络有限公司 一种基于mock技术的测试方法
CN112231209A (zh) * 2020-10-10 2021-01-15 金蝶医疗软件科技有限公司 参数获取方法、装置、计算机设备和存储介质
CN112231209B (zh) * 2020-10-10 2024-09-06 金医慧通科技有限公司 参数获取方法、装置、计算机设备和存储介质
CN113704087A (zh) * 2021-07-09 2021-11-26 奇安信科技集团股份有限公司 一种跨域传输设备的文件业务测试方法、装置及电子设备
CN113704087B (zh) * 2021-07-09 2024-01-19 奇安信科技集团股份有限公司 一种跨域传输设备的文件业务测试方法、装置及电子设备

Also Published As

Publication number Publication date
CN106997322B (zh) 2022-04-26

Similar Documents

Publication Publication Date Title
CN104461858B (zh) 软件兼容性预先测试方法与其系统
CN105868039B (zh) 一种用于管理软件问题报告的方法、系统和设备
CN106997322A (zh) 用于自动化测试的方法及设备
CN111797019B (zh) 一种交易核算测试方法、装置、电子设备及存储介质
CN103795749B (zh) 用于诊断运行在云环境中的软件产品的问题的方法和装置
CN108829581A (zh) 应用程序测试方法、装置、计算机设备及存储介质
CN106776349A (zh) 一种接口检测流程的设置方法和系统
CN106487603A (zh) 一种响应测试方法及装置
CN106598848A (zh) 一种关键字驱动的机载软件自动化测试方法及系统
CN106302747A (zh) 一种面向互联网web前端开发的商业云平台
CN108133148B (zh) 数据安全检查方法及系统
CN106462899A (zh) 财务或非财务数据的数据处理系统和方法
US10830818B2 (en) Ensuring completeness of interface signal checking in functional verification
CN111931047B (zh) 基于人工智能的黑产账号检测方法及相关装置
CN108664628A (zh) 一种数据的导出方法及设备
CN107273250B (zh) 电子化保单自动承保系统的测试方法及装置
CN102968367A (zh) 一种基于嵌入式软件的静态检测方法及其系统
CN110362825A (zh) 一种基于文本的金融数据抽取方法、装置和电子设备
CN107871050A (zh) 面向数据和面向对象的混合建模方法及存储介质
CN117540803A (zh) 基于大模型的决策引擎配置方法、装置、电子设备及介质
CN117951341A (zh) 基于区块链的业务处理方法、装置、设备、介质及产品
CN105786787B (zh) 基于Java的高效PDF报表测试方法
CN110413523A (zh) 引流测试方法、引流测试中台及计算机可读存储介质
CN113127345B (zh) 应用测试方法、装置、电子设备及存储介质
CN115617612A (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