CN116974881A - 应用测试方法、装置、电子设备和可读介质 - Google Patents
应用测试方法、装置、电子设备和可读介质 Download PDFInfo
- Publication number
- CN116974881A CN116974881A CN202210424783.0A CN202210424783A CN116974881A CN 116974881 A CN116974881 A CN 116974881A CN 202210424783 A CN202210424783 A CN 202210424783A CN 116974881 A CN116974881 A CN 116974881A
- Authority
- CN
- China
- Prior art keywords
- test
- data
- logic
- environment
- instruction
- 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
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 428
- 238000004519 manufacturing process Methods 0.000 claims abstract description 108
- 230000004044 response Effects 0.000 claims abstract description 67
- 238000012545 processing Methods 0.000 claims abstract description 63
- 238000000034 method Methods 0.000 claims abstract description 56
- 230000001960 triggered effect Effects 0.000 claims abstract description 19
- 238000005070 sampling Methods 0.000 claims description 58
- 230000006870 function Effects 0.000 claims description 47
- 238000003860 storage Methods 0.000 claims description 43
- 238000012790 confirmation Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 11
- 230000002159 abnormal effect Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 description 28
- 238000010586 diagram Methods 0.000 description 16
- 238000010998 test method Methods 0.000 description 13
- 238000012986 modification Methods 0.000 description 9
- 230000004048 modification Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 7
- 230000006978 adaptation Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 244000035744 Hura crepitans Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000007596 consolidation process Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
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
技术领域
本申请涉及计算机技术领域,尤其涉及一种应用测试方法、装置、电子设备和可读介质。
背景技术
端到端测试是一种用于测试项目从头至尾的运行是否与设计初衷一致的测试方案。例如,一个应用包括多个数据获取和数据处理环节,对该应用的端到端测试是对该应用所包含的所有数据获取和数据处理场景进行的测试。
在相关技术中,需要针对整个应用流程中的场景逐条编写测试用例,再按照测试用户进行逐条测试来对每个场景进行测试。
然而,在上述的方案中,编写测试用例以及对于测试用例的修改和维护的难度较高,需要大量人工成本和时间成本,影响了测试的有效性和测试运行效率。
发明内容
基于上述技术问题,本申请提供一种应用测试方法、装置、电子设备和可读介质,以对应用的运行流程进行整体测试,而不需要逐条编写测试用例,也同时免去测试用例的修改和维护的过程,节省人工成本和时间成本,从而提升测试的有效性和测试运行效率。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供一种应用测试方法,包括:
获取测试录制指令,其中,所述测试录制指令用于触发请求录制功能;
当所述测试录制指令触发的所述请求录制功能启动时,在测试环境提供的生产逻辑下运行测试数据,以得到所述测试数据的业务请求以及第一业务响应结果,所述生产逻辑是应用程序在实际运行环境下的业务处理逻辑;
获取测试回放指令,其中,所述测试回放指令用于触发请求回放功能;
当所述测试回放指令触发的所述请求回放功能启动时,在所述测试环境提供的测试逻辑下按照所述业务请求的执行次序进行业务处理,得到第二业务响应结果,所述测试逻辑是应用程序在模拟运行环境下的业务处理逻辑;
根据所述第一业务响应结果以及所述第二业务响应结果,生成测试结果。
根据本申请实施例的一个方面,提供一种应用测试装置,包括:
录制指令获取模块,用于获取测试录制指令,其中,所述测试录制指令用于触发请求录制功能;
测试数据运行模块,用于获当所述测试录制指令触发的所述请求录制功能启动时,在测试环境提供的生产逻辑下运行测试数据,以得到所述测试数据的业务请求以及第一业务响应结果,所述生产逻辑是应用程序在实际运行环境下的业务处理逻辑;
回放指令获取模块,用于获取测试回放指令,其中,所述测试回放指令用于触发请求回放功能;
测试数据回放模块,用于当所述测试回放指令触发的所述请求回放功能启动时,在所述测试环境提供的测试逻辑下按照所述业务请求的执行次序进行业务处理,得到第二业务响应结果,所述测试逻辑是应用程序在模拟运行环境下的业务处理逻辑;
测试结果生成模块,用于根据所述第一业务响应结果以及所述第二业务响应结果,生成测试结果。
在本申请的一个实施例中,基于上述的技术方案,录制指令获取装置包括:
环境配置指令获取单元,用于获取环境配置指令,所述环境配置指令用于配置所述测试环境的运行逻辑和数据读取服务;
逻辑配置单元,用于根据所述环境配置指令,将所述测试环境的运行逻辑配置为所述生产逻辑,并将所述测试环境的数据读取服务配置为获取所述测试环境的测试数据;
录制指令获取单元,用于在所述测试环境配置完成后,获取针对于所述测试环境的测试录制指令。
在本申请的一个实施例中,基于上述的技术方案,回放指令获取模块包括:
逻辑更新指令获取单元,用于获取逻辑更新指令,所述逻辑配置指令用于更新所述测试环境的运行逻辑;
逻辑更新单元,用于根据所述逻辑更新指令,将所述测试环境的所述生产逻辑更新为所述测试逻辑;
回放指令获取单元,用于在所述测试环境更新完成后,获取针对于所述测试环境的测试回放指令。
在本申请的一个实施例中,基于上述的技术方案,所述测试数据包括多张数据表,录制指令获取还包括:
生产逻辑获取单元,用于获取所述生产逻辑,其中,所述生产逻辑中包括对于所述多张数据表中每张数据表的数据处理逻辑;
逻辑合并单元,用于将每张数据表对应的数据处理逻辑进行逻辑配置合并和替换,得到所述测试逻辑,所述测试逻辑用于从每个数据表中获取数据。
在本申请的一个实施例中,基于上述的技术方案,应用测试装置还包括:
比例计算模块,用于计算生产存储容量与所述测试环境的测试存储容量的比例作为数据采样比例,其中,所述生产存储容量来自运行所述生产逻辑的生产环境,所述生产环境包括多张数据表;
测试数据获取模块,用于根据所述数据采样比例,从所述生产环境获取所述测试数据,其中,所述测试数据包括来自于所述生产环境中的每张数据表的数据。
在本申请的一个实施例中,基于上述的技术方案,每张数据表对应于至少一个数据源;测试数据获取模块包括:
采样数量计算单元,用于根据所述生产环境中数据表的数量和所述数据采样比例计算每张数据表对应的采样数量;
数据读取单元,用于根据所述采样数量,从每张数据表的每个数据源读取数据,得到每张数据表的采样数据;
数据合并单元,用于将每张数据表的采样数据合并得到所述测试数据。
在本申请的一个实施例中,基于上述的技术方案,测试结果生成模块包括:
结果比对单元,用于将所述第一业务响应结果与所述第二业务响应结果进行比对,生成比对结果并展示所述比对结果;
确认指令获取单元,用于获取针对所述比对结果的结果确认指令,所述结果确认指令用于指示所述比对结果为正常结果或者异常结果;
测试结果生成单元,用于根据所述结果确认指令,生成所述测试结果。
根据本申请实施例的一个方面,提供一种电子设备,该电子设备包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,该处理器配置为经由执行可执行指令来执行如以上技术方案中的应用测试方法。
根据本申请实施例的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,当该计算机程序被处理器执行时实现如以上技术方案中的应用测试方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供应用测试方法。
在本申请的实施例中,先在生产逻辑上运行测试数据,并且对业务请求进行录制,随后将环境的逻辑切换为测试逻辑,并将录制的业务请求进行回放,以在测试逻辑上运行测试数据,通过比较运行结果来进行应用测试。由于测试过程中运行的数据都是基于完整逻辑运行,使得比对结果能够充分体现测试逻辑是否对运行结果产生影响,从而通过自动化方式进行测试,从而能够对应用的运行流程进行整体测试,而不需要逐条编写测试用例,也同时免去测试用例的修改和维护的过程,节省人工成本和时间成本,从而提升测试的有效性和测试运行效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
在附图中:
图1示意性地示出了本申请技术方案在一个应用场景中的示例性系统构架示意图;
图2中示出了示例性数据服务的生产逻辑过程的示意图;
图3为本申请实施例中应用测试方法的整体流程;
图4为本申请实施例中应用测试方法的示意流程;
图5中示出了示例性数据服务的测试逻辑过程的示意图;
图6示意性地示出了本申请实施例中应用测试装置的组成框图;
图7示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,本申请的方案可以应用于软件测试领域中,并且具体应用于对数据服务进行端到端测试场景中。具体地,在如今的互联网应用中,存在用于进行数据采集、数据传输以及数据处理等业务的各类数据服务。在此类数据服务中,对于所支持的不同业务的业务厨具通常存在对应的业务拉取、处理和读取服务。这些服务中的具体逻辑经常会由于业务需求以及提升性能和结构优化的等原因发生变化,而此类变化预期仅发生在数据服务的内部,而对于数据的应用方,也就是数据服务的下游应用不产生任何影响,即,虽然数据服务的具体逻辑发生变化,但是所输出的最终结果不会发生改变。本申请的方案可以应用于针对此类逻辑变化进行测试的过程中,通过对测试过程的控制,使得在测试的过程中实现自动化方式来比较逻辑变化前后数据服务所输出的结果来生成测试结果,不需要编写测试用例,自然也免去测试用例的修改和维护的难度,节省人工成本和时间成本,从而提升测试的有效性和测试运行效率。
为了在上述各种场景中,节省人工成本和时间成本,本申请提出了一种应用测试方法,该方法应用于图1所示的应用测试系统,请参阅图1,图1示意性地示出了本申请技术方案在一个应用场景中的示例性系统构架示意图,该图像识别系统中包括数据服务器和测试服务器和下游设备。前述应用测试方法可以由测试服务器上的应用测试装置或者应用测试服务来执行。
其中,如图1所示,下游设备包含但不仅限于平板电脑、笔记本电脑、掌上电脑、手机、语音交互设备及个人电脑(personal computer,PC)、车载终端、飞行器等,此处不做限定。其中,语音交互设备包含但不仅限于智能音响以及智能家电。在部分实现方式中,下游设备也可以是服务器或者运行在服务器或者终端设备上的模拟环境或客户端,客户端可以表现为网页客户端,也可以表现为应用程序类客户端,部署于前述下游设备上。图1中的数据服务器或者测试服务器可以是一台服务器或多台服务器组成的服务器集群或云计算中心等,具体此处均不限定。
虽然图1中仅示出了一个下游设备和两个个服务器,但应当理解,图1中的示例仅用于理解本方案,具体下游设备和服务器的数量均应当结合实际情况灵活确定。
更具体的,应用测试装置可以具体表现为部署于服务器上的服务,例如上述对本申请的应用场景进行举例时所示出的测试服务器,则测试服务器从数据服务器获取用于进行测试的测试数据,并且在测试服务器上运行本申请所介绍的方法。测试服务器与数据服务器和下游设备通过有线网络或者无线网络连接。进一步地,上述的无线网络使用标准通信技术和/或协议。无线网络通常为因特网、但也可以是任何网络,包括但不限于蓝牙、局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(WideArea Network,WAN)、移动、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,可以使用定制或专用数据通信技术取代或者补充上述数据通信技术。
本申请的方案可以与区块链技术相结合,通过将生成的测试结果上传到区块链上进行保存来建立按照时间序列的测试结果序列,从而能够将多次测试分析的结果关联,进一步导致测试结果对业务逻辑修改的指导能力,得出更加准确的测试结果。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营检测等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供异常控制的规则配置;基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营检测模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、检测网络情况、检测节点设备健康状态等。
平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
基于上述的内容,本申请介绍了一种应用测试方法。该应用测试方法可以用于包含数据写入服务的数据服务架构的测试过程。数据服务的架构中通常存在多个写节点和一个读节点以及一个数据应用节点。请参阅图2,图2中示出了示例性数据服务的生产逻辑过程的示意图。如图2所示,在分布式文件系统HDFS中存储有N个服务的输入数据1到输入数据N。在通过数据预处理步骤进行整理后,将得到数据表1至数据表N所对应的全量数据1至全量数据N和增量数据1至增量数据N。全量数据和增量数据分别会被对应的全量拉取节点和增量拉取节点获取并输入到对应的数据处理节点中进行处理,即全量拉取节点1和增量拉取节点1的数据被输入到数据处理节点1中。随后,数据读取节点会按照预设的读取逻辑从数据处理节点的结果中读取出数据,并且输入到数据应用节点中。数据应用节点则将数据对应地发送到下游设备或者下游服务中。在此类数据服务中,对数据的处理、存储和读取逻辑会发生频繁改变,例如精简数据、性能调优、架构调整等修改。此类调整属于数据服务的内部调整,而不应该对下游设备或者下游服务产生任何影响。如图2所示,如果在数据预处理、数据处理、数据读取等阶段进行数据结构的变更,但是预期对数据应用的结果无影响,那需要在测试环境搭建上述整套环境,再从数据应用侧进行测试,那无疑成本是非常高的。本申请的方案应用于此类场景中,能够便捷并且低成本地进行端到端的测试过程。
下面介绍本申请中应用测试方法的整体流程。为了便于介绍,请参阅图3,图3为本申请实施例中应用测试方法的整体流程。如图3所示,方法开始后,首先,在步骤310中,进行数据应用环境更新。此步骤主要是为了下一步引流和请求录制做准备,其中数据应用的模块代码要更新为生产环境的版本,然后修改其连接的下游配置,只有数据读取服务为测试环境,其他为沙箱环境。数据读取服务连接测试环境能够保持和回放阶段的数据一致性。随后,在步骤320中,进行引流、请求录制,从而从线上复制部分流量到测试环境,并录制请求和返回结果。在步骤330中,数据服务环境更新,更新被测服务为测试代码并重启。随后,在步骤340中,对数据应用环境进行修改。具体地,更改数据应用模块环境为回放模式,启动mock服务,用于数据应用非数据读取服务下游的结果回放。在步骤350中,对请求进行回放。具体地,启动测试客户端,回放前面录制的请求,并将得到的结果落地到文件。最后,在步骤360中,进行结果比对。在该步骤中,对录制阶段的返回结果和回放阶段的结果进行对比,并将结果上报到展示平台,人工确认比对结果是否符合预期,如果符合,则测试结果,如不符合,则是代码有问题,不符合本来的预想,需要重新进行测试。
结合上述介绍,下面结合具体实施方式对本申请提供的技术方案做出详细说明,请参阅图4,图4为本申请实施例中应用测试方法的示意流程图,本申请实施例中应用测试方法的一个实施例包括:
步骤S410,获取测试录制指令,其中,所述测试录制指令用于触发请求录制功能。
在本实施例中,方案由测试环境的服务器或者设备执行。测试录制指令用户触发该服务器或者设备执行请求录制功能。请求录制功能可以在功能执行期间,将测试环境中所接收到所有业务请求进行记录和保存,来形成录制结果,其中包括请求到达的顺序、时间以及业务请求的内容等信息。测试录制指令可以是由人工触发的或者由计算机自动触发。例如,计算机可以周期性地向测试服务器发送测试录制指令来触发测试过程,从而自动启动测试。
步骤S420,当所述测试录制指令触发的所述请求录制功能启动时,在测试环境提供的生产逻辑下运行测试数据,以得到所述测试数据的业务请求以及第一业务响应结果,所述生产逻辑是应用程序在实际运行环境下的业务处理逻辑。
具体地,服务器在获取到测试录制指令后,会根据测试录制指令启动请求录制功能。当请求录制功能启动时,服务器会在测试环境提供的生产逻辑下运行测试数据。具体地,生产逻辑是是应用程序在实际运行环境下的业务处理逻辑。以数据服务为例,生产逻辑是正在向下游设备提供数据的数据服务中所运行的逻辑。请求录制功能会在运行测试数据的器件记录下测试数据的业务请求以及测试数据通过生产逻辑的处理后得到的第一业务响应结果。具体地,测试数据中会包括一个或者多个业务请求,每个业务请求都会使得服务器根据生产逻辑输出对应的数据结果,每个数据结果可以作为第一业务响应结果中的一条数据,或者一个业务请求与对应的数据结果组成的一对信息形成一条业务响应加入到第一业务响应结果中。第一业务响应结果中会包括一条或者多条数据结果或者业务响应。
步骤S430,获取测试回放指令,其中,所述测试回放指令用于触发请求回放功能。
测试回放指令可以是从单独的控制设备获取的,例如从远程计算机或者从服务器的键盘输入,也可以是通过定时任务触发得到的,例如,在运行测试数据完成后的预设时间内通过定时任务等方式触发来发送给服务器。测试回放指令用于触发请求回放功能。请求回放功能在功能时间期间,可以将之前保存的业务请求按照业务请求发生时的状态重新发送。请求回放功能在执行时可以通过测试回放指令中的标识信息来指定要回放的业务请求或者指定之前录制好的运行过程,或者默认回放上一次执行请求录制功能时所记录的录制结果。
步骤S440,当所述测试回放指令触发的所述请求回放功能启动时,在所述测试环境提供的测试逻辑下按照所述业务请求的执行次序进行业务处理,得到第二业务响应结果,所述测试逻辑是应用程序在模拟运行环境下的业务处理逻辑。
具体地,服务器在获取到测试回放指令后,会根据测试回放指令启动请求回放功能。当请求回放功能启动时,服务器会获取之前请求录制功能所记录的业务请求,并且在测试环境提供的测试逻辑下按照业务请求的执行次序进行业务处理。测试逻辑是通常是基于生产逻辑进行逻辑修改后得到的,其可以与生产逻辑一起存储在服务器中。具体地,以数据服务为例,生产逻辑具体包括数据预处理、数据拉取、数据处理和数据读取等处理节点中执行的处理数据的具体处理规则或处理过程。测试逻辑则通常是对这些处理节点中的处理规则或处理过程进行修改后得到的。请求回放功能会按照进行录制时业务请求的顺序将所记录得的业务请求输入测试逻辑中来运行,从而得到通过测试逻辑处理后的第二业务响应结果。可以理解,如果录制了100个业务请求,则第一业务响应结果和第二业务响应结果中都应包括100条业务响应。
步骤S450,根据所述第一业务响应结果以及所述第二业务响应结果,生成测试结果。
取决于具体的测试目的,生成测试结果的方式可以不同。服务器可以将第一业务响应结果与第二业务响应结果进行对比,并且将二者不同的部分进行汇总,从而生成测试结果报告。在一个实施例中,服务器将第一业务响应结果和第二业务响应结果分别输入到下游设备或者下游服务,然后获取下游设备或者下游服务反馈的对第一业务响应结果和第二业务响应结果的响应信息,根据响应信息中的对业务数据处理的成功或者失败来生成数据结果。
在本申请实施例中,先在生产逻辑上运行测试数据,并且对业务请求进行录制,随后将环境的逻辑切换为测试逻辑,并将录制的业务请求进行回放,以在测试逻辑上运行测试数据,通过比较运行结果来进行应用测试。由于测试过程中运行的数据都是基于完整逻辑运行,使得比对结果能够充分体现测试逻辑是否对运行结果产生影响,从而通过自动化方式进行测试,从而能够对应用的运行流程进行整体测试,而不需要逐条编写测试用例,也同时免去测试用例的修改和维护的过程,节省人工成本和时间成本,从而提升测试的有效性和测试运行效率。
在本申请的一个实施例中,基于上述的技术方案,上述步骤S410,获取测试录制指令,具体包括如下的步骤:
获取环境配置指令,所述环境配置指令用于配置所述测试环境的运行逻辑和数据读取服务;
根据所述环境配置指令,将所述测试环境的运行逻辑配置为所述生产逻辑,并将所述测试环境的数据读取服务配置为获取所述测试环境的测试数据;
在所述测试环境配置完成后,获取针对于所述测试环境的测试录制指令。
具体地,服务器首先会获取到环境配置指令,环境配置指令用于配置所述测试环境的运行逻辑和数据读取服务。测试环境的运行逻辑通常包括测试逻辑和生产逻辑。数据读取服务是服务器用于获取测试数据的服务器。服务器通过数据读取服务的不同配置,测试环境可以从不同的数据源获取数据,例如从测试环境自身的存储器,或者从配置信息中读取数据存储地址并且从读取到的存储地址获取数据。服务器根据环境配置指令,将测试环境的运行逻辑配置为生产逻辑,并将测试环境的数据读取服务配置为获取测试环境的测试数据。具体地,服务器可以根据环境配置指令中地址获取到含有生产逻辑的文件,并且将代码文件复制预定的目录中,从而完成运行逻辑的配置过程。对于数据读取服务的配置可以通过修改数据读取服务的配置文件来进行。具体地,数据读取服务的配置文件中包括数据存储地址,服务器可以根据环境配置指令将该数据存储地址修改为测试环境中存储有测试数据的存储地址。在测试环境配置完成后,服务器获取针对于测试环境的测试录制指令。具体地,测试录制指令可以由人工输入,也可以由服务器中的服务响应于环境配置指令执行完成而自动生成。
在本申请实施例中,通过环境配置指令修改测试环境的运行逻辑和数据读取服务,从而能够自动进行测试环境的准备过程,节约测试过程的人力投入,降低测试成本。
在本申请的一个实施例中,基于上述的技术方案,上述步骤S430,获取测试回放指令,包括:
获取逻辑更新指令,所述逻辑配置指令用于更新所述测试环境的运行逻辑;
根据所述逻辑更新指令,将所述测试环境的所述生产逻辑更新为所述测试逻辑;
在所述测试环境更新完成后,获取针对于所述测试环境的测试回放指令。
具体地,服务器首先会获取到逻辑更新指令,逻辑配置指令用于更新测试环境的运行逻辑。具体地,逻辑更新指令中可以包括待更新的运行逻辑的文件在测试环境上的存储地址,更新过程则根据存储地址执行。逻辑更新指令通常由人工触发或者通过编辑好的脚本来触发。服务器根据逻辑更新指令,将测试环境的生产逻辑更新为测试逻辑。具体地,服务器可以根据逻辑更新指令中的存储地址或者从预设的存储地址中获取到用于更新运行逻辑的文件。通过将含有测试逻辑的文件复制到预定的目录中或者覆盖测试环境中含有生产逻辑的文件,或者将测试环境的配置中用于指示运行逻辑文件所在位置的信息配置成指向含有测试逻辑的文件的方式来执行具体的更新操作。在运行逻辑更新完成后,服务器获取针对于测试环境的测试回放指令。测试回放指令可以是人工输入的指令,也可以用服务器中的服务响应于逻辑更新指令执行完成来自动生成和触发。在一个实施例中,服务器还会修改测试环境的环境模式。具体地,服务器会启动mock服务,mock服务会将数据应用中与数据读取服务不相关的服务的下游结果进行回放,从而能够完整的回放出测试数据的真实执行过程,同时节约执行此类与数据读取不相关的服务的资源。
在本申请实施例中,通过指令更新测试环境的运行逻辑,从而能够自动进行切换测试环境的运行络的过程,从而加快整体流程的执行效率。
在本申请的一个实施例中,基于上述的技术方案,测试数据包括多张数据表,上述步骤,获取环境配置指令之前,本申请的方法还包括:
获取所述生产逻辑,其中,所述生产逻辑中包括对于所述多张数据表中每张数据表的数据处理逻辑;
将每张数据表对应的数据处理逻辑进行逻辑配置合并和替换,得到所述测试逻辑,所述测试逻辑用于从每个数据表中获取数据。
具体地,每张数据表通常对应于不同的数据服务,因此,每张数据表对应的数据处理逻辑通常不同。根据数据表的标识信息等内容,服务器可以获取每张数据表对应的数据处理逻辑。对于图2所示出的数据服务,数据处理逻辑通常包括数据拉取节点、数据处理节点和数据读取节点中所包括的逻辑内容。服务器会将每个数据表对应的数据处理逻辑进行逻辑配置合并,得到测试逻辑,测试逻辑用于从每个数据表中获取数据。为了便于介绍,请参阅图5,图5中示出了示例性数据服务的测试逻辑过程的示意图。如图5所示,数据拉取节点中,全量拉取1至N和增量拉取1至N分别被合并为一个全量拉取和增量拉取,数据处理节点1到N被合并为一个数据处理节点,而数据读取节点1到N也被合并为一个数据读取节点。具体地,在合并的过程中,会测试环境与生产环境的不同调整相关的配置文件。例如,测试环境中的硬件环境通常会进行简化,例如,在生产环境中,多张数据表会存储在不同的服务器中以便于提供服务,而在测试环境中,通常会合并到一台服务器中,此时,配置文件中的相关配置则需要被修改。对于具体的数据处理逻辑,服务器会基于用户指令或者基于预设的信息进行逻辑合并,例如,用户指令指示数据处理5节点的逻辑发生修改,则在进行逻辑合并的过程中,会用用户指示的修改后的的逻辑替换原本的数据处理5节点中的逻辑进行合并,从而在后续的过程中对数据处理5节点中的逻辑修改进行测试。如图4所示出的,合并后得到的测试逻辑中仅包括一组完整的运行逻辑,测试环境的所有数据表中的数据都通过这组逻辑进行处理。
在本申请的实施例中,通过对生产逻辑进行替换和合并的方式来得到测试逻辑,从而能够将测试逻辑部署到结构简单的测试环境中,而不需要在测试环境中搭建生产环境中复杂且高价的硬件架构,从而能够节约测试的硬件成本。
在本申请的一个实施例中,基于上述的技术方案,在上述步骤S410,获取测试录制指令之前,本申请的方法还包括:
计算生产存储容量与所述测试环境的测试存储容量的比例作为数据采样比例,其中,所述生产存储容量来自运行所述生产逻辑的生产环境,所述生产环境包括多张数据表;
根据所述数据采样比例,从所述生产环境获取所述测试数据,其中,所述测试数据包括来自于所述生产环境中的每张数据表的数据。
具体地,在正式执行测试之前,首先需要从生产环境获取部分生产数据作为输入到测试环境中作为测试数据。生产环境与测试环境中的硬件条件通常不同,因此能承载的数据量也会不同。对此,服务器会获取到生产环境的生产存储容量和测试环境的测试存储容量。生产环境是正式运行生产逻辑来为下游系统或设备提供服务的环境,生产环境包括多张数据表,每张数据表通常为一个服务提供数据。服务器计算生产存储容量与测试存储容量的比例,作为数据采样比例,并且在后续进行数据采样时按照该比例进行采样。例如,测试环境的测试存储容量是生产环境的生产存储容量的10%,则进行数据采样时,会采集生产数据的10%作为测试数据。根据数据采样比例,服务器可以直接从生产环境的数据中读取出对应比例的数据作为测试数据。
测试环境所包括的数据表与生产环境的数据表相同。对于这些数据表,测试环境可以获取到用于对数据采样的数据采样逻辑。数据采样逻辑用于从每张数据表中获取数据作为测试数据。数据采样逻辑中通常会包括部分过滤条件,例如根据数据时间、大小以及关联数据的数量等条件,只获取符合条件的数据作为测试数据。在获取到数据采样比例和数据采样逻辑后,服务器会根据数据采样比例,通过数据采样逻辑从生产环境获取测试数据。具体地,数据采样逻辑可以根据数据采样比例和生产环境的数据总量来计算每张数据集要获取的数据数量,再按照平均或者随机分配的方式从每张数据表中获取数据。或者,也可以直接从生产环境正在运行的业务流程中拷贝一部分数据出来接入到测试环境中,再通过数据采样逻辑进行采样,直到采集的数据满足了数据采样比例为止。
在本申请实施例中,按照测试环境与生产环境的存储容量的比例从生产换种获取测试数据,从而能够同时提高测试数据的样本多样性和制造测试数据的效率。
在本申请的一个实施例中,基于上述的技术方案,每张数据表对应于至少一个数据源;上述步骤,根据所述数据采样比例,从所述生产环境获取所述测试数据,具体包括如下的步骤:
根据所述生产环境中数据表的数量和所述数据采样比例计算每张数据表对应的采样数量;
根据所述采样数量,从每张数据表的每个数据源读取数据,得到每张数据表的采样数据;
将每张数据表的采样数据合并得到所述测试数据。
服务器首先根据生产环境中数据表的数量和数据采样比例计算每张数据表对应的采样数量。具体地,假定数据采样比例为10%,而数据表的数量为10张,则每个数据表平均的采样数量则为1%,而根据每张数据表的数据总量就可以确定各个数据表的采样数量。服务器还可以根据数据表中的数据数量来对采样数量进行调整,例如,在10张数据表中,有2张数据表的数据量高于其他数据表,则可以将这两张数据表的采样数量上调,而降低其他数据表中的采样数量,上调的程度则可以根据数据量比例来进行。
根据所确定的采样数量,服务器从每张数据表的每个数据源读取数据,得到每张数据表的采样数据。每张数据表对应于至少一个数据源,服务器可以根据数据源来将数据表中的数据分组,并且从每个数据分组中随机或者平均抽取出一定数量的数据,来得到数量总和为采样数量的数据。最后将每张数据表的采样数据合并,从而得到测试数据。
在本申请实施例中,通过计算每张数据表的采样数量,再从数据表的每个数据源中读取数据,使得读取数据的总和达到采样数量,每张数据表的采样数据合并得到测试数据,从而使得测试数据中包括包含每张数据表的每种输入数据的样本,从而使得测试过程能够充分覆盖数据的各种情况,确保了样本多样性的同时也确保了测试覆盖度。
在本申请的一个实施例中,基于上述的技术方案,上述步骤S450,根据所述第一业务响应结果以及所述第二业务响应结果,生成测试结果,包括如下的步骤:
将所述第一业务响应结果与所述第二业务响应结果进行比对,生成比对结果并展示所述比对结果;
获取针对所述比对结果的结果确认指令,所述结果确认指令用于指示所述比对结果为正常结果或者异常结果;
根据所述结果确认指令,生成所述测试结果。
如上文中所描述的,第一业务响应结果和第二业务响应结果是基于完全相同的输入数据,经过不同的运行逻辑处理得到的数据结果。在实际的流程中,第一业务响应结果和第二业务响应结果中所包括的是要发送给下游系统或者下游服务来进行进一步业务处理的处理。服务器将第一业务响应结果与第二业务响应结果进行比对。比对过程通常是将每行数据进行对应的逐一比较,并且确定出不同的部分作为比对结果。比对结果会被上传到测试平台中来展示给用户。用户根据所看到的比对结果,可以判断结果是否符合预期,从而对测试的结果进行确认,或者,测试平台按照预设的规则来根据比对结果确定测试结果,从而生成结果确认指令。例如,如果比对结果中存在差异的数据与全量测试数据的比例低于预设的比例,并且差异仅存在于与数据无关的部分,则判断为正常结果,否则为异常结果。根据结果确认指令中指示为正常或者异常,对应地生成测试通过或者测试失败的测试结果。
在本申请的实施例中,通过结果比对来展示输出的业务响应结果,并且根据对比对结果的确认来生成测试结果,直接利用生产数据的正确结果来核对测试结果是否有误,不需要针对于各个情况编写对应的测试用例进行测试,从而简化了测试过程,提升了测试效率。
应当注意,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
以下介绍本申请的装置实施,可以用于执行本申请上述实施例中的应用测试方法。图6示意性地示出了本申请实施例中应用测试装置的组成框图。如图6所示,应用测试装置600主要可以包括:
录制指令获取模块610,用于获取测试录制指令,其中,所述测试录制指令用于触发请求录制功能;
测试数据运行模块620,用于获当所述测试录制指令触发的所述请求录制功能启动时,在测试环境提供的生产逻辑下运行测试数据,以得到所述测试数据的业务请求以及第一业务响应结果,所述生产逻辑是应用程序在实际运行环境下的业务处理逻辑;
回放指令获取模块630,用于获取测试回放指令,其中,所述测试回放指令用于触发请求回放功能;
测试数据回放模块640,用于当所述测试回放指令触发的所述请求回放功能启动时,在所述测试环境提供的测试逻辑下按照所述业务请求的执行次序进行业务处理,得到第二业务响应结果,所述测试逻辑是应用程序在模拟运行环境下的业务处理逻辑;
测试结果生成模块650,用于根据所述第一业务响应结果以及所述第二业务响应结果,生成测试结果。
在本申请的一个实施例中,基于上述的技术方案,录制指令获取模块610包括:
环境配置指令获取单元,用于获取环境配置指令,所述环境配置指令用于配置所述测试环境的运行逻辑和数据读取服务;
逻辑配置单元,用于根据所述环境配置指令,将所述测试环境的运行逻辑配置为所述生产逻辑,并将所述测试环境的数据读取服务配置为获取所述测试环境的测试数据;
录制指令获取单元,用于在所述测试环境配置完成后,获取针对于所述测试环境的测试录制指令。
在本申请的一个实施例中,基于上述的技术方案,回放指令获取模块630包括:
逻辑更新指令获取单元,用于获取逻辑更新指令,所述逻辑配置指令用于更新所述测试环境的运行逻辑;
逻辑更新单元,用于根据所述逻辑更新指令,将所述测试环境的所述生产逻辑更新为所述测试逻辑;
回放指令获取单元,用于在所述测试环境更新完成后,获取针对于所述测试环境的测试回放指令。
在本申请的一个实施例中,基于上述的技术方案,所述测试数据包括多张数据表,录制指令获取还包括:
生产逻辑获取单元,用于获取所述生产逻辑,其中,所述生产逻辑中包括对于所述多张数据表中每张数据表的数据处理逻辑;
逻辑合并单元,用于将每张数据表对应的数据处理逻辑进行逻辑配置合并和替换,得到所述测试逻辑,所述测试逻辑用于从每个数据表中获取数据。
在本申请的一个实施例中,基于上述的技术方案,应用测试装置还包括:
比例计算模块,用于计算生产存储容量与所述测试环境的测试存储容量的比例作为数据采样比例,其中,所述生产存储容量来自运行所述生产逻辑的生产环境,所述生产环境包括多张数据表;
测试数据获取模块,用于根据所述数据采样比例,从所述生产环境获取所述测试数据,其中,所述测试数据包括来自于所述生产环境中的每张数据表的数据。
在本申请的一个实施例中,基于上述的技术方案,每张数据表对应于至少一个数据源;测试数据获取模块包括:
采样数量计算单元,用于根据所述生产环境中数据表的数量和所述数据采样比例计算每张数据表对应的采样数量;
数据读取单元,用于根据所述采样数量,从每张数据表的每个数据源读取数据,得到每张数据表的采样数据;
数据合并单元,用于将每张数据表的采样数据合并得到所述测试数据。
在本申请的一个实施例中,基于上述的技术方案,测试结果生成模块650包括:
结果比对单元,用于将所述第一业务响应结果与所述第二业务响应结果进行比对,生成比对结果并展示所述比对结果;
确认指令获取单元,用于获取针对所述比对结果的结果确认指令,所述结果确认指令用于指示所述比对结果为正常结果或者异常结果;
测试结果生成单元,用于根据所述结果确认指令,生成所述测试结果。
需要说明的是,上述实施例所提供的装置与上述实施例所提供的方法属于同一构思,其中各个模块执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
图7示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图7示出的电子设备的计算机系统700仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统700包括中央处理单元(Central Processing Unit,CPU)701,其可以根据存储在只读存储器(Read-Only Memory,ROM)702中的程序或者从储存部分708加载到随机访问存储器(Random Access Memory,RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(Input/Output,I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分707;包括硬盘等的储存部分708;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入储存部分708。
特别地,根据本申请的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (10)
1.一种应用测试方法,其特征在于,包括:
获取测试录制指令,其中,所述测试录制指令用于触发请求录制功能;
当所述测试录制指令触发的所述请求录制功能启动时,在测试环境提供的生产逻辑下运行测试数据,以得到所述测试数据的业务请求以及第一业务响应结果,所述生产逻辑是应用程序在实际运行环境下的业务处理逻辑;
获取测试回放指令,其中,所述测试回放指令用于触发请求回放功能;
当所述测试回放指令触发的所述请求回放功能启动时,在所述测试环境提供的测试逻辑下按照所述业务请求的执行次序进行业务处理,得到第二业务响应结果,所述测试逻辑是应用程序在模拟运行环境下的业务处理逻辑;
根据所述第一业务响应结果以及所述第二业务响应结果,生成测试结果。
2.根据权利要求1所述的方法,其特征在于,所述获取测试录制指令,包括:
获取环境配置指令,所述环境配置指令用于配置所述测试环境的运行逻辑和数据读取服务;
根据所述环境配置指令,将所述测试环境的运行逻辑配置为所述生产逻辑,并将所述测试环境的数据读取服务配置为获取所述测试环境的测试数据;
在所述测试环境配置完成后,获取针对于所述测试环境的测试录制指令。
3.根据权利要求2所述的方法,其特征在于,所述获取测试回放指令,包括:
获取逻辑更新指令,所述逻辑配置指令用于更新所述测试环境的运行逻辑;
根据所述逻辑更新指令,将所述测试环境的所述生产逻辑更新为所述测试逻辑;
在所述测试环境更新完成后,获取针对于所述测试环境的测试回放指令。
4.根据权利要求2所述的方法,其特征在于,所述测试数据包括多张数据表,所述获取环境配置指令之前,所述方法还包括:
获取所述生产逻辑,其中,所述生产逻辑中包括对于所述多张数据表中每张数据表的数据处理逻辑;
将每张数据表对应的数据处理逻辑进行逻辑配置合并和替换,得到所述测试逻辑,所述测试逻辑用于从每个数据表中获取数据。
5.根据权利要求1所述的方法,其特征在于,所述获取测试录制指令之前,所述方法还包括:
计算生产存储容量与所述测试环境的测试存储容量的比例作为数据采样比例,其中,所述生产存储容量来自运行所述生产逻辑的生产环境,所述生产环境包括多张数据表;
根据所述数据采样比例,从所述生产环境获取所述测试数据,其中,所述测试数据包括来自于所述生产环境中的每张数据表的数据。
6.根据权利要求5所述的方法,其特征在于,每张数据表对应于至少一个数据源;所述根据所述数据采样比例,从所述生产环境获取所述测试数据,包括:
根据所述生产环境中数据表的数量和所述数据采样比例计算每张数据表对应的采样数量;
根据所述采样数量,从每张数据表的每个数据源读取数据,得到每张数据表的采样数据;
将每张数据表的采样数据合并得到所述测试数据。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述根据所述第一业务响应结果以及所述第二业务响应结果,生成测试结果,包括:
将所述第一业务响应结果与所述第二业务响应结果进行比对,生成比对结果并展示所述比对结果;
获取针对所述比对结果的结果确认指令,所述结果确认指令用于指示所述比对结果为正常结果或者异常结果;
根据所述结果确认指令,生成所述测试结果。
8.一种应用测试装置,其特征在于,包括:
录制指令获取模块,用于获取测试录制指令,其中,所述测试录制指令用于触发请求录制功能;
测试数据运行模块,用于获当所述测试录制指令触发的所述请求录制功能启动时,在测试环境提供的生产逻辑下运行测试数据,以得到所述测试数据的业务请求以及第一业务响应结果;
回放指令获取模块,用于获取测试回放指令,其中,所述测试回放指令用于触发请求回放功能;
测试数据回放模块,用于当所述测试回放指令触发的所述请求回放功能启动时,在所述测试环境提供的测试逻辑下按照所述业务请求的执行次序进行业务处理,得到第二业务响应结果;
测试结果生成模块,用于根据所述第一业务响应结果以及所述第二业务响应结果,生成测试结果。
9.一种电子设备,其特征在于,包括:
处理器;
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至7中任意一项所述的应用测试方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的应用测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210424783.0A CN116974881A (zh) | 2022-04-22 | 2022-04-22 | 应用测试方法、装置、电子设备和可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210424783.0A CN116974881A (zh) | 2022-04-22 | 2022-04-22 | 应用测试方法、装置、电子设备和可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116974881A true CN116974881A (zh) | 2023-10-31 |
Family
ID=88473551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210424783.0A Pending CN116974881A (zh) | 2022-04-22 | 2022-04-22 | 应用测试方法、装置、电子设备和可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116974881A (zh) |
-
2022
- 2022-04-22 CN CN202210424783.0A patent/CN116974881A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112463605B (zh) | 自动化测试方法及装置、存储介质、电子设备 | |
CN108804306B (zh) | 用于自动测试系统的方法和系统 | |
CN110083543B (zh) | 回归测试方法、装置、电子设备及存储介质 | |
EP4033349A1 (en) | Method and apparatus for generating mirror image file, and computer-readable storage medium | |
CN110727575B (zh) | 一种信息处理方法、系统、装置、以及存储介质 | |
CN113553269B (zh) | 页面埋点上报方法及相关装置 | |
CN114422343B (zh) | 业务配置方法、设备、系统及计算机可读存储介质 | |
US20200073781A1 (en) | Systems and methods of injecting fault tree analysis data into distributed tracing visualizations | |
CN109614439A (zh) | 数据同步方法、装置、电子设备及存储介质 | |
CN109471647B (zh) | 一种数据的更新方法、装置、电子设备及可读介质 | |
JP2023531701A (ja) | 効率的コントローラデータ生成および抽出 | |
CN115687503A (zh) | 数据库间的数据同步方法、装置、设备及存储介质 | |
CN116974881A (zh) | 应用测试方法、装置、电子设备和可读介质 | |
CN114221949B (zh) | 一种适用于公有云平台的api网关实现方法 | |
CN107193734B (zh) | 用于移动Web应用的重放方法及重放系统 | |
CN111382058A (zh) | 一种服务的测试方法、装置,服务器及存储介质 | |
CN113537507B (zh) | 机器学习系统、方法及电子设备 | |
CN112783789B (zh) | 一种适配测试方法、设备及计算机可读存储介质 | |
CN114860615A (zh) | 规则自动化测试方法、装置、电子设备及存储介质 | |
CN116467156A (zh) | 联调测试方法、装置、存储介质及电子设备 | |
CN110493326B (zh) | 基于zookeeper管理集群配置文件的系统和方法 | |
CN111382057A (zh) | 测试用例生成方法,测试方法及装置,服务器及存储介质 | |
US11687441B2 (en) | Intelligent dynamic web service testing apparatus in a continuous integration and delivery environment | |
CN114691125B (zh) | 一种应用资源映射转换的方法、系统、介质和电子设备 | |
CN117215907A (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 |