CN114676067A - 一种测试脚本的参数化处理方法以及装置 - Google Patents

一种测试脚本的参数化处理方法以及装置 Download PDF

Info

Publication number
CN114676067A
CN114676067A CN202210579027.5A CN202210579027A CN114676067A CN 114676067 A CN114676067 A CN 114676067A CN 202210579027 A CN202210579027 A CN 202210579027A CN 114676067 A CN114676067 A CN 114676067A
Authority
CN
China
Prior art keywords
test
target
parameterized
request
login
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.)
Granted
Application number
CN202210579027.5A
Other languages
English (en)
Other versions
CN114676067B (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 Wind Gather Intelligence Technology Co ltd
Original Assignee
Wuhan Wind Gather Intelligence 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 Wind Gather Intelligence Technology Co ltd filed Critical Wuhan Wind Gather Intelligence Technology Co ltd
Priority to CN202210579027.5A priority Critical patent/CN114676067B/zh
Publication of CN114676067A publication Critical patent/CN114676067A/zh
Application granted granted Critical
Publication of CN114676067B publication Critical patent/CN114676067B/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/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing
    • G06F21/1078Logging; Metering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请提供了一种测试脚本的参数化处理方法以及装置,用于针对被测***无法响应重复请求内容的目标处理请求,通过参数化处理,使得该目标处理请求可以执行正常的***测试且***测试还具有动态变化的特点。方法包括:测试设备检测测试脚本中是否存在目标***无法响应重复请求内容的目标处理请求;若存在,则测试设备以目标处理请求作为参数化对象,对目标处理请求进行参数化处理,使得多个目标处理请求在发送至目标***以执行***测试时请求中所携带的请求内容是呈现动态变化特点的不同数据;测试设备在测试过程中,监测目标***对于不同处理请求的响应结果;测试设备基于目标***对于不同处理请求的响应结果,确定目标***的功能和性能测试结果。

Description

一种测试脚本的参数化处理方法以及装置
技术领域
本申请涉及测试领域,具体涉及一种测试脚本的参数化处理方法以及装置。
背景技术
相关应用服务在推向市场、推向用户之前,是需要在公司内部进行测试的,以测试其是否可以提供正常的应用功能以及所反映出的具体功能效果。
在具体操作中,应用服务的相关应用程序若属于网络服务类型,一般是配置于服务器上,又可称为***,供用户端设备进行访问。在相关应用服务的测试过程中,则可以理解为对***发起相应的***测试。
而在现有的相关技术的研究过程中,发明人发现,在通过测试脚本进行***的自动化测试时,在一些功能节点上存在测试异常的情况,从而影响了测试效率以及测试质量。
发明内容
本申请提供了一种测试脚本的参数化处理方法以及装置,用于针对目标***无法响应重复请求内容的目标处理请求,通过参数化处理,使得该目标处理请求可以执行正常的***测试且***测试还具有动态变化的特点,保障了测试效率以及测试质量。
第一方面,本申请提供了一种测试脚本的参数化处理方法,方法包括:
测试设备在确定对于目标***的测试任务后,获取测试任务的测试脚本,测试脚本用于按照预设的测试规则对目标***发起测试;
测试设备检测测试脚本中是否存在目标***无法响应重复请求内容的目标处理请求;
若存在,则测试设备以目标处理请求作为参数化对象,对目标处理请求进行参数化处理,使得多个目标处理请求在发送至目标***以执行***测试时请求中所携带的请求内容是呈现动态变化特点的不同数据,以避免向目标***发起重复内容的相同处理请求;
测试设备在测试过程中,基于测试脚本向目标***发起包括目标处理请求的不同处理请求,并监测目标***对于不同处理请求的响应结果;
测试设备基于目标***对于不同处理请求的响应结果,确定目标***的功能和性能测试结果。
结合本申请第一方面,在本申请第一方面第一种可能的实现方式中,目标处理请求具体为预设的携带登录账号以及登录密码的用户登录请求。
结合本申请第一方面第一种可能的实现方式,在本申请第一方面第二种可能的实现方式中,测试设备以目标处理请求作为参数化对象,对目标处理请求进行参数化处理,包括:
测试设备识别目标处理请求的接口数据,并生成接口数据对应的请求列表;
测试设备在请求列表中具体以登录账号以及登录密码作为参数化对象,为不同虚拟用户分配相互独立的参数化的登录账号以及登录账号密码;
测试设备配置参数化的登录账号以及登录密码两者,与接口数据之间的配对关系,使得脚本在向目标***发起目标处理请求时,通过接口数据调用参数化的登录账号以及登录密码来发起目标处理请求。
结合本申请第一方面第二种可能的实现方式,在本申请第一方面第三种可能的实现方式中,测试设备在配置测试脚本的过程中是以可视化界面呈现的,测试设备在请求列表中具体以登录账号以及登录密码作为参数化对象,为不同虚拟用户分配相互独立的参数化的登录账号以及登录密码,包括:
测试设备在请求列表中具体以登录账号以及登录密码作为参数化对象,在可视化界面中以可视化操作的形式生成并向用户展示测试设备自身为不同虚拟用户随机生成的相互独立的参数化的登录账号以及登录密码;
或者,测试设备在请求列表中具体以登录账号以及登录密码作为参数化对象,在可视化界面中以可视化操作的形式向用户提供输入接口,使得用户为不同虚拟用户输入相互独立的参数化的登录账号以及登录密码;
在经用户确认后,测试设备确定可视化界面中的参数化的登录账号以及登录密码为最终采用的数据。
结合本申请第一方面第三种可能的实现方式,在本申请第一方面第四种可能的实现方式中,方法还包括:
在测试完毕后,测试设备记录参数化的登录账号以及登录密码,使得下一个测试任务所用测试脚本也存在目标处理请求时,直接调用参数化的登录账号以及登录密码进行测试。
第二方面,本申请提供了一种测试脚本的参数化处理装置,装置包括:
获取单元,用于在确定对于目标***的测试任务后,获取测试任务的测试脚本,测试脚本用于按照预设的测试规则对目标***发起测试;
检测单元,用于检测测试脚本中是否存在目标***无法响应重复请求内容的目标处理请求,若存在,则触发参数化处理单元;
参数化处理单元,用于以目标处理请求作为参数化对象,对目标处理请求进行参数化处理,使得多个目标处理请求在发送至目标***以执行***测试时请求中所携带的请求内容是呈现动态变化特点的不同数据,以避免向目标***发起重复内容的相同处理请求;
测试单元,用于在测试过程中,基于测试脚本向目标***发起包括目标处理请求的不同处理请求,并监测目标***对于不同处理请求的响应结果;
确定单元,用于基于目标***对于不同处理请求的响应结果,确定目标***的功能和性能测试结果。
结合本申请第二方面,在本申请第二方面第一种可能的实现方式中,目标处理请求具体为预设的携带登录账号以及登录密码的用户登录请求。
结合本申请第二方面第一种可能的实现方式,在本申请第二方面第二种可能的实现方式中,参数化处理单元,具体用于:
识别目标处理请求的接口数据,并生成接口数据对应的请求列表;
在请求列表中具体以登录账号以及登录密码作为参数化对象,为不同虚拟用户分配相互独立的参数化的登录账号以及登录账号密码;
配置参数化的登录账号以及登录密码两者,与接口数据之间的配对关系,使得脚本在向目标***发起目标处理请求时,通过接口数据调用参数化的登录账号以及登录密码来发起目标处理请求。
结合本申请第二方面第二种可能的实现方式,在本申请第二方面第三种可能的实现方式中,参数化处理单元,具体用于:
在请求列表中具体以登录账号以及登录密码作为参数化对象,在可视化界面中以可视化操作的形式生成并向用户展示自身为不同虚拟用户随机生成的相互独立的参数化的登录账号以及登录密码;
或者,在请求列表中具体以登录账号以及登录密码作为参数化对象,在可视化界面中以可视化操作的形式向用户提供输入接口,使得用户为不同虚拟用户输入相互独立的参数化的登录账号以及登录密码;
在经用户确认后,确定可视化界面中的参数化的登录账号以及登录密码为最终采用的数据。
结合本申请第二方面第三种可能的实现方式,在本申请第二方面第四种可能的实现方式中,装置还包括记录单元,用于:
在测试完毕后,记录参数化的登录账号以及登录密码,使得下一个测试任务所用测试脚本也存在目标处理请求时,直接调用参数化的登录账号以及登录密码进行测试。
第三方面,本申请提供了一种测试设备,包括处理器和存储器,存储器中存储有计算机程序,处理器调用存储器中的计算机程序时执行本申请第一方面或者本申请第一方面任一种可能的实现方式提供的方法。
第四方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质存储有多条指令,指令适于处理器进行加载,以执行本申请第一方面或者本申请第一方面任一种可能的实现方式提供的方法。
从以上内容可得出,本申请具有以下的有益效果:
在通过测试脚本对目标***执行自动化测试的过程中,本申请通过检测测试脚本中是否存在目标***无法响应重复请求内容的目标处理请求,若存在则以该目标处理请求作为参数化对象,进行参数化处理,使得多个目标处理请求在发送至目标***以执行***测试时请求中所携带的请求内容是呈现动态变化特点的不同数据,以避免向目标***发起重复内容的相同处理请求,如此可以避免该目标处理请求带来的干扰,该目标处理请求可以执行正常的***测试且***测试还具有动态变化的特点,保障了整体***测试处理的测试效率以及测试质量。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请测试脚本的参数化处理方法的一种流程示意图;
图2为本申请配置测试脚本的一种流程示意图;
图3为本申请测试脚本的参数化处理装置的一种结构示意图;
图4为本申请测试设备的一种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。
本申请中所出现的模块的划分,是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个***中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请方案的目的。
在介绍本申请提供的测试脚本的参数化处理方法之前,首先介绍本申请所涉及的背景内容。
本申请提供的测试脚本的参数化处理方法、装置以及计算机可读存储介质,可应用于测试设备,用于针对目标***无法响应重复请求内容的目标处理请求,通过参数化处理,使得该目标处理请求可以执行正常的***测试且***测试还具有动态变化的特点,保障了测试效率以及测试质量。
本申请提及的测试脚本的参数化处理方法,其执行主体可以为测试脚本的参数化处理装置,或者集成了该测试脚本的参数化处理装置的服务器、物理主机或者用户设备(User Equipment,UE)等不同类型的测试设备。其中,测试脚本的参数化处理装置可以采用硬件或者软件的方式实现,UE具体可以为智能手机、平板电脑、笔记本电脑、台式电脑或者个人数字助理(Personal Digital Assistant,PDA)等终端设备,测试设备可以通过设备集群的方式设置。
下面,开始介绍本申请提供的测试脚本的参数化处理方法。
首先,参阅图1,图1示出了本申请测试脚本的参数化处理方法的一种流程示意图,本申请提供的测试脚本的参数化处理方法,具体可包括如下步骤S101至步骤S105:
步骤S101,测试设备在确定对于目标***的测试任务后,获取测试任务的测试脚本,测试脚本用于按照预设的测试规则对目标***发起测试;
可以理解,在实际操作中,对于***的测试,是以指定的测试任务的形式发起的。
该测试任务,即可以为工作人员手动配置,也可以是测试设备自动监测***上出现的、新的内容等触发条件来自动触发生成。
其中,测试脚本一般为通用的测试脚本,当然,对于一些特别的***,也可以采用针对性配置的测试脚本。
测试脚本,可以理解为***测试涉及的一系列指令,这些指令可以被自动化测试工具执行,也就是说,测试脚本可以通过加载测试工具(一般是以独立的应用程序体现)中配置的测试脚本来执行***测试。
可以理解的是,对于测试脚本执行的测试方式,其是在预设的测试规则下配置的,如此可以测得目标***在该测试规则下的***功能和性能。
举例而言,若该测试规则为测试***注册用户都能正常登录,则测试脚本可以在该规则下配置相应的处理请求,如此可以测得目标***的注册用户登录测试结果。
其中,对于测试脚本涉及的具体测试规则,具体可以随实际需要以及相应的规范测试规则调整,在此不做具体限定。
步骤S102,测试设备检测测试脚本中是否存在目标***无法响应重复请求内容的目标处理请求,若存在,则触发步骤S103;
可以理解的是,对于测试脚本中配置的处理请求,既可能是直接写入到脚本中的处理请求,也可能是向脚本配置了相应接口的处理请求,也就是说,测试脚本在执行***测试过程中发起的处理请求,可能是从本地的其他存储地址甚至其他设备上调取得到的。
而对于本次***测试任务所涉及的大量的处理请求,本申请则从中检测是否存在本次待测试的目标***无法重复请求内容的目标处理请求。
通俗来讲,对于不同***而言,在提供应用服务的实际运行过程中,基于***本身技术上的运行需求,也可能基于相关业务的运行需求,一些细节上的功能服务所涉及的处理请求,是无法响应其重复请求内容的。
而本申请认为,这类处理请求,就可能导致出现测试异常的情况,也就是现有测试工具中存在测试效率异常、测试质量异常的一种原因,测试脚本执所执行的测试,通常具有重复的特点,也就是说,若涉及到大量处理请求,则这些处理请求中往往存在大量的、重复请求内容的处理请求,而对于***的一些特定应用服务而言,这类处理请求是无法也是不能进行正常响应的。
对比,可以通过预设的处理请求类型、处理请求具体内容甚至实时的处理请求响应结果等方式来检测测试脚本中是否存在这类的处理请求,即目标处理请求。
步骤S103,测试设备以目标处理请求作为参数化对象,对目标处理请求进行参数化处理,使得多个目标处理请求在发送至目标***以执行***测试时请求中所携带的请求内容是呈现动态变化特点的不同数据,以避免向目标***发起重复内容的相同处理请求;
可以理解,对于本次目标***无法响应重复请求内容的目标处理请求,本申请则为其具体引入了一参数化机制,该参数化机制可以理解为,为不同时间发起的不同处理请求,将其携带的请求内容配置为不同的数据,从而在测试过程中,多个目标处理请求在发送至目标***以执行***测试时请求中所携带的请求内容是呈现动态变化特点的不同数据,如此可避免目标***无法响应同一请求内容的目标处理请求。
步骤S104,测试设备在测试过程中,基于测试脚本向目标***发起包括目标处理请求的不同处理请求,并监测目标***对于不同处理请求的响应结果;
在克服了目标处理请求存在的目标***无法正常响应的问题后,则可向目标***发起正常的***测试,即,发送大量的处理请求以观测目标***对于接收到的处理请求的响应。
在这测试过程中,既可以从***外部接收目标***反馈的响应结果,也可以通过配置于目标***内的监控程序,采用主动方式来获取目标***的响应结果。
步骤S105,测试设备基于目标***对于不同处理请求的响应结果,确定目标***的功能和性能测试结果。
获取到目标***对于测试设备本地向其发送的不同处理请求的响应结果后,则可基于该响应结果,根据预设的功能和性能测试结果的数据转换处理、数据加工处理、结果呈现方式等涉及到的数据处理,将响应结果加工成对应的功能和性能测试结果。
最终的功能和性能测试结果,是在最开始测试任务涉及的测试规则下体现的,具体可以通过图文、报表等方式进行呈现。
从图1所示实施例可看出,在通过测试脚本对目标***执行自动化测试的过程中,本申请通过检测测试脚本中是否存在目标***无法响应重复请求内容的目标处理请求,若存在则以该目标处理请求作为参数化对象,进行参数化处理,使得多个目标处理请求在发送至目标***以执行***测试时请求中所携带的请求内容是呈现动态变化特点的不同数据,以避免向目标***发起重复内容的相同处理请求,如此可以避免该目标处理请求带来的干扰,该目标处理请求可以执行正常的***测试且***测试还具有动态变化的特点,保障了整体***测试处理的测试效率以及测试质量。
继续对上述图1所示实施例的各个步骤及其在实际应用中可能的实现方式进行详细阐述。
作为一种适于实用的实现方式,对于本申请所针对的目标处理请求,其具体可以为预设的携带登录账号以及登录密码的用户登录请求。
可以理解,在实际***测试的应用场景中,本申请通过测试回溯发现,在功能和性能测试过程中,产生的并发用户往往无法使用同样的参数去访问同一个请求,比如测试登录操作时,并发用户无法使用相同的账号密码进行登录,此时则可通过本申请对测试脚本中此处所涉及的地方进行参数化处理,使得每个并发用户都能分配到独立的参数信息,如此对于该登录操作测试环节可以完成其正常的测试。
进一步的,在具体的设置中,作为又一种适于实用的实现方式,在对目标处理请求执行参数化处理的过程中,具体可以包括以下内容:
测试设备识别目标处理请求的接口数据,并生成接口数据对应的请求列表;
测试设备在请求列表中具体以登录账号以及登录密码作为参数化对象,为不同虚拟用户分配相互独立的参数化的登录账号以及登录账号密码;
测试设备配置参数化的登录账号以及登录密码两者,与接口数据之间的配对关系,使得脚本在向目标***发起目标处理请求时,通过接口数据调用参数化的登录账号以及登录密码来发起目标处理请求。
可以发现的是,对于目标处理请求涉及的登录账号以及登录密码,其是以表格的形式设置的,如此在数据处理上具有读写便捷的优点,也易于管理。
而关于该接口数据形式的数据调用方式,不仅可以为调用在测试脚本内本身就已经存储的登录账号以及登录密码,也可以为调用测试脚本外部存储的登录账号以及登录密码。
具体的,该示例性实施例的内容,还可以参考图2示出的本申请配置测试脚本的一种流程示意图进行理解。
而对于登录账号以及登录密码,每个登录账号都配置有一个匹配的登录密码,一组登录账号、登录密码,对应了一个虚拟用户,如此来实现大量的并发用户的登录操作。
此外,作为又一种适于实用的实现方式,对于上述测试脚本涉及的配置处理,或者说测试设备在配置测试脚本的过程中具体可以是以可视化界面呈现的。
如此,对于***测试场景而言,本申请以可视化操作的形式,上传数据集,针对脚本录制的接口参数进行模拟,还原真实的业务场景,即模拟多客户端向服务端上报请求,与真实客户端向服务端上报请求相似,包括HTTP请求并发量、并发时序,业务类型等。
对应的,在该可视化机制下,测试设备为不同虚拟用户分配相互独立的参数化的登录账号以及登录密码的过程中,还可以包括以下内容:
测试设备在请求列表中具体以登录账号以及登录密码作为参数化对象,在可视化界面中以可视化操作的形式生成并向用户展示测试设备自身为不同虚拟用户随机生成的相互独立的参数化的登录账号以及登录密码;
或者,测试设备在请求列表中具体以登录账号以及登录密码作为参数化对象,在可视化界面中以可视化操作的形式向用户提供输入接口,使得用户为不同虚拟用户输入相互独立的参数化的登录账号以及登录密码;
在经用户确认后,测试设备可视化界面中的参数化的登录账号以及登录密码为最终采用的数据。
可以理解的是,一方面测试设备可以自主完成目标处理请求的参数化处理,另一方面又可由人工导入的方式完成目标处理请求的参数化处理,在实际应用中,还可通过人工调整测试设备生成的参数化处理结果来进一步促进参数化处理的处理精度以及处理效果。
在可视化需求下,还可由人工进行最终参数化处理结果的确认及其应用,进一步保障了参数化处理的处理精度以及处理效果。
为进一步理解上述内容,包括各示例性实现方式的内容,下面结合可视化机制下配置参数化处理一个实例进行说明。
背景:参数化设置,***用户登录时需要输入用户名和密码,假如***不允许相同的用户名和密码同时登录,这个时候测试可以对用户名和密码进行参数化,使每个虚拟用户都使用不同的用户名和密码来进行正常访问。
1.选择任意脚本,当前界面会显示该脚本的所有请求内容,具体的:
①选中带有数据的请求;
②点击上方菜单栏编辑模块的“参数化”按钮;
③通过点击右键选择“***行”、“***列”新增参数列表;
④在表格内输入参数内容,或者也可通过xls、txt、csv文件导入参数内容。
2.编辑完参数内容之后,需要从列表中选择每个参数的取参方式,例如顺序或随机选取,其表格形式配置的参数化的用户名和密码可以参考下表1:
表1-用户名和密码的参数化表格
Figure 389747DEST_PATH_IMAGE001
以表1为例,若username选择顺序取参,则获取的参数值分别为Admin1、Admin2、Admin3、Admin4、Admin5;若username选择随机取参,则获取的参数值可能为Admin1、Admin5、Admin4、Admin1、Admin3等。
设置完毕,需要将username列和password列数据绑定至请求中与之对应的参数上,后续则可实现不同的并发用户获取到不同账号和密码。
此外,作为又一种适于实用的实现方式,在完成该目标处理请求的参数化设置并且还完成了本次目标***的***测试后,对于该目标处理请求的参数化设置,还可以用于后续可以应用上的***测试场景中,达到重复使用、节省操作成本的效果。
即,在测试完毕后,测试设备记录参数化的登录账号以及登录密码,使得下一个测试任务所用测试脚本也存在目标处理请求时,直接调用参数化的登录账号以及登录密码进行测试。
以上是本申请提供测试脚本的参数化处理方法的介绍,为便于更好的实施本申请提供的测试脚本的参数化处理方法,本申请还从功能模块角度提供了一种测试脚本的参数化处理装置。
参阅图3,图3为本申请测试脚本的参数化处理装置的一种结构示意图,在本申请中,测试脚本的参数化处理装置300具体可包括如下结构:
获取单元301,用于在确定对于目标***的测试任务后,获取测试任务的测试脚本,测试脚本用于按照预设的测试规则对目标***发起测试;
检测单元302,用于检测测试脚本中是否存在目标***无法响应重复请求内容的目标处理请求,若存在,则触发参数化处理单元303;
参数化处理单元303,用于以目标处理请求作为参数化对象,对目标处理请求进行参数化处理,使得多个目标处理请求在发送至目标***以执行***测试时请求中所携带的请求内容是呈现动态变化特点的不同数据,以避免向目标***发起重复内容的相同处理请求;
测试单元304,用于在测试过程中,基于测试脚本向目标***发起包括目标处理请求的不同处理请求,并监测目标***对于不同处理请求的响应结果;
确定单元305,用于基于目标***对于不同处理请求的响应结果,确定目标***的功能和性能测试结果。
在一种示例性的实现方式中,目标处理请求具体为预设的携带登录账号以及登录密码的用户登录请求。
在又一种示例性的实现方式中,参数化处理单元303,具体用于:
识别目标处理请求的接口数据,并生成接口数据对应的请求列表;
在请求列表中具体以登录账号以及登录密码作为参数化对象,为不同虚拟用户分配相互独立的参数化的登录账号以及登录账号密码;
配置参数化的登录账号以及登录密码两者,与接口数据之间的配对关系,使得脚本在向目标***发起目标处理请求时,通过接口数据调用参数化的登录账号以及登录密码来发起目标处理请求。
在又一种示例性的实现方式中,参数化处理单元303,具体用于:
在请求列表中具体以登录账号以及登录密码作为参数化对象,在可视化界面中以可视化操作的形式生成并向用户展示自身为不同虚拟用户随机生成的相互独立的参数化的登录账号以及登录密码;
或者,在请求列表中具体以登录账号以及登录密码作为参数化对象,在可视化界面中以可视化操作的形式向用户提供输入接口,使得用户为不同虚拟用户输入相互独立的参数化的登录账号以及登录密码;
在经用户确认后,确定可视化界面中的参数化的登录账号以及登录密码为最终采用的数据。
在又一种示例性的实现方式中,装置还包括记录单元306,用于:
在测试完毕后,记录参数化的登录账号以及登录密码,使得下一个测试任务所用测试脚本也存在目标处理请求时,直接调用参数化的登录账号以及登录密码进行测试。
本申请还从硬件结构角度提供了一种测试设备,参阅图4,图4示出了本申请测试设备的一种结构示意图,具体的,本申请测试设备可包括处理器401、存储器402以及输入输出设备403,处理器401用于执行存储器402中存储的计算机程序时实现如图1对应实施例中测试脚本的参数化处理方法的各步骤;或者,处理器401用于执行存储器402中存储的计算机程序时实现如图3对应实施例中各单元的功能,存储器402用于存储处理器401执行上述图1对应实施例中测试脚本的参数化处理方法所需的计算机程序。
示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器402中,并由处理器401执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在计算机装置中的执行过程。
测试设备可包括,但不仅限于处理器401、存储器402、输入输出设备403。本领域技术人员可以理解,示意仅仅是测试设备的示例,并不构成对测试设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如测试设备还可以包括网络接入设备、总线等,处理器401、存储器402、输入输出设备403等通过总线相连。
处理器401可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是测试设备的控制中心,利用各种接口和线路连接整个设备的各个部分。
存储器402可用于存储计算机程序和/或模块,处理器401通过运行或执行存储在存储器402内的计算机程序和/或模块,以及调用存储在存储器402内的数据,实现计算机装置的各种功能。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序等;存储数据区可存储根据测试设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器401用于执行存储器402中存储的计算机程序时,具体可实现以下功能:
在确定对于目标***的测试任务后,获取测试任务的测试脚本,测试脚本用于按照预设的测试规则对目标***发起测试;
检测测试脚本中是否存在目标***无法响应重复请求内容的目标处理请求;
若存在,则以目标处理请求作为参数化对象,对目标处理请求进行参数化处理,使得多个目标处理请求在发送至目标***以执行***测试时请求中所携带的请求内容是呈现动态变化特点的不同数据,以避免向目标***发起重复内容的相同处理请求;
在测试过程中,基于测试脚本向目标***发起包括目标处理请求的不同处理请求,并监测目标***对于不同处理请求的响应结果;
基于目标***对于不同处理请求的响应结果,确定目标***的功能和性能测试结果。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的测试脚本的参数化处理装置、测试及其相应单元的具体工作过程,可以参考如图1对应实施例中测试脚本的参数化处理方法的说明,具体在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请如图1对应实施例中测试脚本的参数化处理方法的步骤,具体操作可参考如图1对应实施例中测试脚本的参数化处理方法的说明,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(Read Only Memory,ROM)、随机存取记忆体(Random Access Memory,RAM)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本申请如图1对应实施例中测试脚本的参数化处理方法的步骤,因此,可以实现本申请如图1对应实施例中测试脚本的参数化处理方法所能实现的有益效果,详见前面的说明,在此不再赘述。
以上对本申请提供的测试脚本的参数化处理方法、装置、测试设备以及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种测试脚本的参数化处理方法,其特征在于,所述方法包括:
测试设备在确定对于目标***的测试任务后,获取所述测试任务的测试脚本,所述测试脚本用于按照预设的测试规则对所述目标***发起测试;
所述测试设备检测所述测试脚本中是否存在所述目标***无法响应重复请求内容的目标处理请求;
若存在,则所述测试设备以所述目标处理请求作为参数化对象,对所述目标处理请求进行参数化处理,使得多个所述目标处理请求在发送至所述目标***以执行***测试时请求中所携带的请求内容是呈现动态变化特点的不同数据,以避免向所述目标***发起重复内容的相同处理请求;
所述测试设备在测试过程中,基于所述测试脚本向所述目标***发起包括所述目标处理请求的不同处理请求,并监测所述目标***对于所述不同处理请求的响应结果;
所述测试设备基于所述目标***对于所述不同处理请求的响应结果,确定所述目标***的功能和性能测试结果。
2.根据权利要求1所述的方法,其特征在于,所述目标处理请求具体为预设的携带登录账号以及登录密码的用户登录请求。
3.根据权利要求2所述的方法,其特征在于,所述测试设备以所述目标处理请求作为参数化对象,对所述目标处理请求进行参数化处理,包括:
所述测试设备识别所述目标处理请求的接口数据,并生成所述接口数据对应的请求列表;
所述测试设备在所述请求列表中具体以所述登录账号以及登录密码作为参数化对象,为不同虚拟用户分配相互独立的参数化的所述登录账号以及登录账号密码;
所述测试设备配置所述参数化的所述登录账号以及登录密码两者,与所述接口数据之间的配对关系,使得所述脚本在向所述目标***发起所述目标处理请求时,通过所述接口数据调用所述参数化的所述登录账号以及登录密码来发起所述目标处理请求。
4.根据权利要求3所述的方法,其特征在于,所述测试设备在配置所述测试脚本的过程中是以可视化界面呈现的,所述测试设备在所述请求列表中具体以所述登录账号以及登录密码作为参数化对象,为不同虚拟用户分配相互独立的参数化的所述登录账号以及登录密码,包括:
所述测试设备在所述请求列表中具体以所述登录账号以及登录密码作为参数化对象,在所述可视化界面中以可视化操作的形式生成并向用户展示所述测试设备自身为所述不同虚拟用户随机生成的相互独立的所述参数化的所述登录账号以及登录密码;
或者,所述测试设备在所述请求列表中具体以所述登录账号以及登录密码作为参数化对象,在所述可视化界面中以可视化操作的形式向用户提供输入接口,使得用户为所述不同虚拟用户输入相互独立的所述参数化的所述登录账号以及登录密码;
在经用户确认后,所述测试设备确定所述可视化界面中的所述参数化的所述登录账号以及登录密码为最终采用的数据。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在测试完毕后,所述测试设备记录所述参数化的所述登录账号以及登录密码,使得下一个测试任务所用测试脚本也存在所述目标处理请求时,直接调用所述参数化的所述登录账号以及登录密码进行测试。
6.一种测试脚本的参数化处理装置,其特征在于,所述装置包括:
获取单元,用于在确定对于目标***的测试任务后,获取所述测试任务的测试脚本,所述测试脚本用于按照预设的测试规则对所述目标***发起测试;
检测单元,用于检测所述测试脚本中是否存在所述目标***无法响应重复请求内容的目标处理请求,若存在,则触发参数化处理单元;
所述参数化处理单元,用于以所述目标处理请求作为参数化对象,对所述目标处理请求进行参数化处理,使得多个所述目标处理请求在发送至所述目标***以执行***测试时请求中所携带的请求内容是呈现动态变化特点的不同数据,以避免向所述目标***发起重复内容的相同处理请求;
测试单元,用于在测试过程中,基于所述测试脚本向所述目标***发起包括所述目标处理请求的不同处理请求,并监测所述目标***对于所述不同处理请求的响应结果;
确定单元,用于基于所述目标***对于所述不同处理请求的响应结果,确定所述目标***的功能和性能测试结果。
7.根据权利要求6所述的装置,其特征在于,所述目标处理请求具体为预设的携带登录账号以及登录密码的用户登录请求。
8.根据权利要求7所述的装置,其特征在于,所述参数化处理单元,具体用于:
识别所述目标处理请求的接口数据,并生成所述接口数据对应的请求列表;
在所述请求列表中具体以所述登录账号以及登录密码作为参数化对象,为不同虚拟用户分配相互独立的参数化的所述登录账号以及登录账号密码;
配置所述参数化的所述登录账号以及登录密码两者,与所述接口数据之间的配对关系,使得所述脚本在向所述目标***发起所述目标处理请求时,通过所述接口数据调用所述参数化的所述登录账号以及登录密码来发起所述目标处理请求。
9.根据权利要求8所述的装置,其特征在于,在配置所述测试脚本的过程中是以可视化界面呈现的,所述参数化处理单元,具体用于:
在所述请求列表中具体以所述登录账号以及登录密码作为参数化对象,在所述可视化界面中以可视化操作的形式生成并向用户展示自身为所述不同虚拟用户随机生成的相互独立的所述参数化的所述登录账号以及登录密码;
或者,在所述请求列表中具体以所述登录账号以及登录密码作为参数化对象,在所述可视化界面中以可视化操作的形式向用户提供输入接口,使得用户为所述不同虚拟用户输入相互独立的所述参数化的所述登录账号以及登录密码;
在经用户确认后,确定所述可视化界面中的所述参数化的所述登录账号以及登录密码为最终采用的数据。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括记录单元,用于:
在测试完毕后,记录所述参数化的所述登录账号以及登录密码,使得下一个测试任务所用测试脚本也存在所述目标处理请求时,直接调用所述参数化的所述登录账号以及登录密码进行测试。
CN202210579027.5A 2022-05-26 2022-05-26 一种测试脚本的参数化处理方法以及装置 Active CN114676067B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210579027.5A CN114676067B (zh) 2022-05-26 2022-05-26 一种测试脚本的参数化处理方法以及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210579027.5A CN114676067B (zh) 2022-05-26 2022-05-26 一种测试脚本的参数化处理方法以及装置

Publications (2)

Publication Number Publication Date
CN114676067A true CN114676067A (zh) 2022-06-28
CN114676067B CN114676067B (zh) 2022-08-30

Family

ID=82079569

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210579027.5A Active CN114676067B (zh) 2022-05-26 2022-05-26 一种测试脚本的参数化处理方法以及装置

Country Status (1)

Country Link
CN (1) CN114676067B (zh)

Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104252728A (zh) * 2013-06-28 2014-12-31 法国大陆汽车公司 用于处理免伸手车辆进入***中的存在信号的方法
CN105101196A (zh) * 2014-05-06 2015-11-25 阿里巴巴集团控股有限公司 一种用户账户管理方法及装置
US20170149767A1 (en) * 2015-11-24 2017-05-25 International Business Machines Corporation Using a service-provider password to simulate f-sso functionality
CN111104675A (zh) * 2019-11-15 2020-05-05 泰康保险集团股份有限公司 ***安全漏洞的检测方法和装置
WO2020093214A1 (zh) * 2018-11-05 2020-05-14 深圳市欢太科技有限公司 一种应用程序登录方法、应用程序登录装置及移动终端
CN111159000A (zh) * 2019-12-30 2020-05-15 北京明朝万达科技股份有限公司 一种服务器性能测试方法、装置、设备以及存储介质
CN111258900A (zh) * 2020-01-17 2020-06-09 深圳壹账通智能科技有限公司 接口测试脚本的生成方法、***、设备及存储介质
WO2020119434A1 (zh) * 2018-12-15 2020-06-18 深圳壹账通智能科技有限公司 接口数据处理方法、自动化测试方法、装置、设备和介质
CN111382080A (zh) * 2020-03-16 2020-07-07 深圳市吉祥腾达科技有限公司 一种设备云管理平台***的稳定性测试方法
CN111414303A (zh) * 2020-03-17 2020-07-14 中国建设银行股份有限公司 一种用于脚本性能测试的辅助***及方法
CN111949548A (zh) * 2020-08-24 2020-11-17 福建国信立联信息科技有限公司 一种自动化越权渗透测试方法和存储设备
CN112506800A (zh) * 2020-12-22 2021-03-16 北京百度网讯科技有限公司 测试代码的方法、装置、设备、介质和程序产品
WO2021051876A1 (zh) * 2019-09-18 2021-03-25 平安科技(深圳)有限公司 邮件批量授权方法、装置、计算机设备及存储介质
CN112559313A (zh) * 2019-09-26 2021-03-26 北京国双科技有限公司 测试用例的设置方法及装置、存储介质、电子设备
WO2021218979A1 (zh) * 2020-04-30 2021-11-04 华为技术有限公司 一种基于云应用实例的登录方法、***及相关设备
CN113806736A (zh) * 2021-08-23 2021-12-17 北京天融信网络安全技术有限公司 一种基于拟态入侵的漏洞检测方法、***及其存储介质
CN114003484A (zh) * 2020-07-28 2022-02-01 深圳兆日科技股份有限公司 接口测试的日志输出方法、装置、设备及存储介质
CN114020446A (zh) * 2021-09-24 2022-02-08 百果园技术(新加坡)有限公司 一种跨多引擎的路由处理方法、装置、设备及存储介质
CN114153743A (zh) * 2021-12-13 2022-03-08 江苏方哲检测技术有限公司 基于接口自动化测试方法

Patent Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104252728A (zh) * 2013-06-28 2014-12-31 法国大陆汽车公司 用于处理免伸手车辆进入***中的存在信号的方法
CN105101196A (zh) * 2014-05-06 2015-11-25 阿里巴巴集团控股有限公司 一种用户账户管理方法及装置
US20170149767A1 (en) * 2015-11-24 2017-05-25 International Business Machines Corporation Using a service-provider password to simulate f-sso functionality
WO2020093214A1 (zh) * 2018-11-05 2020-05-14 深圳市欢太科技有限公司 一种应用程序登录方法、应用程序登录装置及移动终端
WO2020119434A1 (zh) * 2018-12-15 2020-06-18 深圳壹账通智能科技有限公司 接口数据处理方法、自动化测试方法、装置、设备和介质
WO2021051876A1 (zh) * 2019-09-18 2021-03-25 平安科技(深圳)有限公司 邮件批量授权方法、装置、计算机设备及存储介质
CN112559313A (zh) * 2019-09-26 2021-03-26 北京国双科技有限公司 测试用例的设置方法及装置、存储介质、电子设备
CN111104675A (zh) * 2019-11-15 2020-05-05 泰康保险集团股份有限公司 ***安全漏洞的检测方法和装置
CN111159000A (zh) * 2019-12-30 2020-05-15 北京明朝万达科技股份有限公司 一种服务器性能测试方法、装置、设备以及存储介质
CN111258900A (zh) * 2020-01-17 2020-06-09 深圳壹账通智能科技有限公司 接口测试脚本的生成方法、***、设备及存储介质
CN111382080A (zh) * 2020-03-16 2020-07-07 深圳市吉祥腾达科技有限公司 一种设备云管理平台***的稳定性测试方法
CN111414303A (zh) * 2020-03-17 2020-07-14 中国建设银行股份有限公司 一种用于脚本性能测试的辅助***及方法
WO2021218979A1 (zh) * 2020-04-30 2021-11-04 华为技术有限公司 一种基于云应用实例的登录方法、***及相关设备
CN114003484A (zh) * 2020-07-28 2022-02-01 深圳兆日科技股份有限公司 接口测试的日志输出方法、装置、设备及存储介质
CN111949548A (zh) * 2020-08-24 2020-11-17 福建国信立联信息科技有限公司 一种自动化越权渗透测试方法和存储设备
CN112506800A (zh) * 2020-12-22 2021-03-16 北京百度网讯科技有限公司 测试代码的方法、装置、设备、介质和程序产品
CN113806736A (zh) * 2021-08-23 2021-12-17 北京天融信网络安全技术有限公司 一种基于拟态入侵的漏洞检测方法、***及其存储介质
CN114020446A (zh) * 2021-09-24 2022-02-08 百果园技术(新加坡)有限公司 一种跨多引擎的路由处理方法、装置、设备及存储介质
CN114153743A (zh) * 2021-12-13 2022-03-08 江苏方哲检测技术有限公司 基于接口自动化测试方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
郑磊: "基于LoadRunner的压力测试参数化设置", 《信息与电脑(理论版)》 *

Also Published As

Publication number Publication date
CN114676067B (zh) 2022-08-30

Similar Documents

Publication Publication Date Title
CN108153670B (zh) 一种接口测试方法、装置及电子设备
CN107402880B (zh) 一种测试方法及电子设备
CN105005532B (zh) 一种自动化测试应用程序接口稳定性的***及方法
US8660833B2 (en) Method, computer program product and apparatus for providing an interactive network simulator
CN111045879B (zh) 压力测试报告的生成方法、装置及存储介质
CN111198797B (zh) 操作监控方法及装置、操作分析方法及装置
CN111176918A (zh) 一种服务器测试方法、***、设备及计算机可读存储介质
CN114546738A (zh) 服务器通用测试方法、***、终端及存储介质
CN107733710A (zh) 链路调用关系的构建方法、装置、计算机设备及存储介质
CN109828920A (zh) 一种日志分析方法、装置及计算机可读存储介质
CN108563562A (zh) 分布式***的测试方法、装置、计算机设备及存储介质
CN110677307B (zh) 一种服务监测方法、装置、设备和存储介质
CN106557308A (zh) 一种软件持续集成方法及装置
CN108733545B (zh) 一种压力测试方法及装置
CN114911706A (zh) 用例推荐方法、装置、设备及存储介质
CN114356521A (zh) 任务调度方法、装置、电子设备及存储介质
CN116644250B (zh) 页面检测方法、装置、计算机设备和存储介质
CN112988589A (zh) 一种接口测试方法、装置和***
CN114676067B (zh) 一种测试脚本的参数化处理方法以及装置
CN110457202B (zh) 快速建立odbc连接的tpc-e测试方法以及驱动器设备
CN114050990B (zh) 一种网络隔离设备的测试方法、装置、存储介质和电子设备
JP3987333B2 (ja) 性能測定装置、性能測定システム、記録媒体およびプログラム
CN113127369A (zh) 一种执行脚本的处理方法以及装置
CN114741325B (zh) 一种应用***测试用的测试脚本的录制方法以及装置
CN115454733A (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