CN114860617B - 一种智能压力测试方法及系统 - Google Patents

一种智能压力测试方法及系统 Download PDF

Info

Publication number
CN114860617B
CN114860617B CN202210785050.XA CN202210785050A CN114860617B CN 114860617 B CN114860617 B CN 114860617B CN 202210785050 A CN202210785050 A CN 202210785050A CN 114860617 B CN114860617 B CN 114860617B
Authority
CN
China
Prior art keywords
data
test
target
tested
determining
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
CN202210785050.XA
Other languages
English (en)
Other versions
CN114860617A (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.)
Shanghai Jinshida Software Technology Co ltd
Original Assignee
Shanghai Kingstar Fintech 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 Shanghai Kingstar Fintech Co Ltd filed Critical Shanghai Kingstar Fintech Co Ltd
Priority to CN202210785050.XA priority Critical patent/CN114860617B/zh
Publication of CN114860617A publication Critical patent/CN114860617A/zh
Application granted granted Critical
Publication of CN114860617B publication Critical patent/CN114860617B/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
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Testing Or Calibration Of Command Recording Devices (AREA)

Abstract

本发明提供了一种智能压力测试方法及系统,属于软件测试技术领域。其中,所述方法包括:基于被测对象生成测试数据及测试脚本;根据所述测试数据、所述测试脚本对所述被测对象进行压力测试;获取压力测试过程中的指标数据,根据所述指标数据生成测试报告;本发明的方案能够自动生成压测数据、测试脚本,无需测试人员手动编写、修改测试代码,极大的降低了测试人员的工作强度,提高了压力测试的工作效率。

Description

一种智能压力测试方法及系统
技术领域
本发明涉及软件测试技术领域,具体而言,涉及一种智能压力测试方法及系统。
背景技术
压力测试在软件产品开发和改进过程中起着举足轻重的作用,压力测试质量的好坏直接影响着软件产品在市场上的认可度。然而,现有技术中对软件进行压力测试时主要是通过手动编写、修改代码来确定压测程序,而测试对象即软件的种类是多种多样的,这种测试方式耗时耗力,测试效率极低,无法满足用户需求。
发明内容
为了解决上述背景技术中存在的技术问题,本发明提供了一种智能压力测试方法及系统,以提升压力测试的效率。
本发明的第一方面提供了一种智能压力测试方法,包括如下方法步骤:
基于被测对象生成测试数据及测试脚本;
根据所述测试数据、所述测试脚本对所述被测对象进行压力测试;
获取压力测试过程中的指标数据,根据所述指标数据生成测试报告。
优选地,所述基于被测对象生成测试数据及测试脚本,包括:
对所述被测对象进行扫描以确定第一对象数据,所述第一对象数据包括属性数据、功能数据、接口数据;
根据所述第一对象数据获取目标大数据,根据所述目标大数据生成所述测试数据;其中,所述目标大数据为与所述被测对象对应的同类对象的运行数据;
根据所述第一对象数据对基础脚本进行自动编译,以生成所述测试脚本。
优选地,所述根据所述第一对象数据获取目标大数据,包括:
根据所述第一对象数据确定目标对象,调取所述目标对象的预定周期内的运营数据;其中,所述目标对象即为所述同类对象;
根据所述接口数据对所述运营数据进行筛选提取,以得出所述目标大数据。
优选地,所述根据所述第一对象数据确定目标对象,包括:
获取与所述第一对象数据对应的各候选对象的第二对象数据;
根据所述第一对象数据和所述第二对象数据计算所述被测对象与各候选对象的相似度,将所述相似度大于或等于阈值的所述候选对象作为所述目标对象。
优选地,所述方法还包括:
根据所述功能数据和所述接口数据确定功能序列数据;
则所述根据所述目标大数据生成所述测试数据,包括:根据所述功能序列数据将所述目标大数据划分为若干数据子集,即为所述测试数据;其中,各所述数据子集与所述功能序列数据一一对应;
以及,所述根据所述测试数据、所述测试脚本对所述被测对象进行压力测试,包括:根据所述功能序列数据确定各所述数据子集的测试序号,根据所述测试序号选用对应的所述数据子集对所述被测对象进行压力测试。
优选地,所述方法还包括:
根据所述功能序列数据确定功能模块的数量,根据所述功能模块的数量确定所述预定周期的长度;
其中,所述预定周期的长度与所述功能模块的数量呈正相关关系。
优选地,在所述对所述被测对象进行压力测试之前,还包括:
使用测试数据对所述被测对象的各输入接口进行伪测试,监测各输出接口的输出数据;
将所述测试数据、所述输出数据输入深度识别模型,根据所述深度识别模型的输出结果对各所述数据子集进行修正。
优选地,所述输出结果为各功能模块的关联度;
则所述根据所述深度识别模型的输出结果对各所述数据子集进行修正,包括:
确定与所述功能模块对应的所述数据子集,根据所述数据子集生成预定数量的随机数据,将所述随机数据补入所述数据子集;
其中,所述预定数量与所述关联度呈正相关。
本发明的第二方面提供了一种智能压力测试系统,所述系统包括处理模块、存储模块和获取模块,所述处理模块分别与所述存储模块、所述获取模块连接;其中,
所述存储模块上存储有计算机程序;
所述获取模块,用于获取压力测试相关数据并发送各所述处理模块;
所述处理模块用于调用所述计算机程序以实现如上任一项所述的方法。
本发明的第三方面提供了一种计算机存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上任一项所述的方法。
本发明的第四方面提供了一种电子设备,该电子设备包括处理器和存储器,所述存储器上存储有计算机程序,该计算机程序被处理器运行时执行如上任一项所述的方法。
本发明的技术方案中,:基于被测对象生成测试数据及测试脚本;根据所述测试数据、所述测试脚本对所述被测对象进行压力测试;获取压力测试过程中的指标数据,根据所述指标数据生成测试报告。本发明的方案能够自动生成压测数据、测试脚本,无需测试人员手动编写、修改测试代码,极大的降低了测试人员的工作强度,提高了压力测试的工作效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明实施例公开的一种智能压力测试方法的流程示意图。
图2是本发明实施例公开的一种智能压力测试系统的结构示意图。
图3是本发明实施例公开一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
实施例一
请参阅图1,图1是本发明实施例公开的一种智能压力测试方法的流程示意图。如图1所示,本发明实施例的一种智能压力测试方法,包括如下方法步骤:
基于被测对象生成测试数据及测试脚本;
根据所述测试数据、所述测试脚本对所述被测对象进行压力测试;
获取压力测试过程中的指标数据,根据所述指标数据生成测试报告。
在本发明实施例中,如背景技术所述,传统的软件压力测试方法都需要测试人员针对被测软件的属性特点针对性的编写测试代码,在测试不同的软件时则需要重新编写新的测试代码,即便是同类软件,其测试目标也不尽相同,此时至少需要对原测试代码进行修改,这种方式显而易见的需要耗费大量的人力物力。有鉴于此,本发明提供了一种智能的、自动的压力测试方案,即通过分析被测对象的信息自动生成测试数据及对应的测试脚本,据此执行针对被测对象的压力测试,再通过获取测试过程中监测到的指标数据就可以生成测试报告。于是,本发明的方案能够自动生成压测数据、测试脚本,无需测试人员手动编写、修改测试代码,极大的降低了测试人员的工作强度,提高了压力测试的工作效率。
其中,指标数据可通过压测平台的监控功能或线上已有的性能监控工具(如APM、ZABBIX)对系统性能表现及资源使用情况进行监控分析,依托于完善的告警机制,快速定位性能瓶颈。
需要进行说明的是,本发明涉及的被测对象可以是各类软件,例如操作系统软件、程序设计软件、应用软件等,但并不局限于此,还可以包括各类插件(Plug-in,又称addin、add-in、addon或add-on)。
优选地,所述基于被测对象生成测试数据及测试脚本,包括:
对所述被测对象进行扫描以确定第一对象数据,所述第一对象数据包括属性数据、功能数据、接口数据;
根据所述第一对象数据获取目标大数据,根据所述目标大数据生成所述测试数据;其中,所述目标大数据为与所述被测对象对应的同类对象的运行数据;
根据所述第一对象数据对基础脚本进行自动编译,以生成所述测试脚本。
在本发明实施例中,将编写完成的被测对象置于压测系统中,压测系统对其进行扫描分析,进而可以确定出与其相关的属性数据、功能数据、接口数据等对象数据,然后再以上述对象数据为索引调出可用于测试的目标大数据,其中,所述目标大数据为与所述被测对象对应的同类对象的运行数据,而调出的目标大数据可以为历史测试记录中的相关记录数据,也可以为正式上线软件在实际运行过程中监测得到的访问数据、响应数据、指标数据等;同时,本发明还设置了作为测试框架的基础脚本,其包含了测试的基础框架及逻辑,但其中关于个性化的测试对象的部分(包括测试的输入接口、监测的输出接口、测试数据类型及数据量曲线等)为置空,基于前述确定的第一对象数据就可以通过自动编码技术将基础脚本中的置空补充完整,进而形成了针对所述被测对象的完整的测试脚本。
其中,属性数据可以包括软件的所属类别(游戏、通讯、办公、购物等)、开发者、发布时间等;功能数据可以为对应软件的功能介绍内容,为了便于软件推广,软件开发商会与软件绑定介绍文本,例如应用商城上对应显示的介绍用的“应用说明”,通过对该介绍文本进行语义识别即可获得功能数据;接口数据可以包括编写完成的软件中所包括的各种输入/输出接口,这些接口可以通过编写时预留的识别标识符或者基于与编写环境对应的接口命名规则等进行准确识别。
优选地,所述根据所述第一对象数据获取目标大数据,包括:
根据所述第一对象数据确定目标对象,调取所述目标对象的预定周期内的运营数据;其中,所述目标对象即为所述同类对象;
根据所述接口数据对所述运营数据进行筛选提取,以得出所述目标大数据。
在本发明实施例中,在获取到被测对象的对象数据之后,就可以分析出被测对象的基本信息,据此可以筛选出同类软件,例如已经上线运行的同类软件或者历史记录中被测试过的同类软件,进而可以调取其在一定周期内实际的运营数据,包括各功能模块的累计访问量、峰值访问量、文件传输量等;接着,再将目标对象中与被测对象类似的功能模块/接口对应的运营数据筛选出来,即可得出测试用的目标大数据。可见,本发明的方案能够通过对被测对象自动扫描分析得出其特征数据,据此筛选出类似软件及对应的运行数据,最终利用这些数据来测试被测对象,整个测试过程无需用户过多参与,极大地提高了测试效率。其中,目标大数据可以以dat、csv、json等格式进行存储。
需要进行说明的是,测试用的目标大数据应当进行相应的预处理操作,例如,数据脱敏操作,即取出数据中的敏感信息,例如去除用户的身份证号、手机号、卡号、客户号等真实的敏感信息;以及,在对数据进行脱敏操作之前,还可以先对数据进行预处理,包括清除脏数据及重复数据、补全缺失数据等。
优选地,所述根据所述第一对象数据确定目标对象,包括:
获取与所述第一对象数据对应的各候选对象的第二对象数据;
根据所述第一对象数据和所述第二对象数据计算所述被测对象与各所述候选对象的相似度,将所述相似度大于或等于阈值的所述候选对象作为所述目标对象。
在本发明实施例中,基于对象数据中的多个因素指标来计算被测对象和候选对象之间的相似度,将相似度高的候选对象作为目标对象。如此,本发明可以有效解决人工筛选目标对象时的繁琐,而且筛选出的目标对象更为准确,相应地,获取的压力测试数据也就更有代表性,压力测试的结果也就更准确。
优选地,所述相似度通过下述公式(1)得出:
Figure DEST_PATH_IMAGE002
(1)
式中,
Figure DEST_PATH_IMAGE004
表示被测对象与第i个候选对象的相似度;
Figure DEST_PATH_IMAGE006
表示相似度计算函数;
Figure DEST_PATH_IMAGE008
Figure DEST_PATH_IMAGE010
Figure DEST_PATH_IMAGE012
为权重系数;s表示被测对象的第一对象数据的特征矩阵,
Figure DEST_PATH_IMAGE014
Figure DEST_PATH_IMAGE016
表示候选对象的第二对象数据的特征矩阵,
Figure DEST_PATH_IMAGE018
,其中,
Figure DEST_PATH_IMAGE020
Figure DEST_PATH_IMAGE022
Figure DEST_PATH_IMAGE024
Figure DEST_PATH_IMAGE026
Figure DEST_PATH_IMAGE028
Figure DEST_PATH_IMAGE030
分别表示属性数据、功能数据、接口数据的特征矩阵;
以及,
Figure DEST_PATH_IMAGE032
(2)
式中,
Figure DEST_PATH_IMAGE034
为调节系数,
Figure DEST_PATH_IMAGE036
表示两个特征矩阵
Figure DEST_PATH_IMAGE038
Figure DEST_PATH_IMAGE040
之间的距离。
在本发明实施例中,本发明采用语义分析的思路来计算被测对象和候选对象之间的相似度,即将被测对象和候选对象的对象数据的特征矩阵分为整体和局部,基于整体和局部的特征数据分别计算相似度,然后再进行加权整合以最终得出二者之间的相似度。具体来说,以被测对象为例,将其特征矩阵分为
Figure 396267DEST_PATH_IMAGE020
Figure 719932DEST_PATH_IMAGE024
Figure 30828DEST_PATH_IMAGE028
Figure DEST_PATH_IMAGE042
Figure DEST_PATH_IMAGE044
Figure DEST_PATH_IMAGE046
Figure DEST_PATH_IMAGE048
这样低、中、高三级,候选对象的特征矩阵同样划分,然后基于上述公式(2)分别计算被测对象和候选对象的相似度,再通过权重系数
Figure 439419DEST_PATH_IMAGE008
Figure 784950DEST_PATH_IMAGE010
Figure 13937DEST_PATH_IMAGE012
将各相似度进行整合以得出二者之间的相似度。
需要进行说明的是,权重系数
Figure 812129DEST_PATH_IMAGE008
Figure 417553DEST_PATH_IMAGE010
Figure 617591DEST_PATH_IMAGE012
依次增大,即
Figure 17479DEST_PATH_IMAGE008
<
Figure 302967DEST_PATH_IMAGE010
<
Figure 446503DEST_PATH_IMAGE012
,而对于权重系数的具体数值设定,本发明不作限定。另外,公式(2)中的特征距离计算函数
Figure 501047DEST_PATH_IMAGE036
可以自由设置,例如可以采用欧氏距离(Euclidean Distance)、马哈拉诺比斯距离(MahalanobisDistance)、曼哈顿距离(Manhattan Distance)、切比雪夫距离(Chebyshev Distance)、明可斯基距离(Minkowski Distance)、海明距离(Hamming Distance)等,本发明对此不作具体限定。
优选地,所述方法还包括:
根据所述功能数据和所述接口数据确定功能序列数据;
则所述根据所述目标大数据生成所述测试数据,包括:根据所述功能序列数据将所述目标大数据划分为若干数据子集,即为所述测试数据;其中,各所述数据子集与所述功能序列数据一一对应;
以及,所述根据所述测试数据、所述测试脚本对所述被测对象进行压力测试,包括:根据所述功能序列数据确定各所述数据子集的测试序号,根据所述测试序号选用对应的所述数据子集对所述被测对象进行压力测试。
在本发明实施例中,软件的各功能是随着版本的更迭而逐步增加的,在增加新功能之后,用户的访问热情(例如访问速率数据、访问峰值数据)也会对应增加,但是访问热情的增加程度并非线性的,而是以此次功能增加之前的访问热情数据为基础的。例如,增加新功能之前的用户访问数据越高,则说明该软件的用户基础(用户量、用户黏度等)越好,于是本次新增了功能所带来的访问热情的增加程度是会高于前次功能增加时的增加程度的。针对该实际情况,本发明对目标对象的目标大数据进行了拆分排序,具体来说,基于获取到的功能数据和接口数据分析出各功能模块增加的时间节点,从而确定出功能序列数据,相应地,依据功能序列数据将目标大数据划分为若干数据子集,这些数据子集中的运营数据反映了随着功能的逐步增加而监测到的实际运营数据,更能够反映软件在运营过程中所遇到的真实情况,基于此对被测对象进行逐步测试。于是,相比于现有技术中采用固定数据集进行测试的方式,本发明的测试方式更加贴近真实情况,测试报告的可信度及参考价值更高。
其中,在进行压力测试时还应当设置各项压测指标,例如,压测场景、压测时间、压测速率曲线等,本发明对此不作限定。
优选地,所述方法还包括:
根据所述功能序列数据确定功能模块的数量,根据所述功能模块的数量确定所述预定周期的长度;
其中,所述预定周期的长度与所述功能模块的数量呈正相关关系。
在本发明实施例中,在被测对象的功能越多时,就应该获取目标对象更长时间跨度的运营数据,以使获得的运营数据尽可能包含被测对象的所有功能,有利于保障压力测试的准确性。针对于此,本发明设置预定周期的长度与所述功能模块的数量呈正相关关系,动态调整第二对象数据的时间跨度及数据量,使得压力测试在准确性和效率之间达到平衡。
优选地,在所述对所述被测对象进行压力测试之前,还包括:
使用测试数据对所述被测对象的各输入接口进行伪测试,监测各输出接口的输出数据;
将所述测试数据、所述输出数据输入深度识别模型,根据所述深度识别模型的输出结果对各所述数据子集进行修正。
在本发明实施例中,对于两款软件来说,虽然具有相同或类似的功能模块,但各功能模块之间也有关联,即功能模块一的输入输出会对功能模块二产生影响或依赖于功能模块二,但是从目标对象那里获得的目标大数据却并不包括目标对象各功能模块之间的详细关联关系。针对该问题,本发明通过识别算法梳理出被测对象的功能模块及对应的输入接口、输出接口,使用测试数据依次对被测对象的各输入接口进行伪测试,同时监测哪些输出接口有响应数据,其中,伪测试过程既包括单输入、多输出监测,也包括多输入、多输出监测;然后将测试数据(包括输入接口序号、输入数据量及数据类型等)、输出数据(包括输出接口序号、输出数据量及数据类型等)输入经过训练的深度识别模型,深度识别模型就可以将各输入接口与各输出接口之间建立较为可靠的关联关系,当建立了关联关系的输入接口和输出接口跨越的功能模块越多时,说明对应的主功能模块(即输入接口对应的功能模块)与其它功能模块的关联度越高,反之则越低。据此就可以根据深度识别模型的输出结果对各数据子集进行修正。
需要进行说明的是,本发明中的深度识别模型可以采用神经网络算法搭建,例如,卷积神经网络(Convolutional Neural Networks,CNN)前馈神经网络(Feed Forward,FF)、深度前馈神经网络(Deep Feed-forward,DFF) 、径向基神经网络(Radial BasisNetwork,RBN) 、循环神经网络(Recurrent Neural Network,RNN)等,本发明对此不作限定,而对于具体的搭建方法,由于属于成熟的现有技术,本发明对此不再赘述。
优选地,所述输出结果为各功能模块的关联度;
则所述根据所述深度识别模型的输出结果对各所述数据子集进行修正,包括:
确定与所述功能模块对应的所述数据子集,根据所述数据子集生成预定数量的随机数据,将所述随机数据补入所述数据子集;
其中,所述预定数量与所述关联度呈正相关。
在本发明实施例中,深度识别模型的输出结果为对应功能模块与其它功能模块的关联度,与此同时,本发明对各功能模块对应的数据子集进行修正,具体来说,先根据关联度正相关确定出预定数量,再基于数据子集生成预定数量的随机数据,并将其补入数据子集。于是,数据子集的数据量增加就会增加压力测试的强度,如此,更能反映软件测试结果的可靠性,给软件开发人员以更有益的指导。
其中,随机数据可以为将数据子集中的数据打乱后重组,然后从中随机挑选预定数量的数据作为随机数据,随机数据的加入可以使得压力测试具有更优良的多样性,测试结果更有实际意义。
作为本实施例方案的一种改进,深度识别模型在训练过程中采用如下的损失函数:
Figure DEST_PATH_IMAGE050
(3)
式中,
Figure DEST_PATH_IMAGE052
表示损失函数,
Figure DEST_PATH_IMAGE054
表示可学习的权重,
Figure DEST_PATH_IMAGE056
表示具有关联关系的输入接口与输出接口组成的数据对
Figure DEST_PATH_IMAGE058
的数量;
Figure DEST_PATH_IMAGE060
表示经过公式(4)更新后的学习参数;
Figure DEST_PATH_IMAGE062
(4)
式中,
Figure DEST_PATH_IMAGE064
表示初始损失函数,
Figure DEST_PATH_IMAGE066
表示学习参数,b使用
Figure DEST_PATH_IMAGE068
计算损失函数时输入的数据对
Figure DEST_PATH_IMAGE070
的数量。
在该改进实施例中,对深度识别模型进行训练时,采用了两步法,即先使用小批量数据来训练深度识别模型,从而得出更新后的学习参数
Figure 220305DEST_PATH_IMAGE060
,然后再使用完整数据对深度识别模型进行测试,此时将损失函数更新为公式(3),其中学习参数由初始的
Figure 196351DEST_PATH_IMAGE066
变为
Figure 2633DEST_PATH_IMAGE060
。采用本发明的训练方法,可以使得深度识别模型的训练效果更佳,避免陷入局部最优。另外,在训练过程中或者训练完成后,还可以使用干扰数据对深度识别模型进行测试,以检验其训练结果,如果训练结果不佳,则可继续通过公式(4)来获得新的学习参数
Figure 52629DEST_PATH_IMAGE060
,再将
Figure 918954DEST_PATH_IMAGE060
带入公式(3)以继续或重新训练。
实施例二
请参阅图2,图2是本发明实施例公开的一种智能压力测试系统的结构示意图。如图2所示,本发明实施例的一种智能压力测试系统100,所述系统包括处理模块101、存储模块102和获取模块103,所述处理模块101分别与所述存储模块102、所述获取模块103连接;其中,
所述存储模块102上存储有计算机程序;
所述获取模块103,用于获取压力测试相关数据并发送各所述处理模块101;
所述处理模块101用于调用所述计算机程序以实现如实施例一所述的方法。
该实施例中的一种智能压力测试系统的具体功能参照上述实施例一,由于本实施例中的系统采用了上述实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
实施例三
请参阅图3,图3是本发明实施例公开的一种电子设备,所述设备包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行如实施例一所述的方法。
实施例四
本发明实施例还公开了一种计算机存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如实施例一所述的方法。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (7)

1.一种智能压力测试方法,其特征在于,包括如下方法步骤:
基于被测对象生成测试数据及测试脚本;
根据所述测试数据、所述测试脚本对所述被测对象进行压力测试;
获取压力测试过程中的指标数据,根据所述指标数据生成测试报告;
所述基于被测对象生成测试数据及测试脚本,包括:
对所述被测对象进行扫描以确定第一对象数据,所述第一对象数据包括属性数据、功能数据、接口数据;
根据所述第一对象数据获取目标大数据,根据所述目标大数据生成所述测试数据;其中,所述目标大数据为与所述被测对象对应的同类对象的运行数据;
根据所述第一对象数据对基础脚本进行自动编译,以生成所述测试脚本;所述根据所述第一对象数据获取目标大数据,包括:
根据所述第一对象数据确定目标对象,调取所述目标对象的预定周期内的运营数据;其中,所述目标对象即为所述同类对象;
根据所述接口数据对所述运营数据进行筛选提取,以得出所述目标大数据;
所述根据所述第一对象数据确定目标对象,包括:
获取与所述第一对象数据对应的各候选对象的第二对象数据;
根据所述第一对象数据和所述第二对象数据计算所述被测对象与各候选对象的相似度,将所述相似度大于或等于阈值的所述候选对象作为所述目标对象;
所述方法还包括:
根据所述功能数据和所述接口数据确定功能序列数据;
则所述根据所述目标大数据生成所述测试数据,包括:根据所述功能序列数据将所述目标大数据划分为若干数据子集,即为所述测试数据;其中,各所述数据子集与所述功能序列数据一一对应;
以及,所述根据所述测试数据、所述测试脚本对所述被测对象进行压力测试,包括:根据所述功能序列数据确定各所述数据子集的测试序号,根据所述测试序号选用对应的所述数据子集对所述被测对象进行压力测试。
2.根据权利要求1所述的一种智能压力测试方法,其特征在于:所述方法还包括:
根据所述功能序列数据确定功能模块的数量,根据所述功能模块的数量确定所述预定周期的长度;
其中,所述预定周期的长度与所述功能模块的数量呈正相关关系。
3.根据权利要求2所述的一种智能压力测试方法,其特征在于:在所述对所述被测对象进行压力测试之前,还包括:
使用测试数据对所述被测对象的各输入接口进行伪测试,监测各输出接口的输出数据;
将所述测试数据、所述输出数据输入深度识别模型,根据所述深度识别模型的输出结果对各所述数据子集进行修正。
4.根据权利要求3所述的一种智能压力测试方法,其特征在于:所述输出结果为各功能模块的关联度;
则所述根据所述深度识别模型的输出结果对各所述数据子集进行修正,包括:
确定与所述功能模块对应的所述数据子集,根据所述数据子集生成预定数量的随机数据,将所述随机数据补入所述数据子集;
其中,所述预定数量与所述关联度呈正相关。
5.一种智能压力测试系统,所述系统包括处理模块、存储模块和获取模块,所述处理模块分别与所述存储模块、所述获取模块连接;其中,
所述存储模块上存储有计算机程序;
所述获取模块,用于获取压力测试相关数据并发送各所述处理模块;
其特征在于:所述处理模块用于调用所述计算机程序以实现如权利要求1-4任一项所述的方法。
6.一种计算机存储介质,该存储介质上存储有计算机程序,其特征在于:该计算机程序被处理器运行时执行如权利要求1-4任一项所述的方法。
7.一种电子设备,该电子设备包括处理器和存储器,所述存储器上存储有计算机程序,其特征在于:该计算机程序被处理器运行时执行如权利要求1-4任一项所述的方法。
CN202210785050.XA 2022-07-06 2022-07-06 一种智能压力测试方法及系统 Active CN114860617B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210785050.XA CN114860617B (zh) 2022-07-06 2022-07-06 一种智能压力测试方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210785050.XA CN114860617B (zh) 2022-07-06 2022-07-06 一种智能压力测试方法及系统

Publications (2)

Publication Number Publication Date
CN114860617A CN114860617A (zh) 2022-08-05
CN114860617B true CN114860617B (zh) 2022-09-30

Family

ID=82625907

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210785050.XA Active CN114860617B (zh) 2022-07-06 2022-07-06 一种智能压力测试方法及系统

Country Status (1)

Country Link
CN (1) CN114860617B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116185815B (zh) * 2022-11-17 2023-12-08 北京东方通科技股份有限公司 一种软件性能测试模拟方法及系统

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200521833A (en) * 2003-12-19 2005-07-01 Inventec Corp System and method for automatic test script generation based on hardware level
CN104581806A (zh) * 2014-12-19 2015-04-29 联动优势电子商务有限公司 一种监测业务系统的方法及终端
CN106815147A (zh) * 2016-12-29 2017-06-09 东软集团股份有限公司 一种测试脚本生成方法及装置
CN108763043A (zh) * 2018-05-28 2018-11-06 郑州云海信息技术有限公司 一种存储设备中压力测试数据的获取方法、装置及系统
CN110287098A (zh) * 2019-05-21 2019-09-27 深圳壹账通智能科技有限公司 自动创建测试脚本方法、服务器及计算机可读存储介质
CN110471857A (zh) * 2019-08-22 2019-11-19 中国工商银行股份有限公司 人工智能模型性能容量的自动测试方法及装置
US10496532B1 (en) * 2019-08-14 2019-12-03 Capital One Services, Llc Automatically reconfiguring a performance test environment
CN110858172A (zh) * 2018-08-23 2020-03-03 北京京东尚科信息技术有限公司 一种自动化测试代码生成方法和装置
CN111459795A (zh) * 2020-02-27 2020-07-28 平安科技(深圳)有限公司 集群的压力测试方法及装置、计算机设备、存储介质
CN112035357A (zh) * 2020-08-31 2020-12-04 平安医疗健康管理股份有限公司 智能测试方法、装置、设备及存储介质
CN114238123A (zh) * 2021-12-20 2022-03-25 赛尔网络有限公司 压力测试脚本生成方法、装置、设备及介质
CN114398282A (zh) * 2022-01-18 2022-04-26 平安国际智慧城市科技股份有限公司 测试脚本的生成方法、装置、设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210117313A1 (en) * 2019-10-16 2021-04-22 Minnim Software Language agnostic automation scripting tool
CN112579446A (zh) * 2020-12-10 2021-03-30 北京软通智慧城市科技有限公司 一种接口测试方法、装置、电子设备和存储介质
CN112631884A (zh) * 2020-12-18 2021-04-09 平安普惠企业管理有限公司 基于数据同步的压测方法、装置、计算机设备及存储介质
CN114691506A (zh) * 2022-03-30 2022-07-01 中国工商银行股份有限公司 压力测试方法、装置、设备、介质和程序产品

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200521833A (en) * 2003-12-19 2005-07-01 Inventec Corp System and method for automatic test script generation based on hardware level
CN104581806A (zh) * 2014-12-19 2015-04-29 联动优势电子商务有限公司 一种监测业务系统的方法及终端
CN106815147A (zh) * 2016-12-29 2017-06-09 东软集团股份有限公司 一种测试脚本生成方法及装置
CN108763043A (zh) * 2018-05-28 2018-11-06 郑州云海信息技术有限公司 一种存储设备中压力测试数据的获取方法、装置及系统
CN110858172A (zh) * 2018-08-23 2020-03-03 北京京东尚科信息技术有限公司 一种自动化测试代码生成方法和装置
CN110287098A (zh) * 2019-05-21 2019-09-27 深圳壹账通智能科技有限公司 自动创建测试脚本方法、服务器及计算机可读存储介质
US10496532B1 (en) * 2019-08-14 2019-12-03 Capital One Services, Llc Automatically reconfiguring a performance test environment
CN110471857A (zh) * 2019-08-22 2019-11-19 中国工商银行股份有限公司 人工智能模型性能容量的自动测试方法及装置
CN111459795A (zh) * 2020-02-27 2020-07-28 平安科技(深圳)有限公司 集群的压力测试方法及装置、计算机设备、存储介质
CN112035357A (zh) * 2020-08-31 2020-12-04 平安医疗健康管理股份有限公司 智能测试方法、装置、设备及存储介质
CN114238123A (zh) * 2021-12-20 2022-03-25 赛尔网络有限公司 压力测试脚本生成方法、装置、设备及介质
CN114398282A (zh) * 2022-01-18 2022-04-26 平安国际智慧城市科技股份有限公司 测试脚本的生成方法、装置、设备及存储介质

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
《Design and Implementation of Mobile Application Performance Test Scheme Based on LoadRunner》;Xiaojuan Guan et al.;《2019 IEEE 9th International Conference on Electronics Information and Emergency Communication (ICEIEC)》;20190805;全文 *
《自动化测试脚本自动生成技术的研究》;蒋云 等;《计算机技术与发展》;20070731;全文 *
电子电器产品嵌入式软件单元测试技术研究;汪萍萍等;《工业控制计算机》;20130925(第09期);全文 *
软件测试方法及面向对象软件的测试;董洁等;《河南科技》;20110915(第17期);全文 *
面向行业应用的自动化测试运行控制方法研究;张少博等;《电子测试》;20071205(第12期);全文 *

Also Published As

Publication number Publication date
CN114860617A (zh) 2022-08-05

Similar Documents

Publication Publication Date Title
CN109408389B (zh) 一种基于深度学习的代码缺陷检测方法及装置
TWI698808B (zh) 模型測試的方法及裝置
CN111162934B (zh) 业务服务的测试方法和装置、存储介质、电子装置
US20100004898A1 (en) Method and system for pre-processing data using the Mahalanobis Distance (MD)
CN114860617B (zh) 一种智能压力测试方法及系统
CN111310918B (zh) 一种数据处理方法、装置、计算机设备及存储介质
CN111124898B (zh) 问答系统测试方法、装置、计算机设备和存储介质
CN114817034A (zh) 一种测试质量的分析方法、装置及电子设备
CN115145817A (zh) 一种软件测试方法、装置、设备及可读存储介质
CN117434429B (zh) 芯片的稳定性测试方法及相关装置
CN115630708A (zh) 一种模型更新方法、装置、电子设备、存储介质及产品
CN113393023B (zh) 模具质量评估方法、装置、设备及存储介质
CN111026661B (zh) 一种软件易用性全面测试方法及系统
CN110177006B (zh) 基于接口预测模型的节点测试方法及装置
CN110135592B (zh) 分类效果确定方法、装置、智能终端及存储介质
CN112906883A (zh) 用于深度神经网络的混合精度量化策略确定方法和系统
CN113742216B (zh) 一种检测机器学习引擎的效率的方法、装置和存储介质
CN115510984B (zh) 支付平台的防侵入方法、系统及云平台
CN114595137B (zh) 一种测试用例获取方法和装置
CN116527411B (zh) 数据安全智能防护模型构建方法、装置及协作平台
CN117555812B (zh) 一种云平台自动化测试方法及系统
CN117350765A (zh) 变量确定方法及装置、存储介质、电子设备
CN113486596A (zh) 一种数据预处理方法、装置、设备及存储介质
CN117371506A (zh) 模型训练、模型测试方法、装置、电子设备及存储介质
CN117435245A (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
CP01 Change in the name or title of a patent holder

Address after: 210 Liangjing Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai, 201203

Patentee after: Shanghai Jinshida Software Technology Co.,Ltd.

Address before: 210 Liangjing Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai, 201203

Patentee before: Shanghai Kingstar Software Technology Co.,Ltd.

CP01 Change in the name or title of a patent holder