CN107704386A - 业务流程的单元测试方法、装置、计算机设备及存储介质 - Google Patents

业务流程的单元测试方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN107704386A
CN107704386A CN201710874344.9A CN201710874344A CN107704386A CN 107704386 A CN107704386 A CN 107704386A CN 201710874344 A CN201710874344 A CN 201710874344A CN 107704386 A CN107704386 A CN 107704386A
Authority
CN
China
Prior art keywords
packaging
test
module
testing
testing module
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
CN201710874344.9A
Other languages
English (en)
Other versions
CN107704386B (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.)
Kingdee Software China Co Ltd
Original Assignee
Kingdee Software China 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 Kingdee Software China Co Ltd filed Critical Kingdee Software China Co Ltd
Priority to CN201710874344.9A priority Critical patent/CN107704386B/zh
Publication of CN107704386A publication Critical patent/CN107704386A/zh
Application granted granted Critical
Publication of CN107704386B publication Critical patent/CN107704386B/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
    • 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

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)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种业务流程的单元测试方法方法,获取对业务流程进行单元测试的测试请求指令,根据所述测试请求指令获取所述业务流程对应的测试模块集,所述测试模块集中包括至少一个封装测试模块,所述封装测试模块由对接口的完整测试流程进行封装而成,根据所述业务流程的接口调用顺序执行所述测试模块集中的各个封装测试模块,将上一个封装测试模块的输出作为下一个封装测试模块的输入,以完成对业务流程的单元测试。通过将每一个接口的测试流程进行封装,得到封装测试模块及其相邻封装测试模块之间的数据传递实现封装测试模块的复用和提高测试代码的开发效率。

Description

业务流程的单元测试方法、装置、计算机设备及存储介质
技术领域
本发明涉及测试领域,特别是涉及一种业务流程的单元测试方法、装置、计算机设备及存储介质。
背景技术
WebService是一个平台独立的,低耦合的,自包含的、基于可编程的Web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。此技术能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件,就可相互交换数据或集成。
目前业界主流的测试工具主要是采用Soap/HTTP调用接口,对返回的接口数据与预设数据进行验证,来完成对WebService的测试单元测试。若采用现有技术,针对同一个接口,由于前序调用接口的不同,往往需要针对不同测试场景编写不同的单元测试代码,逻辑固化复用率低、测试代码开发效率低。
发明内容
基于此,有必要针对不同测试场景编写不同的单元测试代码,逻辑固化复用率低、开发效率低的问题,提供一种业务流程的单元测试方法、装置、计算机设备及存储介质。
一种业务流程的单元测试方法,获取对业务流程进行单元测试的测试请求指令;根据所述测试请求指令获取所述业务流程对应的测试模块集,所述测试模块集中包括至少一个封装测试模块,所述封装测试模块由对接口的完整测试流程进行封装而成;根据所述业务流程的接口调用顺序执行所述测试模块集中的各个封装测试模块,将上一个封装测试模块的输出作为下一个封装测试模块的输入,以完成对业务流程的单元测试。
在其中一个实施例中,所述封装测试模块与接口一一对应,所述所述获取对业务流程进行单元测试的测试请求指令的步骤之前,还包括:建立所述封装测试模块,所述封装测试模块包括初始化子单元、接口调用子单元、数据返回子单元和验证子单元。
在其中一个实施例中,所述根据所述业务流程的接口调用顺序执行所述测试模块集中的各个封装测试模块的步骤包括:获取所述封装测试模块的输入数据;根据所述封装测试模块获取对应的测试接口,将所述输入数据输入所述测试接口对所述测试接口进行测试得到测试结果;将所述测试结果与预设数据进行对比验证;当验证通过时,输出所述测试结果。
在其中一个实施例中,所述初始化子单元按照业务需求配置至少一个封装初始化器,所述方法还包括:
调用所述封装初始化器对所述封装测试模块的输入数据进行初始化,所述封装初始化器逻辑独立。
在其中一个实施例中,所述获取所述封装测试模块的输入数据的步骤包括:当所述封装测试模块为所述根据所述业务流程的接口调用顺序执行所述测试模块集中的第一个封装测试模块时,所述封装测试模块的输入数据为第一预置数据;当所述封装测试模块存在上一个封装测试模块时,所述封装测试模块的输入数据为第二预置数据或上一测试模块的测试结果根据预先配置的对应规则转化后得到的数据。
一种业务流程的单元测试装置,所述装置包括:
请求指令获取模块,用于获取对业务流程进行单元测试的测试请求指令;
封装测试模块获取模块,用于根据所述测试请求指令获取所述业务流程对应的测试模块集,所述测试模块集中包括至少一个封装测试模块,所述封装测试模块由对接口的完整测试流程进行封装而成;
测试模块执行模块,用于根据所述业务流程的接口调用顺序执行所述测试模块集中的各个封装测试模块,将上一个封装测试模块的输出作为下一个封装测试模块的输入,以完成对业务流程的单元测试。
在其中一个实施例中,所述测试模块执行模块中包括:
初始化单元,用于获取所述封装测试模块的输入数据;
接口测试单元,根据所述封装测试模块获取对应的测试接口,将所述输入数据输入所述测试接口对所述测试接口进行测试得到测试结果;
验证单元,用于将所述测试结果与预设数据进行对比验证,当验证通过时,输出所述结果数据。
在其中一个实施例中,所述初始化单元中,用于获取所述封装测试模块的输入数据,包括:获取预设数据单元:用于获取所述第一预置数据或第二预置数据作为模块测试的输入数据;获取模块传递数据单元:用于获取所述上一测试模块的输出测试结果转化为下一测试模块的输入数据。
一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
获取对业务流程进行单元测试的测试请求指令;
根据所述测试请求指令获取所述业务流程对应的测试模块集,所述测试模块集中包括至少一个封装测试模块,所述封装测试模块由对接口的完整测试流程进行封装而成;
根据所述业务流程的接口调用顺序执行所述测试模块集中的各个封装测试模块,将上一个封装测试模块的输出作为下一个封装测试模块的输入,以完成对业务流程的单元测试。
在其中一个实施例中,所述封装测试模块与接口一一对应,所述所述获取对业务流程进行单元测试的测试请求指令的步骤之前,还包括:建立所述封装测试模块,所述封装测试模块包括初始化子单元、接口调用子单元、数据返回子单元和验证子单元。
在其中一个实施例中,所述根据所述业务流程的接口调用顺序执行所述测试模块集中的各个封装测试模块的步骤包括:获取所述封装测试模块的输入数据;根据所述封装测试模块获取对应的测试接口,将所述输入数据输入所述测试接口对所述测试接口进行测试得到测试结果;将所述测试结果与预设数据进行对比验证;当验证通过时,输出所述测试结果。
在其中一个实施例中,所述初始化子单元按照业务需求配置至少一个封装初始化器,所述方法还包括:调用所述封装初始化器对所述封装测试模块的输入数据进行初始化,所述封装初始化器逻辑独立。
在其中一个实施例中,所述获取所述封装测试模块的输入数据的步骤包括:所述根据所述业务流程的接口调用顺序执行所述测试模块集中的第一个封装测试模块时,所述封装测试模块的输入数据为第一预置数据;当所述封装测试模块存在上一个封装测试模块时,所述封装测试模块的输入数据为第二预置数据或上一测试模块的测试结果根据预先配置的对应规则转化后得到的数据。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
获取对业务流程进行单元测试的测试请求指令;
根据所述测试请求指令获取所述业务流程对应的测试模块集,所述测试模块集中包括至少一个封装测试模块,所述封装测试模块由对接口的完整测试流程进行封装而成;
根据所述业务流程的接口调用顺序执行所述测试模块集中的各个封装测试模块,将上一个封装测试模块的输出作为下一个封装测试模块的输入,以完成对业务流程的单元测试。
在其中一个实施例中,所述封装测试模块与接口一一对应,所述获取对业务流程进行单元测试的测试请求指令的步骤之前,还包括:建立所述封装测试模块,所述封装测试模块包括初始化子单元、接口调用子单元、数据返回子单元和验证子单元。
在其中一个实施例中,所述根据所述业务流程的接口调用顺序执行所述测试模块集中的各个封装测试模块的步骤包括:获取所述封装测试模块的输入数据;根据所述封装测试模块获取对应的测试接口,将所述输入数据输入所述测试接口对所述测试接口进行测试得到测试结果;将所述测试结果与预设数据进行对比验证;当验证通过时,输出所述测试结果。
在其中一个实施例中,所述初始化子单元按照业务需求配置至少一个封装初始化器,所述方法还包括:调用所述封装初始化器对所述封装测试模块的输入数据进行初始化,所述封装初始化器逻辑独立。
在其中一个实施例中,所述获取所述封装测试模块的输入数据的步骤包括:所述根据所述业务流程的接口调用顺序执行所述测试模块集中的第一个封装测试模块时,所述封装测试模块的输入数据为第一预置数据;当所述封装测试模块存在上一个封装测试模块时,所述封装测试模块的输入数据为第二预置数据或上一测试模块的测试结果根据预先配置的对应规则转化后得到的数据。
上述业务流程的单元测试方法、装置、计算机设备及存储介质,通过获取对业务流程进行单元测试的测试请求指令;根据所述测试请求指令获取所述业务流程对应的测试模块集,所述测试模块集中包括至少一个封装测试模块,所述封装测试模块由对接口的完整测试流程进行封装而成;根据所述业务流程的接口调用顺序执行所述测试模块集中的各个封装测试模块,将上一个封装测试模块的输出作为下一个封装测试模块的输入,以完成对业务流程的单元测试。上述方法,根据业务流程的单元测试的测试请求指令获取与之对应的测试接口,根据测试接口获取对应的测试模块集,按照业务流程的接口调用顺序执行封装测试模块,输出封装测试模块的测试结果,将上一个封装测试模块的测试结果作为下一个封装测试模块的输入数据,通过将每一个接口的测试流程都进行封装得到封装测试模块及相邻封装测试模块之间的数据传递实现封装测试模块的复用和提高测试代码的开发效率。
附图说明
图1为一个实施例中接口测试业务流程处理方法流程图;
图2为另一个实施例中接口测试业务流程处理方法流程图;
图3为一个实施例中执行封装测试模块的流程图;
图4为一个实施例中接口测试业务流程处理装置的框架图;
图5为一个实施例中封装测试模块的框架图;
图6为一个实施例中初始化单元的框架图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施的限制。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
如图1所示,在一个实施例中,提供了一种业务流程的单元测试方法,上述方法包括:
步骤S120,获取对业务流程进行单元测试的测试请求指令。
步骤S140,根据所述测试请求指令获取所述业务流程对应的测试模块集,测试模块集中包括至少一个封装测试模块,所述封装测试模块由对接口的完整测试流程进行封装而成。
其中,测试请求指令是指用于启动对业务流程进行单元测试的指令,测试请求指令携带有对业务流程进行单元测试对应的各个测试接口,根据测试请求指令包含的各个测试接口获取与之相对应的封装测试模块,从而组成对应的测试模块集。其中,测试模块集包括一个或多个封装测试模块,每一个封装测试模块都包含能够单独完成一个接口的测试的整个测试流程对应的子单元。本实施例预先对各个接口的完整测试流程进行封装,从而得到对应的封装测试模块,以便后续进行业务流程进行单元测试时调用。具体来说,就是将对接口进行测试的代码固化封装成对应的封装测试模块。
具体地,测试人员点击开始测试,启动测试流程,即获取测试请求指令,根据上述测试请求指令携带的各个接口获取对应的封装测试模块。上述接口对应的封装测试模块组成的集合为测试模块集,在测试模块集中包括各个接口对应的封装测试模块。也就是说,在业务流程的单元测试中,若存在重复2次调用某个接口,那么测试模块集中对应有2个同样的封装测试模块,后续只需要依次执行测试模块集中的每一个封装测试模块便可完成对业务流程的单元测试。这样,不需要重复编写代码封装成对应的封装测试模块,减少代码冗余,提高了工作效率。
除此之外,同一个封装测试模块可以存在于多个测试模块集中,也就是说,在不同的测试流程中,同一个封装测试模块可以被多次使用,通过模块的复用简化测试代码。在实际应用时,同一个接口调用对应有同一个封装测试模块,在对不同业务流程进行单元测试时,只需要将此次业务流程涉及的调用接口对应的封装测试模块组成测试模块集,再按照此此业务流程的接口调用顺序依次执行,便可实现对此处业务流程的单元测试。
步骤S160,根据所述业务流程的接口调用顺序执行测试模块集中的各个封装测试模块,将上一个封装测试模块的输出作为下一个封装测试模块的输入,以完成对业务流程的单元测试。
其中,完整的业务流程包括程序烧录、测试、组装、老化、包装等工序中的至少一个,每个工序对应有接口。对所述业务流程进行单元测试时,需要对该业务流程对应的各个接口依次进行测试。显然,所述业务流程则对应有一套接口调用顺序,本实施例对所述业务流程进行单元测试时,按照接口调用顺序依次调用与接口对应的封装测试模块,通过封装测试模块对各个接口进行测试,从而完成对业务流程的单元测试。具体来说,在执行测试模块集中的各个封装测试模块时,采用上一个封装测试模块对上一个接口进行测试,将上一个接口测试后获得的数据(即测试结果)作为下一个封装测试模块的输入数据。通过模块间的数据传递减少数据维护所需的人力和物力。这样,在对业务流程进行单元测试时,同一个接口对应的封装测试模块可以被多次使用,减少代码冗余,达到以极少的代码量配置测试流程的效果,提高单元测试灵活性和对流程变化的适应力。
本实施例中,根据测试请求指令获取与之对应的测试接口,根据测试接口获取对应的测试模块集,按照业务流程的接口调用顺序获取并执行测试模块集中的每一个封装测试模块,输出封装测试模块的测试结果,将上一个封装测试模块的测试结果作为下一个封装测试模块的输入数据。通过将各个接口的测试流程都进行封装,将面向每个接口的单元测试均模块化封装,其对应的封装测试模块内部具有该接口的完整测试流程,可独立运行,避免模块间相互耦合。进一步地,在对不同业务流程进行单元测试时,可按需灵活组装各个封装测试模块,通过零代码热配置的方式应对测试场景的多变需求,适应丰富的测试业务流程,实现封装测试模块的复用和提高测试代码的开发效率。封装测试模块在不同的业务流程的单元测试中可按需复用,减少了测试代码冗余,且经过不同复用过程中差异性的测试数据驱动,提高了接口代码测试覆盖率。
如图2所示,在一个实施例中,步骤S120之前,还包括:
步骤S110,建立封装测试模块,封装测试模块包括初始化子单元、接口调用子单元、数据返回子单元和验证子单元。
具体地,封装测试模块与接口一一对应,封装测试模块包括初始化子单元,接口调用子单元,数据返回子单元和验证子单元。其中,初始化子单元用于获取进行接口测试时所需的数据,并对数据进行初始化得到接口输入数据;接口调用子单元用于将初始化后的输入数据输入接口,并对接口进行测试;数据返回子单元用于返回对接口进行测试后得到的数据;验证子单元用于验证对接口进行测试后的得到的数据与预先设置的数据是否一致,即与预设置数据是否一致。本发明实施例,预先对各个接口的完整测试流程进行封装,从而得到对应的封装测试模块。
如图3所示,在一个实施例中,步骤S160包括:
步骤S162,获取封装测试模块的输入数据。
其中,输入数据是指用于进行接口测试的数据,输入数据包括文件、文字信息、图像、网址等数据。数据来源于excel表格、XMl、JSON等存储的数据。其中,XML一种可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。JSON是指javascript中的对象和数组,这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构,其可以将JavaScript对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从Web客户机传递给服务器端程序。具体地,从存储在Excel表格、XML、JSON等的数据获取测试接口所需的输入数据。
步骤S164,根据封装测试模块获取对应的测试接口,将输入数据输入测试接口对测试接口进行测试得到测试结果。
其中,测试接口的测试内容主要包括接口返回数据是否与预设数据一致,接口数据的处理的正确性、容错处理、参数边界值处理等。具体地,每个封装测试模块都有与其对应的测试接口,将获取到的输入数据输入测试接口,然后对测试接口进行参数返回是否一致性、接口数据处理的正确性等测试,根据接口测试得到测试结果。
步骤S166,将测试结果与预设数据进行对比验证。
步骤S168,当验证通过时,输出测试结果。
其中,预设数据是指对接口进行测试,接口成功通过测试时应该得到的数据,用于验证接口测试的正确性。具体地,将测试结果与预设数据进行对比验证,如果测试结果与预设数据一致表示验证通过,在验证通过时,输出测试结果,并将测试结果作为下一个封装测试模块的输入数据;当测试结果与预设数据不一致时表示验证失败,结束测试。除此之外,如果下一个封装测试模块的输入数据与上一个测试模块的测试结果没有依赖关系时,则继续执行下一个封装测试模块。
在一个实施例中,初始化子单元按照业务需求配置至少一个封装初始化器,上述方法还包括:
调用封装初始化器对封装测试模块的输入数据进行初始化,封装初始化器逻辑独立。
其中,初始化子单元是用于对测试接口的输入数据进行处理的,在一个完整的业务流程中,根据业务需求需要对输入数据进行初始化设置,比如业务的前置操作产线登录等,根据测试接口或不同业务流程的需求可以配置封装初始化器。其中封装初始化器是指能够独立完成一个独立的操作,比如实现产线登录。同一个封装初始化器可以挂载在不用的封装测试模块中,实现封装初始化器的复用。一个初始化子单元包含一个或多个封装初始化器,通过所有的封装初始化器实现输入数据的初始化。
具体地,同一个封装测试模块根据不同的业务需求配置不同的初始化器。例如,根据第一业务需求给封装测试模块A的初始化单元配置的初始化器为g1;根据第二业务需求给封装测试模块A的初始化单元配置的初始化器为g2;根据第三业务需求给封装测试模块A的初始化单元配置的初始化器为g1,g2,g3。
具体地,初始化器的复用,在同一业务流程或不同的业务流程中同一个初始化器可以配置在不用的封装测试模块中。例如,根据第一业务需求给封装初始化模块B的初始化单元配置测初始化器为g1,g2;根据第一业务需求给封装初始化模块C的初始化单元配置一个初始化器g1,g2,g3;根据第二业务需求给封装初始化模块D的初始化单元配置一个初始化器g2,g3,g4;根据第二业务需求给封装初始化模块E的初始化单元配置一个初始化器g2,g4。
在一个实施例中,步骤S162包括:
步骤S162A,当封装测试模块为根据业务流程的接口调用顺序执行测试模块集中的第一个封装测试模块时,封装测试模块的输入数据为第一预置数据;
其中,第一预置数据表示按照业务流程的接口调用顺序执行封装测试模块时第一个封装测试模块的输入数据。具体地,按照业务流程的接口调用顺序执行的第一个封装测试模块获取第一预置数据。
步骤S162B,当封装测试模块存在上一个封装测试模块时,封装测试模块的输入数据为第二预置数据或上一测试模块的测试结果根据预先配置的对应规则转化后得到的数据。
其中,第二预置数据包括按照业务流程的接口调用顺序执行时除第一个封装测试模块的输入数据之外的所有封装测试模块的输入数据。
其中,对应规则根据业务流程中不同接口之间的依赖关系进行配置,不同的模块之间配置的对应规则不相同。例如,第一封装测试模块A与第二封装测试模块B之间的对应规则为d1,第二封装测试模块B与第三封装测试模块C之间的对应规则为d2,第一封装测试模块A与第三封装测试模块C之间的对应规则为d3。
其中,对应规则根据业务流程中不同接口之间的依赖关系进行配置,同一映射规则可以配置在不用的模块中,例如,第一封装测试模块A与第二封装测试模块B之间的对应规则为d1,第三封装测试模块C与第二封装测试模块B之间的对应规则为d1。
具体地,按照业务流程的接口调用顺序执行的第一个封装测试模块获取第一预置数据,执行第一个封装测试模块获得对应的测试结果,将上述测试结果根据对应规则转化后得到的数据作为顺序执行的第二个封装测试模块的输入数据。例如,第二个封装测试模块B的输入数据由第一个封装测试模块A的测试结果通过对应规则d1进行转化后得到。
如图4所示,在一个实施例中,提出了一种业务流程的单元测试装置,所述装置包括:
请求指令获取模块120,用于获取对业务流程进行单元测试的测试请求指令。
封装测试模块获取模块140,用于根据所述测试请求指令获取所述业务流程对应的测试模块集,所述测试模块集中包括至少一个封装测试模块,所述封装测试模块由对接口的完整测试流程进行封装而成。
测试模块执行模块160,用于根据所述业务流程的接口调用顺序执行所述测试模块集中的各个封装测试模块,将上一个封装测试模块的输出作为下一个封装测试模块的输入,以完成对业务流程的单元测试。
如图5所示,在一个实施例中,所述测试模块执行模块160包括:
初始化单元162,用于获取所述封装测试模块的输入数据。
接口测试单元164,用于根据所述封装测试模块获取对应的测试接口,将所述输入数据输入所述测试接口对所述测试接口进行测试得到测试结果。
验证单元166,用于将所述测试结果与预设数据进行对比验证,当验证通过时,输出所述结果数据。
如图6所示,在一个实施例中,所述初始化单元162包括:
获取预设数据单元1622,用于获取所述第一预置数据或第二预置数据作为模块测试的输入数据。
获取模块传递数据单元1624,用于获取所述上一测试模块的输出测试结果转化为下一测试模块的输入数据。
在一个实施例中,提出了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:获取对业务流程进行单元测试的测试请求指令;根据所述测试请求指令获取所述业务流程对应的测试模块集,所述测试模块集中包括至少一个封装测试模块,所述封装测试模块由对接口的完整测试流程进行封装而成;根据所述业务流程的接口调用顺序执行所述测试模块集中的各个封装测试模块,将上一个封装测试模块的输出作为下一个封装测试模块的输入,以完成对业务流程的单元测试。
在一个实施例中,所述获取对业务流程进行单元测试的测试请求指令的步骤之前,所述处理器执行所述计算机程序时还用于实现以下步骤:建立所述封装测试模块,所述封装测试模块包括初始化子单元、接口调用子单元、数据返回子单元和验证子单元。
在一个实施例中,所述根据所述业务流程的接口调用顺序执行所述测试模块集中的各个封装测试模块的步骤包括:获取所述封装测试模块的输入数据,根据所述封装测试模块获取对应的测试接口,将所述输入数据输入所述测试接口对所述测试接口进行测试得到测试结果,将所述测试结果与预设数据进行对比验证,当验证通过时,输出所述测试结果。
在一个实施例中,所述处理器执行的初始化子单元按照业务需求配置至少一个封装初始化器的步骤包括:调用所述封装初始化器对所述封装测试模块的输入数据进行初始化,所述封装初始化器逻辑独立。
在一个实施例中,所述处理器执行的获取所述封装测试模块的输入数据的步骤包括:当所述封装测试模块为所述根据所述业务流程的接口调用顺序执行所述测试模块集中的第一个封装测试模块时,所述封装测试模块的输入数据为第一预置数据,当所述封装测试模块存在上一个封装测试模块时,所述封装测试模块的输入数据为第二预置数据或上一测试模块的测试结果根据预先配置的对应规则转化后得到的数据。
在一个实施例中,提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:获取对业务流程进行单元测试的测试请求指令;根据所述测试请求指令获取所述业务流程对应的测试模块集,所述测试模块集中包括至少一个封装测试模块,所述封装测试模块由对接口的完整测试流程进行封装而成;根据所述业务流程的接口调用顺序执行所述测试模块集中的各个封装测试模块,将上一个封装测试模块的输出作为下一个封装测试模块的输入,以完成对业务流程的单元测试。
在一个实施例中,所述封装测试模块与接口一一对应,所述获取对业务流程进行单元测试的测试请求指令的步骤之前,所述计算机程序被处理器执行时还执行以下步骤:建立所述封装测试模块,所述封装测试模块包括初始化子单元、接口调用子单元、数据返回子单元和验证子单元。
在一个实施例中,所述计算机程序被处理器执行的所述根据业务逻辑顺序执行所述根据所述业务流程的接口调用顺序执行所述测试模块集中的各个封装测试模块的步骤包括:获取所述封装测试模块的输入数据,根据所述封装测试模块获取对应的测试接口,将所述输入数据输入所述测试接口对所述测试接口进行测试得到测试结果,将所述测试结果与预设数据进行对比验证,当验证通过时,输出所述测试结果。
在一个实施例中,所述计算机程序被处理器执行的所述初始化子单元按照业务需求配置至少一个封装初始化器的步骤包括:
调用所述封装初始化器对所述封装测试模块的输入数据进行初始化,所述封装初始化器逻辑独立。
在一个实施例中,所述计算机程序被处理器执行的所述获取所述封装测试模块的输入数据的步骤包括:当所述封装测试模块为所述根据所述业务流程的接口调用顺序执行所述测试模块集中的第一个封装测试模块时,所述封装测试模块的输入数据为第一预置数据,当所述封装测试模块存在上一个封装测试模块时,所述封装测试模块的输入数据为第二预置数据或上一测试模块的测试结果根据预先配置的对应规则转化后得到的数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种业务流程的单元测试方法,其特征在于,所述方法包括:
获取对业务流程进行单元测试的测试请求指令;
根据所述测试请求指令获取所述业务流程对应的测试模块集,所述测试模块集中包括至少一个封装测试模块,所述封装测试模块由对接口的完整测试流程进行封装而成;
根据所述业务流程的接口调用顺序执行所述测试模块集中的各个封装测试模块,将上一个封装测试模块的输出作为下一个封装测试模块的输入,以完成对业务流程的单元测试。
2.根据权利要求1所述的方法,其特征在于,所述封装测试模块与接口一一对应,所述获取对业务流程进行单元测试的测试请求指令的步骤之前,还包括:
建立所述封装测试模块,所述封装测试模块包括初始化子单元、接口调用子单元、数据返回子单元和验证子单元。
3.根据权利要求1所述的方法,其特征在于,所述根据所述业务流程的接口调用顺序执行所述测试模块集中的各个封装测试模块的步骤包括:
获取所述封装测试模块的输入数据;
根据所述封装测试模块获取对应的测试接口,将所述输入数据输入所述测试接口对所述测试接口进行测试得到测试结果;
将所述测试结果与预设数据进行对比验证;
当验证通过时,输出所述测试结果。
4.根据权利要求2所述的方法,其特征在于,所述初始化子单元按照业务需求配置至少一个封装初始化器,所述方法还包括:
调用所述封装初始化器对所述封装测试模块的输入数据进行初始化,所述封装初始化器逻辑独立。
5.根据权利要求3所述的方法,其特征在于,所述获取所述封装测试模块的输入数据的步骤包括:
当所述封装测试模块为所述根据所述业务流程的接口调用顺序执行所述测试模块集中的第一个封装测试模块时,所述封装测试模块的输入数据为第一预置数据;
当所述封装测试模块存在上一个封装测试模块时,所述封装测试模块的输入数据为第二预置数据或上一测试模块的测试结果根据预先配置的对应规则转化后得到的数据。
6.一种业务流程的单元测试装置,所述装置包括:
请求指令获取模块,用于获取对业务流程进行单元测试的测试请求指令;
封装测试模块获取模块,用于根据所述测试请求指令获取所述业务流程对应的测试模块集,所述测试模块集中包括至少一个封装测试模块,所述封装测试模块由对接口的完整测试流程进行封装而成;
测试模块执行模块,用于根据所述业务流程的接口调用顺序执行所述测试模块集中的各个封装测试模块,将上一个封装测试模块的输出作为下一个封装测试模块的输入,以完成对业务流程的单元测试。
7.根据权利要求6所述的装置,其特征在于,所述测试模块执行模块中包括:
初始化单元,用于获取所述封装测试模块的输入数据;
接口测试单元,用于根据所述封装测试模块获取对应的测试接口,将所述输入数据输入所述测试接口对所述测试接口进行测试得到测试结果;
验证单元,用于将所述测试结果与预设数据进行对比验证,当验证通过时,输出所述结果数据。
8.根据权利要求7所述的装置,其特征在于,所述初始化单元中,用于获取所述封装测试模块的输入数据,包括:
获取预设数据单元,用于获取所述第一预置数据或第二预置数据作为模块测试的输入数据;
获取模块传递数据单元,用于获取所述上一测试模块的输出测试结果转化为下一测试模块的输入数据。
9.一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5种任一项所述的一种接口测试方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5种任一项所述的一种接口测试方法。
CN201710874344.9A 2017-09-25 2017-09-25 业务流程的单元测试方法、装置、计算机设备及存储介质 Active CN107704386B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710874344.9A CN107704386B (zh) 2017-09-25 2017-09-25 业务流程的单元测试方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710874344.9A CN107704386B (zh) 2017-09-25 2017-09-25 业务流程的单元测试方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN107704386A true CN107704386A (zh) 2018-02-16
CN107704386B CN107704386B (zh) 2020-10-30

Family

ID=61174849

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710874344.9A Active CN107704386B (zh) 2017-09-25 2017-09-25 业务流程的单元测试方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN107704386B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108845932A (zh) * 2018-05-24 2018-11-20 北京五八信息技术有限公司 一种网络库的单元测试方法、装置、存储介质及终端
CN109634569A (zh) * 2018-12-13 2019-04-16 深圳前海微众银行股份有限公司 基于注解的流程实现方法、装置、设备及可读存储介质
CN109656805A (zh) * 2018-09-28 2019-04-19 阿里巴巴集团控股有限公司 用于业务分析的代码链路的生成方法、装置及业务服务器
CN109739700A (zh) * 2018-12-12 2019-05-10 中国联合网络通信集团有限公司 一种接口测试方法和装置
CN111897721A (zh) * 2020-07-14 2020-11-06 重庆长安汽车股份有限公司 一种api接口的自动化测试方法及存储介质
CN111988157A (zh) * 2019-05-23 2020-11-24 北京京东尚科信息技术有限公司 业务系统及业务处理方法
CN112100077A (zh) * 2020-09-27 2020-12-18 中国银行股份有限公司 交易测试方法及装置
CN114356295A (zh) * 2021-12-24 2022-04-15 北京有竹居网络技术有限公司 三维模型构建方法、装置和电子设备
CN114610619A (zh) * 2022-03-11 2022-06-10 平安普惠企业管理有限公司 业务流程的测试方法、装置、设备及存储介质
CN111435227B (zh) * 2018-12-25 2023-07-21 中移(杭州)信息技术有限公司 一种智能家居设备测试方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6604209B1 (en) * 2000-09-29 2003-08-05 Sun Microsystems, Inc. Distributed component testing in an enterprise computer system
CN101145993A (zh) * 2007-10-11 2008-03-19 中兴通讯股份有限公司 一种多点接入的接口测试方法及其测试系统
CN104615534A (zh) * 2015-01-28 2015-05-13 广州酷狗计算机科技有限公司 接口测试方法和装置
CN106484603A (zh) * 2015-08-26 2017-03-08 阿里巴巴集团控股有限公司 一种业务测试方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6604209B1 (en) * 2000-09-29 2003-08-05 Sun Microsystems, Inc. Distributed component testing in an enterprise computer system
CN101145993A (zh) * 2007-10-11 2008-03-19 中兴通讯股份有限公司 一种多点接入的接口测试方法及其测试系统
CN104615534A (zh) * 2015-01-28 2015-05-13 广州酷狗计算机科技有限公司 接口测试方法和装置
CN106484603A (zh) * 2015-08-26 2017-03-08 阿里巴巴集团控股有限公司 一种业务测试方法及装置

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108845932A (zh) * 2018-05-24 2018-11-20 北京五八信息技术有限公司 一种网络库的单元测试方法、装置、存储介质及终端
CN108845932B (zh) * 2018-05-24 2022-11-25 北京五八信息技术有限公司 一种网络库的单元测试方法、装置、存储介质及终端
CN109656805B (zh) * 2018-09-28 2022-01-25 创新先进技术有限公司 用于业务分析的代码链路的生成方法、装置及业务服务器
CN109656805A (zh) * 2018-09-28 2019-04-19 阿里巴巴集团控股有限公司 用于业务分析的代码链路的生成方法、装置及业务服务器
CN109739700B (zh) * 2018-12-12 2023-03-28 中国联合网络通信集团有限公司 一种接口测试方法和装置
CN109739700A (zh) * 2018-12-12 2019-05-10 中国联合网络通信集团有限公司 一种接口测试方法和装置
CN109634569B (zh) * 2018-12-13 2022-01-25 深圳前海微众银行股份有限公司 基于注解的流程实现方法、装置、设备及可读存储介质
CN109634569A (zh) * 2018-12-13 2019-04-16 深圳前海微众银行股份有限公司 基于注解的流程实现方法、装置、设备及可读存储介质
CN111435227B (zh) * 2018-12-25 2023-07-21 中移(杭州)信息技术有限公司 一种智能家居设备测试方法、装置、设备及介质
CN111988157A (zh) * 2019-05-23 2020-11-24 北京京东尚科信息技术有限公司 业务系统及业务处理方法
CN111897721A (zh) * 2020-07-14 2020-11-06 重庆长安汽车股份有限公司 一种api接口的自动化测试方法及存储介质
CN111897721B (zh) * 2020-07-14 2024-04-30 重庆长安汽车股份有限公司 一种api接口的自动化测试方法及存储介质
CN112100077A (zh) * 2020-09-27 2020-12-18 中国银行股份有限公司 交易测试方法及装置
CN112100077B (zh) * 2020-09-27 2024-04-16 中国银行股份有限公司 交易测试方法及装置
CN114356295A (zh) * 2021-12-24 2022-04-15 北京有竹居网络技术有限公司 三维模型构建方法、装置和电子设备
CN114610619A (zh) * 2022-03-11 2022-06-10 平安普惠企业管理有限公司 业务流程的测试方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN107704386B (zh) 2020-10-30

Similar Documents

Publication Publication Date Title
CN107704386A (zh) 业务流程的单元测试方法、装置、计算机设备及存储介质
CN103178996B (zh) 分布式包交换芯片模型验证系统及验证方法
CN106291336A (zh) 一种 fpga 测试配置码流实时下载方法及系统
CN106156424B (zh) 一种仿真系统
CN105068927A (zh) 基于关键字驱动的城轨传动控制单元自动化测试方法
CN103218292B (zh) 一种航天星载软件自动测试系统
CN107171897A (zh) 一种接口测试方法及数据接口测试系统
CN104268078A (zh) 一种基于参数化ip 测试用例集合的芯片自动化验证方法
CN105183466A (zh) 一种简化echarts调用的封装方法
CN102063355A (zh) 一种磁盘阵列的自动化测试服务器及系统
CN106649125A (zh) 创建支持多平台的自动化测试脚本的方法及其框架系统
CN113157269B (zh) 验证系统及其验证方法
CN102594618A (zh) 实现存储局域网络存储设备测试的方法及装置
CN105302115B (zh) 列车网络应用层控制软件自动化测试方法
CN108829382A (zh) 一种用Python建立参考模型提高自动化验证平台效率的方法
CN108614978A (zh) 压缩包的校验方法、装置、存储介质以及终端
CN104423986B (zh) 一种应用系统内嵌脚本的方法和装置
CN105758648B (zh) 车辆性能的测试方法和装置
CN115115048A (zh) 模型转换方法、装置、计算机设备及存储介质
WO2015131697A1 (zh) 多路帧随机数据验证处理方法及装置
CN106874177A (zh) 一种基于场景的锁存器测试方法
CN106708764A (zh) 一种机载航电系统通用io处理系统
CN108334428A (zh) 一种系统功能的并行测试方法
CN106371962A (zh) 一种跨平台的驱动测试方法、装置及系统
CN102543959A (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