CN109558326B - 一种测试方法及装置 - Google Patents

一种测试方法及装置 Download PDF

Info

Publication number
CN109558326B
CN109558326B CN201811465713.XA CN201811465713A CN109558326B CN 109558326 B CN109558326 B CN 109558326B CN 201811465713 A CN201811465713 A CN 201811465713A CN 109558326 B CN109558326 B CN 109558326B
Authority
CN
China
Prior art keywords
test
tested
target
sql
parameter
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
CN201811465713.XA
Other languages
English (en)
Other versions
CN109558326A (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.)
China Construction Bank Corp
Original Assignee
China Construction Bank Corp
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 China Construction Bank Corp filed Critical China Construction Bank Corp
Priority to CN201811465713.XA priority Critical patent/CN109558326B/zh
Publication of CN109558326A publication Critical patent/CN109558326A/zh
Application granted granted Critical
Publication of CN109558326B publication Critical patent/CN109558326B/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
    • G06F11/3672Test management
    • G06F11/3688Test 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)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种测试方法及装置,其中,方法包括:获取包含第一目标参数的文件;第一目标参数包括:待测SQL片段在待测系统中所属的SQL命名空间、待测SQL片段的标识和待测SQL片段运行所需的初始参数;从文件中解析出第一目标参数;依据第一目标参数与第二目标参数,依次对每个待测SQL片段进行测试;第二目标参数包括:预设的待测系统所属服务器的IP地址,以及预设的用于模拟测试场景的压力参数。通过本申请实施例,可以实现对待测SQL片段的测试。

Description

一种测试方法及装置
技术领域
本申请涉及测试领域,特别是涉及一种测试方法及装置。
背景技术
面向交易的处理系统(On-Line Transaction Processing,OLTP)由前台、应用和数据库组成;OLTP系统的基本特征为前台接收的用户数据可以立即传送到计算中心进行处理,并在短时间内给出处理结果。OLTP系统性能的高低,直接影响用户使用OLTP系统办理业务的速度。而OLTP系统性能的高低,最直接的影响来自于OLTP系统中SQL性能的高低。例如,在实际应用中,可能出现一条SQL语句运行缓慢,从而影响整个OLTP系统的响应时间。
为了保证用户办理业务的速度,需要保证OLTP系统的性能。更进一步的,需要保证OLTP系统中的SQL性能满足预设性能指标。
因此,需要对OLTP系统进行SQL性能测试。
发明内容
基于此,本申请提出了一种测试方法,用以测试SQL性能。
本申请还提供了一种测试装置,用以保证上述方法在实际中的实现及应用。
本申请提供的技术方案为:
本申请公开了一种测试方法,包括:
获取包含第一目标参数的文件;所述第一目标参数包括:待测SQL片段在待测系统中所属的SQL命名空间、所述待测SQL片段的标识和所述待测SQL片段运行所需的初始参数;
从所述文件中解析出所述第一目标参数;
依据所述第一目标参数与第二目标参数,依次对每个所述待测SQL片段进行测试;所述第二目标参数包括:预设的所述待测系统所属服务器的IP地址,以及预设的用于模拟测试场景的压力参数。
其中,针对目标待测SQL片段,所述目标待测SQL片段为所述待测SQL片段中的任一待测SQL片段;
依据所述第一目标参数与所述第二目标参数,对所述目标待测SQL片段进行测试,包括:
获取第三目标参数;所述第三目标参数包括:在所述第一目标参数中,所述目标待测SQL片段所属的SQL命名空间、所述目标待测SQL片段的标识以及所述目标待测SQL片段运行所需的初始参数;
生成对所述目标待测SQL片段进行测试的测试请求;所述测试请求包括:所述第三目标参数和所述第二目标参数中的所述IP地址;
依据所述测试请求以及所述第二目标参数中的所述压力参数,对所述目标待测SQL片段进行测试。
其中,所述依据所述测试请求以及所述第二目标参数中的所述压力参数,对所述目标待测SQL片段进行测试,包括:
依据基准测试所需的压力参数,向所述待测系统发送所述测试请求,使得所述待测系统对所述目标待测SQL片段进行基准测试;所述基准测试为对所述目标待测SQL片段进行的一种测试种类;
若所述待测系统反馈的基准测试结果满足预设基准测试条件,则依据负载测试所需的压力参数,向所述待测系统发送所述测试请求,使得所述待测系统对所述目标待测SQL片段进行负载测试;所述负载测试为对所述目标待测SQL片段进行的一种测试种类;
若所述待测系统反馈的负载测试结果满足预设负载测试条件,则依据极限测试所需的压力参数,向所述待测系统发送所述测试请求,使得所述待测系统对所述目标待测SQL片段进行极限测试;所述极限测试为对所述目标待测SQL片段进行的一种测试种类。
其中,所述压力参数包括:并发用户数和测试场景时间;所述并发用户数表示测试场景中需向所述待测系统同时发送所述测试请求的数量;所述测试场景时间表示对所述目标待测SQL片段测试的时长;
依据目标测试所需的压力参数,向所述待测系统发送所述测试请求,所述目标测试为所述基准测试、所述负载测试以及所述极限测试中的任意一种测试,包括:
向所述待测系统同时发送第一预设数量个所述测试请求;所述第一预设数量为所述目标测试所需的并发用户数。
记录发送所述测试请求的时刻;
接收所述待测系统反馈的目标测试结果;
记录接收所述目标测试结果的时刻;
判断第一次发送所述测试请求的时刻距离当前时刻的时间间隔,是否小于所述目标测试所需的测试场景时间;
若小于,则向所述待测系统同时发送所述第一预设数量个所述测试请求;并返回执行所述记录发送所述测试请求的时刻的步骤。
其中,在所述判断第一次发送所述测试请求的时刻距离当前时刻的时间间隔,是否小于所述目标测试所需的测试场景时间之后,还包括:
若不小于,则确定目标测试结果的性能指标;
判断所确定的性能指标是否满足预设目标测试条件。
本申请还公开了一种测试装置,包括:
获取单元,用于获取包含第一目标参数的文件;所述第一目标参数包括:待测SQL片段在待测系统中所属的SQL命名空间、所述待测SQL片段的标识和所述待测SQL片段运行所需的初始参数;
解析单元,用于从所述文件中解析出所述第一目标参数;
测试单元,用于依据所述第一目标参数与第二目标参数,依次对每个所述待测SQL片段进行测试;所述第二目标参数包括:预设的所述待测系统所属服务器的IP地址,以及预设的用于模拟测试场景的压力参数。
其中,所述测试单元包括:
获取子单元,用于获取第三目标参数;所述第三目标参数包括:在所述第一目标参数中,所述目标待测SQL片段所属的SQL命名空间、所述目标待测SQL片段的标识以及所述目标待测SQL片段运行所需的初始参数;所述目标待测SQL片段为所述待测SQL片段中的任一待测SQL片段;
生成子单元,用于生成对所述目标待测SQL片段进行测试的测试请求;所述测试请求包括:所述第三目标参数和所述第二目标参数中的所述IP地址;
测试子单元,用于依据所述测试请求以及所述第二目标参数中的所述压力参数,对所述目标待测SQL片段进行测试。
其中,所述测试子单元包括:
基准测试模块,用于依据基准测试所需的压力参数,向所述待测系统发送所述测试请求,使得所述待测系统对所述目标待测SQL片段进行基准测试;所述基准测试为对所述目标待测SQL片段进行的一种测试种类;
负载测试模块,用于若所述待测系统反馈的基准测试结果满足预设基准测试条件,则依据负载测试所需的压力参数,向所述待测系统发送所述测试请求,使得所述待测系统对所述目标待测SQL片段进行负载测试;所述负载测试为对所述目标待测SQL片段进行的一种测试种类;
极限测试模块,用于若所述待测系统反馈的负载测试结果满足预设负载测试条件,则依据极限测试所需的压力参数,向所述待测系统发送所述测试请求,使得所述待测系统对所述目标待测SQL片段进行极限测试;所述极限测试为对所述目标待测SQL片段进行的一种测试种类。
其中,目标测试模块,所述目标测试模块为所述基准测试模块、所述负载测试模块以及所述极限测试模块中的任意一个模块,包括:
第一发送子模块,用于向所述待测系统同时发送第一预设数量个所述测试请求;所述第一预设数量为所述目标测试所需的并发用户数;所述并发用户数表示测试场景中需向所述待测系统同时发送所述测试请求的数量;
第一记录子模块,用于记录发送所述测试请求的时刻;
接收子模块,用于接收所述待测系统反馈的目标测试结果;
第二记录子模块,用于记录接收所述目标测试结果的时刻;
判断子模块,用于判断第一次发送所述测试请求的时刻距离当前时刻的时间间隔,是否小于所述目标测试所需的测试场景时间;所述测试场景时间表示对所述目标待测SQL片段测试的时长;
第二发送子模块,用于在判断子模块得到第一次发送所述测试请求的时刻距离当前时刻的时间间隔,小于所述目标测试所需的测试场景时间时,向所述待测系统同时发送所述第一预设数量个所述测试请求;并返回执行所述第一发送子模块的动作。
其中,所述目标测试模块还包括:
执行子模块,用于在判断子模块得到第一次发送所述测试请求的时刻距离当前时刻的时间间隔,不小于所述目标测试所需的测试场景时间时,则确定目标测试结果的性能指标;判断所确定的性能指标是否满足预设目标测试条件。
本申请的有益效果为:
在本申请实施例中,接收包含第一目标参数的文件,并从文件中解析出第一目标参数;并且在本申请实施例中,预先设置有第二目标参数;第一目标参数包括:待测SQL片段在待测系统中所属的SQL命名空间、待测SQL片段的标识和待测SQL片段运行所需的初始参数;第二目标参数包括:待测系统所属服务器的IP地址,以及预先保存的用于模拟测试场景的压力参数;可以看出,第一目标参数与第二目标参数中,待测系统所属服务器的IP地址、待测SQL片段在待测系统中所属的SQL命名空间和待测SQL片段的标识,可以使得待测系统寻找到待测SQL片段;待测SQL片段运行所需的初始参数以及压力参数,提供了待测系统对待测SQL片段进行测试的基础条件;使得本申请实施例可以实现对待测SQL片段的测试。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请中一种测试方法实施例的流程图;
图2为本申请中一种对目标待测SQL片段进行测试的方法实施例的流程图;
图3为本申请中一种测试装置实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参考图1,为本申请中一种测试方法,可以包括:
步骤101:接收用户输入的包含第一目标参数的文本。
在本实施例中,第一目标参数为待测SQL片段的相关参数,第一目标参数可以包括待测SQL片段所属的项目组的名称、项目责任人、包含待测SQL片段的SQL命名空间、待测SQL片段的标识、待测SQL片段运行所需的初始参数以及备注信息。其中,项目组的名称和项目责任人用于确认待测SQL片段的开发项目组和开发人员,以便发现待测SQL片段性能问题后,及时找到开发人员进行问题的反馈和确认。
需要说明的是,在本实施例中,待测SQL片段为所有的待测SQL片段。例如,在实际应用中,假设需要对10个SQL片段进行测试,在本步骤中,待测SQL片段为该10个SQL片段。
在本步骤中,接收文本的方式可以包括:通过一个可供用户操作的可视化的WEB交互界面,用户将包含第一目标参数的文本输入该web交互界面。
文本的形式可以为表格和页面截图等。以表格形式为例,第一目标参数中任意一个待测SQL片段对应的参数,可以如下表所示:
Figure BDA0001889757570000071
步骤102:从文本中解析出第一目标参数。
步骤103:将解析出的第一目标参数写入数据库。
步骤104:依据第一目标参数和第二目标参数对,依次对每个待测SQL片段进行测试。
在本实施例中,第二目标参数、待测系统中包含待测SQL片段的SQL命名空间、待测SQL片段的标识以及待测SQL片段运行所需的初始参数。
其中,第二目标参数包括:待测系统所属服务器的地址以及对待测SQL片段进行不同种类测试的压力参数。具体的,对待测SQL片段进行测试的种类可以包括:基准测试、负载测试和极限测试;每种测试的压力参数包括:并发用户数和测试场景时间。并发用户数为用于模拟测试过程中同时调用待测SQL片段的用户数量;测试场景时间表示对一个待测SQL片段进行测试的时长。
在本实施例中,第二目标参数由开发人员通过参数配置交互界面,预先配置的。
在本申请实施例中的,依据第一目标参数与第二目标参数,依次对每个待测SQL片段进行测试的过程相同,为了描述方便,以一个待测SQL片段为例,介绍本申请实施例对一个待测SQL片段的具体测试过程;在本申请实施例中,为了描述方便,将待测SQL片段中的任意一个SQL片段称为目标待测SQL片段。
具体的,参考图2,为本实施例对目标待测SQL片段进行测试的过程,可以包括:
步骤201:获取第二目标参数和第三目标参数。
在本步骤中,第三目标参数为第一目标参数中,目标待测SQL片段的所属的SQL命名空间、目标待测SQL片段的标识以及目标待测SQL片段运行所需的初始参数。
步骤202:生成对所述目标待测SQL片段进行测试的测试请求。
在本步骤中,所生成的测试请求包括:待测系统所属服务器的地址、待测系统中包含目标待测SQL片段的SQL命名空间、目标待测SQL片段的标识以及目标待测SQL片段运行所需的初始参数。
步骤203:对目标待测SQL片段进行基准测试。
具体的,对待测SQL片段进行基准测试的过程可以包括步骤A1~步骤A6:
步骤A1:同时向待测系统发送第一预设数量个测试请求。
第一预设数量为基准测试对应的并发用户数。
步骤A2:记录发送测试请求的发送时刻。
具体的,可以将发送时刻保存在数据库。
步骤A3:在接收到待测系统反馈的基准测试结果时,保存接收基准测试结果的接收时刻。
在本步骤中,可以将接收时刻保存在数据库。基准测试结果包括:用于表示待测系统对目标待测SQL片段基准测试成功或失败的标志位。
步骤A4:依据基准测试结果中用于表示基准测试成功或者失败的标志位,确定基准测试结果。
若标志位表示测试成功,则测试结果为测试成功;若标志位表示测试失败,则测试结果为测试失败。
步骤A5:保存基准测试结果。
在本步骤中,可以将基准测试结果保存在数据库。
步骤A6:判断第一个发送测试请求时刻到当前时刻的时间间隔,是否小于基准测试对应的测试场景时间。
若小于,则返回执行步骤A1;若不小于,则结束基准测试。
步骤204:依据基准测试结果,确定目标待测SQL的基准测试性能指标值。
具体的,本实施例中,基准测试的性能指标可以包括:待测系统完成对目标待测SQL片段一次基准测试所需的平均时间和待测系统对目标待测SQL片段进行基准测试的测试成功率以及测试失败率等。
其中,测试成功率为基准测试结果为测试成功的次数与基准测试总次数的比值。同理,测试失败率为测试结果为基准测试失败的总次数与基准测试总次数的比值。
步骤205:若目标待测SQL片段的基准测试性能指标值满足预设基准测试条件,则对目标待测SQL片段进行负载测试。
预设基准测试条件可以包括:预设基准测试时长范围以及预设基准测成功率。在本实施例中,若待测系统完成一次基准测试的平均时长属于预设基准测试时长范围,并且基准测试成功率大于预设基准测试成功率,则对目标待测SQL片段进行负载测试。
具体的,对目标待测SQL片段进行负载测试的过程,可以包括步骤B1~步骤B6:
步骤B1:同时向待测系统发送第二预设数量个测试请求。
第二预设数量为预先保存的压力参数中负载测试对应的并发用户数。
步骤B2:保存发送测试请求的发送时刻。
具体的,可以将发送时刻保存在数据库。
步骤B3:在接收到待测系统反馈的第二预设数量个负载测试结果时,保存接收负载测试结果的时刻。
在本步骤中,可以将接收时刻保存在数据库。每个负载测试结果包括:用于表示待测系统对目标待测SQL片段负载测试成功或失败的标志位。
步骤B4:依据负载测试结果中用于表示负载测试成功或者失败的标志位,确定负载测试结果。
若每个负载测试结果消息中的标志位都表示测试成功,则负载测试结果为测试成功;否则,负载测试结果为测试失败。
步骤B5:保存每个负载测试结果。
在本步骤中,可以将负载测试结果保存在数据库。
步骤B6:判断负载测试过程中,第一个发送测试请求的时刻到当前时刻的时间间隔,是否小于负载测试对应的测试场景时间。
若小于,则返回执行步骤B1;若不小于,则结束负载测试。
步骤206:依据负载测试结果,确定目标待测SQL片段的负载测试性能指标值。
具体的,本实施例中,负载测试的性能指标可以包括:待测系统完成一次负载测试所需的平均时间和待测系统的负载测试成功率以及失败率等。
负载测试成功率表示负载测试过程中,负载测试成功的次数与负载测试总次数的比值;负载测试失败率表示:负载测试过程中,负载测试失败的次数与负载测试总次数的比值。
步骤207:若目标待测SQL片段的负载测试性能指标值满足预设负载测试条件,则对目标待测SQL片段进行极限测试。
预设负载测试条件可以包括:预设负载测试时长范围以及预设负载测成功率。在本实施例中,若待测系统完成一次负载测试的平均时长属于预设负载测试时长范围,并且负载测试成功率大于预设负载测试成功率,则对目标待测SQL片段进行极限测试。
具体的,对目标待测SQL片段进行极限测试的过程,与对目标待测SQL片段进行负载测试的流程相同,具体过程参考负载测试过程,这里不再赘述。
在本申请实施例中,在测试过程中,测试人员只需输入待测SQL片段的第一目标参数即可,然后开始测试。在开始测试后,全称无需测试人员参与;当需要对待测SQL片段进行不同种类测试时,不同种类测试所需的参数从预先保存的参数中获取;以及本申请实施例可以在待测系统完成基准测试后,基于待测系统反馈的基准测试结果,确定基准测试的性能指标,并判断出在基准测试完成后是否需要继续进行负载测试;以及在负载测试完成后,基于负载测试反馈的负载测试结果,确定负载测试的性能指标,并依据负载测试的性能指标,判断出是否需要进行极限测试。
通过以上实施例,可以看出本申请实施例中,在测试人员输入待测试SQL片段的信息后,从本申请实施例中的测试开始到得到各种测试性能指标,都不需要人工参与;并且,在本实施例中,依据测试系统反馈的基准测试结果判断是否需要进行负载测试,以及依据负载测试结果判断是否需要进行极限测试;总之,在本申请实施例中,从测试人员开始测试就不需要人工参与,从而节省人力资源,以及测试过程不受人工限制。
参考图3,示出了本申请中一种测试装置实施例的结构示意图,该装置实施例可以包括:
获取单元301,用于获取包含第一目标参数的文件;所述第一目标参数包括:待测SQL片段在待测系统中所属的SQL命名空间、所述待测SQL片段的标识和所述待测SQL片段运行所需的初始参数;
解析单元302,用于从所述文件中解析出所述第一目标参数;
测试单元303,用于依据所述第一目标参数与第二目标参数,依次对每个所述待测SQL片段进行测试;所述第二目标参数包括:预设的所述待测系统所属服务器的IP地址,以及预设的用于模拟测试场景的压力参数。
其中,所述测试单元包括:
获取子单元,用于获取第三目标参数;所述第三目标参数包括:在所述第一目标参数中,所述目标待测SQL片段所属的SQL命名空间、所述目标待测SQL片段的标识以及所述目标待测SQL片段运行所需的初始参数;所述目标待测SQL片段为所述待测SQL片段中的任一待测SQL片段;
生成子单元,用于生成对所述目标待测SQL片段进行测试的测试请求;所述测试请求包括:所述第三目标参数和所述第二目标参数中的所述IP地址;
测试子单元,用于依据所述测试请求以及所述第二目标参数中的所述压力参数,对所述目标待测SQL片段进行测试。
其中,所述测试子单元,可以包括:
基准测试模块,用于依据基准测试所需的压力参数,向所述待测系统发送所述测试请求,使得所述待测系统对所述目标待测SQL片段进行基准测试;所述基准测试为对所述目标待测SQL片段进行的一种测试种类;
负载测试模块,用于若所述待测系统反馈的基准测试结果满足预设基准测试条件,则依据负载测试所需的压力参数,向所述待测系统发送所述测试请求,使得所述待测系统对所述目标待测SQL片段进行负载测试;所述负载测试为对所述目标待测SQL片段进行的一种测试种类;
极限测试模块,用于若所述待测系统反馈的负载测试结果满足预设负载测试条件,则依据极限测试所需的压力参数,向所述待测系统发送所述测试请求,使得所述待测系统对所述目标待测SQL片段进行极限测试;所述极限测试为对所述目标待测SQL片段进行的一种测试种类。
其中,目标测试模块,所述目标测试模块为所述基准测试模块、所述负载测试模块以及所述极限测试模块中的任意一个模块,包括:
第一发送子模块,用于向所述待测系统同时发送第一预设数量个所述测试请求;所述第一预设数量为所述目标测试所需的并发用户数;所述并发用户数表示测试场景中需向所述待测系统同时发送所述测试请求的数量;
第一记录子模块,用于记录发送所述测试请求的时刻;
接收子模块,用于接收所述待测系统反馈的目标测试结果;
第二记录子模块,用于记录接收所述目标测试结果的时刻;
判断子模块,用于判断第一次发送所述测试请求的时刻距离当前时刻的时间间隔,是否小于所述目标测试所需的测试场景时间;所述测试场景时间表示对所述目标待测SQL片段测试的时长;
第二发送子模块,用于在判断子模块得到第一次发送所述测试请求的时刻距离当前时刻的时间间隔,小于所述目标测试所需的测试场景时间时,向所述待测系统同时发送所述第一预设数量个所述测试请求;并返回执行所述第一发送子模块的动作。
其中,所述目标测试模块还包括:
执行子模块,用于在判断子模块得到第一次发送所述测试请求的时刻距离当前时刻的时间间隔,不小于所述目标测试所需的测试场景时间时,则确定目标测试结果的性能指标;判断所确定的性能指标是否满足预设目标测试条件。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似部分互相参见即可。在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。在文中的“包括”、“包含”等词语解释为包含的含义而不是排他或穷举的含义;也就是说,是“包含但不限于”的含义。在不脱离本发明构思的前提下,还可以做出变形、同等替换、改进等,这些都属于本发明的保护范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (6)

1.一种测试方法,其特征在于,包括:
获取包含第一目标参数的文件;所述第一目标参数包括:待测SQL片段在待测系统中所属的SQL命名空间、所述待测SQL片段的标识和所述待测SQL片段运行所需的初始参数;
从所述文件中解析出所述第一目标参数;
依据所述第一目标参数与第二目标参数,依次对每个所述待测SQL片段进行测试;所述第二目标参数包括:预设的所述待测系统所属服务器的IP地址,以及预设的用于模拟测试场景的压力参数;
其中,针对目标待测SQL片段,所述目标待测SQL片段为所述待测SQL片段中的任一待测SQL片段;
依据所述第一目标参数与所述第二目标参数,对所述目标待测SQL片段进行测试,包括:
获取第三目标参数;所述第三目标参数包括:在所述第一目标参数中,所述目标待测SQL片段所属的SQL命名空间、所述目标待测SQL片段的标识以及所述目标待测SQL片段运行所需的初始参数;
生成对所述目标待测SQL片段进行测试的测试请求;所述测试请求包括:所述第三目标参数和所述第二目标参数中的所述IP地址;
依据所述测试请求中的所述目标待测SQL片段运行所需的初始参数以及所述第二目标参数中的所述压力参数,对所述目标待测SQL片段进行测试;所述压力参数包括:并发用户数和测试场景时间;
其中,所述依据所述测试请求以及所述第二目标参数中的所述压力参数,对所述目标待测SQL片段进行测试,包括:
依据基准测试所需的压力参数,向所述待测系统发送所述测试请求,使得所述待测系统对所述目标待测SQL片段进行基准测试;所述基准测试为对所述目标待测SQL片段进行的一种测试种类;
若所述待测系统反馈的基准测试结果满足预设基准测试条件,则依据负载测试所需的压力参数,向所述待测系统发送所述测试请求,使得所述待测系统对所述目标待测SQL片段进行负载测试;所述负载测试为对所述目标待测SQL片段进行的一种测试种类;
若所述待测系统反馈的负载测试结果满足预设负载测试条件,则依据极限测试所需的压力参数,向所述待测系统发送所述测试请求,使得所述待测系统对所述目标待测SQL片段进行极限测试;所述极限测试为对所述目标待测SQL片段进行的一种测试种类。
2.根据权利要求1所述的方法,其特征在于,所述并发用户数表示测试场景中需向所述待测系统同时发送所述测试请求的数量;所述测试场景时间表示对所述目标待测SQL片段测试的时长;
依据目标测试所需的压力参数,向所述待测系统发送所述测试请求,所述目标测试为所述基准测试、所述负载测试以及所述极限测试中的任意一种测试,包括:
向所述待测系统同时发送第一预设数量个所述测试请求;所述第一预设数量为所述目标测试所需的并发用户数;
记录发送所述测试请求的时刻;
接收所述待测系统反馈的目标测试结果;
记录接收所述目标测试结果的时刻;
判断第一次发送所述测试请求的时刻距离当前时刻的时间间隔,是否小于所述目标测试所需的测试场景时间;
若小于,则向所述待测系统同时发送所述第一预设数量个所述测试请求;并返回执行所述记录发送所述测试请求的时刻的步骤。
3.根据权利要求2所述的方法,其特征在于,在所述判断第一次发送所述测试请求的时刻距离当前时刻的时间间隔,是否小于所述目标测试所需的测试场景时间之后,还包括:
若不小于,则确定目标测试结果的性能指标;
判断所确定的性能指标是否满足预设目标测试条件。
4.一种测试装置,其特征在于,包括:
获取单元,用于获取包含第一目标参数的文件;所述第一目标参数包括:待测SQL片段在待测系统中所属的SQL命名空间、所述待测SQL片段的标识和所述待测SQL片段运行所需的初始参数;
解析单元,用于从所述文件中解析出所述第一目标参数;
测试单元,用于依据所述第一目标参数与第二目标参数,依次对每个所述待测SQL片段进行测试;所述第二目标参数包括:预设的所述待测系统所属服务器的IP地址,以及预设的用于模拟测试场景的压力参数;
其中,所述测试单元包括:
获取子单元,用于获取第三目标参数;所述第三目标参数包括:在所述第一目标参数中,所述目标待测SQL片段所属的SQL命名空间、所述目标待测SQL片段的标识以及所述目标待测SQL片段运行所需的初始参数;所述目标待测SQL片段为所述待测SQL片段中的任一待测SQL片段;
生成子单元,用于生成对所述目标待测SQL片段进行测试的测试请求;所述测试请求包括:所述第三目标参数和所述第二目标参数中的所述IP地址;
测试子单元,用于依据所述测试请求中的所述目标待测SQL片段运行所需的初始参数以及所述第二目标参数中的所述压力参数,对所述目标待测SQL片段进行测试;所述压力参数包括:并发用户数和测试场景时间;
其中,所述测试子单元包括:
基准测试模块,用于依据基准测试所需的压力参数,向所述待测系统发送所述测试请求,使得所述待测系统对所述目标待测SQL片段进行基准测试;所述基准测试为对所述目标待测SQL片段进行的一种测试种类;
负载测试模块,用于若所述待测系统反馈的基准测试结果满足预设基准测试条件,则依据负载测试所需的压力参数,向所述待测系统发送所述测试请求,使得所述待测系统对所述目标待测SQL片段进行负载测试;所述负载测试为对所述目标待测SQL片段进行的一种测试种类;
极限测试模块,用于若所述待测系统反馈的负载测试结果满足预设负载测试条件,则依据极限测试所需的压力参数,向所述待测系统发送所述测试请求,使得所述待测系统对所述目标待测SQL片段进行极限测试;所述极限测试为对所述目标待测SQL片段进行的一种测试种类。
5.根据权利要求4所述的装置,其特征在于,目标测试模块,所述目标测试模块为所述基准测试模块、所述负载测试模块以及所述极限测试模块中的任意一个模块,包括:
第一发送子模块,用于向所述待测系统同时发送第一预设数量个所述测试请求;所述第一预设数量为所述目标测试所需的并发用户数;所述并发用户数表示测试场景中需向所述待测系统同时发送所述测试请求的数量;
第一记录子模块,用于记录发送所述测试请求的时刻;
接收子模块,用于接收所述待测系统反馈的目标测试结果;
第二记录子模块,用于记录接收所述目标测试结果的时刻;
判断子模块,用于判断第一次发送所述测试请求的时刻距离当前时刻的时间间隔,是否小于所述目标测试所需的测试场景时间;所述测试场景时间表示对所述目标待测SQL片段测试的时长;
第二发送子模块,用于在判断子模块得到第一次发送所述测试请求的时刻距离当前时刻的时间间隔,小于所述目标测试所需的测试场景时间时,向所述待测系统同时发送所述第一预设数量个所述测试请求;并返回执行所述第一发送子模块的动作。
6.根据权利要求5所述的装置,其特征在于,所述目标测试模块还包括:
执行子模块,用于在判断子模块得到第一次发送所述测试请求的时刻距离当前时刻的时间间隔,不小于所述目标测试所需的测试场景时间时,则确定目标测试结果的性能指标;判断所确定的性能指标是否满足预设目标测试条件。
CN201811465713.XA 2018-12-03 2018-12-03 一种测试方法及装置 Active CN109558326B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811465713.XA CN109558326B (zh) 2018-12-03 2018-12-03 一种测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811465713.XA CN109558326B (zh) 2018-12-03 2018-12-03 一种测试方法及装置

Publications (2)

Publication Number Publication Date
CN109558326A CN109558326A (zh) 2019-04-02
CN109558326B true CN109558326B (zh) 2022-04-26

Family

ID=65868534

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811465713.XA Active CN109558326B (zh) 2018-12-03 2018-12-03 一种测试方法及装置

Country Status (1)

Country Link
CN (1) CN109558326B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103810196A (zh) * 2012-11-09 2014-05-21 阿里巴巴集团控股有限公司 基于业务模型进行数据库性能测试的方法
CN107273293A (zh) * 2017-06-16 2017-10-20 北京小度信息科技有限公司 大数据系统性能测试方法、装置及电子设备
CN108182215A (zh) * 2017-12-22 2018-06-19 微梦创科网络科技(中国)有限公司 一种结构化查询语言sql性能统计的方法及装置
CN108874637A (zh) * 2017-05-09 2018-11-23 北京京东尚科信息技术有限公司 一种压力测试的方法、系统、电子设备和可读存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103810196A (zh) * 2012-11-09 2014-05-21 阿里巴巴集团控股有限公司 基于业务模型进行数据库性能测试的方法
CN108874637A (zh) * 2017-05-09 2018-11-23 北京京东尚科信息技术有限公司 一种压力测试的方法、系统、电子设备和可读存储介质
CN107273293A (zh) * 2017-06-16 2017-10-20 北京小度信息科技有限公司 大数据系统性能测试方法、装置及电子设备
CN108182215A (zh) * 2017-12-22 2018-06-19 微梦创科网络科技(中国)有限公司 一种结构化查询语言sql性能统计的方法及装置

Also Published As

Publication number Publication date
CN109558326A (zh) 2019-04-02

Similar Documents

Publication Publication Date Title
CN111177005B (zh) 业务应用的测试方法、装置、服务器和存储介质
CN106936441B (zh) 一种数据压缩方法和装置
CN110716783A (zh) 一种前端页面生成、部署方法及装置、存储介质和设备
CN110196927B (zh) 一种多轮人机对话方法、装置及设备
CN111176996A (zh) 测试用例生成方法、装置、计算机设备及存储介质
CN107679214B (zh) 链接定位方法、装置、终端与计算机可读存储介质
WO2019019645A1 (zh) 信息推送任务执行方法、装置、计算机设备和存储介质
CN109885496B (zh) 测试日志管理方法及系统
CN110750433A (zh) 接口测试方法和装置
WO2020006929A1 (zh) 数据校验方法、装置及计算机存储介质
CN110569036A (zh) 一种前后端分离架构下的数据校验系统及其方法
US20170277622A1 (en) Web Page Automated Testing Method and Apparatus
CN106713011B (zh) 一种获取测试数据的方法与系统
CN111427784A (zh) 一种数据获取方法、装置、设备及存储介质
CN109446445B (zh) 一种资源获取方法及装置
CN111666201A (zh) 回归测试方法、装置、介质及电子设备
CN109558326B (zh) 一种测试方法及装置
CN109214189B (zh) 识别程序漏洞的方法、装置、存储介质和电子设备
CN111475388A (zh) 数据推送的测试方法、装置、计算机设备及存储介质
KR102023999B1 (ko) 웹 페이지를 생성하는 방법 및 장치
CN111338928A (zh) 基于chrome浏览器测试的方法及装置
CN109086145B (zh) 数据生成方法、装置及计算机存储介质
CN107169133B (zh) 一种快照抓取方法、装置、服务器及系统
CN109982143B (zh) 一种确定视频播放时延的方法、装置、介质及设备
CN112597036A (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