CN109446047B - 性能测试平台脚本存储方法、装置、设备及存储介质 - Google Patents

性能测试平台脚本存储方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN109446047B
CN109446047B CN201811277533.9A CN201811277533A CN109446047B CN 109446047 B CN109446047 B CN 109446047B CN 201811277533 A CN201811277533 A CN 201811277533A CN 109446047 B CN109446047 B CN 109446047B
Authority
CN
China
Prior art keywords
script
sub
function
interface
user
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.)
Active
Application number
CN201811277533.9A
Other languages
English (en)
Other versions
CN109446047A (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.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology 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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201811277533.9A priority Critical patent/CN109446047B/zh
Publication of CN109446047A publication Critical patent/CN109446047A/zh
Application granted granted Critical
Publication of CN109446047B publication Critical patent/CN109446047B/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/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3414Workload generation, e.g. scripts, playback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提出一种性能测试平台脚本存储方法、装置、设备及存储介质,所述方法包括:根据用户需求设计脚本主表,所述脚本主表包括脚本类型、脚本状态、脚本发布的位置和脚本发布的名称;根据所述脚本类型设计脚本子表,所述脚本子表包括简单接口脚本子表、多接口脚本子表、函数脚本子表、函数脚本的树形结构子表、脚本依赖信息子表;将所述简单接口脚本子表、多接口脚本子表、函数脚本子表分别通各个子表中的冗余脚本id和所述脚本主表一一对应;将脚本发布后的信息、函数审核通过的信息,脚本依赖信息统一存储至git服务器。本发明设计一种新的关系模式扩展性能测试平台脚本的业务场景,支持第三方函数库导入及分布式存储,属于性能测试技术领域。

Description

性能测试平台脚本存储方法、装置、设备及存储介质
技术领域
本发明属于性能测试技术领域,具体涉及一种性能测试平台脚本存储方法、装置、设备及存储介质。
背景技术
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试,在保证软件的质量中起着重要的作用。各种性能测试系统也受到用户和开发者的欢迎,用户可以按照一定规范编写测试脚本,将脚本以及需要的资源分发并执行,在执行的过程中收集运行情况、相应时间、测试目标服务器的运行情况等,并且保存这些数据生成测试报告,以供查看。
但是部分测试系统中脚本存储的不足仍然给性能测试应用带来诸多不便,比如开源压测平台NGrinder的脚本存储通过SVN插件存储至本地,但未很好支持脚本的多状态,也不支持函数脚本等第三方库的导入。
发明内容
本发明提出一种性能测试平台脚本存储方法、装置、设备及存储介质,解决部分性能测试平台脚本存储的不足。
本发明实施例的第一方面,提出了一种性能测试平台脚本存储方法,所述方法包括如下技术方案:
S1、根据用户需求生成测试脚本的脚本主表,所述脚本主表包括脚本类型、脚本状态、脚本发布的位置和脚本发布的名称;所述脚本类型包括简单接口脚本、多接口脚本、函数脚本;所述脚本状态包括脚本暂存状态、发布状态;
S2、根据所述脚本类型生成测试脚本的脚本子表,所述脚本子表包括简单接口脚本子表、多接口脚本子表、函数脚本子表、函数脚本的树形结构子表、脚本依赖信息子表;所述简单接口脚本子表存储用户通过简单UI模式创建的脚本;所述多接口脚本子表存储用户编写的代码模式的脚本;所述函数脚本子表用于创建函数脚本及第三方库导入;
S3、将所述简单接口脚本子表、多接口脚本子表、函数脚本子表分别通各个子表中的冗余脚本id和所述脚本主表一一对应;所述脚本主表存储脚本的通用信息,所述脚本子表存储对应不同类型的信息;
S4、将用户创建的函数脚本或导入的第三方库文件通过审核后发布到git服务器的lib仓库中;
S5、在git服务器中为每个用户创建一个用户脚本存储仓库,将用户自己编写的简单接口脚本和多接口脚本及相关脚本依赖信息存储至所述用户脚本存储仓库。
在上述技术方案中,所述步骤S2中,所述脚本主表中,所述简单接口脚本子表将接口的公用信息通过JSON类型存储,所述接口的公用信息包括url,head,body。
在上述技术方案中,所述步骤S2中,所述函数脚本子表将每个函数信息描述为一条记录,一个函数脚本存储多个函数。
在上述技术方案中,所述步骤S2中,将通过审核的函数脚本的平铺结构转换后得到所述函数脚本的树形结构,所述平铺结构为函数脚本中各个函数的平铺列表展示。
在上述技术方案中,所述步骤S2中,所述脚本依赖信息子表中,存储脚本相关依赖信息,包括当前脚本依赖的其他脚本信息、简单接口脚本或多接口脚本依赖的参数化文件信息,所述参数化文件用于构建接口压力测试过程中多样化的请求信息。
在上述技术方案中,所述步骤S4中,所述函数脚本发布的过程中,所有函数脚本的名称互不相同,后续调用函数时直接从Git中Lib仓库中拉取需要调用的函数脚本名称。
在上述技术方案中,所述步骤S5中,所述在所述用户脚本存储仓库中存储用户自己编写的简单接口脚本和多接口脚本及相关脚本依赖信息具体为:在所述用户脚本存储仓库中,通过脚本id区分每个脚本,在每个脚本中根据脚本名称生成对应的子文件夹来存储脚本文件实体和相关参数化文件。
本发明实施例的第二方面,提供了一种性能测试平台脚本存储装置,所述装置包括:
主表设计模块:用于根据用户需求生成测试脚本的脚本主表,所述脚本主表包括脚本类型、脚本状态、脚本发布的位置和脚本发布的名称;所述脚本类型包括简单接口脚本、多接口脚本、函数脚本;所述脚本状态包括脚本暂存状态、发布状态;
子表设计模块:用于根据所述脚本类型生成测试脚本的脚本子表,所述脚本子表包括简单接口脚本子表、多接口脚本子表、函数脚本子表、函数脚本的树形结构子表、脚本依赖信息子表;所述简单接口脚本子表存储用户通过简单UI模式创建的脚本;所述多接口脚本子表存储用户编写的的代码模式的脚本;所述函数脚本子表用于创建函数脚本及第三方库导入;
关系对应模块:用于将所述简单接口脚本子表、多接口脚本子表、函数脚本子表分别通各个子表中的冗余脚本id和所述脚本主表一一对应;所述脚本主表存储脚本的通用信息,所述脚本子表存储对应不同类型的信息;
分布存储模块:用于将用户创建的函数脚本或导入的第三方库文件通过审核后发布到git服务器的lib仓库中;在git服务器中为每个用户创建一个用户脚本存储仓库,将用户自己编写的简单接口脚本和多接口脚本及相关脚本依赖信息存储至所述用户脚本存储仓库。
本发明实施例的第三方面,提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明实施例第一方面所述方法的步骤。
本发明实施例的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例第一方面提供的所述方法的步骤。
本发明的有益效果是:本发明设计一种新的关系模式扩展性能测试平台脚本的业务场景,通过脚本的类型将简单接口脚本、多接口脚本、函数脚本抽象成统一脚本存储,支持第三方函数库导入,通过Git支持脚本的分布式存储。
附图说明
为了更清楚地说明本发明的技术方案,下面将对本发明技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的脚本存储方法流程示意图;
图2为本发明实施例提供的脚本主表、子表结构及关系图;
图3为本发明实施例提供的脚本存储装置结构示意图;
图4为本发明实施例提供的仓库根目录结构图;
图5为本发明实施例提供的计算机设备结构示意图。
具体实施方式
本发明提出一种性能测试平台脚本存储方法、装置、设备及存储介质,用于扩展性能测试平台脚本的业务场景。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路、以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参见图1,本发明提出一种性能测试平台脚本存储方法,所述方法包括:
S1、根据用户需求生成测试脚本的脚本主表,所述脚本主表包括脚本类型、脚本状态、脚本发布的位置和脚本发布的名称;所述脚本类型包括简单接口脚本、多接口脚本、函数脚本;所述脚本状态包括脚本暂存状态、发布状态;
具体的,设script为脚本主表,在script中,通过type区分简单接口脚本、多接口脚本、函数脚本;通过本发明的方法可在性能测试平台比如开源压侧平台NGrinder上新建测试界面,简单接口脚本即用户通过简单UI模式创建的脚本,用户可以通过测试界面的简单模式界面创建简单接口脚本,比如输入测试URL,选择脚本语言,选择脚本名称,输入各项配置可自动生成测试脚本,用户还可以根据性能测试计划自己修改脚本;多接口脚本即用户自己编写的代码模式脚本,用户可通过测试界面的代码模式界面创建多接口脚本,自己编写测试脚本的代码,完成测试。函数脚本即纯函数类型的脚本,一个函数脚本中可存储多个函数,用户可通过测试界面的函数封装界面贡献自己的函数脚本或导入第三方库文件,这些文件经过平台管理员审核后可添加到平台资源库中。在脚本主表中。通过status区分脚本暂存状态、发布状态;使用publish_path和publish_name标记脚本发布的位置和脚本发布的名称。
可选的,所述步骤S1中,所述脚本主表中,所述简单接口脚本子表将接口的公用信息通过JSON类型存储,所述接口的公用信息包括url,head,body。
S2、根据所述脚本类型生成测试脚本的脚本子表,所述脚本子表包括简单接口脚本子表、多接口脚本子表、函数脚本子表、函数脚本的树形结构子表、脚本依赖信息子表;所述简单接口脚本子表存储用户通过简单UI模式创建的脚本;所述多接口脚本子表存储用户编写的代码模式的脚本;所述函数脚本子表用于创建函数脚本及第三方库导入;
具体的,在所述脚本子表中,simple_script_detail子表是简单脚本存储,存储用户通过简单UI模式创建的脚本;multiple_script_detail子表是多接口脚本存储,存储用户编写的脚本代码;function_script_detail子表是函数脚本存储,用于创建函数及第三方库导入;library_info子表是函数脚本的树形结构展示;script_dependent_detail子表是脚本依赖信息存储;
可选的,所述步骤S2中,所述函数脚本子表将每个函数信息描述为一条记录,一个函数脚本存储多个函数。
可选的,所述步骤S2中,将通过审核的函数脚本的平铺结构转换后得到所述函数脚本的树形结构,所述平铺结构为函数脚本中各个函数的平铺列表展示。
可选的,所述步骤S2中,所述脚本依赖信息子表存储脚本相关依赖信息,包括当前脚本依赖的其他脚本信息、简单接口脚本或多接口脚本依赖的参数化文件信息,所述参数化文件用于构建接口压力测试过程中多样化的请求信息。比如使用Ngrinder的HTTP GET/POST请求,在NGrinder请求脚本中使用资源文件中数据作为接口参数进行接口性能测试。
具体的,所述简单接口子表中,用before_event和after_event存储接口的前置后置行为;所述script_dependent_detail子表中的脚本依赖信息是用户自己编写的简单接口脚本或多接口脚本所需要的数据文件信息,比如多借接口脚本可以依赖的函数脚本信息library_id,param_file是简单模式脚本或代码模式脚本依赖的参数化文件信息,比如脚本需要读入的csv,等格式的参数信息、配置文件信息及其他相关信息。
S3、将所述简单接口脚本子表、多接口脚本子表、函数脚本子表分别通各个子表中的冗余脚本id和所述脚本主表一一对应;所述脚本主表存储脚本的通用信息,所述脚本子表存储对应不同类型的信息;
具体的,simple_script_detail子表、multiple_script_detail子表和function_script_detail子表可分别通过各个子表中的冗余script_id和所述脚本主表script一一对应起来。每个子表中都有一个script_id,通过script_id可建立子表与主表之间的对应关系。
S4、将用户创建的函数脚本或导入的第三方库文件通过审核后发布到git服务器的lib仓库中;
可选的,所述步骤S4中,所述函数脚本发布的过程中,所有函数脚本的名称互不相同,后续调用函数时直接从Git中Lib仓库中拉取需要调用的函数脚本名称。
具体的,在审核过程中用audit_by字段标识审核人,以便追溯,函数脚本审核通过后也会通过publish_path和publish_name发布至git。名称是脚本每次改动都会影响的,publish_name在脚本发布后会覆盖旧的名称,并将oldpusblish_path和oldpublish_name的脚本删除掉释放git空间,审核通过后的函数脚本或第三方库文件会存储到git并被加入到性能测试平台的平台资源库中,集合多方贡献扩充平台资源,用户均可使用该平台资源,后续需要调用函数时可直接从git服务器的lib仓库中拉取函数脚本名称。
S5、在git服务器中为每个用户创建一个用户脚本存储仓库,将用户自己编写的简单接口脚本和多接口脚本及相关脚本依赖信息存储至所述用户脚本存储仓库。
可选的,所述步骤S5中,所述在所述用户脚本存储仓库中存储用户自己编写的简单接口脚本和多接口脚本及相关脚本依赖信息具体为:在所述用户脚本存储仓库中,通过脚本id区分每个脚本,在每个脚本中根据脚本名称生成对应的子文件夹来存储脚本文件实体和相关参数化文件。
请参见图2,本发明提供的脚本主表、子表结构及关系示意图,其中script是脚本主表,simple_script_detail是简单脚本子表,multiple_script_detail是多接口脚本子表,function_script_detail是函数脚本子表,library_info是函数脚本的树形结构展示子表,script_dependent_detail是脚本依赖信息子表。用户通过脚本主表、子表创建性能测试平台测试脚本,包括简单接口脚本、多接口脚本及函数脚本,然后利用这些脚本结合业务场景执行性能测试任务。使用本发明提供的方法可扩充性能测试平台的业务场景,满足用户多样话测试需求,提供了多种测试脚本编写模式,支持第三方库导入,使性能测试更加便捷、多样化。
请参见图3,本发明提供的一种性能测试平台脚本存储装置,所述装置包括:
主表设计模块310:用于根据用户需求生成测试脚本的脚本主表,所述脚本主表包括脚本类型、脚本状态、脚本发布的位置和脚本发布的名称;所述脚本类型包括简单接口脚本、多接口脚本、函数脚本;所述脚本状态包括脚本暂存状态、发布状态;
子表设计模块320:用于根据所述脚本类型生成测试脚本的脚本子表,所述脚本子表包括简单接口脚本子表、多接口脚本子表、函数脚本子表、函数脚本的树形结构子表、脚本依赖信息子表;所述简单接口脚本子表存储用户通过简单UI模式创建的脚本;所述多接口脚本子表存储用户编写的的代码模式的脚本;所述函数脚本子表用于创建函数脚本及第三方库导入;
关系对应模块330:用于将所述简单接口脚本子表、多接口脚本子表、函数脚本子表分别通各个子表中的冗余脚本id和所述脚本主表一一对应;所述脚本主表存储脚本的通用信息,所述脚本子表存储对应不同类型的信息;
分布存储模块340:用于将用户创建的函数脚本或导入的第三方库文件通过审核后发布到git服务器的lib仓库中;在git服务器中为每个用户创建一个用户脚本存储仓库,将用户自己编写的简单接口脚本和多接口脚本及相关脚本依赖信息存储至所述用户脚本存储仓库。
请参见图4,本发明实施例提供的脚本存储仓库根目录结构图,在所述仓库根目录中,pending-lib目录存放待审核状态的函数脚本,lib目录存放审核通过的函数脚本或第三方函数库;user-A目录为用户A的脚本根目录,user-A的子目录bizA为当前用户的某个脚本根目录,用于存放脚本文件实体、脚本依赖的数据文件等内容。user-A、user-B、user-C等目录是用于区分不同的用户,它们具有相同的存储结构,其各自的子目录bizA、bizB、bizC等是用于区分同一个用户下不同的脚本,bizA目录下即存储该脚本的脚本文件实体及相关依赖数据文件,bizB、bizC等同理。
请参见图5,图5是本发明实施例提供的计算机设备结构的示意图。所述设备包括:存储器510、处理器520以及系统总线530,所述存储器510包括存储其上的可运行的程序5101,本领域技术人员可以理解,图5中示出的终端设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图5对计算机设备的各个构成部件进行具体的介绍:
存储器510可用于存储软件程序以及模块,处理器520通过运行存储在存储器510的软件程序以及模块,从而执行终端的各种功能应用以及数据处理。存储器510可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器510可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
在存储器510上包含数据同步方法的可运行程序5101,所述可运行程序5101可以被分割成一个或多个模块/单元,所述一个或多个模块/单元被存储在所述存储器510中,并由处理器520执行,以完成通知的传递并获取通知实现过程,所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序5101在所述设备中的执行过程。例如,所述计算机程序5101可以被分割为主表设计模块、子表设计模块、关系对应模块和分布存储模块。
处理器520是服务器的控制中心,利用各种接口和线路连接整个终端设备的各个部分,通过运行或执行存储在存储器510内的软件程序和/或模块,以及调用存储在存储器510内的数据,执行终端的各种功能和处理数据,从而对终端进行整体监控。可选的,处理器520可包括一个或多个处理单元;优选的,处理器520可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器520中。
系统总线530是用来连接计算机内部各功能部件,可以传送数据信息、地址信息、控制信息,其种类可以是例如PCI总线、ISA总线、VESA总线等。处理器520的指令通过总线传递至存储器510,存储器510反馈数据给处理器520,系统总线530负责处理器520与存储器510之间的数据、指令交互。当然系统总线530还可以接入其他设备,例如网络接口、显示设备等。
在本发明实施例中,该设备所包括的处理器520执行的可运行程序具体为:
一种性能测试平台脚本存储方法,所述方法包括如下技术方案:
S1、根据用户需求生成测试脚本的脚本主表,所述脚本主表包括脚本类型、脚本状态、脚本发布的位置和脚本发布的名称;所述脚本类型包括简单接口脚本、多接口脚本、函数脚本;所述脚本状态包括脚本暂存状态、发布状态;
S2、根据所述脚本类型生成测试脚本的脚本子表,所述脚本子表包括简单接口脚本子表、多接口脚本子表、函数脚本子表、函数脚本的树形结构子表、脚本依赖信息子表;所述简单接口脚本子表存储用户通过简单UI模式创建的脚本;所述多接口脚本子表存储用户编写的代码模式的脚本;所述函数脚本子表用于创建函数脚本及第三方库导入;
S3、将所述简单接口脚本子表、多接口脚本子表、函数脚本子表分别通各个子表中的冗余脚本id和所述脚本主表一一对应;所述脚本主表存储脚本的通用信息,所述脚本子表存储对应不同类型的信息;
S4、将用户创建的函数脚本或导入的第三方库文件通过审核后发布到git服务器的lib仓库中;
S5、在git服务器中为每个用户创建一个用户脚本存储仓库,将用户自己编写的简单接口脚本和多接口脚本及相关脚本依赖信息存储至所述用户脚本存储仓库。
优选的,所述步骤S2中,所述脚本主表中,所述简单接口脚本子表将接口的公用信息通过JSON类型存储,所述接口的公用信息包括url,head,body。
优选的,所述步骤S2中,所述函数脚本子表将每个函数信息描述为一条记录,一个函数脚本存储多个函数。
优选的,所述步骤S2中,将通过审核的函数脚本的平铺结构转换后得到所述函数脚本的树形结构,所述平铺结构为函数脚本中各个函数的平铺列表展示。
优选的,所述步骤S2中,所述脚本依赖信息子表中,存储脚本相关依赖信息,包括当前脚本依赖的其他脚本信息、简单接口脚本或多接口脚本依赖的参数化文件信息,所述参数化文件用于构建接口压力测试过程中多样化的请求信息。
优选的,所述步骤S4中,所述函数脚本发布的过程中,所有函数脚本的名称互不相同,后续调用函数时直接从Git中Lib仓库中拉取需要调用的函数脚本名称。
优选的,所述步骤S5中,所述在所述用户脚本存储仓库中存储用户自己编写的简单接口脚本和多接口脚本及相关脚本依赖信息具体为:在所述用户脚本存储仓库中,通过脚本id区分每个脚本,在每个脚本中根据脚本名称生成对应的子文件夹来存储脚本文件实体和相关参数化文件。
本发明通过脚本的类型将简单接口脚本、多接口脚本、函数脚本抽象成统一脚本存储,支持多种脚本编写模式及第三方库导入,可扩充性能测试平台的业务场景,满足用户多样化测试需求。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实施例的模块、单元和/或方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (8)

1.一种性能测试平台脚本存储方法,其特征在于,所述方法包括如下内容:
S1、根据用户需求生成测试脚本的脚本主表,所述脚本主表包括脚本类型、脚本状态、脚本发布的位置和脚本发布的名称;所述脚本类型包括简单接口脚本、多接口脚本、函数脚本;所述脚本状态包括脚本暂存状态、发布状态;
S2、根据所述脚本类型生成测试脚本的脚本子表,所述脚本子表包括简单接口脚本子表、多接口脚本子表、函数脚本子表、函数脚本的树形结构子表、脚本依赖信息子表;所述简单接口脚本子表存储用户通过简单UI模式创建的脚本;所述多接口脚本子表存储用户编写的代码模式的脚本;所述函数脚本子表用于创建函数脚本及第三方库导入;
S3、将所述简单接口脚本子表、多接口脚本子表、函数脚本子表分别通各个子表中的冗余脚本id和所述脚本主表一一对应;所述脚本主表存储脚本的通用信息,所述脚本子表存储对应不同类型的信息;
S4、将用户创建的函数脚本或导入的第三方库文件通过审核后发布到git服务器的lib仓库中;
S5、在git服务器中为每个用户创建一个用户脚本存储仓库,将用户自己编写的简单接口脚本和多接口脚本及相关脚本依赖信息发布后存储至所述用户脚本存储仓库;
函数脚本是纯函数类型的脚本,一个函数脚本中可存储多个函数;
步骤S2中,将通过审核的函数脚本的平铺结构转换后得到所述函数脚本的树形结构,所述平铺结构为函数脚本中各个函数的平铺列表展示;所述脚本依赖信息子表存储脚本相关依赖信息,包括当前脚本依赖的其他脚本信息、简单接口脚本或多接口脚本依赖的参数化文件信息,所述参数化文件用于构建接口压力测试过程中多样化的请求信息。
2.根据权利要求1所述一种性能测试平台脚本存储方法,其特征在于,所述步骤S2中,所述脚本主表中,所述简单接口脚本子表将接口的公用信息通过JSON类型存储,所述接口的公用信息包括url,head,body。
3.根据权利要求1所述一种性能测试平台脚本存储方法,其特征在于,所述步骤S2中,所述函数脚本子表将每个函数信息描述为一条记录。
4.根据权利要求1所述一种性能测试平台脚本存储方法,其特征在于,所述步骤S4中,所述函数脚本发布的过程中,所有函数脚本的名称互不相同,后续调用函数时直接从git中lib仓库中拉取需要调用的函数脚本名称。
5.根据权利要求1所述一种性能测试平台脚本存储方法,其特征在于,所述步骤S5中,在所述用户脚本存储仓库中存储用户自己编写的简单接口脚本和多接口脚本及相关脚本依赖信息具体为:
在所述用户脚本存储仓库中,通过脚本id区分每个脚本,在每个脚本中根据脚本名称生成对应的子文件夹来存储脚本文件实体和相关参数化文件。
6.一种性能测试平台脚本存储装置,其特征在于,所述装置包括:
主表设计模块:用于根据用户需求生成测试脚本的脚本主表,所述脚本主表包括脚本类型、脚本状态、脚本发布的位置和脚本发布的名称;所述脚本类型包括简单接口脚本、多接口脚本、函数脚本;所述脚本状态包括脚本暂存状态、发布状态;
子表设计模块:用于根据所述脚本类型生成测试脚本的脚本子表,所述脚本子表包括简单接口脚本子表、多接口脚本子表、函数脚本子表、函数脚本的树形结构子表、脚本依赖信息子表;所述简单接口脚本子表存储用户通过简单UI模式创建的脚本;所述多接口脚本子表存储用户编写的代码模式的脚本;所述函数脚本子表用于创建函数脚本及第三方库导入;
关系对应模块:用于将所述简单接口脚本子表、多接口脚本子表、函数脚本子表分别通各个子表中的冗余脚本id和所述脚本主表一一对应;所述脚本主表存储脚本的通用信息,所述脚本子表存储对应不同类型的信息;
分布存储模块:用于将用户创建的函数脚本或导入的第三方库文件通过审核后发布到git服务器的lib仓库中;在git服务器中为每个用户创建一个用户脚本存储仓库,将用户自己编写的简单接口脚本和多接口脚本及相关脚本依赖信息存储至所述用户脚本存储仓库;
其中,函数脚本是纯函数类型的脚本,一个函数脚本中可存储多个函数;
子表设计模块中,将通过审核的函数脚本的平铺结构转换后得到所述函数脚本的树形结构,所述平铺结构为函数脚本中各个函数的平铺列表展示;所述脚本依赖信息子表存储脚本相关依赖信息,包括当前脚本依赖的其他脚本信息、简单接口脚本或多接口脚本依赖的参数化文件信息,所述参数化文件用于构建接口压力测试过程中多样化的请求信息。
7.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5中任一项所述性能测试平台脚本存储方法的步骤。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述性能测试平台脚本存储方法的步骤。
CN201811277533.9A 2018-10-30 2018-10-30 性能测试平台脚本存储方法、装置、设备及存储介质 Active CN109446047B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811277533.9A CN109446047B (zh) 2018-10-30 2018-10-30 性能测试平台脚本存储方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811277533.9A CN109446047B (zh) 2018-10-30 2018-10-30 性能测试平台脚本存储方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN109446047A CN109446047A (zh) 2019-03-08
CN109446047B true CN109446047B (zh) 2022-03-25

Family

ID=65549308

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811277533.9A Active CN109446047B (zh) 2018-10-30 2018-10-30 性能测试平台脚本存储方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN109446047B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110491440A (zh) * 2019-07-02 2019-11-22 深圳市金泰克半导体有限公司 一种内存测试方法及系统
CN112699044B (zh) * 2021-01-05 2023-02-24 长沙市到家悠享家政服务有限公司 压力测试方法、设备及存储介质
CN113505069B (zh) * 2021-07-09 2024-01-05 中国人民解放军火箭军工程大学 一种测试数据分析方法及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103714129A (zh) * 2013-12-12 2014-04-09 用友软件股份有限公司 基于条件规则的动态数据结构和关系的构建装置和构建方法
KR20140147227A (ko) * 2013-06-19 2014-12-30 주식회사 큐에이엔씨 스크립트 유지보수 기능을 갖는 gui 소프트웨어 테스트 자동화 시스템 및 방법
CN105204832A (zh) * 2014-06-24 2015-12-30 腾讯科技(深圳)有限公司 一种实现脚本引擎的系统及方法
CN105426165A (zh) * 2014-09-18 2016-03-23 腾讯科技(深圳)有限公司 一种脚本工具的处理方法及装置
CN106708740A (zh) * 2017-01-10 2017-05-24 网易(杭州)网络有限公司 脚本测试方法及装置
CN107291448A (zh) * 2017-05-19 2017-10-24 上海瀚乾信息技术服务有限公司 一种软件开发项目管理系统
CN107908566A (zh) * 2017-11-27 2018-04-13 平安科技(深圳)有限公司 自动化测试管理方法、装置、终端设备及存储介质
CN108037948A (zh) * 2017-12-11 2018-05-15 福建中金在线信息科技有限公司 脚本管理方法、装置及系统
US10108533B1 (en) * 2017-09-25 2018-10-23 Bank Of America Corporation Enterprise framework for efficient software deployment

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110603525A (zh) * 2017-03-31 2019-12-20 沃拉斯提技术解决方案公司 Web应用程序的测试方法和系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140147227A (ko) * 2013-06-19 2014-12-30 주식회사 큐에이엔씨 스크립트 유지보수 기능을 갖는 gui 소프트웨어 테스트 자동화 시스템 및 방법
CN103714129A (zh) * 2013-12-12 2014-04-09 用友软件股份有限公司 基于条件规则的动态数据结构和关系的构建装置和构建方法
CN105204832A (zh) * 2014-06-24 2015-12-30 腾讯科技(深圳)有限公司 一种实现脚本引擎的系统及方法
CN105426165A (zh) * 2014-09-18 2016-03-23 腾讯科技(深圳)有限公司 一种脚本工具的处理方法及装置
CN106708740A (zh) * 2017-01-10 2017-05-24 网易(杭州)网络有限公司 脚本测试方法及装置
CN107291448A (zh) * 2017-05-19 2017-10-24 上海瀚乾信息技术服务有限公司 一种软件开发项目管理系统
US10108533B1 (en) * 2017-09-25 2018-10-23 Bank Of America Corporation Enterprise framework for efficient software deployment
CN107908566A (zh) * 2017-11-27 2018-04-13 平安科技(深圳)有限公司 自动化测试管理方法、装置、终端设备及存储介质
CN108037948A (zh) * 2017-12-11 2018-05-15 福建中金在线信息科技有限公司 脚本管理方法、装置及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《基于Python的自动化测试脚本管理平台的设计与实现》;王鸣;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;20180115;全文 *

Also Published As

Publication number Publication date
CN109446047A (zh) 2019-03-08

Similar Documents

Publication Publication Date Title
CN107370786B (zh) 一种基于微服务架构的通用信息管理系统
US10705942B1 (en) Simulated testing of API
CN108293081B (zh) 通过用户界面事件的程序重放深度链接到移动应用状态
CN109446047B (zh) 性能测试平台脚本存储方法、装置、设备及存储介质
CN109408105A (zh) 用户行为数据的采集方法、装置、计算装置和存储介质
CN108111364B (zh) 一种业务系统的测试方法及装置
CN110737594A (zh) 自动生成测试用例的数据库标准符合性测试方法及装置
CN108984544A (zh) 一种分布式系统修改配置信息的方法和装置
CN115993966B (zh) 应用开发系统及方法
CN111427580A (zh) 一种软件开发工具包接入方法及装置、存储介质
CN109739704A (zh) 一种接口测试方法、服务端及计算机可读存储介质
US9934292B2 (en) Dynamic presentation of a results set by a form-based software application
WO2017084388A1 (zh) 一种网络巡检方法及装置
CN115757174A (zh) 一种数据库的差异检测方法及装置
CN107590044B (zh) 一种分布式存储集群的测试方法、装置及设备
CN113918150A (zh) 自动化配置接口前端代码的方法
CN115437903A (zh) 接口测试方法、装置、设备、存储介质及程序
JP2013206114A (ja) 情報処理装置、情報処理方法、情報処理システム、及び、プログラム
CN105068796A (zh) 补丁程序集的推送方法和补丁程序集的推送系统
CA2539047A1 (en) System and method for generating component based applications
CN111221551B (zh) 数据库升级方法及装置
CN116911799A (zh) 实现设计模板参数规则自动校验方法、系统和电子设备
CN113946325A (zh) 一种基于可视化搭建平台的代码自动生成方法及装置
CN116185385A (zh) 一种可视化接口管理方法、系统、终端及存储介质
CN113504912A (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