CN109753434A - 基于区块链的性能测试方法、装置、电子设备及存储介质 - Google Patents
基于区块链的性能测试方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN109753434A CN109753434A CN201811608977.6A CN201811608977A CN109753434A CN 109753434 A CN109753434 A CN 109753434A CN 201811608977 A CN201811608977 A CN 201811608977A CN 109753434 A CN109753434 A CN 109753434A
- Authority
- CN
- China
- Prior art keywords
- test
- performance
- block chain
- performance test
- assignment data
- 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.)
- Withdrawn
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于区块链的性能测试方法、装置、电子设备及可读存储介质,其中,该方法包括如下步骤:获取性能测试的测试任务数据,测试任务数据包括被测试信息、性能测试工具、性能测试脚本、性能测试要求以及性能测试结果要求;将测试任务数据上传至区块链,以使区块链网络中的性能测试任务执行节点根据测试任务数据执行性能测试。该方法中性能测试任务发布节点先获取性能测试的测试任务数据,并将测试任务数据存储至区块链,使得性能测试任务执行节点从区块链中接收该测试任务数据并执行相应的性能测试,保证了测试任务数据的真实性,使得性能测试任务执行节点根据该测试任务数据进行性能测试更加安全,提高了性能测试的可信性。
Description
技术领域
本发明涉及区块链技术领域,具体涉及一种基于区块链的性能测试方法、装置、电子设备及存储介质。
背景技术
在性能测试中,由于一台设备通常难以模拟用户真实场景的高并发访问,这时需要多台设备一起来进行性能测试。但是远程控制具有局限性,并且操作繁琐,通常是多人协同共同来完成性能测试。多人协作共同完成测试,协作方通常通过第三方平台进行测试数据的传输,第三方平台上的数据易被修改或被盗取,无法保证性能测试的可信性。
发明内容
有鉴于此,本发明实施例提供了一种基于区块链的性能测试方法、装置、电子设备及可读存储介质,以解决现有技术中性能测试可信性无法得到保证的问题。
根据第一方面,本发明实施例提供了一种基于区块链的性能测试方法,包括如下步骤:获取性能测试的测试任务数据,所述测试任务数据包括被测试信息、性能测试工具、性能测试脚本、性能测试要求以及性能测试结果要求;将所述测试任务数据上传至区块链,以使区块链网络中的性能测试任务执行节点根据所述测试任务数据执行性能测试。
可选地,获取性能测试的测试任务数据,包括:获取性能测试的测试需求数据,所述测试需求数据包括测试场景信息、响应性能参数、硬件性能参数以及性能测试工具;根据所述测试需求数据,确定性能测试的初始测试内容;对所述初始测试内容进行调整,得到调整后的测试需求数据;根据所述调整后的测试需求数据确定测试时间及测试场景;根据所述测试时间和测试场景,确定测试计划;将所述测试计划上传至区块链进行存储;根据所述测试计划确定测试任务数据。
可选地,所述测试任务数据是通过智能合约上传至区块链上的。
可选地,将所述测试任务数据上传至区块链的步骤之后,还包括:获取所述性能测试任务执行节点上传的测试结果,所述测试结果是由所述性能测试任务执行节点根据所述测试任务数据执行性能测试后得到的;根据性能测试的影响因素对所述测试结果进行分析,得到测试分析结果;判断所述测试分析结果是否满足测试目标;若所述测试分析结果不满足所述测试目标时,则判定进行性能测试未通过,对性能测试进行系统调优。
可选地,所述测试结果是由所述性能测试任务执行节点根据所述测试任务数据执行性能测试后得到的,包括:所述性能测试任务执行节点从区块链上获取测试任务数据;根据所述测试任务数据确定性能测试所需的测试环境、测试工具和测试脚本;根据所述测试环境、测试工具和测试脚本进行性能测试;当性能测试结束后,获取区块链网络中的测试结果模板,用于编写测试结果;将编写结束的测试结果通过区块链网络发送到所述性能测试任务发布节点。
可选地,根据所述测试环境、测试工具和测试脚本进行性能测试,包括:根据所述测试任务数据搭建测试环境,所述测试环境包括性能测试工具的安装环境和被测试系统环境;在测试环境搭建完成后,安装所述测试任务数据中的性能测试工具;在性能测试工具安装完成后,执行所述测试任务数据中的性能测试脚本。
可选地,所述判断所述测试分析结果是否满足测试目标的步骤之后,还包括:若所述测试分析结果满足所述测试目标时,根据所述测试分析结果得到测试报告。
根据第二方面,本发明实施例提供了一种基于区块链的性能测试装置,包括:第一获取模块,用于获取性能测试的测试任务数据,所述测试任务数据包括被测试信息、性能测试工具、性能测试脚本、性能测试要求以及性能测试结果要求;第一处理模块,用于将所述测试任务数据上传至区块链,以使区块链网络中的性能测试任务执行节点根据所述测试任务数据执行性能测试。
可选地,所述第一获取模块包括:第一获取单元,用于获取性能测试的测试需求数据,所述测试需求数据包括测试场景信息、响应性能参数、硬件性能参数以及性能测试工具;第一处理单元,用于根据所述测试需求数据,确定性能测试的初始测试内容;第二处理单元,用于对所述初始测试内容进行调整,得到调整后的测试需求数据;第三处理单元,用于根据所述调整后的测试需求数据确定测试时间及测试场景;第四处理单元,用于根据所述测试时间和测试场景,确定测试计划;第五处理单元,用于将所述测试计划上传至区块链进行存储;第六处理单元,用于根据所述测试计划确定测试任务数据。
可选地,还包括:第二获取模块,用于获取所述性能测试任务执行节点上传的测试结果,所述测试结果是由所述性能测试任务执行节点根据所述测试任务数据执行性能测试后得到的;第二处理模块,用于根据性能测试的影响因素对所述测试结果进行分析,得到测试分析结果;第一判断模块,用于判断所述测试分析结果是否满足测试目标;第三处理模块,用于若所述测试分析结果不满足所述测试目标时,则判定进行性能测试未通过,对性能测试进行系统调优。
可选地,还包括:第四处理模块,用于若所述测试分析结果满足所述测试目标时,根据所述测试分析结果得到测试报告。
根据第三方面,本发明实施例提供了一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行本发明第一方面中任一所述的基于区块链的性能测试方法。
根据第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行本发明第一方面中任一所述的基于区块链的性能测试方法。
本发明技术方案,具有如下优点:
本发明实施例提供的基于区块链的性能测试方法,包括如下步骤:获取性能测试的测试任务数据,所述测试任务数据包括被测试信息、性能测试工具、性能测试脚本、性能测试要求以及性能测试结果要求;将所述测试任务数据上传至区块链,以使区块链网络中的性能测试任务执行节点根据所述测试任务数据执行性能测试。该方法上述基于区块链的性能测试方法,性能测试任务发布节点先获取性能测试的测试任务数据,之后将测试任务数据存储至区块链,使得区块链中的性能测试任务执行节点便可接收该测试任务数据并根据该测试任务数据执行相应的性能测试,保证了测试任务数据的真实性,使得性能测试任务执行节点根据该测试任务数据进行性能测试更加安全,提高了性能测试的可信性。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中基于区块链的性能测试方法的一个应用场景的示意图;
图2为本发明实施例中基于区块链的性能测试方法的智能合约的一个具体示例的示意图;
图3为本发明实施例中基于区块链的性能测试方法的一个具体示例的流程图;
图4为本发明实施例中基于区块链的性能测试方法的性能测试任务数据的一个具体示例的示意图;
图5为本发明实施例中基于区块链的性能测试方法的多端执行测试任务的一个具体示例的示意图;
图6为本发明实施例中基于区块链的性能测试方法的另一个具体示例的流程图;
图7为本发明实施例中基于区块链的性能测试方法的另一个具体示例的流程图;
图8为本发明实施例中基于区块链的性能测试方法的接收测试任务结果的一个具体示例的示意图;
图9为本发明实施例中基于区块链的性能测试方法的另一个具体示例的流程图;
图10为本发明实施例中基于区块链的性能测试方法的另一个具体示例的流程图;
图11为本发明实施例中基于区块链的性能测试方法的另一个具体示例的流程图;
图12为本发明实施例中基于区块链的性能测试方法的另一个具体示例的流程图;
图13为本发明实施例中基于区块链的性能测试装置的一个具体示例的框图;
图14为本发明实施例中电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
图1是本发明实施例的应用场景示意图,如图1所示,由性能测试任务发布节点和性能测试任务执行节点通过区块链构建一个联盟链,各个节点之间进行的数据信息处理均在该联盟链内进行。性能测试任务发布节点和性能测试任务执行节点通过智能合约在区块链上进行性能测试数据的交互,保证了测试结果的可信性。
智能合约可以理解为是区块链上的一种特别的服务,每个区块链节点上都已安装此智能合约,那么就可以使用合约中事先写好的相关服务。本实施例中,如图2所示,在智能合约中定义了三种服务:第一种是发布功能,用于在区块链上发布信息;第二种是接收功能,用于接收区块链上发布的信息;第三种是反馈功能,主要是针对某条已被发布的信息给予相关反馈。当然,在其它实施例中,智能合约中所包含的服务可根据实际需要合理确定,并不以此为限。
需要说明的是,该联盟链中用户节点的数量是不限的,在本实施例的图1中的节点仅作示意性说明表示,并不以此为限。并且,该联盟链中的用户节点既可以是个人用户,也可以是公司或者机构等,本实施例对此不作任何限制。除了图1所示的几个节点之外,还可以在联盟链内引入其它节点,根据需要合理设置即可。
本实施例提供一种基于区块链的性能测试方法,对软件的性能进行测试,如图3所示,包括步骤S1-S2。
步骤S1:获取性能测试的测试任务数据,测试任务数据包括被测试信息、性能测试工具、性能测试脚本、性能测试要求以及性能测试结果要求。
在一较佳实施例中,如图4所示,被测试信息可包括网站地址、安装包、应用信息等,当然,在其它实施例中,被测试信息还可包括上述所列举中的至少一个,或者除上述所列举之外还可以包括其它信息,本领域技术人员可根据本实施例的描述,合理设置被测试信息所包含的具体内容。
具体地,被测试信息可为本次被测试的测试主体,如果是WEB端,B/S结构的话可以是一个网站的网址,C/S结构的话可以是一个电脑端的安装包;如果是移动端的话可以是一个APP的名称(需要去appstore/安卓各大应用商城自行下载,安卓也可发送安装包进行直接安装);如果是硬件的话,需要将硬件的详细信息说明。被测试信息所包含的具体内容主要依据被测试主体确定。
在一较佳实施例中,如图4所示,性能测试工具包括根据测试分析中选取好测试工具,以及该测试工具的安装包、安装环境、安装手册、操作手册等相关信息;以便测试执行方根据要求进行性能测试。当然,在其它实施例中,性能测试工具还可包括上述所列举中的至少一个,或者除上述所列举之外还可以包括其它信息,本领域技术人员可根据本实施例的描述,合理设置性能测试工具所包含的具体内容。
在一较佳实施例中,如图4所示,性能测试脚本是基于选取好的性能测试工具来编写的,根据需求分析和相关业务场景编写并调试成功的性能测试脚本;当然,在其它实施例中,性能测试脚本还包括其它必须的测试数据,本领域技术人员可根据本实施例的描述,合理设置性能测试脚本所包含的具体内容。
在一较佳实施例中,如图4所示,性能测试要求主要用来对本次性能测试的要求做简要说明,可包括测试步骤、测试时间(可以要求所有测试执行方一起测试;也可以根据具体业务设置部分测试执行方执行某些测试任务,另外的测试执行方执行另一些测试任务,可根据实际测试情况灵活运用)、并发量、运行时间、注意事项、可能发生的问题及处理方式等内容;当然,在其它实施例中,性能测试要求还可包括上述所列举中的至少一个,或者除上述所列举之外还可以包括其它信息,本领域技术人员可根据本实施例的描述,合理设置性能测试要求所包含的具体内容。
在一较佳实施例中,如图4所示,性能测试结果要求是对测试结果的记录作简要要求,可包括测试结果模板等,方便汇总测试结果。
步骤S2:将测试任务数据上传至区块链,以使区块链网络中的性能测试任务执行节点根据测试任务数据执行性能测试。具体地,性能测试任务发布节点根据测试需求数据生成测试任务数据后将测试任务数据存储至区块链,之后,性能测试任务执行节点从区块链中获取测试任务数据,并根据该测试任务数据执行相应的性能测试任务。
在一较佳实施例中,测试任务数据是通过智能合约上传至区块链上的,使得性能测试更加安全、可靠,操作便捷。
需要说明的是,性能测试任务执行节点可以为1个执行节点;也可以是多个任务执行节点,如图5所示;性能测试任务执行节点的个数具体可根据实际测试需要合理确定。
上述基于区块链的性能测试方法,性能测试任务发布节点先获取性能测试的测试任务数据,之后将测试任务数据存储至区块链,使得区块链中的性能测试任务执行节点便可接收该测试任务数据并根据该测试任务数据执行相应的性能测试,保证了测试任务数据的真实性,使得性能测试任务执行节点根据该测试任务数据进行性能测试更加安全,提高了性能测试的可信性。
在一较佳实施例中,如图6所示,步骤S1获取性能测试的测试任务数据具体具体包括步骤S11-S17。
步骤S11:获取性能测试的测试需求数据,其中,测试需求数据包括测试场景信息、响应性能参数、硬件性能参数以及性能测试工具。
在一较佳实施例中,可根据性能测试调研文件得到性能测试的测试需求数据,具体地,先了解性能测试的两个方面,一个是应用的框架,只有了解了框架才能知道用户需要模拟的是哪种请求,例如html请求还是AJAX请求等;另外一个是应用的功能逻辑,有利于分析性能测试场景需求。在此过程通常会生成简单的性能需求调研文件,根据性能需求调研文件便可确定性能测试的测试需求数据。当然,在其它实施例中,还可通过其它方式获取测试需求数据,本实施例对此不作限制,可根据实际情况合理选择不同的获取方式。
在一较佳实施例中,测试需求数据包括测试场景信息、响应性能参数、硬件性能参数以及性能测试工具;当然,在其它实施例中,测试需求还可包括除上述所列举之外的其它信息,本领域技术人员可根据本实施例的描述,合理设置测试需求数据所包含的具体内容。
在一较佳实施例中,测试场景信息可包括性能测试的主要场景,具体可根据软件的主要用途确定,例如一款主要用于购物的软件,其主要业务场景为放入购物车和付钱,则该软件的主要场景为放入购物车和付钱。
在一较佳实施例中,响应性能参数可包括响应时间、吞吐量(tps)和错误率等,其中的吞吐量相较于其它参数更为重要;当然,在其它实施例中,响应性能参数还可包括上述所列举中的至少一个,或者除上述所列举之外还可以包括其它信息,本领域技术人员可根据本实施例的描述,合理设置响应性能参数所包含的具体内容。
在一较佳实施例中,硬件性能参数可包括CPU的利用率、内存的使用率等;当然,在其它实施例中,硬件性能参数还可包括上述所列举中的至少一个,或者除上述所列举之外还可以包括其它信息,本领域技术人员可根据本实施例的描述,合理设置硬件性能参数所包含的具体内容。
在一较佳实施例中,性能测试工具为本次性能测试所使用的测试工具,通常根据业务需要来确定。关于如何选取测试工具可为:一般情况下,性能测试工具根据应用的用户并发量、业务场景复杂程度、测试类型来选取;例如:当用户量并发小,场景逻辑简单,通常选取jmeter来测试;当用户并发量大,并且希望性能测试脚本灵活时,通常选择loadrunner来测试;当测试接口性能时,通常选择jmeter来进行测试。本实施例对性能测试工具的选取仅作示意性表示,本领域技术人员可根据本实施例的描述,合理确定性能测试工具。
步骤S12:根据测试需求数据,确定性能测试的初始测试内容。
步骤S13:对初始测试内容进行调整,得到调整后的测试需求数据。具体地,测试需求数据不是一蹴而就的,是经过多次讨论确定的,最后生成《性能需求文档》,从文档的初稿到最终定稿需要经过多次修改,将初稿、终稿以及修改记录等文件也上传至区块链中的该项目目录下,来保证文档的准确性。
步骤S14:根据调整后的测试需求数据确定测试时间及测试场景。具体地,根据性能需求数据的分析结果,预估测试时间,并将每个场景详细分离出来。
步骤S15:根据测试时间和测试场景,确定测试计划。具体地,性能测试一般没有硬性的上线时间,因为系统调优是个优化的过程,是根据用户量的逐渐增多调整的,最后生成《性能测试计划》文档。
步骤S16:将测试计划上传至区块链进行存储,对测试计划进行存证。具体可为根据测试计划生成性能测试计划文档,将上述性能测试计划文档存储至区块链。
步骤S17:根据测试计划确定测试任务数据,以便性能测试任务执行节点根据该测试任务数据进行性能测试。
在一较佳实施例中,如图7所示,步骤S2将测试任务数据上传至区块链之后,还包括步骤S3-S7。
步骤S3:获取性能测试任务执行节点上传的测试结果,测试结果是由性能测试任务执行节点根据测试任务数据执行性能测试后得到的。具体地,性能测试任务执行节点执行完性能测试后将测试结果上传至区块链,性能测试任务发布节点便可从区块链上获取上述各个执行节点的测试结果。
具体过程如图8所示,区块链上包括多个性能测试执行节点,每一个执行节点在执行完相应的性能测试任务后将测试结果上传至区块链,性能测试任务发布节点便可从区块链上得到性能测试执行节点反馈的测试结果。
步骤S4:根据性能测试的影响因素对测试结果进行分析,得到测试分析结果。具体地,性能测试任务发布节点接收到各个性能测试执行节点上传至区块链的测试结果后,根据性能测试的影响因素对上述测试结果进行汇总分析得到测试分析结果。通过智能合约中的接收功能来收到各个性能测试执行节点的反馈结果,可同时接收,也可分批次来接收。
对于测试结果的分析通常是难点最大的,也是最为重要的。首先查看区块链返回的性能测试结果,通过结果中系统对不同的用户量响应的参数值变化,判断应用瓶颈所在,分析影响性能的因素,这一点可以根据经验和具体数据来判断,通常影响的因素有cpu、内存、数据库、网络带宽、服务器处理机制等等,需要具体分析,分析结果生成《性能测试结果分析》。
步骤S5:判断测试分析结果是否满足测试目标。当测试分析结果不满足测试目标,执行步骤S6;当测试分析结果满足测试目标,执行步骤S7。具体地,分析完测试结果后,通常有以下两种结果,一种是只进行一次性能测试,这样就可以直接编写性能测试报告;另外一种是,拿到测试结果后,测试人员配合开发人员来做系统调优,调优完成后,会继续做性能测试。
步骤S6:若测试分析结果不满足测试目标时,则判定进行性能测试未通过,对性能测试进行系统调优,直至测试满足测试目标为止。这里的调优一般是开发人员、架构师等角色来完成的,测试人员需要辅助,将性能测试过程中遇到的问题和现象与开发沟通,以便调优。
步骤S7:若测试分析结果满足测试目标时,根据测试分析结果得到测试报告。完成测试后,将本次性能测试过程情况编写成《性能测试报告》,其中包括测试思路、工具、性能指标的统计、测试结果的分析等。
在一较佳实施例中,步骤S3中测试结果是由性能测试任务执行节点根据测试任务数据执行性能测试后得到的,如图9所示,具体可通过步骤S31-S35得到。
步骤S31:性能测试任务执行节点从区块链上获取测试任务数据。具体地,执行性能测试的性能测试任务执行节点在区块链上都有自己的节点,这些节点就可作为接收节点,当然这些性能测试任务执行节点可能是利益相关的外部方,这些接收节点通过智能合约中的接收功能接收已被发布的测试任务数据,接收成功后,性能测试任务执行节点下载测试任务数据,之后,便可根据任务要求进行性能测试。
步骤S32:根据测试任务数据确定性能测试所需的测试环境、测试工具和测试脚本。
在一较佳实施例中,根据测试任务信息准备测试环境,测试环境主要包括两个环境,一是性能测试工具的安装环境,上述性能测试工具的安装环境可根据测试任务信息中的性能测试工具的安装环境确定;二是被测试系统的测试环境,上述被测试系统的测试环境可根据测试任务信息中的被测试信息确定。
步骤S33:根据测试环境、测试工具和测试脚本进行性能测试。
在一较佳实施例中,具体可为准备好测试环境后,需要按照测试任务信息中的安装手册来安装性能测试的测试工具;确定上述测试工具安装完成后,打开测试任务信息中的性能测试的测试脚本,添加本地已经准备好的被测试环境的相关信息,并根据测试任务信息来配置相关测试要求,然后启动测试;测试完成后,记录测试结果,并按照测试任务信息中的测试结果模板记录测试结果,形成性能测试结果文档,并将性能测试结果文档存储至区块链中。
在一较佳实施例中,如图10所示,步骤S33具体可包括步骤S331-S333。
步骤S331:根据测试任务数据搭建测试环境,测试环境包括性能测试工具的安装环境和被测试系统环境。测试环境是测试的基础,没有测试环境则无法进行测试。
步骤S332:在测试环境搭建完成后,安装测试任务数据中的性能测试工具。具体地,准备好测试环境后,需要按照测试任务数据中性能测试工具中的安装手册来安装性能测试工具。
步骤S332:在性能测试工具安装完成后,执行测试任务数据中的性能测试脚本。具体地,确定性能测试工具安装完成后,打开测试任务数据中的性能测试脚本,添加本地已经准备好的被测试环境的相关信息,并根据要求来配置相关测试要求,然后启动测试。注意,如果在测试中遇到问题,请查看测试包中相关步骤的注意事项,通常问题都能够很好的解决。
步骤S34:当性能测试结束后,获取区块链网络中的测试结果模板,用于编写测试结果。将测试结果规范化,便于后续的查看与管理。
步骤S35:将编写结束的测试结果通过区块链网络发送到性能测试任务发布节点。具体地,测试完成后,记录测试结果,并填入测试包中的测试结果模板中,这样就编写完成了本次性能测试的测试结果
上述测试结果的获取过程具体如图11所示。首先,性能测试任务执行节点首先需要准备性能测试环境,这里的环境主要是两个环境,一是性能测试工具的安装环境,这一点在测试包中的性能测试工具-安装环境中会有详细描述;二是被测试系统环境,这个主要查看测试任务包中的测试信息,根据被测试信息的类型来准备测试环境。准备好测试环境后,需要按照安装手册来安装性能测试工具。确定性能测试工具安装完成后,打开测试包中的性能测试脚本,添加本地已经准备好的被测试环境的相关信息,并根据要求来配置相关测试要求,然后启动测试。测试完成后,记录测试结果,并填入测试包中的测试结果模板中,生成本次性能测试结果。
图12为本实施例中基于区块链的性能测试方法的一个整体过程的步骤示意图。如图12所示,性能测试任务发布节点获取性能需求分析;之后根据性能需求分析生成性能测试计划,根据测试计划准备性能测试任务包(测试任务数据),并将测试任务数据上传至区块链;上传后各个性能测试任务执行节点便可接收到该测试任务数据,根据测试任务数据进行性能测试,测试完成后将测试结果存储至区块链;性能测试任务发布节点收集各个性能测试任务执行节点上传的测试结果,并对测试结果进行分析,通常有以下两种结果,一种是测试结果满足要求,只进行一次性能测试,这样就可以直接编写性能测试报告;另外一种是测试结果不满足测试要求,需要做系统调优,调优完成后,会继续做性能测试,生成新的性能需求分析,再次进行性能测试。
在本实施例中还提供了一种基于区块链的性能测试装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
如图13所示,本实施例还提供一种基于区块链的性能测试装置,包括:第一获取模块1和第一处理模块2。
第一获取模块,用于获取性能测试的测试任务数据,测试任务数据包括被测试信息、性能测试工具、性能测试脚本、性能测试要求以及性能测试结果要求;详细内容参考步骤S1所述。
第一处理模块,用于将测试任务数据上传至区块链,以使区块链网络中的性能测试任务执行节点根据测试任务数据执行性能测试;详细内容参考步骤S2所述。
在一实施例中,第一获取模块包括:第一获取单元,用于获取性能测试的测试需求数据,测试需求数据包括测试场景信息、响应性能参数、硬件性能参数以及性能测试工具,详细内容参考步骤S11所述;第一处理单元,用于根据测试需求数据,确定性能测试的初始测试内容,详细内容参考步骤S12所述;第二处理单元,用于对初始测试内容进行调整,得到调整后的测试需求数据,详细内容参考步骤S13所述;第三处理单元,用于根据调整后的测试需求数据确定测试时间及测试场景,详细内容参考步骤S14所述;第四处理单元,用于根据测试时间和测试场景,确定测试计划,详细内容参考步骤S15所述;第五处理单元,用于将测试计划上传至区块链进行存储,详细内容参考步骤S16所述;第六处理单元,用于根据测试计划确定测试任务数据,详细内容参考步骤S17所述。
在一实施例中,该装置还包括:第二获取模块,用于获取性能测试任务执行节点上传的测试结果,测试结果是由性能测试任务执行节点根据测试任务数据执行性能测试后得到的,详细内容参考步骤S3所述;第二处理模块,用于根据性能测试的影响因素对测试结果进行分析,得到测试分析结果,详细内容参考步骤S4所述;第一判断模块,用于判断测试分析结果是否满足测试目标,详细内容参考步骤S5所述;第三处理模块,用于若测试分析结果不满足测试目标时,则判定进行性能测试未通过,对性能测试进行系统调优,详细内容参考步骤S6所述。
在一实施例中,该装置还包括:第四处理模块,用于若测试分析结果满足测试目标时,根据测试分析结果得到测试报告,详细内容参考步骤S7所述。
上述各个模块的更进一步的功能描述与上述方法实施例相同,在此不再赘述。
本发明实施例还提供了一种电子设备,如图14所示,该电子设备可以包括:处理器101和存储器102;其中,处理器101和存储器102可以通过总线或者其他方式连接,图14中以通过总线连接为例。
处理器101可以为中央处理器(Central Processing Unit,CPU)。处理器101还可以为其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器102作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的基于区块链的性能测试方法对应的程序指令/模块(例如,图13所示的第一获取模块1和第一处理模块2)。处理器101通过运行存储在存储器102中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的基于区块链的性能测试方法。
存储器102可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器101所创建的数据等。此外,存储器102可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器102可选包括相对于处理器101远程设置的存储器,这些远程存储器可以通过网络连接至处理器101。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器102中,当被所述处理器101执行时,执行如图3至图12所示实施例中的基于区块链的性能测试方法。
上述服务器具体细节可以对应参阅图3至图12所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random AccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种基于区块链的性能测试方法,其特征在于,包括如下步骤:
获取性能测试的测试任务数据,所述测试任务数据包括被测试信息、性能测试工具、性能测试脚本、性能测试要求以及性能测试结果要求;
将所述测试任务数据上传至区块链,以使区块链网络中的性能测试任务执行节点根据所述测试任务数据执行性能测试。
2.根据权利要求1所述的基于区块链的性能测试方法,其特征在于,获取性能测试的测试任务数据,包括:
获取性能测试的测试需求数据,所述测试需求数据包括测试场景信息、响应性能参数、硬件性能参数以及性能测试工具;
根据所述测试需求数据,确定性能测试的初始测试内容;
对所述初始测试内容进行调整,得到调整后的测试需求数据;
根据所述调整后的测试需求数据确定测试时间及测试场景;
根据所述测试时间和测试场景,确定测试计划;
将所述测试计划上传至区块链进行存储;
根据所述测试计划确定测试任务数据。
3.根据权利要求1所述的基于区块链的性能测试方法,其特征在于,所述测试任务数据是通过智能合约上传至区块链上的。
4.根据权利要求1-3任一所述的基于区块链的性能测试方法,其特征在于,将所述测试任务数据上传至区块链的步骤之后,还包括:
获取所述性能测试任务执行节点上传的测试结果,所述测试结果是由所述性能测试任务执行节点根据所述测试任务数据执行性能测试后得到的;
根据性能测试的影响因素对所述测试结果进行分析,得到测试分析结果;
判断所述测试分析结果是否满足测试目标;
若所述测试分析结果不满足所述测试目标时,则判定进行性能测试未通过,对性能测试进行系统调优。
5.根据权利要求4所述的基于区块链的性能测试方法,其特征在于,所述测试结果是由所述性能测试任务执行节点根据所述测试任务数据执行性能测试后得到的,包括:
所述性能测试任务执行节点从区块链上获取测试任务数据;
根据所述测试任务数据确定性能测试所需的测试环境、测试工具和测试脚本;
根据所述测试环境、测试工具和测试脚本进行性能测试;
当性能测试结束后,获取区块链网络中的测试结果模板,用于编写测试结果;
将编写结束的测试结果通过区块链网络发送到所述性能测试任务发布节点。
6.根据权利要求5所述的基于区块链的性能测试方法,其特征在于,根据所述测试环境、测试工具和测试脚本进行性能测试,包括:
根据所述测试任务数据搭建测试环境,所述测试环境包括性能测试工具的安装环境和被测试系统环境;
在测试环境搭建完成后,安装所述测试任务数据中的性能测试工具;
在性能测试工具安装完成后,执行所述测试任务数据中的性能测试脚本。
7.根据权利要求4所述的基于区块链的性能测试方法,其特征在于,所述判断所述测试分析结果是否满足测试目标的步骤之后,还包括:
若所述测试分析结果满足所述测试目标时,根据所述测试分析结果得到测试报告。
8.一种基于区块链的性能测试装置,其特征在于,包括:
第一获取模块,用于获取性能测试的测试任务数据,所述测试任务数据包括被测试信息、性能测试工具、性能测试脚本、性能测试要求以及性能测试结果要求;
第一处理模块,用于将所述测试任务数据上传至区块链,以使区块链网络中的性能测试任务执行节点根据所述测试任务数据执行性能测试。
9.一种电子设备,其特征在于,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1-7中任一所述的基于区块链的性能测试方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行权利要求1-7中任一所述的基于区块链的性能测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811608977.6A CN109753434A (zh) | 2018-12-26 | 2018-12-26 | 基于区块链的性能测试方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811608977.6A CN109753434A (zh) | 2018-12-26 | 2018-12-26 | 基于区块链的性能测试方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109753434A true CN109753434A (zh) | 2019-05-14 |
Family
ID=66403170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811608977.6A Withdrawn CN109753434A (zh) | 2018-12-26 | 2018-12-26 | 基于区块链的性能测试方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109753434A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110413527A (zh) * | 2019-07-30 | 2019-11-05 | 中国工商银行股份有限公司 | 测试系统、测试方法、电子设备以及计算机可读存储介质 |
CN110908910A (zh) * | 2019-11-25 | 2020-03-24 | 腾讯科技(深圳)有限公司 | 一种基于区块链的测试监控方法、装置及可读存储介质 |
CN111488291A (zh) * | 2020-06-24 | 2020-08-04 | 支付宝(杭州)信息技术有限公司 | 区块链网络的压力测试方法及装置、系统 |
CN112073254A (zh) * | 2019-06-11 | 2020-12-11 | 南京慕测信息科技有限公司 | 一种面向以太坊区块链的性能测试方法 |
CN112506798A (zh) * | 2020-12-22 | 2021-03-16 | 杭州趣链科技有限公司 | 一种区块链平台的性能测试方法、装置、终端及存储介质 |
CN112650669A (zh) * | 2020-12-04 | 2021-04-13 | 苏州黑云智能科技有限公司 | 基于区块链的appium自动化测试方法 |
CN113095594A (zh) * | 2021-04-30 | 2021-07-09 | 中国银行股份有限公司 | 基于区块链的测试联调方法及装置 |
CN113961202A (zh) * | 2021-12-21 | 2022-01-21 | 北京中科金财科技股份有限公司 | 一种自动调试智能合约的方法及系统 |
CN114490304A (zh) * | 2020-10-23 | 2022-05-13 | 中移(苏州)软件技术有限公司 | 一种性能测试方法、设备、系统及存储介质 |
-
2018
- 2018-12-26 CN CN201811608977.6A patent/CN109753434A/zh not_active Withdrawn
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112073254A (zh) * | 2019-06-11 | 2020-12-11 | 南京慕测信息科技有限公司 | 一种面向以太坊区块链的性能测试方法 |
CN110413527A (zh) * | 2019-07-30 | 2019-11-05 | 中国工商银行股份有限公司 | 测试系统、测试方法、电子设备以及计算机可读存储介质 |
CN110908910A (zh) * | 2019-11-25 | 2020-03-24 | 腾讯科技(深圳)有限公司 | 一种基于区块链的测试监控方法、装置及可读存储介质 |
CN110908910B (zh) * | 2019-11-25 | 2024-04-09 | 腾讯科技(深圳)有限公司 | 一种基于区块链的测试监控方法、装置及可读存储介质 |
CN111488291A (zh) * | 2020-06-24 | 2020-08-04 | 支付宝(杭州)信息技术有限公司 | 区块链网络的压力测试方法及装置、系统 |
CN114490304A (zh) * | 2020-10-23 | 2022-05-13 | 中移(苏州)软件技术有限公司 | 一种性能测试方法、设备、系统及存储介质 |
CN112650669A (zh) * | 2020-12-04 | 2021-04-13 | 苏州黑云智能科技有限公司 | 基于区块链的appium自动化测试方法 |
CN112506798A (zh) * | 2020-12-22 | 2021-03-16 | 杭州趣链科技有限公司 | 一种区块链平台的性能测试方法、装置、终端及存储介质 |
CN113095594A (zh) * | 2021-04-30 | 2021-07-09 | 中国银行股份有限公司 | 基于区块链的测试联调方法及装置 |
CN113961202A (zh) * | 2021-12-21 | 2022-01-21 | 北京中科金财科技股份有限公司 | 一种自动调试智能合约的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109753434A (zh) | 基于区块链的性能测试方法、装置、电子设备及存储介质 | |
CN108319547B (zh) | 测试用例生成方法、装置和系统 | |
CN108038053B (zh) | 一种动态配置埋点的方法及设备 | |
CN102244594B (zh) | 在手动和自动测试工具中的网络仿真技术 | |
CN109302522A (zh) | 测试方法、装置以及计算机系统和介质 | |
Perera et al. | Semantic-driven configuration of internet of things middleware | |
CN109857668A (zh) | Ui自动化功能测试方法、测试装置、测试设备及存储介质 | |
Zarrad et al. | Evaluating network test scenarios for network simulators systems | |
CN110147320A (zh) | 接口测试方法、装置及电子设备 | |
CN105516321B (zh) | 一种数据采集方法和装置 | |
CN109753433A (zh) | 基于区块链的自动化测试方法、装置及电子设备 | |
CN106648556A (zh) | 前后端集成开发测试的方法及装置 | |
CN109032923A (zh) | 基于调用链的软件测试方法、装置、终端 | |
Shugurov et al. | Generation of a set of event logs with noise | |
CN109491860A (zh) | 应用程序的异常检测方法、终端设备及介质 | |
CN110297760A (zh) | 测试数据的构造方法、装置、设备及计算机可读存储介质 | |
KR20160070410A (ko) | 스마트기기용 어플리케이션의 테스트 시스템 및 그 방법 | |
CN105556505A (zh) | 遗产系统 | |
CN110059003B (zh) | 自动化测试方法、装置、电子设备及可读存储介质 | |
CN109342927A (zh) | 一种信号完整性测试方法与装置 | |
CN109783357A (zh) | 测试应用程序的方法及装置、计算机设备、存储介质 | |
CN111159014A (zh) | 探索性测试的响应方法及装置、计算机设备、存储介质 | |
CN109032850A (zh) | 现场装置调试系统和现场装置调试方法 | |
Rodrigues et al. | Model-driven approach for building efficient wireless sensor and actuator network applications | |
CN109324958A (zh) | 一种rest统一校验方法、装置、设备及可读存储介质 |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210118 Address after: 215163 No. 9 Xuesen Road, Science and Technology City, Suzhou High-tech Zone, Jiangsu Province Applicant after: Suzhou Lang run innovation intellectual property operation Co.,Ltd. Address before: 100034 4008, 4 floor, 9 building, 56 half moon street, Xicheng District, Beijing. Applicant before: SINOCHAIN TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190514 |
|
WW01 | Invention patent application withdrawn after publication |