CN110471859A - 业务测试方法、装置、介质及电子设备 - Google Patents

业务测试方法、装置、介质及电子设备 Download PDF

Info

Publication number
CN110471859A
CN110471859A CN201910862372.8A CN201910862372A CN110471859A CN 110471859 A CN110471859 A CN 110471859A CN 201910862372 A CN201910862372 A CN 201910862372A CN 110471859 A CN110471859 A CN 110471859A
Authority
CN
China
Prior art keywords
test
library
data
business datum
formal
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.)
Pending
Application number
CN201910862372.8A
Other languages
English (en)
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.)
Taikang Insurance Group Co Ltd
Original Assignee
Taikang Insurance Group 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 Taikang Insurance Group Co Ltd filed Critical Taikang Insurance Group Co Ltd
Priority to CN201910862372.8A priority Critical patent/CN110471859A/zh
Publication of CN110471859A publication Critical patent/CN110471859A/zh
Pending legal-status Critical Current

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/3676Test management for coverage analysis
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/08Insurance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • General Business, Economics & Management (AREA)
  • Technology Law (AREA)
  • Computing Systems (AREA)
  • Strategic Management (AREA)
  • Data Mining & Analysis (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开实施例涉及信息技术领域,提供一种业务测试方法、装置、介质及电子设备,该业务测试方法包括:将正式库中的操作前数据复制到测试库中,在测试库中得到测试用业务数据;对测试库中的所述测试用业务数据与正式库中的业务数据进行对比,并根据对比结果确定是否对测试程序进行修改;对所述测试程序进行修改后,清空所述测试库中的所述测试用业务数据,并调用操作前数据进行操作,并得到业务数据。本公开实施例针一方面,通过将测试库中的测试用业务数据与正式库中的业务数据进行自动对比,可以减少回归测试的时间成本和数据比对费时的问题。另一方面,通过对测试数据的累计完成测试方案全覆盖,解决操作测试覆盖不全面的问题。

Description

业务测试方法、装置、介质及电子设备
技术领域
本公开涉及信息技术领域,具体而言,涉及一种业务测试方法、装置、介质及电子设备。
背景技术
目前,保险行业销售保单的方式越来越多,导致同一款产品在不同系统中都可以投保,如电话、微信、保险代理人等多种投保方式。测试人员在测试投保相关的数据时,需要按照产品编写测试方案,测试方案会尽量覆盖该款产品所有的投保情况。这样每次上线一个保险产品,就需要对各种投保方式所对应的系统都进行测试,这样就需要很长时间进行测试。另外,由于测试方案是根据测试人员的经验来编写,并不是完全100%的覆盖所有的投保情况,因此存在测试不全面的问题。
测试最后的阶段,还需要从正式环境中找到一批投保信息进行仿真测试,通过和正式环境脱敏数据进行对比,来判断程序是否正确。这个测试时间很长,主要有两部分:第一部分是和正式环境数据对比;第二部分是当测试数据出现问题的时候需要删除测试数据并用该条数据重新测试投保流程,删除数据和测试都很耗时。
因此,现有技术中的技术方案中还存在有待改进之处。
需要说明的是,在上述背景技术中公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开实施例的目的在于提供一种业务测试方法、装置、介质及电子设备,进而至少在一定程度上克服现有技术的缺点。
本公开的其他特性和优点将通过下面的详细描述变得显然,或数据子段地通过本公开的实践而习得。
根据本公开实施例的第一方面,提供了一种业务测试方法,包括:
将正式库中的操作前数据复制到测试库中,在测试库中得到测试用业务数据;
对测试库中的所述测试用业务数据与正式库中的业务数据进行对比,并根据对比结果确定是否对测试程序进行修改;
对所述测试程序进行修改后,清空所述测试库中的所述测试用业务数据,并调用操作前数据进行操作,并得到业务数据。
在本公开的一种示例性实施例中于,所述将正式库中的操作前数据复制到测试库中,在测试库中得到测试用操作前数据,包括:
将所述正式库中的操作前数据保存成SQL脚本形式,得到SQL语句;
把所述SQL语句插入到所述测试库中,得到所述测试用操作前数据。
在本公开的一种示例性实施例中,还包括:
在业务系统中插入拦截器;
通过所述拦截器对业务数据进行复制,在所述测试库中得到测试用业务数据。
在本公开的一种示例性实施例中,对测试库中的所述测试用业务数据与正式库中的业务数据进行对比之前,还包括:
按照默认标记或通过前端设定的标记对所述拦截器所拦截的数据进行标识,得到标记数据;
其中所述默认标记为0,表示保存到所述正式库,所述设定的标记为1,表示保存到所述测试库。
在本公开的一种示例性实施例中,所述所拦截的数据为操作入参。
在本公开的一种示例性实施例中,所述按照默认标记或通过前端设定的标记对所述拦截器所拦截的数据进行标识之后,还包括:
设置业务存储逻辑,所述业务存储逻辑为将标记为0的数据保存到所述正式库,将标记为1的数据保存到所述测试库;
根据所述业务存储逻辑将所述标记数据存储到所述正式库或所述测试库。
在本公开的一种示例性实施例中,得到业务数据之后,还包括:
继续对所述测试用业务数据与所述业务数据进行对比,直到所述对比结果为相同,说明测试完毕。
根据本公开实施例的第二方面,提供一种业务测试装置,包括:
复制模块,用于将正式库中的操作前数据复制到测试库中,在测试库中得到测试用业务数据;
对比模块,用于对测试库中的所述测试用业务数据与正式库中的业务数据进行对比,并根据对比结果确定是否对测试程序进行修改;
测试模块,用于对所述测试程序进行修改后,清空所述测试库中的所述测试用业务数据,并调用操作前数据进行操作,并得到业务数据。
根据本公开实施例的第三方面,提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现以上所述的业务测试方法的步骤。
根据本公开实施例的第四方面,提供一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现以上所述的业务测试方法。
本公开实施例提供的技术方案可以包括以下有益效果:
在本公开的一些实施例所提供的技术方案中,一方面,通过将测试库中的测试用业务数据与正式库中的业务数据进行自动对比,可以减少回归测试的时间成本和数据比对费时的问题。另一方面,通过对测试数据的累计完成测试方案全覆盖,解决操作测试覆盖不全面的问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一数据子段,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出本公开相关实施例中测试方案的一种示例示意图。
图2是根据一示例性实施例示出的一种业务测试方法及装置的系统场景框图。
图3是根据本公开一实施例提供的一种业务测试方法的流程示意图。
图4是根据本公开一实施例中对数据进行分库存储的操作的流程图。
图5是根据本公开一实施例中实现图4所示方法的架构示意图。
图6是根据本公开一实施例中以保险产品为例介绍业务测试方法的流程图。
图7是根据本公开一实施例示出的一种业务测试装置的示意图。
图8是根据本公开一实施例的图7中对比模块的示意图。
图9是根据本公开一实施例示出的一种电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或数据子段合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本公开概念的教示。如本文中所使用,术语“和/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本公开所必须的,因此不能用于限制本公开的保护范围。
在本公开相关实施例中,以某一产品的测试为例,测试人员按照产品的投保要求编写投保测试方案,测试方案可以为一个excel文件,图1示出本公开相关实施例中测试方案的一种示例示意图,如图1所示,测试方案都是通过文字描述在excel中,测试人员要按照测试的中文描述对程序进行测试。由于保险公司一般会有几百款保险产品,但是测试人员不可能把所有的产品全部测试一遍,测试覆盖度不能达到100%,如果全部测试也会消耗很长时间。实际测试过程中是选出10几款比较有代表性的产品进行投保测试。如果在测试过程中发现测试方案没有完全覆盖该产品的投保,则在excel中增加额外的测试方案,并按照测试方案执行相应的测试流程。
当测试人员测试出程序bug时,通知开发人员进行修改,而且开发人员修改完毕后还需要再进行回归测试,对该种情况再测试一遍,即测试数据要重新准备,待修改完程序后比对数据。对于测试中的业务数据对比,需要测试人员和开发人员人工对比,包括测试投保的流程和后续数据库存储数据的对比)。在进行回归测试时,上次测试过的数据不能重复时间,从而导致测试成本的增加。另外,最后一步测试在模拟正式环境仿真数据的时候需要开发人员手工对比数据,费时费力。
基于上述问题,本公开提供一种业务测试方法、装置、介质及电子设备,以解决人工对比导致测试时间较长的问题。
图2是根据一示例性实施例示出的一种业务测试方法及装置的系统场景框图。
如图2所示,系统架构200可以包括终端设备201、202、203,网络204和服务器205。网络204用以在终端设备201、202、203和服务器205之间提供通信链路的介质。网络204可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备201、202、203通过网络204与服务器205交互,以接收或发送消息等。终端设备201、202、203上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备201、202、203可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器205可以是提供各种服务的服务器,例如对用户利用终端设备201、202、203的操作命令提供支持的后台服务器。服务器205可以对操作命令进行处理,并将处理结果反馈给终端设备。
用户可通过终端设备201、202、203生成操作命令,终端设备201、202、203可例如将操作命令发送至服务器205中,服务器205可例如将正式库中的操作前数据复制到测试库中,在测试库中得到测试用业务数据;服务器205可例如对测试库中的所述测试用业务数据与正式库中的业务数据进行对比,并根据对比结果确定是否对测试程序进行修改;以及服务器205可例如对所述测试程序进行修改后,清空所述测试库中的所述测试用业务数据,并调用操作前数据进行操作,并得到业务数据。
服务器205还可例如将操作命令处理结果返回终端设备201、202、203,终端设备201、202、203还可例如操作命令处理结果进行进一步的处理。
需要说明的是,本公开实施例所提供的业务测试方法可以由服务器205执行,相应地,业务测试装置可以设置于服务器205中。
为此,本公开提供一种业务测试方法、装置、介质及电子设备,下面对本公开的技术方案做具体介绍。
图3是根据本公开一实施例提供的一种业务测试方法的流程示意图,参考图3,该业务测试方法包括:
步骤S310,将正式库中的操作前数据复制到测试库中,在测试库中得到测试用业务数据。
步骤S320,对测试库中的所述测试用业务数据与正式库中的业务数据进行对比,并根据对比结果确定是否对测试程序进行修改。
步骤S330,对所述测试程序进行修改后,清空所述测试库中的所述测试用业务数据,并调用操作前数据进行操作,并得到业务数据。
在图3所示实施例所提供的技术方案中,一方面,通过将测试库中的测试用业务数据与正式库中的业务数据进行自动对比,可以减少回归测试的时间成本和数据比对费时的问题。另一方面,通过对测试数据的累计完成测试方案全覆盖,解决操作测试覆盖不全面的问题。
以下对图3所示实施例的各个步骤的具体实现进行详细阐述:
在步骤S310中,将正式库中的操作前数据复制到测试库中,在测试库中得到测试用业务数据。
在本公开的一种示例性实施例中,如果以保险领域的应用为例,该步骤中的操作可以为投保,因此将操作前数据保存到测试库中,在测试库中得到测试用业务数据,具体包括以下步骤:
首先,将所述正式库中的操作前数据保存成SQL脚本形式,得到SQL语句;
然后,把所述SQL语句插入到所述测试库中,得到所述测试用业务数据。
基于上述步骤以实现数据回滚。
在本公开的一种示例性实施例中,该方法中除了复制操作前数据到测试库,还要复制业务数据到测试库中,因此还包括:
在业务系统中插入拦截器;
通过所述拦截器对业务数据进行复制,在所述测试库中得到测试用业务数据。
在本实施例中,拦截器的实施原理为客户通过rest接口从拦截器调用操作参数。仍以投保为例,投保接口的方法名要提前保存在系统中。假如投保接口为methodA,拦截器里面的处理过程如下:
(1)在拦截器里面首先要判断调用的方法名,如果方法名字为methodA则进行请求参数修改;如果不是methodA方法名,则直接跳过拦截器。
(2)如果判断是methodA方法,则判断拦截方法的入参。获取入参中的TESTFLAG参数,把TESTFLAG参数改成1,这样在发送到MYCAT中的时候就可以判断是正式数据还是测试数据。
(3)在MYCAT中可以设置业务保存逻辑,判断TESTFLAG这个值,通过这个值判断保存到哪个库中。
在本实施例中,对于业务数据,以保险业务为例,则获取的用户的业务数据包括用户性别、年龄和投保金额等。对于业务来说,通常会预先设置一个用于办理业务的前端页面,由用户或业务人员将线下的纸质文件(如业务办理单)中的业务数据录入至该前端页面并上传,或者将线上的其他页面统计的业务数据手动至该前端页面并上传,以通过前端页面获取业务数据。
在步骤S320中,对测试库中的所述测试用业务数据与正式库中的业务数据进行对比,并根据对比结果确定是否对测试程序进行修改。
在本公开的一种示例性实施例中,该步骤通过对比检验是否需要对测试程序进行修改,具体为如果对比结果为相同,则说明接口测试100%完成,不需要修改测试程序;但是如果对比结果为不相同,则说明正式库和测试库中的业务场景不同,接口测试没有完全覆盖,提醒修改测试程序。
需要说明的是,在该步骤之前还包括对数据进行分库存储的操作。
图4是根据本公开一实施例中对数据进行分库存储的操作的流程图,包括以下步骤:
如图4所示,在步骤S401中,按照默认标记或通过前端设定的标记对所述拦截器所拦截的数据进行标识,得到标记数据。
在本公开的一种示例性实施例中,其中所述默认标记为0,表示保存到所述正式库,所述设定的标记为1,表示保存到所述测试库。
在本公开的一种示例性实施例中,所述所拦截的数据为操作入参,仍以投保场景为例,操作入参即为投保入参,包括姓名、产品编号、保额等参数。
如图4所示,在步骤S402中,设置业务存储逻辑。
在本公开的一种示例性实施例中,所述业务存储逻辑为将标记为0的数据保存到所述正式库,将标记为1的数据保存到所述测试库,也就是拦截器对数据拦截的动作是自动完成的,但是具体是保存到正式库还是测试库是通过前端的标记进行判断,确定将其保存到哪个数据库。
如图4所示,在步骤S403中,根据所述业务存储逻辑将所述标记数据存储到所述正式库或所述测试库。
基于上述步骤S401~S403,在具体实现方法中,可以通过在前端和后台数据库中间增加设置中间件MyCat,将数据量很大的表数据切分到不同的服务器库中,表结构是一样的,而使用MyCat实现水平切分,对前端应用是完全透明的,不用调整前端逻辑。
在步骤S330中,对所述测试程序进行修改后,清空所述测试库中的所述测试用业务数据,并调用操作前数据进行操作,并得到业务数据。
在本公开的一种示例性实施例中,该步骤中可以为对测试程序进行自动修改,例如,对具体的业务代码进行修改,在具体应用中可以根据需要对修改的业务代码进行调整。
在本公开的一种示例性实施例中,该步骤中通过MyCat完成对测试库中业务数据(即测试用业务数据)的清理,完成业务测试数据回滚。
需要说明的是,通过后期上正式环境后,如果测试程序还有问题就可以判断出哪些业务情况没有测试,通过不断的完善才能保证100%测试。
图5是根据本公开一实施例中实现图3所示方法的架构示意图,如图5所示,包括前端界面501、业务处理模块502、数据操作模块503、中间件MyCat504和测试库505以及正式库506。
其中该框架中的操作模块分别为:数据操作模块503、业务处理模块502、MyCat模块505三大模块,它们所负责的内容如下:
在本公开的一种示例性实施例中,数据操作模块503主要有四块功能,包括正式库测试库数据比对、测试环境数据删除、正式环境数据复制和保存测试准备数据;业务处理模块502需要测试业务系统,在该业务系统中需要增加一个拦截器模块,该拦截器负责拦截业务系统的操作接口;MyCat模块505可实现数据库的垂直拆分,将所有的数据库表按照模块划分,不同类型的表拆分到不同的数据库服务器。
在本公开的一种示例性实施例中,数据库分为正式库和测试库。两个数据库存的内容如下:
测试库:主要保存两部分数据,一部分为操作前的测试数据,即测试用操作前数据,一部分为测试数据数据调用操作接口产生的业务数据,即测试用业务数据;
正式库:正式环境的操作前数据和调用操作接口产生的业务数据。
下面以一上线的保险产品001为例,假如系统A要上线产品001,此时在系统中已经有系统B已经上了001产品结合图5所示架构对图3所示流程进行详细介绍:
图6是根据本公开一实施例中以保险产品为例介绍业务测试方法的流程图,包括以下步骤:
步骤S601,分析产品001投保需要测试的案例。
假如产品001的三个条件对应表1所示的8中情况,这8种情况就能覆盖该产品001的所有情况。只要这8种情况测试无误则保证产品001投保上线成功。
编号 条件
1 被保人年龄小于18岁,被保人性别为女,被保人职业为高空作业
2 被保人年龄大于18岁,被保人性别为女,被保人职业为高空作业
3 被保人年龄小于18岁,被保人性别为女,被保人职业为普通职业
4 被保人年龄大于18岁,被保人性别为女,被保人职业为普通职业
5 被保人年龄小于18岁,被保人性别为男,被保人职业为高空作业
6 被保人年龄大于18岁,被保人性别为男,被保人职业为高空作业
7 被保人年龄小于18岁,被保人性别为男,被保人职业为普通职业
8 被保人年龄大于18岁,被保人性别为男,被保人职业为普通职业
表1
这样,excel中的测试数据可以不断的累计最终保证覆盖所有的情况,相关技术中不能覆盖全部主要是测试数据不能重复使用,不能累计最终保证覆盖度是100%,而本申请中通过数据回滚,可以实现覆盖度到100%。
步骤S602,在正式库中找到产品001在数据库中保存的投保前数据和投保后的业务数据。找到上述8种情况的对应的两类数据,即正式环境的投保前数据和业务数据,把正式库中的投保前数据库保存(即复制)成SQL脚本,然后把SQL语句插入到测试库中。
步骤S603,在业务系统中插入拦截器模块,该拦截器模块的作用是保证业务测试环境的数据保存(即复制)到测试库中。
步骤S604,用户通过界面操作拦截器模块,通过保存业务调用中传过来的一个值。拦截器通过TESTFLAG这个字段来判断保存到哪个数据库的,默认是TESTFLAG为0,表示数据会进入正式库。通过界面把TESTFLAG变成1,数据会进入测试库。方式是通过拦截投保入参:
如投保入参如下:
{"name":"张三","prem":"10.00","product":"001","amnt":"100000"}
通过拦截器增加参数TESTFLAG,改完的入参为:
{"name":"张三","prem":"10.00","product":"001","amnt":"100000","TESTFLAG":"1"}
步骤S605,在MyCat中设置业务存储逻辑,当TESTFLAG为0的时候数据保存到正式库,当TESTFLAG为1的时候保存到测试库。
步骤S606,测试人员通过界面操作,通过数据操作模块读取测试库中的数据,数据为保存的测试用投保前数据。然后调用业务系统中的投保接口,此时TESTFLAG值为1,将得到的测试用业务数据保存到测试库中。
步骤S607,测试人员通过界面对比测试库中和正式库中的8种类型的业务数据,如果数据相同则表示接口测试100%完成。如果数据不相同则提示不相同的业务场景,反馈给开发人员修改程序。
步骤S608,待开发人员修改完程序后,测试人员通过界面清空测试库中的所有业务数据,重新调用所有情况的投保前数据进行投保。投保完成后继续对比测试库和正式库中的业务数据,如果相同则表示测试完毕,如果不相同重复步骤S607。
另外,如果发现测试案例不足则需要增加案例,然后从正式库中查询到相应的投保前数据,重复步骤S602。
基于上述,通过数据回滚解决测试数据不能重复利用的问题,因为在测试过程中造测试数据需要很长的时间,会占测试时间的70%左右,无法测试所有的保险产品其中一个原因就是造测试数据的时间太长。本公开实施例提供的方法中对于业务数据进行回滚可以保证测试数据可以循环利用,删除回归测试中产生的垃圾数据,这样就可以减少测试所需的时间。通过把所有的测试数据通过excel保存,这样就可以通过表格直接看出测试数据是否100%覆盖,实现测试方案的excel数据化。
综上所述,采用本公开实施例提供的业务测试方法,一方面,通过将测试库中的测试用业务数据与正式库中的业务数据进行自动对比,可以减少回归测试的时间成本和数据比对费时的问题。另一方面,通过对测试数据的累计完成测试方案全覆盖,解决投保测试覆盖不全面的问题。再一方面,通过对测试数据库中业务数据的清理完成业务测试数据的回滚。
与上述业务测试方法相对应的,图7是根据本公开一实施例提供的一种业务测试装置的示意图,参考图7,业务测试装置700包括:复制模块710、对比模块720和测试模块730。
复制模块710用于将正式库中的操作前数据复制到测试库中,在测试库中得到测试用操作前数据;对比模块720用于对测试库中的所述测试用业务数据与正式库中的业务数据进行对比,并根据对比结果确定是否对测试程序进行修改;测试模块730用于对所述测试程序进行修改后,清空所述测试库中的所述测试用业务数据,并调用操作前数据进行操作,并得到业务数据。
在本公开的一种示例性实施例中,复制模块710中将操作前数据保存到测试库中,首先,将所述正式库中的操作前数据保存成SQL脚本形式,得到SQL语句;然后,把所述SQL语句插入到所述测试库中,得到所述测试用操作前数据,以实现数据回滚。
在本公开的一种示例性实施例中,复制模块710还用于在业务系统中插入拦截器;通过所述拦截器对业务数据进行复制,在所述测试库中得到测试用业务数据。
在本公开的一种示例性实施例中,对比模块720中通过对比检验是否需要对测试程序进行修改,具体为如果对比结果为相同,则说明接口测试100%完成,不需要修改测试程序;但是如果对比结果为不相同,则说明正式库和测试库中的业务场景不同,接口测试没有完全覆盖,提醒修改测试程序。
另外,对比模块720进行数据对比之前还需要对数据进行分库存储的操作,具体操作参见图3所示流程,此处不再赘述。
图8是根据本公开一实施例的图8中对比模块的示意图,如图8所示,对比模块720包括:标记子模块721、存储逻辑子模块722和分库存储子模块723。
标记子模块721用于按照默认标记或通过前端设定的标记对所述拦截器所拦截的数据进行标识,得到标记数据;存储逻辑子模块722用于设置业务存储逻辑;分库存储子模块723用于根据所述业务存储逻辑将所述标记数据存储到所述正式库或所述测试库。
在本公开的一种示例性实施例中,标记子模块721中所述默认标记为0,表示保存到所述正式库,所述设定的标记为1,表示保存到所述测试库。标记子模块721中拦截器所拦截的数据为操作入参,包括姓名、产品编号、保额等参数。
在本公开的一种示例性实施例中,存储逻辑子模块722中所述业务存储逻辑为将标记为0的数据保存到所述正式库,将标记为1的数据保存到所述测试库。也就是拦截器对数据拦截的动作是自动完成的,但是具体是保存到正式库还是测试库是通过前端的标记进行判断,确定将其保存到哪个数据库。
在本公开的一种示例性实施例中,分库存储子模块723根据标记子模块721标记的结果结合存储逻辑子模块722中设定的存储逻辑对数据进行分库存储。
基于上述标记子模块721、存储逻辑子模块722和分库存储子模块723,在具体实现方法中,可以通过在前端和后台数据库中间增加设置中间件MyCat,将数据量很大的表数据切分到不同的服务器库中,表结构是一样的,而使用MyCat实现水平切分,对前端应用是完全透明的,不用调整前端逻辑。
在本公开的一种示例性实施例中,测试模块730中通过MyCat完成对测试库中业务数据(即测试用业务数据)的清理,完成业务测试数据回滚。
需要说明的是,通过后期上正式环境后,如果测试程序还有问题就可以判断出哪些业务情况没有测试,通过不断的完善才能保证100%测试。
由于本公开的示例实施例的业务测试装置的各个功能模块与上述图3所示的业务测试方法的示例实施例的步骤对应,因此对于本公开装置实施例中未披露的细节,请参照本公开上述的业务测试方法的实施例。
综上所述,采用本公开实施例提供的业务测试装置,一方面,通过将测试库中的测试用业务数据与正式库中的业务数据进行自动对比,可以减少回归测试的时间成本和数据比对费时的问题。另一方面,通过对测试数据的累计完成测试方案全覆盖,解决操作测试覆盖不全面的问题。再一方面,通过对测试数据库中业务数据的清理完成业务测试数据的回滚。
下面参考图9,其示出了适于用来实现本发明实施例的电子设备的计算机系统900的结构示意图。图9示出的电子设备的计算机系统900仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,计算机系统900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM903中,还存储有系统操作所需的各种程序和数据。CPU901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中所述的基于区块链的医疗数据管理方法。
例如,所述的电子设备可以实现如图2中所示的:步骤S210,将正式库中的操作前数据复制到测试库中,在测试库中得到测试用操作前数据;步骤S220,对测试库中的所述测试用业务数据与正式库中的业务数据进行对比,并根据对比结果确定是否对测试程序进行修改;步骤S230,对所述测试程序进行修改后,清空所述测试库中的所述测试用业务数据,并调用操作前数据进行操作,并得到业务数据。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本发明实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (10)

1.一种业务测试方法,其特征在于,包括:
将正式库中的操作前数据复制到测试库中,在测试库中得到测试用业务数据;
对测试库中的所述测试用业务数据与正式库中的业务数据进行对比,并根据对比结果确定是否对测试程序进行修改;
对所述测试程序进行修改后,清空所述测试库中的所述测试用业务数据,并调用操作前数据进行操作,得到业务数据。
2.根据权利要求1所述的业务测试方法,其特征在于,所述将正式库中的操作前数据复制到测试库中,在测试库中得到测试用业务数据,包括:
将所述正式库中的操作前数据保存成SQL脚本形式,得到SQL语句;
把所述SQL语句插入到所述测试库中,得到所述测试用业务数据。
3.根据权利要求1所述的业务测试方法,其特征在于,还包括:
在业务系统中插入拦截器;
通过所述拦截器对业务数据进行复制,在所述测试库中得到所述测试用业务数据。
4.根据权利要求3所述的业务测试方法,其特征在于,对测试库中的所述测试用业务数据与正式库中的业务数据进行对比之前,还包括:
按照默认标记或通过前端设定的标记对所述拦截器所拦截的数据进行标识,得到标记数据;
其中所述默认标记为0,表示保存到所述正式库,所述设定的标记为1,表示保存到所述测试库。
5.根据权利要求4所述的业务测试方法,其特征在于,所述所拦截的数据为操作入参。
6.根据权利要求4所述的业务测试方法,其特征在于,所述按照默认标记或通过前端设定的标记对所述拦截器所拦截的数据进行标识之后,还包括:
设置业务存储逻辑,所述业务存储逻辑为将标记为0的数据保存到所述正式库,将标记为1的数据保存到所述测试库;
根据所述业务存储逻辑将所述标记数据存储到所述正式库或所述测试库。
7.根据权利要求1-6中任一项所述的业务测试方法,其特征在于,得到业务数据之后,还包括:
继续对所述测试用业务数据与所述业务数据进行对比,直到所述对比结果为相同,说明测试完毕。
8.一种业务测试装置,其特征在于,包括:
复制模块,用于将正式库中的操作前数据复制到测试库中,在测试库中得到测试用业务数据;
对比模块,用于对测试库中的所述测试用业务数据与正式库中的业务数据进行对比,并根据对比结果确定是否对测试程序进行修改;
测试模块,用于对所述测试程序进行修改后,清空所述测试库中的所述测试用业务数据,并调用操作前数据进行操作,并得到业务数据。
9.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至7中任一项所述的业务测试方法的步骤。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至7中任一项所述的业务测试方法。
CN201910862372.8A 2019-09-12 2019-09-12 业务测试方法、装置、介质及电子设备 Pending CN110471859A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910862372.8A CN110471859A (zh) 2019-09-12 2019-09-12 业务测试方法、装置、介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910862372.8A CN110471859A (zh) 2019-09-12 2019-09-12 业务测试方法、装置、介质及电子设备

Publications (1)

Publication Number Publication Date
CN110471859A true CN110471859A (zh) 2019-11-19

Family

ID=68515669

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910862372.8A Pending CN110471859A (zh) 2019-09-12 2019-09-12 业务测试方法、装置、介质及电子设备

Country Status (1)

Country Link
CN (1) CN110471859A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111966592A (zh) * 2020-08-11 2020-11-20 网联清算有限公司 前端页面测试方法、装置、介质及电子设备
CN112950138A (zh) * 2020-09-11 2021-06-11 深圳市明源云科技有限公司 协同开发的状态管理方法、装置和服务器
CN114691473A (zh) * 2020-12-30 2022-07-01 网联清算有限公司 一种测试方法、装置与电子设备

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030018932A1 (en) * 2001-07-21 2003-01-23 International Business Machines Corporation Method and system for performing automated regression tests in a state-dependent data processing system
CN102902619A (zh) * 2011-07-29 2013-01-30 阿里巴巴集团控股有限公司 Web应用程序的回归测试方法和装置
CN103186561A (zh) * 2011-12-28 2013-07-03 深圳市金蝶友商电子商务服务有限公司 数据测试方法、测试库的生成方法及相关装置
US20150278069A1 (en) * 2014-03-31 2015-10-01 Nec Laboratories America, Inc. Dynamic Border Line Tracing for Tracking Message Flows Across Distributed Systems
CN107870859A (zh) * 2017-05-05 2018-04-03 平安科技(深圳)有限公司 大批量对比测试方法及系统
CN107870858A (zh) * 2017-05-05 2018-04-03 平安科技(深圳)有限公司 版本对比测试方法及系统
CN108845941A (zh) * 2018-06-15 2018-11-20 郑州云海信息技术有限公司 一种sql注入测试覆盖率统计方法及系统
CN109408366A (zh) * 2018-09-03 2019-03-01 平安科技(深圳)有限公司 数据源配置测试方法、系统、计算机设备和存储介质
CN109815039A (zh) * 2018-12-14 2019-05-28 深圳壹账通智能科技有限公司 业务软件的测试方法及装置、存储介质、计算机设备
CN110059011A (zh) * 2019-04-22 2019-07-26 泰康保险集团股份有限公司 接口测试方法、装置、介质及电子设备

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030018932A1 (en) * 2001-07-21 2003-01-23 International Business Machines Corporation Method and system for performing automated regression tests in a state-dependent data processing system
CN102902619A (zh) * 2011-07-29 2013-01-30 阿里巴巴集团控股有限公司 Web应用程序的回归测试方法和装置
CN103186561A (zh) * 2011-12-28 2013-07-03 深圳市金蝶友商电子商务服务有限公司 数据测试方法、测试库的生成方法及相关装置
US20150278069A1 (en) * 2014-03-31 2015-10-01 Nec Laboratories America, Inc. Dynamic Border Line Tracing for Tracking Message Flows Across Distributed Systems
CN107870859A (zh) * 2017-05-05 2018-04-03 平安科技(深圳)有限公司 大批量对比测试方法及系统
CN107870858A (zh) * 2017-05-05 2018-04-03 平安科技(深圳)有限公司 版本对比测试方法及系统
CN108845941A (zh) * 2018-06-15 2018-11-20 郑州云海信息技术有限公司 一种sql注入测试覆盖率统计方法及系统
CN109408366A (zh) * 2018-09-03 2019-03-01 平安科技(深圳)有限公司 数据源配置测试方法、系统、计算机设备和存储介质
CN109815039A (zh) * 2018-12-14 2019-05-28 深圳壹账通智能科技有限公司 业务软件的测试方法及装置、存储介质、计算机设备
CN110059011A (zh) * 2019-04-22 2019-07-26 泰康保险集团股份有限公司 接口测试方法、装置、介质及电子设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111966592A (zh) * 2020-08-11 2020-11-20 网联清算有限公司 前端页面测试方法、装置、介质及电子设备
CN112950138A (zh) * 2020-09-11 2021-06-11 深圳市明源云科技有限公司 协同开发的状态管理方法、装置和服务器
CN112950138B (zh) * 2020-09-11 2024-03-12 深圳市明源云科技有限公司 协同开发的状态管理方法、装置和服务器
CN114691473A (zh) * 2020-12-30 2022-07-01 网联清算有限公司 一种测试方法、装置与电子设备

Similar Documents

Publication Publication Date Title
US11216587B2 (en) Log tokenization in an integration platform
CN109446099A (zh) 自动化测试用例生成方法、装置、介质及电子设备
CN110471859A (zh) 业务测试方法、装置、介质及电子设备
CN110837356B (zh) 一种数据处理方法和装置
CN113326247B (zh) 云端数据的迁移方法、装置及电子设备
CN107301179A (zh) 数据库读写分离的方法和装置
CN109992496A (zh) 一种用于自动化测试的数据处理方法和装置
CN109857431A (zh) 代码修改方法及装置、计算机可读介质及电子设备
CN109002385A (zh) 用于数据流系统的压力测试方法和装置
CN109388551A (zh) 预测代码存在漏洞概率的方法、漏洞检测方法、相关装置
US12001815B2 (en) Cloud portability code scanning tool
CN109002389A (zh) 页面自动化测试的方法和装置
CN109582317A (zh) 用于调试寄宿应用的方法和装置
US10452518B2 (en) Uploading tenant code to a multi-tenant system
CN110399187A (zh) 一种语言资源的处理方法和装置
US12093683B2 (en) Machine learning based deprecated software identification
CN110688295A (zh) 数据测试方法和装置
CN108228611B (zh) 单据信息抄写方法和装置
CN109087097A (zh) 一种更新链码同一标识的方法和装置
CN114637689A (zh) 应用评估方法、装置、设备及存储介质
CN114840429A (zh) 识别版本冲突的方法、装置、设备、介质和程序产品
CN112256566B (zh) 一种测试案例的保鲜方法和装置
CN113312900A (zh) 数据校验的方法和装置
CN109901892A (zh) 一种动态属性验证的方法和装置
CN110019479A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20191119

RJ01 Rejection of invention patent application after publication