CN116383044A - 一种软件测试方法及平台 - Google Patents
一种软件测试方法及平台 Download PDFInfo
- Publication number
- CN116383044A CN116383044A CN202310268499.3A CN202310268499A CN116383044A CN 116383044 A CN116383044 A CN 116383044A CN 202310268499 A CN202310268499 A CN 202310268499A CN 116383044 A CN116383044 A CN 116383044A
- Authority
- CN
- China
- Prior art keywords
- test
- user
- blockchain
- software
- scheme
- 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
- 238000000034 method Methods 0.000 title claims abstract description 78
- 238000013522 software testing Methods 0.000 title claims abstract description 44
- 238000012360 testing method Methods 0.000 claims abstract description 657
- 238000012790 confirmation Methods 0.000 claims abstract description 50
- 230000004044 response Effects 0.000 claims description 40
- 238000012423 maintenance Methods 0.000 claims description 36
- 238000013507 mapping Methods 0.000 claims description 30
- 238000012544 monitoring process Methods 0.000 claims description 19
- 239000012085 test solution Substances 0.000 claims description 17
- 230000008859 change Effects 0.000 claims description 10
- 230000008569 process Effects 0.000 abstract description 28
- 238000011156 evaluation Methods 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000010200 validation analysis Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000013077 scoring method Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000010998 test method Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
Images
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/3684—Test management for test design, e.g. generating new test cases
-
- 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)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提出一种软件测试方法及平台。该方法可以应用于基于区块链搭建的软件测试平台。所述区块链发布了用于驱动软件测试的智能合约;所述可以方法包括:接收第一用户发起的测试请求;所述测试请求包括针对所述软件的测试需求点;响应于所述测试请求,运行所述智能合约包括的测试逻辑,向第二用户发送测试请求指示,以使所述第二用户返回针对所述测试需求点的测试方案,以及,响应于所述第一用户针对所述测试方案的确认结果,向所述第二用户发送开始测试指示,以使所述第二用户基于所述测试方案对所述软件进行测试,得到测试结果,以及,存证所述测试结果。由此可以利用智能合约驱动软件测试过程的执行。
Description
技术领域
本申请涉及计算机技术,具体涉及一种软件测试方法及平台。
背景技术
软件测试是指通过人工或自动的手段来运行软件的过程,其目的在于检验待测软件是否满足预定的性能。
目前开发人员完成软件开发后,在上线之前会告知测试人员对软件进行测试。测试人员完成测试后会将测试结果告知开发人员。
不难发现以上过程中,测试过程是独立进行的,这将可能导致以下问题:
第一、测试过程未被记录,影响测试结果的可信度。
第二、测试过程无法被追溯和审计。
第三、没有有效的方式对测试过程进行监督。
发明内容
有鉴于此,本申请公开一种软件测试方法。该方法可以应用于基于区块链搭建的软件测试平台。所述区块链发布了用于驱动软件测试的智能合约;所述可以方法包括:接收第一用户发起的测试请求;所述测试请求包括针对所述软件的测试需求点;响应于所述测试请求,运行所述智能合约包括的测试逻辑,向第二用户发送测试请求指示,以使所述第二用户返回针对所述测试需求点的测试方案,以及,响应于所述第一用户针对所述测试方案的确认结果,向所述第二用户发送开始测试指示,以使所述第二用户基于所述测试方案对所述软件进行测试,得到测试结果,以及,存证所述测试结果。
在一些实施例中,所述测试平台包括基于区块链构建的Baas平台;所述响应于所述测试请求,运行所述智能合约包括的测试逻辑,包括:响应于所述测试请求,将所述测试需求点作为入参生成针对所述智能合约的第一调用交易;将所述第一调用交易发布至所述区块链,运行所述测试逻辑。
在一些实施例中,在向第二用户发送测试请求指示之前,所述方法还包括:所述区块链中的任意节点响应于运行所述测试逻辑生成的测试请求指示,向所述区块链发布存证交易,完成所述测试请求指示的存证;所述测试平台部署了针对所述区块链的监听程序;所述向第二用户发送测试请求指示,包括:响应于监听到在所述区块链中存证了所述测试请求指示,从所述智能合约对应的合约账户中获取所述测试请求指示;将获取的所述测试请求指示发送至第二用户对应的第二客户端。
在一些实施例中,所述第二用户返回针对所述测试需求点的测试方案,包括:接收第二用户返回的针对所述测试需求点编制的测试方案;将所述测试方案作为入参生成针对所述智能合约的第二调用交易;将所述第二调用交易发布至所述区块链,运行所述测试逻辑以将所述测试方案存证至所述区块链。
在一些实施例中,所述方法还包括:响应于监听到在所述区块链中存证了所述测试方案,从所述智能合约对应的合约账户中获取所述测试方案;将获取的所述测试方案发送至所述第一用户对应的第一客户端;接收所述第一用户通过所述第一客户端发送的所述确认结果;将所述确认结果作为入参生成针对所述智能合约的第三调用交易;将所述第三调用交易发布至所述区块链,运行所述测试逻辑以向所述第二用户发送开始测试指示;所述向所述第二用户发送开始测试指示,包括:响应于监听到在所述区块链中存证了所述开始测试指示,从所述智能合约对应的合约账户中获取所述确认结果;将获取的所述确认结果发送至所述第二用户对应的第二客户端。
在一些实施例中,所述存证所述测试结果,包括:接收所述第二用户通过所述第二客户端上传的测试结果;将所述确认结果作为入参生成针对所述智能合约的第四调用交易;将所述第四调用交易发布至所述区块链,运行所述测试逻辑以将所述测试结果存证至所述区块链。
在一些实施例中,所述智能合约包括测试状态维护逻辑;所述方法包括以下至少一项:在向第二用户发送测试请求指示之后,调用所述测试状态维护逻辑,将针对所述软件的测试状态变更为等待测试方案状态;在所述第二用户返回针对所述测试需求点的测试方案之后,调用所述测试状态维护逻辑,将针对所述软件的测试状态变更为测试方案确认状态;在向所述第二用户发送开始测试指示之后,调用所述测试状态维护逻辑,将针对所述软件的测试状态变更为开始测试状态;在存证所述测试结果之后,调用所述测试状态维护逻辑,将针对所述软件的测试状态变更为完成测试状态。
在一些实施例中,所述智能合约还包括针对所述第二用户的评价逻辑;所述测试方案包括测试计划时长,和每一测试需求点的第一名称;所述测试结果包括实际完成测试的测试需求点的第二名称;响应于所述测试状态变更为完成测试状态,所述方法还包括:获取所述测试方案包括的所述测试计划时长和所述第一名称,以及所述测试结果包括的所述第二名称;基于变更为所述完成测试状态的第一时刻和变更为所述开始测试状态的第二时刻,确定所述第二用户的测试实际时长;根据所述测试实际时长与所述测试计划时长之差,以及所述第一名称与所述第二名称的匹配结果,为所述第二用户进行打分。
在一些实施例中,所述根据所述测试实际时长与所述测试计划时长之差,以及所述第一名称与所述第二名称的匹配结果,为所述第二用户进行打分,包括:获取预设的测试实际时长与测试计划时长之差与第一分数的第一映射表;根据所述第一映射表,基于所述测试实际时长与所述测试计划时长之差,确定第一分数;获取预设的不匹配的名称数量与第二分数的第二映射表;根据所述第二映射表,基于所述第一名称与所述第二名称中不匹配的名称数量,确定第二分数;根据所述第一分数与所述第二分数的加权和,确定所述第二用户此次测试的得分。
本申请还包括一种软件测试平台。所述平台包括相互通信的区块链,接收单元以及运行单元;所述区块链发布了用于驱动软件测试的智能合约;所述接收单元,用于接收第一用户发起的测试请求;所述测试请求包括针对所述软件的测试需求点;所述运行单元,用于响应于所述测试请求,运行所述智能合约包括的测试逻辑,向第二用户发送测试请求指示,以使所述第二用户返回针对所述测试需求点的测试方案,以及,响应于所述第一用户针对所述测试方案的确认结果,向所述第二用户发送开始测试指示,以使所述第二用户基于所述测试方案对所述软件进行测试,得到测试结果,以及,存证所述测试结果。
前述方案中,可以利用智能合约驱动软件测试过程的执行,并将测试方案,测试方案的确认结果,测试结果等测试过程中产生的数据存证在区块链。
由此第一,可以利用区块链中存证数据不可篡改的特性,提升测试结果的可信度。
第二,可以利用区块链中存证数据可追溯可审计的特性,使得测试过程可以被追溯和审计。
第三,可以结合智能合约和区块链可信存证的技术,对测试过程进行监督。
附图说明
下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍。
图1为本申请实施例示出的一种软件测试方法的流程示意图;
图2为本申请示出的软件测试过程中测试方案的确认方法的方法流程图;
图3为本申请示出的一种评价方法流程示意图;
图4为本申请示出的评价机制打分方法流程示意图;
图5为本申请示出的一种软件测试平台的结构示意图;
图6为本申请实施例示出的一种软件测试装置的结构示意图;
图7为本申请实施例示出的一种电子设备的硬件结构示意图。
具体实施方式
下面将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的设备和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在可以包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。还应当理解,本文中所使用的词语“如果”,取决于语境,可以被解释成为“在……时”或“当……时”或“响应于确定”。
区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术已在众多的领域中广泛的进行应用。
区块链一般被划分为三种类型:公有链(Public Blockchain),私有链(PrivateBlockchain)和联盟链(Consortium Blockchain)。此外,还有多种类型的结合,比如私有链+联盟链、联盟链+公有链等不同组合形式。
区块链提供智能合约的功能。智能合约可以通过代码的形式定义。
通过智能合约创建交易,可以将智能合约部署在区块链中。合约被创建后,区块链上出现一个与该智能合约对应的合约账户,并拥有一个特定的地址,合约代码和账户存储将保存在该合约账户中。智能合约的行为由合约代码控制,而智能合约的账户存储(Storage)则保存了合约的状态。换句话说,智能合约使得区块链上产生包含合约代码和账户存储的虚拟账户。
通过智能合约调用交易可以调用智能合约内部的执行逻辑完成相应的步骤。本申请即利用智能合约的该特性实现对软件测试的驱动。
本申请提出一种软件测试方法。所述方法可以应用于基于区块链搭建的软件测试平台。所述区块链发布了用于驱动软件测试的智能合约;所述方法包括:接收第一用户发起的测试请求;所述测试请求包括针对所述软件的测试需求点;响应于所述测试请求,运行所述智能合约包括的测试逻辑,向第二用户发送测试请求指示,以使所述第二用户返回针对所述测试需求点的测试方案,以及,响应于所述第一用户针对所述测试方案的确认结果,向所述第二用户发送开始测试指示,以使所述第二用户基于所述测试方案对所述软件进行测试,得到测试结果,以及,存证所述测试结果。
在以上公开的技术方案中,可以利用智能合约驱动软件测试过程的执行,并将测试方案,测试方案的确认结果,测试结果等测试过程中产生的数据存证在区块链。
由此第一,可以利用区块链中存证数据不可篡改的特性,提升测试结果的可信度。
第二,可以利用区块链中存证数据可追溯可审计的特性,使得测试过程可以被追溯和审计。
第三,可以结合智能合约和区块链可信存证的技术,对测试过程进行监督。
以下结合附图进行实施例说明。请参见图1,图1为本申请实施例示出的一种软件测试方法的流程示意图。
图1示出的软件测试方法可以应用于基于区块链搭建的软件测试平台(以下简称“平台”)。其中,所述测试平台可以包括至少一台电子设备。所述电子设备可以通过搭载与软件测试方法对应的软件逻辑执行该软件测试方法。所述电子设备的类型可以是笔记本电脑,计算机,服务器,手机,掌上电脑(Personal Digital Assistant,PDA)等。在本申请中不特别限定所述电子设备的类型。
所述区块链发布了用于驱动软件测试的智能合约。
在一些方式中,开发人员可以预先开发前述智能合约,这些智能合约中包括很多运算逻辑,比如可以包括测试逻辑,测试状态维护逻辑等。当然这些逻辑中还可以包含若干子逻辑。
其中,测试逻辑可以与第一用户和第二用户进行交互,并且通过所述交互驱动软件测试过程的正常执行,该测试逻辑中还可以存证子逻辑,用于调用测试状态维护逻辑的调用子逻辑等。所述测试状态维护逻辑可以用于维护测试状态,在后续实施例中有相应说明。
完成所述智能合约的开发之后通过发布交易将该智能合约发送至区块链的各节点,等到各节点完成共识之后,可以将所述智能合约发布于区块链。完成发布后,区块链中为该智能合约分配合约账户,该合约账户可以用于存储智能合约代码,智能合约运行过程中产生的数据等。
如图1所示,所述方法可以包括S102-S104。其中,S104包括S1042-S1046。除特别说明外,本申请不特别限定这些步骤的执行顺序。
S102,接收第一用户发起的测试请求;所述测试请求包括针对所述软件的测试需求点。
所述第一用户是指提出测试需求的用户。在一些场景中,所述第一用户可以是开发人员,产品工程师,架构师等等。
第一用户在有软件测试需求的时候,会通过自身对应的第一客户端生成测试请求。在一些方式中,第一用户可以基于所述软件的测试需求点编辑成测试请求。然后可以通过所述第一客户端将编辑的测试请求发送至所述平台。所述平台可以接收所述测试请求。
S104,响应于所述测试请求,运行所述智能合约包括的测试逻辑,向第二用户发送测试请求指示,以使所述第二用户返回针对所述测试需求点的测试方案,以及,
响应于所述第一用户针对所述测试方案的确认结果,向所述第二用户发送开始测试指示,以使所述第二用户基于所述测试方案对所述软件进行测试,得到测试结果,以及,
存证所述测试结果。
以下针对S104包括的三个子步骤进行说明。
S1042,响应于所述测试请求,运行所述智能合约包括的测试逻辑,向第二用户发送测试请求指示,以使所述第二用户返回针对所述测试需求点的测试方案。
所述第二用户是指执行软件测试的用户。在一些场景中,所述第二用户可以是测试人员、测试架构师等。
所述测试方案是指第二用户针对待测软件编制的方案。在一些场景中,所述测试方案可以包括测试计划、测试策略、测试脚本等。
所述平台子接收到所述测试请求之后,可以通过与所述区块链进行交互,运行所述智能合约中包括的测试逻辑。
该测试逻辑中可以向第二用户发送测试请求指示。所述测试请求指示中会包含第一用户发起的测试请求,测试需求点等内容。在一些方式中,可以将测试请求指示发送至第二用户对应的第二客户端。
第二用户在接收到针对所述软件的测试请求指示之后,可以制定相应的测试方案,并通过第二客户端将所述测试方案返回至所述平台。所述平台可以通过与区块链进行交互将所述测试方案存证在区块链。
S1044,响应于所述第一用户针对所述测试方案的确认结果,向所述第二用户发送开始测试指示,以使所述第二用户基于所述测试方案对所述软件进行测试,得到测试结果。
所述平台在接收到测试方案之后,还可以通过与区块链交互,继续运行测试逻辑,将该测试方案发送至第一用户。第一用户在接收到测试方案之后可以对该测试方案进行确认。例如,第一用户可以确认测试方案中测试计划,测试策略等内容是否符合预期,如果是则返回确认结果。如果不符合预期,就返回不确认结果。
所述平台在接收到所述确认结果后,可以与区块链进行交互,继续运行测试逻辑,向第二用户发送开始测试指示。
第二用户在接收到开始测试指示后,可以基于所述测试方案对所述软件进行测试,得到测试结果。本申请不对测试过程进行详述。
所述测试结果是指针对所述软件的测试结论。在一些场景中所述测试结果可以是测试报告。得到测试结果之后,第二用户可以通过第二客户端将所述测试结果发送至所述平台。
S1046,存证所述测试结果。
所述平台在接收到所述测试结果后,可以与区块链交互,完成所述测试结果的存证。
通过S102-S104记载的方案,可以利用智能合约驱动软件测试过程的执行,并将测试方案,测试方案的确认结果,测试结果等测试过程中产生的数据存证在区块链。
由此第一,可以利用区块链中存证数据不可篡改的特性,提升测试结果的可信度。
第二,可以利用区块链中存证数据可追溯可审计的特性,使得测试过程可以被追溯和审计。
第三,可以结合智能合约和区块链可信存证的技术,对测试过程进行监督。
在一些实施例中,所述测试平台包括基于区块链构建的Baas平台。BaaS(Blockchain as a Service),“区块链即服务”,是指将区块链框架嵌入云计算平台,利用云服务基础设施的部署和管理优势,为开发者提供便捷、高性能的区块链生态环境和生态配套服务,支持开发者的业务拓展及运营支持的区块链开放平台。
BaaS平台可以理解为服务端,为用户端提供与区块链的交互服务,由此可以避免用户端直接与区块链交互,简化用户端的部署难度,并且可以提升区块链的安全性。
具体地,在S1042中,可以先响应于所述测试请求,将所述测试需求点作为入参生成针对所述智能合约的第一调用交易。当然所述第一调用交易还可以包括所述智能合约的访问地址等信息。
本申请中为了区分不同阶段对智能合约发起的调用交易,采用第一、第二、第三、第四等类似描述。
然后,可以将所述第一调用交易发布至所述区块链,运行所述测试逻辑。
本步骤中所述平台可以将所述第一调用交易发送至所述区块链,所述区块链中的各节点在对所述第一调用交易达成共识后,可以从相应地址获取智能合约并运行其中的测试逻辑。
由此在S1042中通过所述平台构建第一调用交易与区块链进行交互,可以避免区块链直接暴露给用户,提升区块链的安全性。
在一些实施例中,所述平台将测试请求发送给区块链之后,所述区块链中的任意节点响应于运行所述测试逻辑生成的测试请求指示,向所述区块链发布存证交易,完成所述测试请求指示的存证。
所述测试平台部署了针对所述区块链的监听程序。所述监听程序可以监听区块链中的存证数据。所述监听程序可以通过判断存证数据的数据类型来确定存证数据是否为被见见他数据。
在S1042中,所述平台可以先响应于监听到在所述区块链中存证了所述测试请求指示,从所述智能合约对应的合约账户中获取所述测试请求指示;
该平台中的监听程序在监听到区块链存证了测试请求指示之后,可以从所述智能合约对应的合约账户中获取所述测试请求指示。
然后可以将获取的所述测试请求指示发送至第二用户对应的第二客户端。
前述实施例中,可以在发送测试请求指示的环节,利用监听技术在所述平台监听到区块链存证测试请求指示后,获取该指示并发送至第二用户,从而可以避免区块链直接暴露给用户,提升区块链的安全性。
在一些实施例中,第二用户完成测试方案编制之后可以将所述测试方案返回所述平台。所述平台可以先接收第二用户返回的针对所述测试需求点编制的测试方案。
然后可以将所述测试方案作为入参生成针对所述智能合约的第二调用交易。当然所述第二调用交易还可以包括所述智能合约的地址,以及所述测试逻辑中针对所述测试方案开放的接收数据接口。
之后,可以将所述第二调用交易发布至所述区块链,运行所述测试逻辑以将所述测试方案存证至所述区块链。
所述平台可以将所述第二调用交易发送至区块链,区块链中各节点完成共识后,可以继续运行所述测试逻辑,以将所述测试方案存证至所述区块链。
前述实施例中,可以在接收测试方案环节,利用平台与区块链交互完成测试方案存证,从而可以避免区块链直接暴露给用户,提升区块链的安全性。
在一些实施例中,所述平台可以通过监听程序将测试方案发送至第一用户,以使第一用户对测试方案进行确认。
请参见图2,图2为本申请示出的软件测试过程中测试方案的确认方法的方法流程图。如图2所示,所述方法可以包括S202-S210。
S202,响应于监听到在所述区块链中存证了所述测试方案,从所述智能合约对应的合约账户中获取所述测试方案。
本步骤所述平台可以通过监听程序监听测试方案,并在监听到后,从合约账户中获取该测试方案。
S204,将获取的所述测试方案发送至所述第一用户对应的第一客户端。
第一用户在接收到测试方案之后会对测试方案进行确认,并在确认通过后向所述平台发送确认结果。
S206,接收所述第一用户通过所述第一客户端发送的所述确认结果。
S208,将所述确认结果作为入参生成针对所述智能合约的第三调用交易。
当然所述第三调用交易还可以包括所述智能合约的地址,以及所述测试逻辑中针对所述确认结果开放的接收数据接口。
S210,将所述第三调用交易发布至所述区块链,运行所述测试逻辑以向所述第二用户发送开始测试指示。
所述平台可以将所述第三调用交易发送至区块链,区块链中各节点完成共识后,可以继续运行所述测试逻辑以向所述第二用户发送开始测试指示。
所述向所述第二用户发送开始测试指示,包括:响应于监听到在所述区块链中存证了所述开始测试指示,从所述智能合约对应的合约账户中获取所述确认结果;将获取的所述确认结果发送至所述第二用户对应的第二客户端。关于如何发送开始测试指示可以参照前述关于如何发送测试请求指示的描述,在此不做详述。
前述实施例中,可以在测试方案确认环节,利用平台与区块链交互可以避免区块链直接暴露给用户,提升区块链的安全性。
第二用户在接收到开始测试指示之后会基于测试方案进行测试并得到测试结果。第二用户会将测试结果发送至所述平台。
在一些实施例中,在S1046中,可以接收所述第二用户通过所述第二客户端上传的测试结果。
然后,将所述确认结果作为入参生成针对所述智能合约的第四调用交易。
当然所述第四调用交易还可以包括所述智能合约的地址,以及所述测试逻辑中针对所述测试结果开放的接收数据接口。
之后,可以将所述第四调用交易发布至所述区块链,运行所述测试逻辑以将所述测试结果存证至所述区块链。
所述平台可以将所述第四调用交易发送至区块链,区块链中各节点完成共识后,可以继续运行所述测试逻辑以将所述测试结果存证至所述区块链。
前述实施例中,可以在存证测试结果环节,利用平台与区块链交互可以避免区块链直接暴露给用户,提升区块链的安全性。
在一些实施例中,所述智能合约还可以包括测试状态维护逻辑对测试状态进行维护,便于用户对测试过程进行追踪和监控。
具体地,所述平台可以执行以下至少一项:
在向第二用户发送测试请求指示之后,调用所述测试状态维护逻辑,将针对所述软件的测试状态变更为等待测试方案状态;
在所述第二用户返回针对所述测试需求点的测试方案之后,调用所述测试状态维护逻辑,将针对所述软件的测试状态变更为测试方案确认状态;
在向所述第二用户发送开始测试指示之后,调用所述测试状态维护逻辑,将针对所述软件的测试状态变更为开始测试状态;
在存证所述测试结果之后,调用所述测试状态维护逻辑,将针对所述软件的测试状态变更为完成测试状态。
在一些实施方式中,前述步骤均会被执行。所述平台可以在执行前提条件后,构建完成执行的消息发送至智能合约的测试逻辑,该测试逻辑可以执行调用子逻辑,调用测试状态维护逻辑。该测试状态维护逻辑,会根据当前测试状态,所述前提条件,将测试状态变更为与所述前提条件对应的,位于所述当前测试状态之后的测试状态。
例如,当前为等待测试方案状态,前提条件为接收到测试方案,那么测试状态维护逻辑会将状态变更为位于等待测试方案状态之后,与接收到测试方案对应的测试方案确认状态。由此不仅实现测试状态维护,便于进行状态追踪与监控,而且还可以利用当前测试状态和前提条件两方面对将要维护的测试状态进行验证,提升测试状态维护准确性。
在一些实施例中,所述智能合约还包括针对所述第二用户的评价逻辑。该评价逻辑用于对第二用户的测试工作进行评价,从而建立一种基于智能合约的测试工作评价机制。
请参见图3,图3为本申请示出的一种评价方法流程示意图。图3示意的评价方法是响应于所述测试状态变更为完成测试状态之后执行的。所述测试方案包括测试计划时长,和每一测试需求点的第一名称;所述测试结果包括实际完成测试的测试需求点的第二名称。
如图3所示,所述方法可以包括S302-S306。
S302,获取所述测试方案包括的所述测试计划时长和所述第一名称,以及所述测试结果包括的所述第二名称。
本申请为了区分测试方案列明的测试需求点的名称和测试结果中实际完成的测需求点的名称,采用第一名称和第二名称。
本步骤中,可以采用匹配关键词的方法,在找到关键词后,利用关键词上下文获取所述测试计划时长、第一名称和第二名称。
所述关键词可以是预先设置的,例如可以是序号或者测试周期。在测试方案和测试结果中,每一个测试需求点前面会列明序号,通过捕捉序号关键词,可以将位于序号之后预设符号(比如该预设符号可以是5个空格)之前的字符作为测试需求点的名称。通过捕捉测试周期关键词,可以将位于测试周期之后预设符号(比如该预设符号可以是5个空格)之前的字符作为测试计划时长。
S304,基于变更为所述完成测试状态的第一时刻和变更为所述开始测试状态的第二时刻,确定所述第二用户的测试实际时长。
本步骤中,可以在测试状态维护逻辑中设置调用子逻辑,在从开始测试状态变更为完成测试状态之后,调用评价逻辑,将变更为所述完成测试状态的第一时刻和变更为所述开始测试状态的第二时刻之差,确定为所述第二用户的测试实际时长。
S306,根据所述测试实际时长与所述测试计划时长之差,以及所述第一名称与所述第二名称的匹配结果,为所述第二用户进行打分。
本步骤中,可以采用预设的打分逻辑进行打分。例如可以对所述测试实际时长与所述测试计划时长之差进行归一化,将所述第一名称与所述第二名称中匹配的名称数量进行归一化,再将两个归一化结果进行加权求和,得到所述第二用户的分数。
通过S302-S306可以在完成测试之后对第二用户的测试工作进行评价,从而建立一种基于智能合约的测试工作评价机制。
在一些实施例中,可以通过预设映射表的方式,提升打分准确性,进而提升评价机制的合理性。
请参见图4,图4为本申请示出的评价机制打分方法流程示意图。图4示意的步骤为对S306的详细说明。如图4所示,所述方法可以包括S402-S410。
S402,获取预设的测试实际时长与测试计划时长之差与第一分数的第一映射表。
所述第一映射表是预先设置的用于计算第一分数的表。该第一映射表包括测试实际时长与测试计划时长之差与第一分数的映射关系。
例如,测试实际时长与测试计划时长之差为0.1天内,第一分数为500分。测试实际时长与测试计划时长之差为0.5天内,第一分数为90分。测试实际时长与测试计划时长之差为1天内,80分,测试实际时长与测试计划时长之差为3天内,第一分数为50分。以上仅为实例,具体根据需求进行设定。
S404,根据所述第一映射表,基于所述测试实际时长与所述测试计划时长之差,确定第一分数。
本步骤可以利用所述测试实际时长与所述测试计划时长之差,查询所述第一映射表,确定第一分数。
S406,获取预设的不匹配的名称数量与第二分数的第二映射表。
所述第二映射表是预先设置的用于计算第二分数的表。该第二映射表包括不匹配的名称数量与第二分数的映射关系。
例如,不匹配的名称数量为0,第二分数为500分。不匹配的名称数量为1,第二分数为90分.不匹配的名称数量为3,第二分数为80分。不匹配的名称数量为5,第二分数为50分。以上仅为实例,具体根据需求进行设定。
S408,根据所述第二映射表,基于所述第一名称与所述第二名称中不匹配的名称数量,确定第二分数。
本步骤可以先确定所述第一名称与所述第二名称中不匹配的名称数量,然后利用所述不匹配的名称数量,查询所述第二映射表,确定第二分数。
S410,根据所述第一分数与所述第二分数的加权和,确定所述第二用户此次测试的得分。
本步骤可以根据预先设定权重,对第一分数与第二分数加权求和,得到所述得分。
通过S402-S410记载的方案,可以通过预设映射表的方式,提升打分准确性,进而提升评价机制的合理性。
本申请还提出一种软件测试平台。请参见图5,图5为本申请示出的一种软件测试平台的结构示意图。如图5所示,所述平台包括接收单元510,运行单元520,区块链530。所述区块链530发布了用于驱动软件测试的智能合约。
所述接收单元510,用于接收第一用户发起的测试请求;所述测试请求包括针对所述软件的测试需求点;
所述运行单元520,用于响应于所述测试请求,运行所述智能合约包括的测试逻辑,向第二用户发送测试请求指示,以使所述第二用户返回针对所述测试需求点的测试方案,以及,
响应于所述第一用户针对所述测试方案的确认结果,向所述第二用户发送开始测试指示,以使所述第二用户基于所述测试方案对所述软件进行测试,得到测试结果,以及,
存证所述测试结果。
在一些实施例中,所述测试平台500包括基于区块链530构建的Baas平台;所述运行单元520,进一步用于:
响应于所述测试请求,将所述测试需求点作为入参生成针对所述智能合约的第一调用交易;
将所述第一调用交易发布至所述区块链530,运行所述测试逻辑。
在一些实施例中,在向第二用户发送测试请求指示之前,所述区块链530中的任意节点响应于运行所述测试逻辑生成的测试请求指示,向所述区块链530发布存证交易,完成所述测试请求指示的存证;
所述测试平台500部署了针对所述区块链530的监听程序;所述运行单元520,进一步用于:
响应于监听到在所述区块链530中存证了所述测试请求指示,从所述智能合约对应的合约账户中获取所述测试请求指示;
将获取的所述测试请求指示发送至第二用户对应的第二客户端。
在一些实施例中,所述运行单元520,进一步用于:
接收第二用户返回的针对所述测试需求点编制的测试方案;
将所述测试方案作为入参生成针对所述智能合约的第二调用交易;
将所述第二调用交易发布至所述区块链530,运行所述测试逻辑以将所述测试方案存证至所述区块链530。
在一些实施例中,所述平台500还包括确认单元,用于:
响应于监听到在所述区块链530中存证了所述测试方案,从所述智能合约对应的合约账户中获取所述测试方案;
将获取的所述测试方案发送至所述第一用户对应的第一客户端;
接收所述第一用户通过所述第一客户端发送的所述确认结果;
将所述确认结果作为入参生成针对所述智能合约的第三调用交易;
将所述第三调用交易发布至所述区块链530,运行所述测试逻辑以向所述第二用户发送开始测试指示;
所述运行单元520,进一步用于:
响应于监听到在所述区块链530中存证了所述开始测试指示,从所述智能合约对应的合约账户中获取所述确认结果;
将获取的所述确认结果发送至所述第二用户对应的第二客户端。
在一些实施例中,所述运行单元520,进一步用于:
接收所述第二用户通过所述第二客户端上传的测试结果;
将所述确认结果作为入参生成针对所述智能合约的第四调用交易;
将所述第四调用交易发布至所述区块链530,运行所述测试逻辑以将所述测试结果存证至所述区块链530。
在一些实施例中,所述智能合约包括测试状态维护逻辑;所述平台500包括状态维护单元,用于以下至少一项:
在向第二用户发送测试请求指示之后,调用所述测试状态维护逻辑,将针对所述软件的测试状态变更为等待测试方案状态;
在所述第二用户返回针对所述测试需求点的测试方案之后,调用所述测试状态维护逻辑,将针对所述软件的测试状态变更为测试方案确认状态;
在向所述第二用户发送开始测试指示之后,调用所述测试状态维护逻辑,将针对所述软件的测试状态变更为开始测试状态;
在存证所述测试结果之后,调用所述测试状态维护逻辑,将针对所述软件的测试状态变更为完成测试状态。
在一些实施例中,所述智能合约还包括针对所述第二用户的评价逻辑;所述测试方案包括测试计划时长,和每一测试需求点的第一名称;所述测试结果包括实际完成测试的测试需求点的第二名称;
响应于所述测试状态变更为完成测试状态,所述平台500还包括评价单元,用于:
获取所述测试方案包括的所述测试计划时长和所述第一名称,以及所述测试结果包括的所述第二名称;
基于变更为所述完成测试状态的第一时刻和变更为所述开始测试状态的第二时刻,确定所述第二用户的测试实际时长;
根据所述测试实际时长与所述测试计划时长之差,以及所述第一名称与所述第二名称的匹配结果,为所述第二用户进行打分。
在一些实施例中,所述平台500还包括评价单元,用于:
获取预设的测试实际时长与测试计划时长之差与第一分数的第一映射表;
根据所述第一映射表,基于所述测试实际时长与所述测试计划时长之差,确定第一分数;
获取预设的不匹配的名称数量与第二分数的第二映射表;
根据所述第二映射表,基于所述第一名称与所述第二名称中不匹配的名称数量,确定第二分数;
根据所述第一分数与所述第二分数的加权和,确定所述第二用户此次测试的得分。
在以上公开的技术方案中,可以利用智能合约驱动软件测试过程的执行,并将测试方案,测试方案的确认结果,测试结果等测试过程中产生的数据存证在区块链。
由此第一,可以利用区块链中存证数据不可篡改的特性,提升测试结果的可信度。
第二,可以利用区块链中存证数据可追溯可审计的特性,使得测试过程可以被追溯和审计。
第三,可以结合智能合约和区块链可信存证的技术,对测试过程进行监督。
与所述任一实施例相对应的,本申请还提出一种软件测试装置。该装置应用于基于区块链搭建的软件测试平台。
请参见图6,图6为本申请实施例示出的一种软件测试装置的结构示意图。如图所示,所示软件测试装置600可以包括:
所述接收模块610,用于接收第一用户发起的测试请求;所述测试请求包括针对所述软件的测试需求点;
所述运行模块620,用于响应于所述测试请求,运行所述智能合约包括的测试逻辑,向第二用户发送测试请求指示,以使所述第二用户返回针对所述测试需求点的测试方案,以及,
响应于所述第一用户针对所述测试方案的确认结果,向所述第二用户发送开始测试指示,以使所述第二用户基于所述测试方案对所述软件进行测试,得到测试结果,以及,
存证所述测试结果。
在一些实施例中,所述测试平台包括基于区块链630构建的Baas平台;所述运行模块620,进一步用于:
响应于所述测试请求,将所述测试需求点作为入参生成针对所述智能合约的第一调用交易;
将所述第一调用交易发布至所述区块链630,运行所述测试逻辑。
在一些实施例中,在向第二用户发送测试请求指示之前,所述区块链630中的任意节点响应于运行所述测试逻辑生成的测试请求指示,向所述区块链630发布存证交易,完成所述测试请求指示的存证;
所述测试平台部署了针对所述区块链630的监听程序;所述运行模块620,进一步用于:
响应于监听到在所述区块链630中存证了所述测试请求指示,从所述智能合约对应的合约账户中获取所述测试请求指示;
将获取的所述测试请求指示发送至第二用户对应的第二客户端。
在一些实施例中,所述运行模块620,进一步用于:
接收第二用户返回的针对所述测试需求点编制的测试方案;
将所述测试方案作为入参生成针对所述智能合约的第二调用交易;
将所述第二调用交易发布至所述区块链630,运行所述测试逻辑以将所述测试方案存证至所述区块链630。
在一些实施例中,所述装置600还包括确认模块,用于:
响应于监听到在所述区块链630中存证了所述测试方案,从所述智能合约对应的合约账户中获取所述测试方案;
将获取的所述测试方案发送至所述第一用户对应的第一客户端;
接收所述第一用户通过所述第一客户端发送的所述确认结果;
将所述确认结果作为入参生成针对所述智能合约的第三调用交易;
将所述第三调用交易发布至所述区块链630,运行所述测试逻辑以向所述第二用户发送开始测试指示;
所述运行模块620,进一步用于:
响应于监听到在所述区块链630中存证了所述开始测试指示,从所述智能合约对应的合约账户中获取所述确认结果;
将获取的所述确认结果发送至所述第二用户对应的第二客户端。
在一些实施例中,所述运行模块620,进一步用于:
接收所述第二用户通过所述第二客户端上传的测试结果;
将所述确认结果作为入参生成针对所述智能合约的第四调用交易;
将所述第四调用交易发布至所述区块链630,运行所述测试逻辑以将所述测试结果存证至所述区块链630。
在一些实施例中,所述智能合约包括测试状态维护逻辑;所述装置600包括状态维护模块,用于以下至少一项:
在向第二用户发送测试请求指示之后,调用所述测试状态维护逻辑,将针对所述软件的测试状态变更为等待测试方案状态;
在所述第二用户返回针对所述测试需求点的测试方案之后,调用所述测试状态维护逻辑,将针对所述软件的测试状态变更为测试方案确认状态;
在向所述第二用户发送开始测试指示之后,调用所述测试状态维护逻辑,将针对所述软件的测试状态变更为开始测试状态;
在存证所述测试结果之后,调用所述测试状态维护逻辑,将针对所述软件的测试状态变更为完成测试状态。
在一些实施例中,所述智能合约还包括针对所述第二用户的评价逻辑;所述测试方案包括测试计划时长,和每一测试需求点的第一名称;所述测试结果包括实际完成测试的测试需求点的第二名称;
响应于所述测试状态变更为完成测试状态,所述装置600还包括评价模块,用于:
获取所述测试方案包括的所述测试计划时长和所述第一名称,以及所述测试结果包括的所述第二名称;
基于变更为所述完成测试状态的第一时刻和变更为所述开始测试状态的第二时刻,确定所述第二用户的测试实际时长;
根据所述测试实际时长与所述测试计划时长之差,以及所述第一名称与所述第二名称的匹配结果,为所述第二用户进行打分。
在一些实施例中,所述装置600还包括评价模块,用于:
获取预设的测试实际时长与测试计划时长之差与第一分数的第一映射表;
根据所述第一映射表,基于所述测试实际时长与所述测试计划时长之差,确定第一分数;
获取预设的不匹配的名称数量与第二分数的第二映射表;
根据所述第二映射表,基于所述第一名称与所述第二名称中不匹配的名称数量,确定第二分数;
根据所述第一分数与所述第二分数的加权和,确定所述第二用户此次测试的得分。
在以上公开的技术方案中,可以利用智能合约驱动软件测试过程的执行,并将测试方案,测试方案的确认结果,测试结果等测试过程中产生的数据存证在区块链。
由此第一,可以利用区块链中存证数据不可篡改的特性,提升测试结果的可信度。
第二,可以利用区块链中存证数据可追溯可审计的特性,使得测试过程可以被追溯和审计。
第三,可以结合智能合约和区块链可信存证的技术,对测试过程进行监督。
本申请示出的软件测试装置的实施例可以应用于电子设备上。相应地,本申请公开了一种电子设备,该设备可以包括:处理器。
用于存储处理器可执行指令的存储器。
其中,所述处理器被配置为调用所述存储器中存储的可执行指令,实现前述任一实施例示出的软件测试方法。
请参见图7,图7为本申请实施例示出的一种电子设备的硬件结构示意图。
如图7所示,该电子设备可以包括用于执行指令的处理器,用于进行网络连接的网络接口,用于为处理器存储运行数据的内存,以及用于存储软件测试装置对应指令的非易失性存储器。
其中,所述装置的实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,除了图7所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
可以理解的是,为了提升处理速度,所述软件测试装置对应指令也可以直接存储于内存中,在此不作限定。
本申请提出一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序可以用于使处理器执行前述任一实施例示出的软件测试方法。
本领域技术人员应明白,本申请一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本申请一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(可以包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请中的“和/或”表示至少具有两者中的其中一个。本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于数据处理设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
虽然本申请包含许多具体实施细节,但是这些不应被解释为限制任何公开的范围或所要求保护的范围,而是主要用于描述特定公开的具体实施例的特征。本申请内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,所述实施例中的各种平台模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和平台通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
以上仅为本申请一个或多个实施例的较佳实施例而已,并不用以限制本申请一个或多个实施例,凡在本申请一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请一个或多个实施例保护的范围之内。
Claims (10)
1.一种软件测试方法,应用于基于区块链搭建的软件测试平台;其特征在于,所述区块链发布了用于驱动软件测试的智能合约;所述方法包括:
接收第一用户发起的测试请求;所述测试请求包括针对所述软件的测试需求点;
响应于所述测试请求,运行所述智能合约包括的测试逻辑,向第二用户发送测试请求指示,以使所述第二用户返回针对所述测试需求点的测试方案,以及,
响应于所述第一用户针对所述测试方案的确认结果,向所述第二用户发送开始测试指示,以使所述第二用户基于所述测试方案对所述软件进行测试,得到测试结果,以及,
存证所述测试结果。
2.根据权利要求1所述的方法,其特征在于,所述测试平台包括基于区块链构建的Baas平台;所述响应于所述测试请求,运行所述智能合约包括的测试逻辑,包括:
响应于所述测试请求,将所述测试需求点作为入参生成针对所述智能合约的第一调用交易;
将所述第一调用交易发布至所述区块链,运行所述测试逻辑。
3.根据权利要求2所述的方法,其特征在于,在向第二用户发送测试请求指示之前,所述方法还包括:
所述区块链中的任意节点响应于运行所述测试逻辑生成的测试请求指示,向所述区块链发布存证交易,完成所述测试请求指示的存证;
所述测试平台部署了针对所述区块链的监听程序;所述向第二用户发送测试请求指示,包括:
响应于监听到在所述区块链中存证了所述测试请求指示,从所述智能合约对应的合约账户中获取所述测试请求指示;
将获取的所述测试请求指示发送至第二用户对应的第二客户端。
4.根据权利要求3所述的方法,其特征在于,所述第二用户返回针对所述测试需求点的测试方案,包括:
接收第二用户返回的针对所述测试需求点编制的测试方案;
将所述测试方案作为入参生成针对所述智能合约的第二调用交易;
将所述第二调用交易发布至所述区块链,运行所述测试逻辑以将所述测试方案存证至所述区块链。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
响应于监听到在所述区块链中存证了所述测试方案,从所述智能合约对应的合约账户中获取所述测试方案;
将获取的所述测试方案发送至所述第一用户对应的第一客户端;
接收所述第一用户通过所述第一客户端发送的所述确认结果;
将所述确认结果作为入参生成针对所述智能合约的第三调用交易;
将所述第三调用交易发布至所述区块链,运行所述测试逻辑以向所述第二用户发送开始测试指示;
所述向所述第二用户发送开始测试指示,包括:
响应于监听到在所述区块链中存证了所述开始测试指示,从所述智能合约对应的合约账户中获取所述确认结果;
将获取的所述确认结果发送至所述第二用户对应的第二客户端。
6.根据权利要求5所述的方法,其特征在于,所述存证所述测试结果,包括:
接收所述第二用户通过所述第二客户端上传的测试结果;
将所述确认结果作为入参生成针对所述智能合约的第四调用交易;
将所述第四调用交易发布至所述区块链,运行所述测试逻辑以将所述测试结果存证至所述区块链。
7.根据权利要求1所述的方法,其特征在于,所述智能合约包括测试状态维护逻辑;所述方法包括以下至少一项:
在向第二用户发送测试请求指示之后,调用所述测试状态维护逻辑,将针对所述软件的测试状态变更为等待测试方案状态;
在所述第二用户返回针对所述测试需求点的测试方案之后,调用所述测试状态维护逻辑,将针对所述软件的测试状态变更为测试方案确认状态;
在向所述第二用户发送开始测试指示之后,调用所述测试状态维护逻辑,将针对所述软件的测试状态变更为开始测试状态;
在存证所述测试结果之后,调用所述测试状态维护逻辑,将针对所述软件的测试状态变更为完成测试状态。
8.根据权利要求7所述的方法,其特征在于,所述智能合约还包括针对所述第二用户的评价逻辑;所述测试方案包括测试计划时长,和每一测试需求点的第一名称;所述测试结果包括实际完成测试的测试需求点的第二名称;
响应于所述测试状态变更为完成测试状态,所述方法还包括:
获取所述测试方案包括的所述测试计划时长和所述第一名称,以及所述测试结果包括的所述第二名称;
基于变更为所述完成测试状态的第一时刻和变更为所述开始测试状态的第二时刻,确定所述第二用户的测试实际时长;
根据所述测试实际时长与所述测试计划时长之差,以及所述第一名称与所述第二名称的匹配结果,为所述第二用户进行打分。
9.根据权利要求8所述的方法,其特征在于,所述根据所述测试实际时长与所述测试计划时长之差,以及所述第一名称与所述第二名称的匹配结果,为所述第二用户进行打分,包括:
获取预设的测试实际时长与测试计划时长之差与第一分数的第一映射表;
根据所述第一映射表,基于所述测试实际时长与所述测试计划时长之差,确定第一分数;
获取预设的不匹配的名称数量与第二分数的第二映射表;
根据所述第二映射表,基于所述第一名称与所述第二名称中不匹配的名称数量,确定第二分数;
根据所述第一分数与所述第二分数的加权和,确定所述第二用户此次测试的得分。
10.一种软件测试平台,其特征在于,所述平台包括相互通信的区块链,接收单元以及运行单元;所述区块链发布了用于驱动软件测试的智能合约;
所述接收单元,用于接收第一用户发起的测试请求;所述测试请求包括针对所述软件的测试需求点;
所述运行单元,用于响应于所述测试请求,运行所述智能合约包括的测试逻辑,向第二用户发送测试请求指示,以使所述第二用户返回针对所述测试需求点的测试方案,以及,
响应于所述第一用户针对所述测试方案的确认结果,向所述第二用户发送开始测试指示,以使所述第二用户基于所述测试方案对所述软件进行测试,得到测试结果,以及,
存证所述测试结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310268499.3A CN116383044A (zh) | 2023-03-17 | 2023-03-17 | 一种软件测试方法及平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310268499.3A CN116383044A (zh) | 2023-03-17 | 2023-03-17 | 一种软件测试方法及平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116383044A true CN116383044A (zh) | 2023-07-04 |
Family
ID=86979852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310268499.3A Pending CN116383044A (zh) | 2023-03-17 | 2023-03-17 | 一种软件测试方法及平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116383044A (zh) |
-
2023
- 2023-03-17 CN CN202310268499.3A patent/CN116383044A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108712257B (zh) | 跨区块链的认证方法及装置、电子设备 | |
CN110046523B (zh) | 智能合约校验方法及装置和电子设备 | |
KR100945282B1 (ko) | 관리 소프트웨어 구현을 위한 인증 방법 | |
CN107241315B (zh) | 银行网关接口的接入方法、装置及计算机可读存储介质 | |
CN103186466A (zh) | 基于关联测试用例自动生成的信息交互测试装置及方法 | |
CN110060155B (zh) | 区块链的智能合约执行方法及装置和电子设备 | |
JP2019500680A (ja) | データ処理方法及び装置 | |
CN111353176B (zh) | 一种查询区块链数据的方法及系统 | |
CN111985007A (zh) | 一种基于区块链的合同签署与执行方法及装置 | |
CN114039733B (zh) | 一种针对联盟链的存证业务转移方法、装置及设备 | |
CN112364049A (zh) | 数据同步脚本生成方法、系统、终端及存储介质 | |
CN116974874A (zh) | 数据库的测试方法、装置、电子设备及可读存储介质 | |
CN112561690A (zh) | 信用卡分期业务接口的测试方法、系统、设备及存储介质 | |
CN109101408B (zh) | 联调环境中业务可用性的检测方法和装置 | |
CN112015715A (zh) | 工业互联网数据管理服务测试方法及系统 | |
CN116383044A (zh) | 一种软件测试方法及平台 | |
CN113360547A (zh) | 跨链查询方法、装置、电子设备及可读存储介质 | |
CN113010409A (zh) | 智能合约测试方法及装置、电子设备、存储介质 | |
CN113541965A (zh) | 一种基于区块链的通信授权方法、装置、设备和存储介质 | |
CN110704301A (zh) | Tpc-e自动化测试方法以及tpc-e测试系统 | |
CN114331447B (zh) | 一种跨链消息提交方法及装置 | |
CN116980182B (zh) | 异常请求检测方法、装置和电子设备 | |
CN111144867B (zh) | 一种地区码映射关系的生成方法及装置 | |
CN117034254A (zh) | 一种应用的校验方法及装置 | |
CN116089524A (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 |