CN113127364A - 一种性能测试方法、装置、电子设备和存储介质 - Google Patents
一种性能测试方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN113127364A CN113127364A CN202110445587.7A CN202110445587A CN113127364A CN 113127364 A CN113127364 A CN 113127364A CN 202110445587 A CN202110445587 A CN 202110445587A CN 113127364 A CN113127364 A CN 113127364A
- Authority
- CN
- China
- Prior art keywords
- performance
- test case
- interface
- testing
- interface automation
- 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
- 238000011056 performance test Methods 0.000 title claims abstract description 117
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000012360 testing method Methods 0.000 claims abstract description 241
- 238000013515 script Methods 0.000 claims abstract description 80
- 238000004590 computer program Methods 0.000 claims description 17
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 14
- 238000002360 preparation method Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000010998 test method Methods 0.000 description 5
- 238000004806 packaging method and process Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 239000011800 void material Substances 0.000 description 4
- 238000010276 construction Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000011423 initialization method Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
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/3684—Test management for test design, e.g. generating new test cases
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
技术领域
本公开涉及人工智能技术领域,具体涉及一种性能测试方法、装置、电子设备和存储介质。
背景技术
性能测试实施流程通常包括需求分析、测试准备、测试执行、结果分析与调优、测试报告与总结五个阶段。需求分析阶段包括被测系统分析、业务情况收集、性能需求评估等。测试准备阶段又包括测试环境准备、测试场景设计、测试脚本准备、测试数据准备等。测试执行阶段主要工作是完成测试场景涉及中的各个场景测试。分为人工监控情况下的性能测试和无人值守性能测试两种。结果分析与调优阶段主要工作是对运行结果进行分析,针对发现的问题进行优化。测试报告是性能测试的最终成果,明确性能是否满足需求是否存在性能隐患。
在性能测试整体流程中,测试准备阶段的测试脚本准备和测试数据准备工作是制约性能测试守护范围扩大的主要瓶颈。性能测试工具通常支持录制回放和脚本编写两种方式完成测试脚本。无论哪种方式都存在一定门槛,并且会消耗大量时间及人力。
目前业界的性能测试需要对测试交易场景逐一进行录制或编写测试脚本并进行相应的数据准备,在大规模测试时的时间及人力成本较高。同时当前业界接口自动化测试开展较为普及,有大量的接口自动化脚本资源积累。
公开内容
(一)要解决的技术问题
针对现有技术的上述不足,本公开的主要目的在于提供一种性能测试方法、装置、电子设备和存储介质,以期至少部分地解决上述技术问题中的至少之一。
(二)技术方案
为了实现上述目的,根据本公开的一个方面,提供了一种性能测试方法,该方法包括:
获取接口自动化测试案例;
获取测试上述接口自动化测试案例的测试方法;
将上述测试接口自动化测试案例的方法转换为性能测试脚本;
运行上述性能测试脚本,完成性能测试。
优选地,上述获取测试接口自动化测试案例的方法之前,该性能测试方法还包括:
检测上述接口自动化测试案例的变动;
运行存在变动的接口自动化测试案例。
优选地,上述获取测试接口自动化测试案例的方法,具体包括:
获取运行成功的存在变动的接口自动化测试案例;
获取测试上述运行成功的存在变动的接口自动化测试案例的方法;
以及获取所述运行成功的存在变动的接口自动化测试案例的运行依赖信息。
优选地,上述运行存在变动的接口自动化测试案例,具体包括:
重写存在变动的接口自动化测试案例的断言信息;
运行重写断言信息的接口自动化测试案例,若上述重写断言信息的接口自动化测试案例运行失败,则对上述运行失败的接口自动化测试案例进行标记。
优选地,该性能测试方法还包括:
获取上述性能测试脚本运行所需的参数;
将上述参数进行整合,得到性能测试场景。
优选地,上述将上述测试接口自动化测试案例的方法转换为性能测试脚本,具体包括:
创建一个Java请求类;
在上述JaVa请求类中根据上述测试上述运行成功的存在变动的接口自动化测试案例的方法,和上述运行成功的存在变动的接口自动化测试案例的运行依赖信息组织Java代码,得到性能测试脚本;
根据上述性能测试脚本生成第一文件;
结合上述性能测试脚本和上述性能测试场景生成第二文件。
优选地,上述运行上述性能测试脚本,完成性能测试,具体包括:
根据上述第一文件和上述第二文件运行上述性能测试脚本,完成性能测试。
优选地,该性能测试方法还包括:
将上述性能测试脚本的运行结果以预设的形式进行展示。
优选地,上述检测上述接口自动化测试案例的变动,具体包括:
检测上述接口自动化测试案例的MD5值,根据上述MD5值的变动判断上述接口自动化测试案例的变动。
另一方面,本公开提供了一种性能测试装置,该装置包括:
第一获取模块,用于获取接口自动化测试案例;
第二获取模块,用于获取测试上述接口自动化测试案例的方法;
转换模块,用于将上述测试上述接口自动化测试案例的方法转换为性能测试脚本;
测试模块,用于运行上述性能测试脚本,完成性能测试。
优选地,该性能测试的装置还包括:
检测模块,用于检测上述接口自动化测试案例的变动;
上述检测模块还用于运行存在变动的接口自动化测试案例。
优选地,该性能测试的装置还包括:
展示模块,用于将上述性能测试脚本的运行结果以预设的形式进行展不。
另一方面,本公开提供了一种电子设备,该电子设备包括:
通信器,用于与服务器通信;
处理器;
存储器,其存储有计算机可执行程序,该计算机可执行程序在被上述处理器执行时,使得上述处理器执行上述的性能测试方法。
另一方面,本公开提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现上述的性能测试方法。
(三)有益效果
本公开提供的性能测试的方法充分利用现有的接口自动化案例资产,将接口自动化案例转换为性能测试脚本及场景,并进行无人值守的性能测试。
应用本公开提供的性能测试的方法可以大幅降低性能测试的实施成本,扩大性能测试的场景守护范围,对准确评估系统性能容量、保证软件产品质量,具有极其重要的意义。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开中的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1示意性示出了本公开一实施例提供的一种性能测试方法的流程示意图;
图2示意性示出了本公开一实施例提供的一种获取测试接口自动化测试案例的方法的方法的流程示意图;
图3示意性示出了本公开一实施例提供的一种将测试接口自动化测试案例的方法转换为接口性能测试脚本,并运行性能测试脚本完成性能测试的方法的流程示意图;
图4示意性示出了本公开一实施例提供的性能测试装置的方框图;
图5示意性示出了本公开一实施例提供的性能测试方法和性能测试装置的应用场景图;
图6示意性示出了根据本公开一实施例提供的实现一种性能测试方法的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。本领域技术人员还应理解,实质上任意表示两个或更多可选项目的转折连词和/或短语,无论是在说明书、权利要求书还是附图中,都应被理解为给出了包括这些项目之一、这些项目任一方、或两个项目的可能性。例如,短语“A或B”应当被理解为包括“A”或“B”、或“A和B”的可能性。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。
因此,本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。在本公开的上下文中,计算机可读介质可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,计算机可读介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。计算机可读介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。本文中的性能测试指在常规负载情况下的并发测试对系统的各项性能指标进行测试。
性能测试脚本指根据性能测试工具要求录制或编写的测试代码及使用的测试数据。
性能测试场景是指根据实际业务情况、测试目的,确定的性能测试脚本执行方式。包括虚拟用户数量、用户加载速度、用户加载梯度、请求间隔要求、脚本运行时长。
图1示意性示出了本公开一实施例提供的一种性能测试方法的流程示意图,如图1所示,该性能测试方法包括:
S101、获取接口自动化测试案例;
S102、获取测试上述接口自动化测试案例的方法;
S103、将上述测试所述接口自动化测试案例的方法转换为性能测试脚本;
S104、运行上述性能测试脚本,完成性能测试。
图2示意性示出了本公开一实施例提供的一种获取测试接口自动化测试案例的方法的方法的流程示意图,如图2所示,该方法包括:
S201、检测上述接口自动化测试案例的变动;
在本公开一实施例中,通过对比上述接口自动化测试案例的MD5值,根据MD5值的对比结果判断上述接口自动化测试案例的变动。
S202、重写存在变动的接口自动化测试案例的断言信息;
S203、运行重写断言信息的接口自动化测试案例,若上述重写断言的接口自动化测试案例运行失败,则标记出上述运行失败的接口自动化测试案例;
在本公开一实施例中,标记出运行失败的接口自动化测试案例,便于在后续的解析接口自动化测试案例获取测试方法和运行依赖信息时,可以将被标记的接口自动化测试案例剔除,避免了将运行失败的接口自动化测试案例的测试方法转换为性能测试脚本,导致性能测试脚本运行失败的情况的发生。
S204、解析重写断言信息后运行成功的接口自动化测试案例,获取测试上述运行成功的存在变动的接口自动化测试案例的方法。
断言是编程术语,表示为一些布尔表达。编写代码时,我们总是会做出一些假设,断言就是用于在代码中捕捉这些假设。程序员相信在程序中的某个特定点该表达式值为真,可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言而在部署时禁用断言。同样,程序投入运行后,最终用户在遇到问题时可以重新启用断言。
在本公开一实施例中,通过解析运行成功的接口自动化测试案例,获取接口自动化测试案例代码中的执行方法、执行步骤、测试数据、断言信息及运行依赖信息。
图3示意性示出了本公开一实施例提供的一种将测试接口自动化测试案例的方法转换为性能测试脚本,并运行性能测试脚本完成性能测试的方法的流程示意图,如图3所示,该方法包括:
S301、获取性能测试脚本运行所需的参数;
在本公开一实施例中,将性能测试脚本运行所需的参数存储在全局配置文件中。
在本实施例中,还获取待进行性能测试的接口的请求URL、接口请求类型、测试数据库配置、服务化接口注册中心信息。并且将上述待进行性能测试的接口的请求URL、接口请求类型、测试数据库配置、服务化接口注册中心信息也存储在全局配置文件中。
S302、将上述参数进行整合,得到性能测试场景;
S303、创建一个Java请求类,在上述Java请求类中根据上述测试运行成功的存在变动的接口自动化测试案例的方法,和上述运行成功的存在变动的接口自动化测试案例的运行依赖信息组织Java代码,得到性能测试脚本;
S304、根据上述性能测试脚本和上述运行成功的存在变动的接口自动化测试案例的运行依赖信息生成第一文件;
S305、结合上述性能测试脚本和上述性能测试场景生成第二文件。
在本公开一实施例中,将测试接口自动化测试案例的方法转换为性能测试脚本,运行性能测试脚本完成性能测试的步骤如下:
(1)创建一个Java请求类作为性能测试脚本;
(2)在上述Java请求类中根据测试接口自动化测试案例的方法,和接口自动化测试案例的运行依赖信息组织java代码,得到性能测试脚本;
上述Java代码中包括四个方法:①请求创建需要参数的方法(public ArgumentsgetDefaultParameters);②请求初始化方法public void setupTest(JavaSamplerContext arg0);③请求循环执行的方法public SampleResult runTest(JavaSamplerContext arg0);④请求结束方法public void teardownTest(JavaSamplerContext arg0);
(3)编译第(2)得到的Java请求类,并将编译后的Java请求类打包生成第一文件;
在本实施例中,第一文件的形式为.jar包。
(4)结合上述性能测试场景和性能测试脚本的内容,生成性能测试脚本运行所需的第二文件;
根据上述第一文件和上述第二文件运行上述性能测试脚本,完成性能测试。
在本公开一实施例中,jmeter执行性能测试脚本,使性能测试脚本按照性能测试场景要求自动运行。在本实施例中,第二文件的形式为.jmx文件。
在本公开一实施例中,将上述性能测试脚本在上述性能测试场景中的运行结果进行展示。在本实施例中,性能测试脚本在性能测试场景中的运行结果以网页的形式进行展现。
图4示意性示出了本公开一实施例提供的性能测试装置的框图,如图4所示,该装置包括:第一获取模块401、第二获取模块402,转换模块403、测试模块404。
第一获取模块401,用于获取接口自动化测试案例;
第二获取模块402,用于获取测试上述接口自动化测试案例的测试方法;
转换模块403,用于将上述测试上述接口自动化测试案例的方法转换为性能测试脚本;
测试模块404,用于运行上述性能测试脚本,完成性能测试。
上述第一获取模块401还用于:获取上述性能测试脚本运行所需的参数;将上述参数进行整合,得到性能测试场景。
上述性能测试装置还包括:
检测模块405包括:更新检查模块4051、可用性检查模块4052和转换配置模块4053。
更新检查模块4051,用于检测上述接口自动化测试案例的变动。
可用性检查模块4052,用于重写存在变动的接口自动化测试案例的断言信息,并运行重写断言信息的接口自动化测试案例。
转换配置模块4053,用于记录和存储重写断言信息的接口自动化测试案例的运行结果,并对运行失败的接口自动化测试案例进行标记。
上述转换模块403,还用于获取上述可用性检查模块4052运行结果为运行成功的接口自动化测试案例,以及测试上述运行结果为运行成功的接口自动化测试案例的方法,和上述运行结果为运行成功的接口自动化测试案例运行依赖信息。
展示模块406,用于将上述性能测试脚本的运行结果以预设的形式进行展示。
图5示意性示出了本公开一实施例提供的性能测试方法和性能测试装置的应用场景图,如图5所示,在本公开一实施例中,该性能测试装置的进行性能测试的过程如下:
第一获取模块401,用于获取接口自动化测试案例、性能测试脚本运行所需的参数、待测试接口的请求URL、接口请求类型、测试数据库配置、服务化接口注册中心信息;
还用于将性能测试脚本运行所需的参数、待测试接口的请求URL、接口请求类型、测试数据库配置、服务化接口注册中心信息存储至全局配置文件中。
更新检查模块4051,用于从上述获第一取模块401获取接口自动化测试案例;
还用于通过对比接口自动化测试案例的MD5值对接口自动化测试案例的变动进行检测。
可用性检查模块4052,用于从上述更新检查模块4051获取存在变动的接口自动化测试案例;
还用于基于开源TestNG自动化运行框架,重写存在变动的接口自动化测试案例的断言信息;
还用于对重写断言信息的接口自动化测试案例的运行结果进行验证,同时标记出运行失败的接口自动化测试案例。
转换配置模块4053,用于从上述可用性检查模块4052读取所有存在变动的接口自动化测试案例的运行结果,并对运行结果进行记录和存储;
还用于同时对运行失败的接口自动化测试案例进行标记,以便在后续将测试方法转换为性能测试脚本的过程中,将被标记的运行失败的接口自动化测试案例进行剔除。
转换模块403,用于从上述检测模块405读取运行成功的接口自动化测试案例。
第二获取模块402,用于解析转换模块403读取到的运行成功的接口自动化案例,获取测试上述接口自动化测试案例的方法,和上述接口自动化测试案例的运行依赖信息。
转换模块403,还用于创建一个Java请求类作为性能测试脚本;
还用于在上述Java请求类中根据测试方法和运行依赖信息组织java代码,得到性能测试脚本;
上述Java代码中包括四个方法:①请求创建需要参数的方法(public ArgumentsgetDefaultParameters);②请求初始化方法public void setupTest(JavaSamplerContext arg0);③请求循环执行的方法public SampleResult runTest(JavaSamplerContext arg0);④请求结束方法public void teardownTest(JavaSamplerContext arg0);
还用于编译第上述得到的Java请求类,并将编译后的Java请求类打包生成第一文件;
在本实施例中,第一文件的形式为.jar包。
还用于结合上述性能测试场景和性能测试脚本的内容,生成性能测试脚本运行所需的第二文件。
测试模块404,用于使用java的Runtime类的exec方法驱动jmeter根据第一文件和第二文件执行性能测试脚本,并使性能测试脚本按照性能测试场景的要求自动运行。
展示模块406,用于获取上述测试模块404对性能测试脚本的运行结果,并将性能测试脚本的运行结果以网页的形式进行展现。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一获取模块401、第二获取模块402,转换模块403、测试模块404、检测模块405和展示模块406中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,第一获取模块401、第二获取模块402、转换模块403、测试模块404、检测模块405和展示模块406中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一获取模块401、第二获取模块402、转换模块403、测试模块404、检测模块405和展示模块406中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图6示意性示出了根据本公开实施例的适于实现上文描述的方法的电子设备的方框图。图6示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,该电子设备包括:
通信器610,用于与服务器通信;
处理器620;
存储器630,其存储有计算机可执行程序,该程序包含如上文所述性能测试的方法。
根据本公开的实施例,电子设备600还可以包括输入/输出(I/O)接口,输入/输出(I/O)接口也连接至总线。电子设备600还可以包括连接至I/O接口的以下部件中的一项或多项:包括键盘、鼠标等的输入部分;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分;包括硬盘等的存储部分;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分。通信部分经由诸如因特网的网络执行通信处理。驱动器也根据需要连接至I/O接口。可拆卸介质,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动上,以便于从其上读出的计算机程序根据需要被安装入存储部分。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被处理器执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
处理器620例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器620还可以包括用于缓存用途的板载存储器。处理器620可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
存储器630,例如可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。其存储有计算机可执行程序,该程序在被所述处理器执行时,使得所述处理器执行如上文所述的性能测试的方法。
本公开还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序包含如上文所述的性能测试的方法。该计算机可读存储介质可以是上述实施例中描述的装置/设备中所包含的;也可以是单独存在,而未装配入该装置/设备中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线、光缆、射频信号等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能电可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
Claims (14)
1.一种性能测试方法,其特征在于,包括:
获取接口自动化测试案例;
获取测试所述接口自动化测试案例的方法;
将所述测试所述接口自动化测试案例的方法转换为性能测试脚本;
运行所述性能测试脚本,完成性能测试。
2.根据权利要求1所述的性能测试方法,其特征在于,所述获取测试所述接口自动化测试案例的方法之前,所述性能测试方法还包括:
检测所述接口自动化测试案例的变动;
运行存在变动的接口自动化测试案例。
3.根据权利要求2所述的性能测试方法,其特征在于,所述获取测试所述接口自动化测试案例的方法,具体包括:
获取运行成功的存在变动的接口自动化测试案例;
获取测试所述运行成功的存在变动的接口自动化测试案例的方法;
以及获取所述运行成功的存在变动的接口自动化测试案例的运行依赖信息。
4.根据权利要求2所述的性能测试方法,其特征在于,所述运行存在变动的接口自动化测试案例,具体包括:
重写存在变动的接口自动化测试案例的断言信息;
运行重写断言信息的接口自动化测试案例,若所述重写断言信息的接口自动化测试案例运行失败,则对运行失败的接口自动化测试案例进行标记。
5.根据权利要求3所述的性能测试方法,其特征在于,所述性能测试方法还包括:
获取所述性能测试脚本运行所需的参数;
将所述参数进行整合,得到性能测试场景。
6.根据权利要求5所述的性能测试方法,其特征在于,所述将所述测试接口自动化测试案例的方法转换为性能测试脚本,具体包括:
创建一个Java请求类;
在所述Java请求类中根据所述测试所述运行成功的存在变动的接口自动化测试案例的方法,和所述运行成功的存在变动的接口自动化测试案例的运行依赖信息组织Java代码,得到性能测试脚本;
根据所述性能测试脚本生成第一文件;
结合所述性能测试脚本和所述性能测试场景生成第二文件。
7.根据权利要求6所述的性能测试方法,其特征在于,所述运行所述性能测试脚本,完成性能测试,具体包括:
根据所述第一文件和所述第二文件运行所述性能测试脚本,完成性能测试。
8.根据权利要求7所述的性能测试方法,其特征在于,所述性能测试方法还包括:
将所述性能测试脚本的运行结果以预设的形式进行展示。
9.根据权利要求2所述的性能测试方法,其特征在于,所述检测所述接口自动化测试案例的变动,具体包括:
检测所述接口自动化测试案例的MD5值,根据所述MD5值的变动判断所述接口自动化测试案例的变动。
10.一种性能测试装置,其特征在于,包括:
第一获取模块,用于获取接口自动化测试案例;
第二获取模块,用于获取测试所述接口自动化测试案例的方法;
转换模块,用于将所述测试所述接口自动化测试案例的方法转换为性能测试脚本;
测试模块,用于运行所述性能测试脚本,完成性能测试。
11.根据权利要求10所述的性能测试装置,其特征在于,所述性能测试装置还包括:
检测模块,用于检测所述接口自动化测试案例的变动;
所述检测模块还用于运行存在变动的接口自动化测试案例。
12.根据权利要求10所述的性能测试装置,其特征在于,所述性能测试装置还包括:
展示模块,用于将所述性能测试脚本的运行结果以预设的形式进行展示。
13.一种电子设备,其特征在于,所述电子设备包括:
通信器,用于与服务器通信;
处理器;
存储器,其存储有计算机可执行程序,该计算机可执行程序在被所述处理器执行时,使得所述处理器执行如权利要求1-9中任意一项所述的性能测试方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-9中任意一项所述的性能测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110445587.7A CN113127364A (zh) | 2021-04-23 | 2021-04-23 | 一种性能测试方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110445587.7A CN113127364A (zh) | 2021-04-23 | 2021-04-23 | 一种性能测试方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113127364A true CN113127364A (zh) | 2021-07-16 |
Family
ID=76779739
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110445587.7A Pending CN113127364A (zh) | 2021-04-23 | 2021-04-23 | 一种性能测试方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113127364A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114816956A (zh) * | 2022-04-28 | 2022-07-29 | 马上消费金融股份有限公司 | 接口性能测试方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108614770A (zh) * | 2018-04-09 | 2018-10-02 | 中国工商银行股份有限公司 | 自动化测试断言方法、装置、存储介质及设备 |
CN112052182A (zh) * | 2020-09-27 | 2020-12-08 | 平安信托有限责任公司 | 接口自动化测试方法、装置、计算机设备及存储介质 |
-
2021
- 2021-04-23 CN CN202110445587.7A patent/CN113127364A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108614770A (zh) * | 2018-04-09 | 2018-10-02 | 中国工商银行股份有限公司 | 自动化测试断言方法、装置、存储介质及设备 |
CN112052182A (zh) * | 2020-09-27 | 2020-12-08 | 平安信托有限责任公司 | 接口自动化测试方法、装置、计算机设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114816956A (zh) * | 2022-04-28 | 2022-07-29 | 马上消费金融股份有限公司 | 接口性能测试方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107704392B (zh) | 一种测试用例的处理方法及服务器 | |
US8386851B2 (en) | Functional coverage using combinatorial test design | |
US9519571B2 (en) | Method for analyzing transaction traces to enable process testing | |
US10120783B2 (en) | Determining test case efficiency | |
US8839203B2 (en) | Code coverage-based taint perimeter detection | |
US20130132933A1 (en) | Automated compliance testing during application development | |
US20140245264A1 (en) | Identifying Test Cases Based on Changed Test Code | |
CN110674047B (zh) | 软件测试方法、装置及电子设备 | |
US20170097812A1 (en) | Automated and heuristically managed solution to quantify cpu and path length cost of instructions added, changed or removed by a service team | |
CN103186463B (zh) | 确定软件的测试范围的方法和系统 | |
US20080263489A1 (en) | Method to identify and generate critical timing path test vectors | |
CN110597704B (zh) | 应用程序的压力测试方法、装置、服务器和介质 | |
KR101976629B1 (ko) | 커미트 민감도 테스트들 | |
Nouman et al. | Software testing: A survey and tutorial on white and black-box testing of C/C++ programs | |
US10380313B1 (en) | Implementation and evaluation of designs for heterogeneous computing platforms with hardware acceleration | |
CN113127364A (zh) | 一种性能测试方法、装置、电子设备和存储介质 | |
US11086768B1 (en) | Identifying false positives in test case failures using combinatorics | |
US9202004B1 (en) | System, method, and computer program product for ensuring that each simulation in a regression is running a unique configuration | |
CN114490337A (zh) | 调测方法、调测平台、设备及存储介质 | |
Chaudhary | Latest software testing tools and techniques: A review | |
CN114791885A (zh) | 接口测试方法、装置、设备及介质 | |
CN114138579A (zh) | 基于Prometheus的GPU交互测试的方法、装置、设备及可读介质 | |
US9619597B1 (en) | System, method, and computer program product for electronic design configuration space determination and verification | |
KR101251792B1 (ko) | 디버거를 이용한 임베디드 소프트웨어 단위 테스트 자동화 장치 및 방법 | |
CN112181855A (zh) | 一种基于api的自动化测试方法、装置及计算机设备 |
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 |