CN117453551A - 一种脚本性能的测试方法、装置及存储介质 - Google Patents
一种脚本性能的测试方法、装置及存储介质 Download PDFInfo
- Publication number
- CN117453551A CN117453551A CN202311423121.2A CN202311423121A CN117453551A CN 117453551 A CN117453551 A CN 117453551A CN 202311423121 A CN202311423121 A CN 202311423121A CN 117453551 A CN117453551 A CN 117453551A
- Authority
- CN
- China
- Prior art keywords
- script
- tested
- test
- preset
- scripts
- 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
- 238000013515 script Methods 0.000 title claims abstract description 616
- 238000012360 testing method Methods 0.000 title claims abstract description 262
- 238000000034 method Methods 0.000 claims abstract description 64
- 238000011056 performance test Methods 0.000 claims abstract description 17
- 230000003111 delayed effect Effects 0.000 claims abstract description 6
- 238000010998 test method Methods 0.000 claims description 21
- 230000015654 memory Effects 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 abstract description 33
- 230000000875 corresponding effect Effects 0.000 description 36
- 238000010586 diagram Methods 0.000 description 19
- 238000004590 computer program Methods 0.000 description 16
- 230000002452 interceptive effect Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 239000004973 liquid crystal related substance Substances 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013101 initial test Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000001360 synchronised 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
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是基于图1所示示例性实施例示出的另一种脚本性能的测试方法的流程示意图。
图3是本申请一示例性实施例示出的互相关联的预设脚本的示意图。
图4是本申请一示例性实施例示出的预设父优先级和预设子优先级的关系示意图。
图5是本申请一示例性实施例示出的待测试脚本的确定过程示意图。
图6是本申请脚本性能的测试方法的应用场景的示意图。
图7是本申请一示例性实施例示出的脚本性能的测试装置的结构示意图。
图8是本申请的一示例性实施例示出的电子设备的计算机系统的结构示意图。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
在本申请中提及的“多个”是指两个或者两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
现有脚本测试缺乏全自动化测试的流程,需要人工构建测试脚本、排序、筛选等,过程较为繁琐。同时,人工排序过程中,并不能准确知晓互相关联的脚本,若针对相互关联的脚本进行并行测试,则可能降低测试结果的准确性。
为此,本申请的一方面提供了一种脚本性能的测试方法。具体请参阅图1,图1是本申请一示例性实施例示出的一种脚本性能的测试方法的流程示意图。该测试方法至少包括S110至S130,详细介绍如下:
S110:响应于测试请求而生成多个待测试脚本,并根据各个待测试脚本的优先级,确定出当前第一测试顺序的目标待测试脚本。
测试请求是用户通过交互页面输入的请求,其携带有用于生成待测试脚本的输入信息。例如,用户在交互页面特定的输入框中键入相关信息,或通过选择相应组件而生成测试请求,以使本实施例执行主体为响应该测试请求,而生成用户所期望的测试脚本。
待测试脚本的优先级与脚本的测试顺序具有一定相关性,例如优先级与测试顺序呈正相关,即优先级越高的待测试脚本,其测试顺序越靠前;或者,优先级与测试顺序呈负相关,即优先级越高的待测试脚本,其测试顺序越靠后。
目标待测试脚本为当前初始测试顺序排序第一的待测试脚本,例如,待测试脚本包括A脚本,B脚本和C脚本。A脚本的优先级为第一有限级,B脚本的优先级为第二有限级,C脚本的优先级为第三有限级。其中,优先级与测试顺序呈正相关;因为A脚本的优先级别最高,所以A脚本的测试顺序为当前第一测试顺序。
S120:若检测到目标待测试脚本的脚本标签与正在测试的脚本的脚本标签相匹配,则将目标测试脚本的测试顺序调整滞后于正在测试的脚本,以得到调整顺序后的待测试脚本。
本申请中每个脚本配置有至少一个脚本标签,每个脚本的脚本标签的数量并不一定相同。
本实施例中互相关联的脚本指的是测试过程中会影响测试结果的脚本,例如,测试脚本B的过程中,需用到脚本A的测试结果。若在测试脚本B的同时,对脚本A进行测试,则会直接将脚本A的测试结果运用于测试脚本B的过程中,以至于影响脚本B的独立测试过程,使得脚本B的测试结果不准确。为了避免相互关联的脚本同时测试时互相影响,此情况下对目标待测试脚本的测试顺序进行延后处理,避免其与正在测试的脚本同时进行测试,从而提高测试结果的准确性。
S130:对调整顺序后的待测试脚本进行性能测试,并按照调整后的顺序输出测试结果。
本实施例根据相应的检测结果,自动对待测试脚本的测试顺序进行调整,并根据调整后的顺序对待测试脚本进行性能测试,并根据调整后的测试顺序依次输出测试结果,以使测试顺序与输出顺序一一对应,方便用户快速获取目标测试结果。
本实施例根据测试请求生成用户所期望进行性能测试的待测试脚本,若检测正在测试的脚本的脚本标签与当前第一测试顺序的待测试脚本的脚本标签相同,则无需人工参与就能自动对待测试脚本的测试顺序进行调整,以避免相互关联的脚本在并行测试过程中相互影响,从而提高测试结果的准确性。进而自动对调整顺序后的待测试脚本进行性能测试,并按照调整后的顺序输出测试结果,以方便用户快速获取目标测试结果。本实施例集成式的测试过程无需人工参与,自动生成待测试脚本、自动调整测试顺序、自动测试并输出结果,形成了一个自动化测试过程,能提高测试效率,并能满足大规模脚本性能测试需求。
在本申请另一示例性实施例中,详细介绍了如何响应于测试请求而生成多个待测试脚本,具体请参阅图2,图2是基于图1所示示例性实施例示出的另一种脚本性能的测试方法的流程示意图。该测试方法在如图1所示的S110中进一步包括S210至S220,详细介绍如下:
S210:接收测试请求;其中,测试请求携带有用于生成待测试脚本的输入信息。
示例性地,用户在交互页面中选择相应的配置组件,和/或在特定输入框中键入用于生成待测试脚本的输入信息,以生成用户期望的测试请求。
S220:根据输入信息生成多个待测试脚本,并为各个待测试脚本配置相应的优先级和脚本标签。
本实施例执行主体接收该测试请求,并采用程序代码根据用户选择的配置组件和/或输入信息,生成相应的待测试请求。优先级和脚本标签的配置过程可以同步于生成待测试脚本的过程,亦或在生成待测试脚本之后再对其进行优先级和脚本标签的配置,本实施例并不对其进行限制。
本实施例提供了一种生成待测试脚本的方式,用户只需将携带有输入信息的测试请求发送至执行主体,执行主体便能根据测试请求快速生成配置了相应优先级和脚本标签的待测试脚本,从而提高了生成待测试脚本的效率。
在本申请另一示例性实施例中,详细介绍了如何为各个待测试脚本配置相应的优先级和脚本标签,即在上述S220中,进一步包括S2201至S2202,详细介绍如下:
S2201:分别将各个待测试脚本与预设脚本进行匹配操作,并将匹配成功的预设脚本对应的预设优先级作为各个待测试脚本的优先级。
可采用遍历待测试脚本的方式,逐一将各个待测试脚本与预设脚本进行匹配操作,以保证无遗漏地对各个待测试脚本进行匹配操作。
S2202:将匹配成功的预设脚本对应的预设脚本标签作为各个待测试脚本的脚本标签。
其中,互为父子关系的预设脚本之间配置有相同的预设脚本标签。配置有相同预设脚本标签的预设脚本之间还可存在其它特定联系,本实施例并不对其进行限制,值得注意的是,若两个预设脚本之间配置有相同的预设脚本标签,则表征它们互为关联的预设脚本。
对本实施例进行示例性说明,根据表1中预设脚本对应的预设优先级和脚本标签,确定出各个待测试脚本的优先级。将各个待测试脚本与预设脚本进行匹配,并将匹配成功的预设脚本对应的预设优先级作为待测试脚本的优先级,以及将匹配成功的预设脚本对应的预设脚本标签作为待测试脚本的脚本标签。其中,表1为预设脚本的预设优先级和预设脚本标签的关系表;“(1,2)”、“(3,4,5)”表征预设脚本对应的预设脚本标签。
表1
值得注意的是,每个预设脚本可配置有多个预设脚本标签,如表1中的第一预设脚本配置有“1”和“2”两个预设脚本标签。
本实施例通过对预设脚本预先配置相应的预设优先级和预设脚本标签,只需将待测试脚本与预设脚本进行简单的匹配操作,即能快速地确定出各个待测试脚本的优先级和脚本标签。
在本申请另一示例性实施例中,详细介绍了预设脚本标签的配置过程,即在上述任一示例性实施例示出的调整方法中,还包括S11至S12,详细介绍如下:
S11:将隶属于同一父预设脚本的第一子预设脚本,和父预设脚本作为互相关联的预设脚本。
示例性地,请参阅图3,图3是本申请一示例性实施例示出的互相关联的预设脚本的示意图。其中,A预设脚本分别为B预设脚本,C预设脚本和D预设脚本的父预设脚本,即他们之间互相关联。同理,B预设脚本与E预设脚本互为关联脚本;E预设脚本和G预设脚本互为关联脚本;C预设脚本与F预设脚本互为关联脚本。
S12:对互相关联的预设脚本进行预设脚本标签配置操作,以使互相关联的预设脚本配置有相同的预设脚本标签,得到多个不同预设脚本标签的预设脚本。
如图3所示,互相关联的预设脚本之间配置有相同的预设脚本标签。具体地,A预设脚本、B预设脚本,C预设脚本和D预设脚本之间皆配置有预设标签1;B预设脚本与E预设脚本之间配置有预设标签2;E预设脚本和G预设脚本之间配置有预设标签3;C预设脚本与F预设脚本之间配置有预设标签4。
本实施例通过对互相关联的预设脚本配置相同的脚本标签,得到多个不同预设脚本标签的预设脚本,以将预设脚本和预设脚本标签进行了准确地划分。同时,互相关联的待测试脚本可通过脚本标签而快速确定。
在本申请另一示例性实施例中,详细介绍了如何得到各个待测试脚本的优先级,即在上述任一示例性实施例示出的调整方法中,还包括S140,详细介绍如下:
S140:根据预设优先级策略对不同类型的预设脚本进行优先级的划分操作,以得到多个不同预设优先级的预设脚本;其中,预设优先级策略中包括预设父优先级划分策略和预设子优先级划分策略。
示例性地,请参阅图4,图4是本申请一示例性实施例示出的预设父优先级和预设子优先级的关系示意图。其中,预设优先级划分策略中包括四个预设父优先级:第一预设父优先级对应的优先级别>第二预设父优先级对应的优先级别>第三预设父优先级对应的优先级别>第四预设父优先级对应的优先级别;每个预设父优先级包括四个预设子优先级:第一预设子优先级对应的优先级别>第二预设子优先级对应的优先级别>第三预设子优先级对应的优先级别>第四预设子优先级对应的优先级别。
根据预设父优先级和预设子优先级确定出脚本对应的预设优先级,如表2所示,表2为预设父优先级和预设子优先级对应预设优先级的关系表。
表2
本实施例通过对不同预设脚本进行预设优先级的划分,以得到多个预设脚本对应的预设优先级。因为前置过程中已将预设脚本和预设优先级进行了准确地划分,只需将待测试脚本与预设脚本进行简单的匹配操作,即能快速地确定出各个待测试脚本的优先级。
在本申请另一示例性实施例中,详细介绍了如何从未测试脚本中确定出待测试脚本,即在上述任一示例性实施例示出的调整方法的基础上,还包括S150至S160,详细介绍如下:
S150:获取当前剩余测试资源量,当前可测试脚本数量和未测试脚本中各个脚本的优先级。
示例性地,总的测试资源量量为100个单位,当前正利用的测试资源量为20,则当前剩余测试资源量为80,即当前可利用资源量的上限值为80,若超过该上限值,测试过程将会出现卡顿、停滞等情况。同理,测试过程可同时进行测试的脚本数量为3个,若同时对超过3个数量以上的脚本同时进行测试,则测试过程会出现卡顿、停滞等情况。
S160:根据当前剩余测试资源量,当前可测试脚本数量和未测试脚本中各个脚本的优先级,确定出多个待测试脚本;其中,多个待测试脚本所需的总测试资源量小于或等于当前剩余测试资源量,多个待测试脚本的总数量小于或等于当前可测试脚本数量。
本实施例中的待测试脚本是从未测试脚本中选取得到的,例如根据测试请求生成的脚本的总脚本数量为100个,已测试的脚本数量为10个,未测试的脚本数量即为90;本实施例根据90个未测试脚本各自的优先级,选取优先级高的未测试脚本为待测试脚本,选取过程中还需结合当前剩余测试资源量和当前可测试脚本数量,以使得待测试脚本所需的总测试资源量小于或等于当前剩余测试资源量,待测试脚本的总数量小于或等于当前可测试脚本数量。
下面结合图5对本实施例进行示例性说明,图5是本申请一示例性实施例示出的待测试脚本的确定过程示意图。
根据获取到的当前剩余测试资源量,当前可测试脚本数量和未测试脚本中各个脚本的优先级,确定出初始待测试脚本合集;其中,初始待测试脚本合集中包括至少一个初始待测试脚本。
检测初始待测试脚本集合中初始待测试脚本的总数量是否小于或等于当前可测试脚本数量,以及检测初始待测试脚本集合所需的总测试资源量是否小于或等于当前剩余测试资源量。两个检测步骤可同时进行,亦可按照图5所示顺序分别进行,本实施例并不对其它们之间的检测顺序作限制。
若检测到初始待测试脚本集合中初始待测试脚本的总数量小于或等于当前可测试脚本数量,并且初始待测试脚本集合所需的总测试资源量小于或等于当前剩余测试资源量,则确定将初始待测试脚本集合中的初始待测试脚本作为待测试脚本。
本实施例提供了一种从未测试脚本中确定出待测试脚本的方式,根据当前剩余测试资源量,当前可测试脚本数量和未测试脚本中各个脚本的优先级,确定出总测试资源量小于或等于当前剩余测试资源量,并且脚本总数量小于或等于当前可测试脚本数量的待测试脚本,以避免测试过程中出现卡顿或停滞的情况,保证了测试效率。
在本申请另一示例性实施例中,详细介绍了如何将获取到的正在测试的脚本的脚本标签与目标待测试脚本的脚本标签进行匹配操作,在上述任一示例性实施例所示调整方法的基础上,还包括S170至S190,详细介绍如下:
S170:获取正在测试的脚本的至少一个脚本标签与目标待测试脚本的至少一个脚本标签。
每个脚本至少包括一个脚本标签,并且每个脚本之间的脚本标签数量可能不同,如图3所示,A预设脚本的脚本标签数量为1个;B预设脚本的脚本标签数量为2个,C预设脚本的脚本标签数量为2个。
S180:遍历正在测试的脚本的脚本标签,并将遍历到的脚本标签作为目标脚本标签。
本实施例通过对正在测试的脚本的脚本标签进行遍历,以无遗漏地将其所有脚本标签与目标待测试脚本的每个脚本标签进行匹配操作。
S190:将目标脚本标签与目标待测试脚本的每个脚本标签进行匹配操作,得到目标脚本标签与目标待测试脚本的脚本标签的匹配结果,以得到正在测试的脚本的脚本标签与目标待测试脚本的脚本标签的匹配结果。
对本实施例进行示例性说明:正在测试的脚本的脚本标签包括第一脚本标签,第二脚本标签和第三脚本标签;目标待测试脚本的脚本标签包括目标第一脚本标签和目标第二脚本标签。
遍历正在测试的脚本的脚本标签,若遍历到其第二脚本标签,则将第二脚本标签与目标待测试脚本中的每个脚本标签逐一进行匹配操作,即将第二脚本标签分别与目标第一脚本标签和目标第二脚本标签进行匹配操作,得到两个匹配结果(即本实施例中目标脚本标签与目标待测试脚本的脚本标签的匹配结果),依次类推,确定出多个匹配结果,从而确定出正在测试的脚本的脚本标签与目标待测试脚本的脚本标签的匹配结果。例如,若正在测试的脚本的任一脚本标签与目标待测试脚本中的任一脚本标签匹配成功,则得到表征正在测试的脚本的脚本标签与目标待测试脚本的脚本标签匹配成功的匹配结果。
本实施例提供一种确定正在测试的脚本的脚本标签与目标待测试脚本的脚本标签的匹配结果的方式,通过遍历正在测试的脚本的脚本标签,并将遍历到的脚本标签作为目标脚本标签,分别与目标待测试脚本的每个脚本标签进行匹配操作,以保证无遗漏地将正在测试的脚本中的所有脚本标签,与目标待测试脚本的每个脚本标签进行匹配操作,以得到多个匹配结果,从而准确得到正在测试的脚本的脚本标签与目标待测试脚本的脚本标签的匹配结果。
在本申请另一示例性实施例中对上述多个测试方法的应用场景进行了示例性说明,具体请参阅图6,图6是本申请脚本性能的测试方法的应用场景的示意图。其中,包括用户100,交互页面200和服务器300,三端之间可通过无线通信的方式连接,本申请并不限制它们之间的连接方式。
在交互页面200的后台服务器配置多个配置项,包括线程组、配置元素、监听器、定时器、前置处理器、后置处理器、断言等;并按照功能将各个配置项在交互页面200进行可视化显示,即在交互页面200显示操作元素,每个元素对应有相应的调用功能,以调用后台服务器中的配置项。其中,元素包括但不限于输入框、组件按钮等。
用户100可在交互页面200中键入相应的输入信息,例如用户100可在交互页面200中的输入框中键入输入信息,以在交互页面200中生成测试请求,并使交互页面200向服务器300传输携带有输入信息的测试请求,服务器300接收到测试请求后,服务器300可为上述交互页面200的后台服务器,另外其可执行上述任一示例性实施例示出的测试方法,下面进行示例性说明:
服务器300响应于测试请求而生成多个待测试脚本,并根据各个待测试脚本的优先级,确定出当前第一测试顺序的目标待测试脚本;服务器300若检测到目标待测试脚本的脚本标签与正在测试的脚本的脚本标签相匹配,则将目标测试脚本的测试顺序调整滞后于正在测试的脚本,以得到调整顺序后的待测试脚本;服务器300对调整顺序后的待测试脚本进行性能测试,并按照调整后的顺序输出测试结果。
其中,服务器300根据组成待测试脚本的配置项,各个配置项之间的关系和配置项组合方式,并结合测试请求中携带的输入信息,利用相应的执行代码生成待测试脚本。
值得注意的是,服务器300可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,其中多个服务器可组成一区块链,而服务器为区块链上的节点,服务器300还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器,本处也不对此进行限制。
本申请的另一方面还提供了一种脚本性能的测试装置,如图7所示,图7是本申请一示例性实施例示出的脚本性能的测试装置的结构示意图。测试装置700包括:
响应模块710,用于响应于测试请求而生成多个待测试脚本,并根据各个待测试脚本的优先级,确定出当前第一测试顺序的目标待测试脚本。
调整模块730,用于若检测到目标待测试脚本的脚本标签与正在测试的脚本的脚本标签相匹配,则将目标测试脚本的测试顺序调整滞后于正在测试的脚本,以得到调整顺序后的待测试脚本。
输出模块750,用于对调整顺序后的待测试脚本进行性能测试,并按照调整后的顺序输出测试结果。
在一种可选的方式中,响应模块710进一步包括:
接收单元,用于接收测试请求;其中,测试请求携带有用于生成待测试脚本的输入信息。
配置单元,用于根据输入信息生成多个待测试脚本,并为各个待测试脚本配置相应的优先级和脚本标签。
在一种可选的方式中,配置单元进一步包括:
匹配板块,用于分别将各个待测试脚本与预设脚本进行匹配操作,并将匹配成功的预设脚本对应的预设优先级作为各个待测试脚本的优先级。
匹配成功板块,用于将匹配成功的预设脚本对应的预设脚本标签作为各个待测试脚本的脚本标签。
在一种可选的方式中,测试装置700还包括:
关联模块,用于将隶属于同一父预设脚本的第一子预设脚本,和父预设脚本作为互相关联的预设脚本。
脚本标签配置模块,用于对互相关联的预设脚本进行预设脚本标签配置操作,以使互相关联的预设脚本配置有相同的预设脚本标签,得到多个不同预设脚本标签的预设脚本。
在一种可选的方式中,测试装置700还包括:
划分模块,用于根据预设优先级策略对不同类型的预设脚本进行优先级的划分操作,以得到多个不同预设优先级的预设脚本;其中,预设优先级策略中包括预设父优先级划分策略和预设子优先级划分策略。
在一种可选的方式中,测试装置700还包括:
资源量获取模块,用于获取当前剩余测试资源量,当前可测试脚本数量和未测试脚本中各个脚本的优先级。
待测试脚本确定模块,用于根据当前剩余测试资源量,当前可测试脚本数量和未测试脚本中各个脚本的优先级,确定出多个待测试脚本;其中,多个待测试脚本所需的总测试资源量小于或等于当前剩余测试资源量,多个待测试脚本的总数量小于或等于当前可测试脚本数量。
在一种可选的方式中,测试装置700还包括:
脚本标签获取模块,用于获取正在测试的脚本的至少一个脚本标签与目标待测试脚本的至少一个脚本标签。
遍历模块,用于遍历正在测试的脚本的脚本标签,并将遍历到的脚本标签作为目标脚本标签。
脚本标签匹配模块,用于将目标脚本标签与目标待测试脚本的每个脚本标签进行匹配操作,得到目标脚本标签与目标待测试脚本的脚本标签的匹配结果,以得到正在测试的脚本的脚本标签与目标待测试脚本的脚本标签的匹配结果。
本申请测试装置根据测试请求生成用户所期望进行性能测试的待测试脚本,若检测正在测试的脚本的脚本标签与当前第一测试顺序的待测试脚本的脚本标签相同,则无需人工参与就能自动对待测试脚本的测试顺序进行调整,以避免相互关联的脚本在并行测试过程中相互影响,从而提高测试结果的准确性。进而自动对调整顺序后的待测试脚本进行性能测试,并按照调整后的顺序输出测试结果。本申请集成式的测试过程无需人工参与,自动生成待测试脚本、自动调整测试顺序、自动测试并输出结果,形成了一个自动化测试过程,能提高测试效率,并能满足大规模脚本性能测试需求。
需要说明的是,上述实施例所提供的测试装置与前述实施例所提供的测试方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,这里不再赘述。
本申请的另一方面还提供了一种电子设备,包括:控制器;存储器,用于存储一个或多个程序,当一个或多个程序被控制器执行时,以执行上述的测试方法。
请参阅图8,图8是本申请的一示例性实施例示出的电子设备的计算机系统的结构示意图,其示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图8示出的电子设备的计算机系统800仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图8所示,计算机系统800包括中央处理单元(Central Processing Unit,CPU)801,其可以根据存储在只读存储器(Read-Only Memory,ROM)802中的程序或者从存储部分808加载到随机访问存储器(Random Access Memory,RAM)803中的程序而执行各种适当的动作和处理,例如执行上述实施例中的方法。在RAM 803中,还存储有系统操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(Input/Output,I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不相同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
本申请的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前的测试方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
本申请的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的测试方法。
根据本申请实施例的一个方面,还提供了一种计算机系统,包括中央处理单元(Central Processing Unit,CPU),其可以根据存储在只读存储器(Read-Only Memory,ROM)中的程序或者从存储部分加载到随机访问存储器(Random Access Memory,RAM)中的程序而执行各种适当的动作和处理,例如执行上述实施例中的方法。在RAM中,还存储有系统操作所需的各种程序和数据。CPU、ROM以及RAM通过总线彼此相连。输入/输出(Input/Output,I/O)接口也连接至总线。
以下部件连接至I/O接口:包括键盘、鼠标等的输入部分;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分;包括硬盘等的存储部分;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分。通信部分经由诸如因特网的网络执行通信处理。驱动器也根据需要连接至I/O接口。可拆卸介质,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器上,以便于从其上读出的计算机程序根据需要被安装入存储部分。
上述内容,仅为本申请的较佳示例性实施例,并非用于限制本申请的实施方案,本领域普通技术人员根据本申请的主要构思和精神,可以十分方便地进行相应的变通或修改,故本申请的保护范围应以权利要求书所要求的保护范围为准。
Claims (10)
1.一种脚本性能的测试方法,其特征在于,所述测试方法包括:
响应于测试请求而生成多个待测试脚本,并根据各个待测试脚本的优先级,确定出当前第一测试顺序的目标待测试脚本;
若检测到所述目标待测试脚本的脚本标签与正在测试的脚本的脚本标签相匹配,则将所述目标测试脚本的测试顺序调整滞后于正在测试的脚本,以得到调整顺序后的待测试脚本;
对调整顺序后的待测试脚本进行性能测试,并按照调整后的顺序输出测试结果。
2.根据权利要求1所述的测试方法,其特征在于,所述响应于测试请求而生成多个待测试脚本,进一步包括:
接收测试请求;其中,所述测试请求携带有用于生成待测试脚本的输入信息;
根据所述输入信息生成多个待测试脚本,并为各个待测试脚本配置相应的优先级和脚本标签。
3.根据权利要求2所述的测试方法,其特征在于,所述为各个待测试脚本配置相应的优先级和脚本标签,进一步包括:
分别将各个待测试脚本与预设脚本进行匹配操作,并将匹配成功的预设脚本对应的预设优先级作为各个待测试脚本的优先级;
将所述匹配成功的预设脚本对应的预设脚本标签作为各个待测试脚本的脚本标签。
4.根据权利要求1所述的测试方法,其特征在于,所述测试方法还包括:
将隶属于同一父预设脚本的第一子预设脚本,和所述父预设脚本作为互相关联的预设脚本;
对所述互相关联的预设脚本进行预设脚本标签配置操作,以使所述互相关联的预设脚本配置有相同的预设脚本标签,得到多个不同预设脚本标签的预设脚本。
5.根据权利要求2所述的测试方法,其特征在于,在所述根据所述输入信息生成多个待测试脚本之前,所述测试方法还包括:
根据预设优先级策略对不同类型的预设脚本进行优先级的划分操作,以得到多个不同预设优先级的预设脚本;其中,所述预设优先级策略中包括预设父优先级划分策略和预设子优先级划分策略。
6.根据权利要求1所述的测试方法,其特征在于,所述调整方法还包括:
获取当前剩余测试资源量,当前可测试脚本数量和未测试脚本中各个脚本的优先级;
根据当前剩余测试资源量,当前可测试脚本数量和所述未测试脚本中各个脚本的优先级,确定出多个待测试脚本;其中,所述多个待测试脚本所需的总测试资源量小于或等于当前剩余测试资源量,所述多个待测试脚本的总数量小于或等于当前可测试脚本数量。
7.根据权利要求1至6中任一项所述的调整方法,其特征在于,所述调整方法还包括:
获取正在测试的脚本的至少一个脚本标签与所述目标待测试脚本的至少一个脚本标签;
遍历正在测试的脚本的脚本标签,并将遍历到的脚本标签作为目标脚本标签;
将所述目标脚本标签与所述目标待测试脚本的每个脚本标签进行匹配操作,得到所述目标脚本标签与所述目标待测试脚本的脚本标签的匹配结果,以得到正在测试的脚本的脚本标签与所述目标待测试脚本的脚本标签的匹配结果。
8.一种脚本性能的测试装置,其特征在于,所述测试装置包括:
响应模块,用于响应于测试请求而生成多个待测试脚本,并根据各个待测试脚本的优先级,确定出当前第一测试顺序的目标待测试脚本;
调整模块,用于若检测到所述目标待测试脚本的脚本标签与正在测试的脚本的脚本标签相匹配,则将所述目标测试脚本的测试顺序调整滞后于正在测试的脚本,以得到调整顺序后的待测试脚本;
输出模块,用于对调整顺序后的待测试脚本进行性能测试,并按照调整后的顺序输出测试结果。
9.一种电子设备,其特征在于,包括:
控制器;
存储器,用于存储一个或多个程序,当一个或多个程序被控制器执行时,使得控制器实现权利要求1至7中任一项所述的测试方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,当计算机可读指令被计算机的处理器执行时,使计算机执行权利要求1至7中任一项所述的测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311423121.2A CN117453551A (zh) | 2023-10-30 | 2023-10-30 | 一种脚本性能的测试方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311423121.2A CN117453551A (zh) | 2023-10-30 | 2023-10-30 | 一种脚本性能的测试方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117453551A true CN117453551A (zh) | 2024-01-26 |
Family
ID=89596106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311423121.2A Pending CN117453551A (zh) | 2023-10-30 | 2023-10-30 | 一种脚本性能的测试方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117453551A (zh) |
-
2023
- 2023-10-30 CN CN202311423121.2A patent/CN117453551A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106776280B (zh) | 可配置性能测试装置 | |
CN108255707B (zh) | 测试用例的开发角色创建方法、装置、设备及存储介质 | |
CN110362473A (zh) | 测试环境的优化方法及装置、存储介质、终端 | |
CN106528393A (zh) | 一种WebService的Mock测试的方法及装置 | |
CN108399151B (zh) | 数据比对系统和方法 | |
CN111966597B (zh) | 测试数据生成方法及装置 | |
CN109240802B (zh) | 请求处理方法和装置 | |
CN114064208A (zh) | 检测应用服务状态的方法、装置、电子设备及存储介质 | |
CN110290166A (zh) | 跨集群数据交互方法、系统、装置及可读存储介质 | |
CN107704357B (zh) | 日志生成方法和装置 | |
CN110635961B (zh) | 服务器的压测方法、装置和系统 | |
CN117453551A (zh) | 一种脚本性能的测试方法、装置及存储介质 | |
CN117453552B (zh) | 一种脚本测试顺序的调整方法、装置及存储介质 | |
CN114020635A (zh) | 基于场景化消息队列的数据测试方法、装置、设备及介质 | |
CN113626301A (zh) | 生成测试脚本的方法和装置 | |
CN117453552A (zh) | 一种脚本测试顺序的调整方法、装置及存储介质 | |
CN113656313A (zh) | 自动化测试处理方法及装置 | |
CN110688295A (zh) | 数据测试方法和装置 | |
CN115328773B (zh) | 一种结合售后系统的软件版本升级的测试方法 | |
CN113515495B (zh) | 数据文件分配方法及装置、智能设备和计算机存储介质 | |
CN116594914B (zh) | 测试数据的生成方法、装置、设备及存储介质 | |
CN111767233B (zh) | 基于智能快递柜的业务测试方法及装置 | |
CN108628750B (zh) | 一种测试代码处理方法及装置 | |
CN112749767B (zh) | 物品检验方法和装置 | |
CN117176551A (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 |