CN111897738A - 基于原子服务的自动化测试方法及装置 - Google Patents

基于原子服务的自动化测试方法及装置 Download PDF

Info

Publication number
CN111897738A
CN111897738A CN202010848141.4A CN202010848141A CN111897738A CN 111897738 A CN111897738 A CN 111897738A CN 202010848141 A CN202010848141 A CN 202010848141A CN 111897738 A CN111897738 A CN 111897738A
Authority
CN
China
Prior art keywords
data
test
service
atomic
atomic service
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
CN202010848141.4A
Other languages
English (en)
Other versions
CN111897738B (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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202010848141.4A priority Critical patent/CN111897738B/zh
Publication of CN111897738A publication Critical patent/CN111897738A/zh
Application granted granted Critical
Publication of CN111897738B publication Critical patent/CN111897738B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F11/3692Test management for test results analysis
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal 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)
  • Debugging And Monitoring (AREA)

Abstract

本申请提供一种基于原子服务的自动化测试方法及装置,可用于金融领域或其他领域,该方法包括:获取目标业务系统对应的测试原子服务组,其中,该测试原子服务组包括:多个原子服务之间的组合方式和数据依赖关系;基于所述原子服务之间的组合方式确定目标测试原子服务;获取所述目标测试原子服务对应的第一数据池数据,基于该第一数据池数据执行所述目标测试原子服务,以完成所述目标业务系统的自动化测试。本申请能够实现测试原子服务的自动组合,进而能够提高自动化测试的效率和准确性。

Description

基于原子服务的自动化测试方法及装置
技术领域
本申请涉及数据处理技术领域,尤其涉及一种基于原子服务的自动化测试方法及装置。
背景技术
随着软件技术的飞速发展,在快速迭代的交付模式下,预留的测试周期通常比较短。在测试前期需优先完成单个接口的详细验证,在测试后期需要在很短的时间内完成全流程的验证。因此,如何通过自动化完成全流程的快速测试,是测试人员的一大挑战。
当前主流的测试原子服务(最细粒度的服务)运行模式为数据驱动模式,即测试原子服务运行代码为同一份,测试原子服务运行的测试数据池中每一条数据对应一个业务场景;实际上,比较复杂的业务场景是多个单独场景的组合,即测试原子服务之间的测试数据可能存在依赖,但是当前主流的测试原子服务运行模式,难以结合具体的业务场景自动组合原子服务,自动化测试效率低且准确性较差。
发明内容
针对现有技术中的问题,本申请提出了一种基于原子服务的自动化测试方法及装置,能够实现测试原子服务的自动组合,进而能够提高自动化测试的效率和准确性。
为了解决上述技术问题,本申请提供以下技术方案:
第一方面,本申请提供一种基于原子服务的自动化测试方法,包括:
获取目标业务系统对应的测试原子服务组,其中,该测试原子服务组包括:多个原子服务之间的组合方式和数据依赖关系;
基于所述原子服务之间的组合方式确定目标测试原子服务;
获取所述目标测试原子服务对应的第一数据池数据,基于该第一数据池数据执行所述目标测试原子服务,以完成所述目标业务系统的自动化测试。
进一步地,在所述基于该第一数据池数据执行所述目标测试原子服务之后,还包括:
执行遍历步骤:若所述目标测试原子服务对应的组合方式为串行方式,则确定对应的后序测试原子服务,获取所述后序测试原子服务对应的第二数据池数据,根据所述第一数据池数据、第二数据池数据、目标测试原子服务的执行结果和数据依赖关系,执行所述后序测试原子服务;
将所述后序测试原子服务作为目标测试原子服务再次执行所述遍历步骤,以完成所述目标业务系统的自动化测试。
进一步地,在所述基于所述原子服务之间的组合方式确定目标测试原子服务之后,还包括:
若所述目标测试原子服务对应的组合方式为包含方式,则确定该目标测试原子服务调用的通用测试原子服务,获取该目标测试原子服务对应的第一数据池数据;
基于所述第一数据池数据,同时执行所述目标测试原子服务和通用测试原子服务,以完成所述目标业务系统的自动化测试。
进一步地,在所述基于所述原子服务之间的组合方式确定目标测试原子服务之后,还包括:
若所述目标测试原子服务对应的组合方式为串行方式,则确定对应的后序测试原子服务,分别获取所述目标测试原子服务和后序测试原子服务各自对应的第一数据池数据和第二数据池数据,根据所述第一数据池数据、第二数据池数据和数据依赖关系,执行所述目标测试原子服务;
应用所述第二数据池数据、目标测试原子服务的执行结果和数据依赖关系,执行所述后序测试原子服务,以完成所述目标业务系统的自动化测试。
进一步地,所述根据所述第一数据池数据、第二数据池数据、目标测试原子服务的执行结果和数据依赖关系,执行所述后序测试原子服务,包括:
根据所述数据依赖关系和所述第一数据池数据中的共性数据的值,更新所述第二数据池数据中的共性数据的值;
应用更新后的第二数据池数据和目标测试原子服务的执行结果,执行所述后序测试原子服务。
进一步地,所述执行遍历步骤,还包括:
若所述目标测试原子服务不存在对应的后序测试原子服务,则结束所述遍历步骤。
第二方面,本申请提供一种基于原子服务的自动化测试装置,包括:
获取模块,用于获取目标业务系统对应的测试原子服务组,其中,该测试原子服务组包括:多个原子服务之间的组合方式和数据依赖关系;
确定模块,用于基于所述原子服务之间的组合方式确定目标测试原子服务;
执行模块,用于获取所述目标测试原子服务对应的第一数据池数据,基于该第一数据池数据执行所述目标测试原子服务,以完成所述目标业务系统的自动化测试。
进一步地,所述的基于原子服务的自动化测试装置,还包括:
遍历模块,用于执行遍历步骤:若所述目标测试原子服务对应的组合方式为串行方式,则确定对应的后序测试原子服务,获取所述后序测试原子服务对应的第二数据池数据,根据所述第一数据池数据、第二数据池数据、目标测试原子服务的执行结果和数据依赖关系,执行所述后序测试原子服务;
自动化测试模块,用于将所述后序测试原子服务作为目标测试原子服务再次执行所述遍历步骤,以完成所述目标业务系统的自动化测试。
第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的基于原子服务的自动化测试方法。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现所述的基于原子服务的自动化测试方法。
由上述技术方案可知,本申请提供一种基于原子服务的自动化测试方法及装置。其中,该方法包括:获取目标业务系统对应的测试原子服务组,其中,该测试原子服务组包括:多个原子服务之间的组合方式和数据依赖关系;基于所述原子服务之间的组合方式确定目标测试原子服务;获取所述目标测试原子服务对应的第一数据池数据,基于该第一数据池数据执行所述目标测试原子服务,以完成所述目标业务系统的自动化测试,能够实现测试原子服务的自动组合,进而能够提高自动化测试的效率和准确性;具体地,能够解决自动化测试中,无法通过组合方式完成多流程业务场景测试的问题,既能够满足测试分层的需求,又能够达到提高测试效率,保证快速交付的质量的目标;在实现单接口自动化原子服务化的基础上,通过配置的方式完成服务的自动组合,实现原子服务的自动化调度,进而能够快速的完成全流程测试。另外,还包含有如下优点:对需要接入本申请的新案例编写或改造存量案例几乎没有修改和侵入。无需修改运行的xml文件,无需修改运行的测试方法,仅在测试类中申明少量注解;组合调度能够兼顾测试方法运行过程中的前置方法(一般是启动资源)和后置方法(一般是释放资源),确保测试案例运行的完整性;提供平台页面,可以在平台侧定义,修改,监控数据日志。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一种举例中基于原子服务的自动化测试方法的逻辑框图;
图2是本申请实施例中基于原子服务的自动化测试方法的流程示意图;
图3是本申请实施例中基于原子服务的自动化测试方法的步骤400和步骤500的流程示意图;
图4是本申请一种举例中原子服务调度的逻辑框图;
图5是本申请应用实例中基于原子服务的自动化测试方法的逻辑示意图;
图6是本申请另一种举例中原子服务调度的逻辑框图;
图7是本申请实施例中基于原子服务的自动化测试装置的结构示意图;
图8是本申请应用实例中基于原子服务的自动化测试系统的逻辑框图;
图9为本申请实施例的电子设备的系统构成示意框图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
原子服务化是指自动化测试的服务化后,每个接口测试,都可以注册单个原子服务。但测试中,往往需要结合具体的业务场景,将原子服务按需组合,通过组合的方式实现多流程测试。测试服务的组合,不仅仅是服务间的简单叠加,测试服务包含有业务数据。
基于此,为了解决现有技术中,无法自动组合服务完成全流程业务场景测试的问题,本申请提出以下解决思路,在于不同组合的案例运行时,前后案例对于表示案例场景的数据有依赖,如图1所示,在一种举例中,若测试案例A具有A案例场景1数据至A案例场景3数据,测试案例B具有B案例场景1数据至B案例场景3数据,需要将A案例场景1数据和B案例场景1数据组合,将A案例场景2数据和B案例场景2数据组合,将A案例场景3数据和B案例场景3数据组合,形成实际案例代码,进一步地,引入原子服务化技术,考虑读取测试案例A的A案例场景1数据至A案例场景3数据,执行A,即执行测试案例A;读取测试案例B的B案例场景1数据至B案例场景3数据,通过数据计算,执行B,即执行测试案例B,测试案例B的执行过程受测试案例A执行结果的影响。也就是说,测试案例B的某个场景单独运行的数据不足以成为组合AB组合模式运行的数据。即测试案例B运行某条测试数据,依赖于测试案例A的某条测试数据及测试案例A运行后产生的数据。本申请提出基于原子服务的自动化测试方法及装置,能够在解决组合调度的同时给出案例组合模式下数据自动组合的解决方案,能够提高执行原子服务的自动化程度,进而能够提高自动化测试的可靠性和效率。
需要说明的是,本申请公开的基于原子服务的自动化测试方法及装置可用于金融领域,也可用于除金融领域之外的任意领域,本申请公开的基于原子服务的自动化测试方法及装置的应用领域不做限定。
具体通过下述各个实施例进行说明。
为了实现测试原子服务的自动组合,进而提高自动化测试的效率和准确性,本实施例提供一种执行主体是基于原子服务的自动化测试装置的基于原子服务的自动化测试方法,该基于原子服务的自动化测试装置包括但不限于服务器,如图2所示,该方法具体包含有如下内容:
步骤100:获取目标业务系统对应的测试原子服务组,其中,该测试原子服务组包括:多个原子服务之间的组合方式和数据依赖关系。
具体地,所述目标业务系统可以是一种金融交易系统;原子服务为所述目标业务系统最细粒度的服务,每个测试原子服务可以对应一个测试案例,程序的一次执行过程对应着程序的一条路径,程序的输入参数决定程序执行路径,一组输入参数值可以成为一个测试案例,测试案例可以是支付案例和退货案例等。
所述组合方式可以是串行方式或包含方式,可以根据所述组合方式确定各个所述测试原子服务的执行顺序;例如,若测试原子服务a1和测试原子服务b1、测试原子服务b1和测试原子服务c1的组合方式为串行方式,那么在执行完成测试原子服务a1后执行测试原子服务b1,执行完测试原子服务b1后执行测试原子服务c1;若测试原子服务a1和测试原子服务b1的组合方式为包含方式,即测试原子服务a1调用测试原子服务b1,那么可以同时执行测试原子服务a1和测试原子服务b1。可以将testNG测试框架作为测试案例运行载体。
根据所述数据依赖关系可以确定两个测试原子服务对应的数据池数据中的共性数据以及共性数据之间的对应关系,可以应用所述数据依赖关系和测试原子服务a1的共性数据的值更新测试原子服务b1的共性数据,可以将测试原子服务a1的共性数据的值替换对应的测试原子服务b1的共性数据的值,还可以通过加密、解密方式等更新测试原子服务b1的共性数据。例如,共性数据可以是卡号、证件号、手机号和机构号等。各个所述测试原子服务之间的组合方式和数据依赖关系可根据需要预先配置,本申请对此不作限制。
步骤200:基于所述原子服务之间的组合方式确定目标测试原子服务。
步骤300:获取所述目标测试原子服务对应的第一数据池数据,基于该第一数据池数据执行所述目标测试原子服务,以完成所述目标业务系统的自动化测试。
具体地,所述目标测试原子服务可以是各个所述测试原子服务中执行顺序处于首位的测试原子服务;数据池数据可以存储在本地的xls格式文件中,在一种举例中,若所述目标测试原子服务对应支付案例,所述数据池数据可以包括能够产生断言的关键要素,如:卡号、卡种、流水号、金额、协议号;还包括非关键要素,如:机构号、交易场所商和户名称。所述第一数据池数据为所述目标测试原子服务对应的数据池数据。
由上述描述可知,本实施例提供的基于原子服务的自动化测试方法,能够根据预选配置的测试原子服务组实现测试原子服务的自动组合,进而能够提高自动化测试的效率和准确性。
为了进一步提高自动化测试的效率和准确性,在本申请一个实施例中,参见图3,在步骤300所述的基于该第一数据池数据执行所述目标测试原子服务之后,还包括:
步骤400:执行遍历步骤:若所述目标测试原子服务对应的组合方式为串行方式,则确定对应的后序测试原子服务,获取所述后序测试原子服务对应的第二数据池数据,根据所述第一数据池数据、第二数据池数据、目标测试原子服务的执行结果和数据依赖关系,执行所述后序测试原子服务。
具体地,所述第二数据池数据为所述后序测试原子服务对应的数据池数据。
其中,可以应用所述数据依赖关系和第一数据池数据中的共性数据更新所述第二数据池数据中的共性数据;基于更新后的所述第二数据池数据和所述目标测试原子服务的执行结果,执行所述后序测试原子服务。
步骤500:将所述后序测试原子服务作为目标测试原子服务再次执行所述遍历步骤,以完成所述目标业务系统的自动化测试。
具体地,可以根据原子服务执行过程中出现的报文确定目标业务系统是否异常和异常代码位置。
由上述描述可知,本实施例提供的基于原子服务的自动化测试方法,能够实现测试原子服务的自动组合,进而能够提高自动化测试的效率和准确性;具体地,可以通过预先配置的测试原子服务组,确定测试原子服务之间的组合方式和数据依赖关系,能够提高测试原子服务的自动化程度和准确性,通过将后序测试原子服务作为目标测试原子服务再次执行遍历步骤,能够在实现全流程业务场景测试的基础上,避免测试原子服务的重复执行,能够提高自动化测试效率,进而能够提高业务系统运行的可靠性。
为了进一步提高自动化测试的准确性,在本申请一个实施例中,在步骤200中所述的基于所述原子服务之间的组合方式确定目标测试原子服务之后,还包括:
步骤600:若所述目标测试原子服务对应的组合方式为包含方式,则确定该目标测试原子服务调用的通用测试原子服务,获取该目标测试原子服务对应的第一数据池数据。
步骤700:基于所述第一数据池数据,同时执行所述目标测试原子服务和通用测试原子服务,以完成所述目标业务系统的自动化测试。
为了进一步提高自动化测试的准确性,在步骤200中所述的基于所述原子服务之间的组合方式确定目标测试原子服务之后,还包括:
步骤800:若所述目标测试原子服务对应的组合方式为串行方式,则确定对应的后序测试原子服务,分别获取所述目标测试原子服务和后序测试原子服务各自对应的第一数据池数据和第二数据池数据,根据所述第一数据池数据、第二数据池数据和数据依赖关系,执行所述目标测试原子服务。
具体地,获取所述目标测试原子服务对应的第一数据池数据,以及所述后序测试原子服务对应的第二数据池数据。可以根据所述数据依赖关系,确定第二数据池数据和第一数据池数据之间的共性数据,应用所述第二数据池数据中的共性数据的值,执行所述目标测试原子服务。
步骤900:应用所述第二数据池数据、目标测试原子服务的执行结果和数据依赖关系,执行所述后序测试原子服务,以完成所述目标业务系统的自动化测试。
可以理解的是,若目标测试原子服务a1的后序测试原子服务b1作为目标测试原子服务,存在后序测试原子服务c1,可以应用b1对应的共性数据执行a1,c1对应的共性数据执行b1,根据b1的执行结果执行c1。
为了进一步提高执行后序测试原子服务的可靠性,进而提高自动化测试的可靠性,在本申请一个实施例中,步骤400中的所述根据所述第一数据池数据、第二数据池数据、目标测试原子服务的执行结果和数据依赖关系,执行所述后序测试原子服务,包括:
步骤401:根据所述数据依赖关系和所述第一数据池数据中的共性数据的值,更新所述第二数据池数据中的共性数据的值。
具体地,可以根据所述数据依赖关系确定第一数据池数据和第二数据池数据中的共性数据,如既在第一数据池数据中存在又在第二数据池数据中存在的卡号和证件号等,根据第一数据池数据中的值和所述数据依赖关系更新第二数据池数据中的共性数据的值。
步骤402:应用更新后的第二数据池数据和目标测试原子服务的执行结果,执行所述后序测试原子服务。
为了进一步提高自动化测试的效率,在本申请一个实施例中,所述执行遍历步骤,还包括:
若所述目标测试原子服务不存在对应的后序测试原子服务,则结束所述遍历步骤。
具体地,结束遍历步骤可以表示完成本次目标业务系统的自动化测试。
为了进一步说明本方案,本申请提供一种自动化服务组合模型的应用实例,在本应用实例中,按照原子服务对应程序的调用关系,可以将自动化服务组合模型分为串行调用和包含调用两种模型。
(一)串行调用模型:
在本应用实例中,串行调用模型中的原子服务对应的测试案例包括:前序交易的支付测试案例和后序交易的退货测试案例,前序服务和后续服务自身也是独立的业务测试案例,测试原子服务对应的开发程序相互独立,因为业务功能有前后依赖,需要完成组合。前序交易的输出是后序交易的输入。前序交易和后序交易对应的原子服务组合后,得到新的组合服务。运行或执行测试案例实现的功能可以相当于执行测试原子服务实现的功能。如图4所示,在一种举例中,组合服务先根据前序交易A的数据池,调度前序交易A对应的原子服务a1,再修正原后序交易B的数据池得到后序交易B新的数据池,再调度后序交易对应的原子服务b1,断言后序交易B。
由于测试原子服务有对应的数据池,因此如何保持前后服务的数据一致性,是测试服务组合的一大难点。结合实际手工联测过程的数据交互,得到两种数据池组合方式。
1)和前序交易保持一致:
参见图5,数据池组合过程包括:配置服务间执行顺序,共性数据和依赖数据;获取交易执行顺序;执行前序交易;依赖数据处理,自动修改数据池;完成当前交易,记忆成功组合数据池。所述执行顺序实现的功能相当于上述组合方式实现的功能,所述共性数据和依赖数据结合实现的功能相当于上述数据依赖关系实现的功能。
考虑两个前后交易:支付交易和退货交易,首先,应用数据(如卡号,证件号,手机,机构)完成一笔支付订单,生成一个订单流水。退货时,依赖该订单流水,且其他信息(如卡号,证件号,手机,机构)需和支付交易保持一致。
其中,两个交易共有的业务信息(如卡号,证件号,手机,机构)为共性数据;后序交易的部分数据,依赖前序交易产生的结果(订单流水),这部分结果信息为依赖数据。
因此,测试人员在服务管理页面配置好业务间依赖顺序,以及两者的共性数据和依赖数据后,则根据共性数据和依赖数据修复后序交易的数据池,得到新数据池。
这种组合方式稳定性和成功率相对较高。
2)和后序交易保持一致:
后序交易已有(卡号,证件号,手机,机构)等共性数据,用这部分共性数据先完成前序交易,如支付交易,再根据支付交易产生的依赖数据(订单流水),完成后序交易。
(二)包含调用模型:测试原子服务对应的开发程序为包含调用关系。参见图6,若原子服务b1是通用原子服务,原子服务a1包含调用原子服务b1。当执行原子服务a1时,原子服务b1也同时被执行。因此测试原子服务a1时,也会同时验证到b1。根据输入原子服务b1的关键要素,可产生原子服务b1的断言,因此衍生出b1可以提供断言的支持服务。当验证原子服务a1对应的程序时,返回通用原子服务b1的断言。
为了进一步说明本方案,结合上述串行调用模型,本申请提供一种基于原子服务的自动化测试方法的应用实例,在本应用实例中,首先在自动化测试脚本原子服务化的基础上进行对原子服务组合。自动化脚本原子服务化:a自动化脚本原子服务化,既可独立运行,又能被组合。完成一个自动化脚本后,通过在共享平台上注册关键信息(服务名,产品应用等),实现脚本的原子服务化。b原子服务对外暴露规则:即原子服务所实现的重要业务场景。后序交易,可通过选择其相应的规则,完成流程上的组合。c关键要素:数据池中能产生断言的那部分输入为关键要素。其他的为非关键要素。非关键要素为对应测试案例需要运行的数据,但是并非在本方案中与前序服务和后序服务有直接关联映射的数据,可以表示非共性数据。如支付交易,根据关键要素可实现断言(报文断言+数据库断言)。其次,该方法遵循数据驱动测试原则,测试一般在本地测试工程以xls作为数据源,数据池的一条数据作为一个业务场景即测试场景,而测试运行的代码复用各种场景,该方法具体包含有:
S11:启动组合案例时候,测试人员本地测试工程中的调度器会从服务中心获取测试运行代码的组合调度信息。
S21:执行前序测试案例A后,获取前序测试案例A本次运行的数据池数据,同时获取前序测试案例A运行产生的交易数据。把运行结果传给后台服务运行中心。
S31:根据步骤S11中获取的下一级测试案例B,读取对应的数据池指定场景数据,把前序测试案例A运行的数据,前序测试案例A运行产生的数据,下一级测试案例B的原始数据,根据配置在服务中心的映射关系和要素数据替换关系,计算出下一级测试案例B运行所需要的数据。
S41:调度器调起下一级测试案例B的测试方法,把运行结果传递给后台服务运行中心。如果有下一级测试案例C,保存下一级测试案例B产生的数据。
S51:重复执行步骤S31和步骤S41的过程,直到运行到配置的最后一个测试案例。
从软件层面来说,为了实现测试原子服务的自动组合,进而提高自动化测试的效率和准确性,本申请提供一种用于实现所述基于原子服务的自动化测试方法中全部或部分内容的基于原子服务的自动化测试装置的实施例,参见图7,所述基于原子服务的自动化测试装置具体包含有如下内容:
获取模块10,用于获取目标业务系统对应的测试原子服务组,其中,该测试原子服务组包括:多个原子服务之间的组合方式和数据依赖关系。
确定模块20,用于基于所述原子服务之间的组合方式确定目标测试原子服务。
执行模块30,用于获取所述目标测试原子服务对应的第一数据池数据,基于该第一数据池数据执行所述目标测试原子服务,以完成所述目标业务系统的自动化测试。
在本申请一个实施例中,所述基于原子服务的自动化测试装置还包括:
遍历模块40,用于执行遍历步骤:若所述目标测试原子服务对应的组合方式为串行方式,则确定对应的后序测试原子服务,获取所述后序测试原子服务对应的第二数据池数据,根据所述第一数据池数据、第二数据池数据、目标测试原子服务的执行结果和数据依赖关系,执行所述后序测试原子服务。
自动化测试模块50,用于将所述后序测试原子服务作为目标测试原子服务再次执行所述遍历步骤,以完成所述目标业务系统的自动化测试。
本说明书提供的基于原子服务的自动化测试装置的实施例具体可以用于执行上述基于原子服务的自动化测试方法的实施例的处理流程,其功能在此不再赘述,可以参照上述基于原子服务的自动化测试方法实施例的详细描述。
为了进一步说明本方案,本申请提供一种基于原子服务的自动化测试系统的应用实例,参见图8,该系统包括:客户端设备、后台服务运行中心、组合服务管理数据中心和后台Web中心;所述后台服务运行中心、组合服务管理数据中心和后台Web中心可以分别为独立的服务器也可以集成在同一服务器;基于原子服务的自动化测试装置实现的功能可以是所述客户端设备实现的功能,也可以是客户端设备和后台服务运行中心结合实现的功能,客户端设备可以是一个或多个平板电子设备和台式电脑等,本地的客户端设备用于执行第二用户本地testNG测试工程,包括:0:启动拉取配置的依赖;1:获取案例A指定数据;2:运行调度逻辑,获取案例A相关数据;3:获取案例B执行原始数据;4:结合2和3获得数据计算产生案例B运行需要的数据;5:调起案例B。提供平台页面,可以在平台侧定义,修改,监控数据日志。本地的客户端设备还用于执行第二用户本地testNG测试工程,包括:运行依赖:启动拉取,和运行计算结果。后台服务运行中心用于存储案例组合关系和数据池指针,以及计算下一案例运行所需的数据。组合服务管理数据中心用于组合案例运行管理,案例运行实例和信息管理,组合案例数据池数据管理关系,独立案例运行真实输入输出数据管理,快速注册组合服务工具可以配置组合服务管理数据中心。后台Web中心用于图形化配置、管理和运行监控。
由上述描述可知,本申请提供的基于原子服务的自动化测试方法及装置,能够实现测试原子服务的自动组合,进而能够提高自动化测试的效率和准确性;具体地,能够解决自动化测试中,无法通过组合方式完成多流程业务场景测试的问题,能够在实现单接口自动化原子服务化的基础上,通过配置的方式完成服务的自动组合,实现原子服务的自动化调度,进而能够快速的完成全流程测试。另外,还包含有如下优点:对需要接入本申请的新案例编写或改造存量案例几乎没有修改和侵入。无需修改运行的xml文件,无需修改运行的测试方法,仅在测试类中申明少量注解;组合调度能够兼顾测试方法运行过程中的前置方法(一般是启动资源)和后置方法(一般是释放资源),确保测试案例运行的完整性;提供平台页面,可以在平台侧定义,修改,监控数据日志。
从硬件层面来说,为了实现测试原子服务的自动组合,进而提高自动化测试的效率和准确性,本申请提供一种用于实现所述基于原子服务的自动化测试方法中的全部或部分内容的电子设备的实施例所述电子设备具体包含有如下内容:
处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现所述基于原子服务的自动化测试装置以及用户终端等相关设备之间的信息传输;该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照实施例用于实现所述基于原子服务的自动化测试方法的实施例及用于实现所述基于原子服务的自动化测试装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
图9为本申请实施例的电子设备9600的系统构成的示意框图。如图9所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图9是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
在本申请一个或多个实施例中,自动化测试功能可以被集成到中央处理器9100中。其中,中央处理器9100可以被配置为进行如下控制:
步骤100:获取目标业务系统对应的测试原子服务组,其中,该测试原子服务组包括:多个原子服务之间的组合方式和数据依赖关系。
步骤200:基于所述原子服务之间的组合方式确定目标测试原子服务。
步骤300:获取所述目标测试原子服务对应的第一数据池数据,基于该第一数据池数据执行所述目标测试原子服务,以完成所述目标业务系统的自动化测试。
从上述描述可知,本申请的实施例提供的电子设备,能够实现测试原子服务的自动组合,进而提高自动化测试的效率和准确性。
在另一个实施方式中,基于原子服务的自动化测试装置可以与中央处理器9100分开配置,例如可以将基于原子服务的自动化测试装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现自动化测试功能。
如图9所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图9中所示的所有部件;此外,电子设备9600还可以包括图9中没有示出的部件,可以参考现有技术。
如图9所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
上述描述可知,本申请的实施例提供的电子设备,能够实现测试原子服务的自动组合,进而提高自动化测试的效率和准确性。
本申请的实施例还提供能够实现上述实施例中的基于原子服务的自动化测试方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的基于原子服务的自动化测试方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤100:获取目标业务系统对应的测试原子服务组,其中,该测试原子服务组包括:多个原子服务之间的组合方式和数据依赖关系。
步骤200:基于所述原子服务之间的组合方式确定目标测试原子服务。
步骤300:获取所述目标测试原子服务对应的第一数据池数据,基于该第一数据池数据执行所述目标测试原子服务,以完成所述目标业务系统的自动化测试。
从上述描述可知,本申请实施例提供的计算机可读存储介质,能够实现测试原子服务的自动组合,进而提高自动化测试的效率和准确性。
本申请中上述方法的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。相关之处参见方法实施例的部分说明即可。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本申请中应用了具体实施例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种基于原子服务的自动化测试方法,其特征在于,包括:
获取目标业务系统对应的测试原子服务组,其中,该测试原子服务组包括:多个原子服务之间的组合方式和数据依赖关系;
基于所述原子服务之间的组合方式确定目标测试原子服务;
获取所述目标测试原子服务对应的第一数据池数据,基于该第一数据池数据执行所述目标测试原子服务,以完成所述目标业务系统的自动化测试。
2.根据权利要求1所述的基于原子服务的自动化测试方法,其特征在于,在所述基于该第一数据池数据执行所述目标测试原子服务之后,还包括:
执行遍历步骤:若所述目标测试原子服务对应的组合方式为串行方式,则确定对应的后序测试原子服务,获取所述后序测试原子服务对应的第二数据池数据,根据所述第一数据池数据、第二数据池数据、目标测试原子服务的执行结果和数据依赖关系,执行所述后序测试原子服务;
将所述后序测试原子服务作为目标测试原子服务再次执行所述遍历步骤,以完成所述目标业务系统的自动化测试。
3.根据权利要求1所述的基于原子服务的自动化测试方法,其特征在于,在所述基于所述原子服务之间的组合方式确定目标测试原子服务之后,还包括:
若所述目标测试原子服务对应的组合方式为包含方式,则确定该目标测试原子服务调用的通用测试原子服务,获取该目标测试原子服务对应的第一数据池数据;
基于所述第一数据池数据,同时执行所述目标测试原子服务和通用测试原子服务,以完成所述目标业务系统的自动化测试。
4.根据权利要求1所述的基于原子服务的自动化测试方法,其特征在于,在所述基于所述原子服务之间的组合方式确定目标测试原子服务之后,还包括:
若所述目标测试原子服务对应的组合方式为串行方式,则确定对应的后序测试原子服务,分别获取所述目标测试原子服务和后序测试原子服务各自对应的第一数据池数据和第二数据池数据,根据所述第一数据池数据、第二数据池数据和数据依赖关系,执行所述目标测试原子服务;
应用所述第二数据池数据、目标测试原子服务的执行结果和数据依赖关系,执行所述后序测试原子服务,以完成所述目标业务系统的自动化测试。
5.根据权利要求2所述的基于原子服务的自动化测试方法,其特征在于,所述根据所述第一数据池数据、第二数据池数据、目标测试原子服务的执行结果和数据依赖关系,执行所述后序测试原子服务,包括:
根据所述数据依赖关系和所述第一数据池数据中的共性数据的值,更新所述第二数据池数据中的共性数据的值;
应用更新后的第二数据池数据和目标测试原子服务的执行结果,执行所述后序测试原子服务。
6.根据权利要求2所述的基于原子服务的自动化测试方法,其特征在于,所述执行遍历步骤,还包括:
若所述目标测试原子服务不存在对应的后序测试原子服务,则结束所述遍历步骤。
7.一种基于原子服务的自动化测试装置,其特征在于,包括:
获取模块,用于获取目标业务系统对应的测试原子服务组,其中,该测试原子服务组包括:多个原子服务之间的组合方式和数据依赖关系;
确定模块,用于基于所述原子服务之间的组合方式确定目标测试原子服务;
执行模块,用于获取所述目标测试原子服务对应的第一数据池数据,基于该第一数据池数据执行所述目标测试原子服务,以完成所述目标业务系统的自动化测试。
8.根据权利要求7所述的基于原子服务的自动化测试装置,其特征在于,还包括:
遍历模块,用于执行遍历步骤:若所述目标测试原子服务对应的组合方式为串行方式,则确定对应的后序测试原子服务,获取所述后序测试原子服务对应的第二数据池数据,根据所述第一数据池数据、第二数据池数据、目标测试原子服务的执行结果和数据依赖关系,执行所述后序测试原子服务;
自动化测试模块,用于将所述后序测试原子服务作为目标测试原子服务再次执行所述遍历步骤,以完成所述目标业务系统的自动化测试。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至6任一项所述的基于原子服务的自动化测试方法。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述指令被执行时实现权利要求1至6任一项所述的基于原子服务的自动化测试方法。
CN202010848141.4A 2020-08-21 2020-08-21 基于原子服务的自动化测试方法及装置 Active CN111897738B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010848141.4A CN111897738B (zh) 2020-08-21 2020-08-21 基于原子服务的自动化测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010848141.4A CN111897738B (zh) 2020-08-21 2020-08-21 基于原子服务的自动化测试方法及装置

Publications (2)

Publication Number Publication Date
CN111897738A true CN111897738A (zh) 2020-11-06
CN111897738B CN111897738B (zh) 2023-09-01

Family

ID=73229928

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010848141.4A Active CN111897738B (zh) 2020-08-21 2020-08-21 基于原子服务的自动化测试方法及装置

Country Status (1)

Country Link
CN (1) CN111897738B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112463634A (zh) * 2020-12-11 2021-03-09 中国人民银行清算总中心 微服务架构下的软件测试方法及装置
CN113377682A (zh) * 2021-07-29 2021-09-10 中国工商银行股份有限公司 服务测试方法及装置
CN114691529A (zh) * 2022-05-31 2022-07-01 云账户技术(天津)有限公司 一种gRPC接口性能测试的方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110018963A (zh) * 2019-04-11 2019-07-16 苏州浪潮智能科技有限公司 一种测试方法、系统及电子设备和存储介质
CN110765024A (zh) * 2019-10-29 2020-02-07 百度在线网络技术(北京)有限公司 模拟测试方法、装置、电子设备和计算机可读存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110018963A (zh) * 2019-04-11 2019-07-16 苏州浪潮智能科技有限公司 一种测试方法、系统及电子设备和存储介质
CN110765024A (zh) * 2019-10-29 2020-02-07 百度在线网络技术(北京)有限公司 模拟测试方法、装置、电子设备和计算机可读存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112463634A (zh) * 2020-12-11 2021-03-09 中国人民银行清算总中心 微服务架构下的软件测试方法及装置
CN112463634B (zh) * 2020-12-11 2024-03-29 中国人民银行清算总中心 微服务架构下的软件测试方法及装置
CN113377682A (zh) * 2021-07-29 2021-09-10 中国工商银行股份有限公司 服务测试方法及装置
CN114691529A (zh) * 2022-05-31 2022-07-01 云账户技术(天津)有限公司 一种gRPC接口性能测试的方法及装置
CN114691529B (zh) * 2022-05-31 2022-08-02 云账户技术(天津)有限公司 一种gRPC接口性能测试的方法及装置

Also Published As

Publication number Publication date
CN111897738B (zh) 2023-09-01

Similar Documents

Publication Publication Date Title
CN108346028B (zh) 一种业务审批处理方法、装置及系统
CN111159049B (zh) 接口自动化测试方法及系统
CN111897738B (zh) 基于原子服务的自动化测试方法及装置
CN108920135B (zh) 一种自定义业务生成方法、装置、计算机设备及存储介质
US8356056B2 (en) Functional extensions for business objects
CN110413528B (zh) 测试环境智能配置方法及系统
CN112905459B (zh) 服务接口测试方法、装置、电子设备及存储介质
CN111796860B (zh) 微前端方案实现方法及装置
CN110659018A (zh) 一种流程引擎实现方法及装置
CN109977012B (zh) 系统的联调测试方法、装置、设备及计算机可读存储介质
CN108111364B (zh) 一种业务系统的测试方法及装置
CN110599341A (zh) 交易调用方法及系统
CN113505520A (zh) 用于支持异构联邦学习的方法、装置和系统
CN112463634A (zh) 微服务架构下的软件测试方法及装置
CN111967628B (zh) 订单服务方法及系统
CN115630835A (zh) 一种基于Activity的工作流通用参数配置方法及系统
CN111782207A (zh) 任务流代码生成方法、装置、设备及存储介质
CN114610598A (zh) 测试方法、装置、电子设备及计算机可读存储介质
CN113050985A (zh) 前端工程依赖自动注册方法及装置
CN115905020A (zh) 一种应用测试方法、装置、电子设备及存储介质
CN114036060A (zh) 用于芯片测试的方法、系统和计算机可读介质
CN113515447A (zh) 系统自动化测试方法及装置
CN113791984A (zh) 接口自动化测试方法及装置
CN113392002A (zh) 一种测试系统构建方法、装置、设备及存储介质
CN114371866A (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