CN112202633B - 区块链网络的测试方法、装置、电子设备及可读存储介质 - Google Patents
区块链网络的测试方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN112202633B CN112202633B CN202011014034.8A CN202011014034A CN112202633B CN 112202633 B CN112202633 B CN 112202633B CN 202011014034 A CN202011014034 A CN 202011014034A CN 112202633 B CN112202633 B CN 112202633B
- Authority
- CN
- China
- Prior art keywords
- transaction
- character string
- preset character
- replaced
- target 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- 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
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种区块链网络的测试方法、装置、电子设备及可读存储介质,旨在提高对区块链网络的测试效率。其中,所述区块链网络的测试方法包括:获得测试用例,所述测试用例中包括与区块链网络的待测功能相关的交易;检测所述交易中是否包含预设字符串;在所述交易中包括预设字符串的情况下,为所述预设字符串获取目标数据,并利用所述目标数据替换所述预设字符串,得到替换后的交易;将所述替换后的交易提交给所述区块链网络执行,并获得所述替换后的交易的执行结果,以及根据所述执行结果,确定所述待测功能的测试结果。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种区块链网络的测试方法、装置、电子设备及可读存储介质。
背景技术
区块链技术构建在传输网络(也可称为区块链网络)之上,传输网络中的分布式节点设备通过运行区块链程序,实现区块数据的生成、验证和上链保存,最终实现了数据防篡改机制,为业务开展提供了安全可信的技术新思路。
区块链技术可应用至多种业务场景,例如金融领域、电子商务领域、商品或原材料溯源领域、电子存证领域等,由于区块链技术实现了数据防篡改机制,因此利用区块链技术开展业务,能解决业务参与各方之间的信任危机。
通常,区块链网络可实现多种功能,包括区块链网络的系统功能以及部署在区块链网络中的智能合约的合约功能。相关技术中,为了测试区块链网络的功能是否能正常实现,通常需要为待测功能编写测试用例,并运行这些测试用例。然而目前在对区块链网络的功能进行测试时,测试效率通常较低,导致区块链网络的交付使用受到影响。
发明内容
本发明实施例的目的在于提供一种区块链网络的测试方法、装置、电子设备及可读存储介质,旨在提高对区块链网络的测试效率。具体技术方案如下:
在本发明实施例的第一方面,提供一种区块链网络的测试方法,所述方法包括:
获得测试用例,所述测试用例中包括与区块链网络的待测功能相关的交易;
检测所述交易中是否包含预设字符串;
在所述交易中包括预设字符串的情况下,为所述预设字符串获取目标数据,并利用所述目标数据替换所述预设字符串,得到替换后的交易;
将所述替换后的交易提交给所述区块链网络执行,并获得所述替换后的交易的执行结果,以及根据所述执行结果,确定所述待测功能的测试结果。
在本发明实施例的第二方面,提供一种区块链网络的测试装置,所述装置包括:
测试用例获得模块,用于获得测试用例,所述测试用例中包括与区块链网络的待测功能相关的交易;
预设字符串检测模块,用于检测所述交易中是否包含预设字符串;
数据替换模块,用于在所述交易中包括预设字符串的情况下,为所述预设字符串获取目标数据,并利用所述目标数据替换所述预设字符串,得到替换后的交易;
测试结果确定模块,用于将所述替换后的交易提交给所述区块链网络执行,并获得所述替换后的交易的执行结果,以及根据所述执行结果,确定所述待测功能的测试结果。
在本发明实施例的第三方面,提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于在执行存储器上所存放的程序时,实现本发明任一实施例所提供的区块链网络的测试方法。
在本发明实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任一实施例所提供的区块链网络的测试方法。
本发明至少具有以下有益效果:由于在区块链网络中,合约地址、用户地址、用户私钥或者用户公钥等数据,通常需要具有唯一性。而在测试用例中,可能需要携带这些具有唯一性要求的数据,因此导致测试用例不可复用。而本发明中,在获得测试用例后,会检测该测试用例中是否包含预设字符串。如果包含预设字符串,则为该预设字符串获取目标数据,并利用获取的目标数据替换该预设字符串,使得预设字符串被替换成满足唯一性要求的数据。可见,在测试之前,如果测试用例中包括预设字符串,则仅需替换掉测试用例中的预设字符串,而不需要重新编写整个测试用例,实现了测试用例的复用。因此,能有效提高对区块链网络的测试效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,以下描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1是本发明一实施例提出的区块链网络的测试方法的流程图;
图2是本发明一可选实施方式中提出的测试用例的示意图;
图3是本发明另一实施例提出的区块链网络的测试方法的流程图;
图4是本发明一实施例提出的区块链网络的测试装置的示意图;
图5是本发明一实施例提出的电子设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
区块链技术构建在传输网络(也可称为区块链网络)之上,传输网络中的分布式节点设备通过运行区块链程序,实现区块数据的生成、验证和上链保存,最终实现了数据防篡改机制,为业务开展提供了安全可信的技术新思路。
通常,区块链网络可实现多种功能,包括区块链网络的系统功能以及部署在区块链网络中的智能合约的合约功能。相关技术中,为了测试区块链网络的功能是否能正常实现,通常需要为待测功能编写测试用例,并运行这些测试用例。然而目前在对区块链网络的功能进行测试时,测试效率通常较低,导致区块链网络的交付使用受到影响。
有鉴于此,本发明通过以下实施例,提出区块链网络的测试方法、装置、电子设备及可读存储介质,旨在提高对区块链网络的测试效率。
参考图1,图1是本发明一实施例提出的区块链网络的测试方法的流程图。如图1所示,该区块链网络的测试方法包括以下步骤:
步骤S11:获得测试用例,所述测试用例中包括与区块链网络的待测功能相关的交易。
其中,所谓与区块链网络的待测功能相关的交易,具体是指:能触发区块链网络的待测功能的交易。
为便于理解,示例地,假设待测功能为转账功能,则与该待测功能相关的交易可以是一个转账交易。区块链网络中的节点为了响应该转账交易,需要执行与转账功能对应的计算机程序。可见,转账交易触发了区块链网络的转账功能。
参考图2,图2是本发明一可选实施方式中提出的测试用例的示意图。如图2所示,测试用例中至少包括与该待测功能相关的交易,该交易包括多个key-value键值对。需要说明的是,图2中的各个键值对的具体数据和具体字符,仅作为示例,不用于限定本发明。
可选地,在一些具体实施方式中,测试用例具体可以是json格式的文件。
步骤S12:检测所述交易中是否包含预设字符串。
其中,预设字符串是指需要被替换的字符串,如果检测到预设字符串,则说明在该预设字符串处本应该是一个满足唯一性要求的数据。
可选地,在一些具体实施方式中,预设字符串可以是一串具有特殊格式的字符串。例如预设字符串的前三个字符为$$$,则在执行步骤S12时,针对交易的每个键值对,检测该键值对的value的前三个字符是否为$$$。若是,则该键值对的value是一个预设字符串,该value需要被替换成一个满足唯一性要求的数据。若否,则该键值对的value不是预设字符串,该value不需要被替换。
为便于理解,示例地,在逐条遍历交易的键值对期间,当遍历到交易中的UserAddress:$$${Identity1.addr}这一键值对时,由于检测到value的前三个字符为$$$,因此确定该value为预设字符串,该value需要被替换成一个满足唯一性要求的数据。
步骤S13:在所述交易中包括预设字符串的情况下,为所述预设字符串获取目标数据,并利用所述目标数据替换所述预设字符串,得到替换后的交易。
其中,预设字符串中可以包含数据类型标识。需要说明的是,一个预设字符串中包含的数据类型标识用于表征:用于替换该预设字符串的目标数据的数据类型。为便于理解,沿用上述示例,预设字符串$$${Identity1.addr}中包含的数据类型标识是addr。如此,说明预设字符串$$${Identity1.addr}需要由一个地址类型的数据替换。
可选地,在一些具体实施方式中,在执行上述步骤S13期间,为了为预设字符串获取目标数据,可以执行以下子步骤:
子步骤S13-1:在所述交易中包括预设字符串的情况下,读取所述预设字符串中包含的数据类型标识。
子步骤S13-2:根据所述数据类型标识,生成相应数据类型的目标数据。
具体实现时,可预先配置多种数据生成算法,不同的数据生成算法分别对应不同的数据类型标识。一种数据类型标识所对应的数据生成算法,用于生成相应数据类型的目标数据。本发明在实施期间,当检测到预设字符串后,首先从预设字符串的预设位置处读取数据类型标识,然后选择与数据类型标识对应的数据生成算法,为预设字符串生成相应数据类型的目标数据,该目标数据满足唯一性要求。
示例地,在检测到预设字符串后,首先读取$$${}中的内容,然后判断该内容是否包含点号,如果该内容包含点号,则将点号后的若干字符确定为数据类型标识,如果该内容不包含点号,则将该内容确定为数据类型标识。
为便于理解,假设检测到某一预设字符串$$${Identity1.addr},则首先读取$$${}中的内容Identity1.addr。然后检测Identity1.addr中是否包含点号,由于其包含点号,因此将点号后的addr确定为数据类型标识。或者,假设检测到另一预设字符串$$${num},则首先读取$$${}中的内容num。然后检测num中是否包含点号,由于其不包含点号,因此直接将num确定为数据类型标识。
如果从预设字符串中读取到的数据类型标识为addr,则从预先配置多种数据生成算法中,选择数据类型标识addr所对应的数据生成算法。然后基于该数据生成算法,为预设字符串生成一个地址数据。
如果从预设字符串中读取到的数据类型标识为num,则从预先配置多种数据生成算法中,选择数据类型标识num所对应的数据生成算法。然后基于该数据生成算法,为预设字符串生成一个编号数据。
需要说明的是,本发明中,所谓目标数据满足唯一性要求,具体是指:在区块链网络中,相同数据类型的目标数据不能重复。为便于理解,示例地,假设在第m次测试任务中,为预设字符串生成的目标数据是一个合约地址,该合约地址具体为0xf03bfb08a807716e3340e。而在第n次测试任务中,为另一个预设字符串生成的目标数据也是一个合约地址,该合约地址具体为0xf03bfb08a807716e3340e。由于第n次测试任务中生成的合约地址与第m次测试任务中生成的合约地址重复,因此第n次测试任务中生成的合约地址,不满足唯一性要求。
或者示例地,假设在某次测试任务中,为预设字符串生成的目标数据是一个合约地址,该合约地址具体为0xf0175B98b388d2DC56DE0。而区块链网络中已经部署有合约地址为0xf0175B98b388d2DC56DE0的智能合约,因此该次测试任务中生成的合约地址,不满足唯一性要求。
为了使得目标数据满足唯一性要求,可选地,在一些具体实施方式中,在生成目标数据期间,可以将交易数据(也即交易包含的所有键值对)和当前时间戳作为输入数据,输入相应的数据生成算法,以获得相应数据生成算法所输出的目标数据。其中,对于互不相同的两个交易,由于两个交易的交易数据不同,因此两个交易各自对应的输入数据不同。在此情况下,即使将不同的输入数据输入同一种的数据生成算法,也会输出两个不同的目标数据,从而满足唯一性要求。
或者,对于相同但测试时间不同的两个交易,由于两个交易所参与的测试的测试时间不同,因此两个交易各自对应的输入数据不同。在此情况下,即使将不同的输入数据输入同一种的数据生成算法,也会输出两个不同的目标数据,从而满足唯一性要求。
还需要说明的是,本发明中,通过在预设字符串中配置数据类型标识,并且根据数据类型标识,生成相应数据类型的目标数据。如此,使得测试用例中多种类型的数据可以预先被配置成多个预设字符串(多个预设字符串可以分别包含不用的数据类型标识)。在使用测试用例对待测功能进行测试前,针对测试用例中的每个预设字符串,分别生成相应数据类型的目标数据,并利用生成的目标数据替换预设字符串。可见,测试用例具有较高的复用性,有利于进一步提高对区块链网络的测试效率。
可选地,在另一些具体实施方式中,在执行上述步骤S13期间,为了为预设字符串获取目标数据,除了可以执行上述子步骤S13-1和上述子步骤S13-2,也可以执行以下子步骤:
子步骤S13-A:在所述交易中包括预设字符串的情况下,读取所述预设字符串中包含的数据类型标识,并检测所述预设字符串中是否包含身份标识。
子步骤S13-B:在所述预设字符串中包含身份标识的情况下,从所述身份标识对应的一组目标数据中,获取与所述数据类型标识对应的目标数据,其中,每组目标数据中包括多个相互关联的目标数据,多个目标数据分别为不同的数据类型。
具体实现时,当检测到预设字符串后,首先从预设字符串的第一预设位置处读取数据类型标识,并在预设字符串的第二预设位置处,检测该预设字符串是否包含身份标识。如果包含身份标识,则从该身份标识对应的一组目标数据中,获取与读取到的数据类型标识相对应的目标数据。如果不包含身份标识,则可以选择与数据类型标识对应的数据生成算法,为预设字符串生成相应数据类型的目标数据。
需要说明的是,每组目标数据中可以包括相互关联、且数据类型不同的多个目标数据。例如某一组目标数据包括:地址、私钥以及公钥等目标数据。该组目标数据中,私钥和公钥是一对非对称密钥,而地址是由私钥和/或公钥推导出的,因此地址、私钥以及公钥三者之间相互关联。又例如另一组目标数据包括:私钥和公钥等目标数据。该组目标数据中,私钥和公钥是一对非对称密钥,因此地址和私钥相互关联。
示例地,在检测到预设字符串后,首先读取$$${}中的内容,然后判断该内容是否包含点号,如果该内容包含点号,则将点号前的若干字符确定为身份标识,并将点号后的若干字符确定为数据类型标识;如果该内容不包含点号,则将该内容确定为数据类型标识,并确定该预设字符串不包含身份标识。
为便于理解,假设检测到某一预设字符串为$$${Identity1.addr},则首先读取$$${}中的内容Identity1.addr。然后检测Identity1.addr中是否包含点号,由于其包含点号,因此将点号前的Identity1确定为身份标识,并将点号后的addr确定为数据类型标识。或者,假设检测到另一预设字符串为$$${num},则首先读取$$${}中的内容num。然后检测num中是否包含点号,由于其不包含点号,因此直接将num确定为数据类型标识,并且确定该预设字符串不包含身份标识。
为便于理解,在逐条遍历交易的键值对期间,当遍历到交易中的UserAddress:$$${Identity1.addr}这一键值对时,由于检测到value的前三个字符为$$$,因此确定该value为预设字符串。又由于检测到该预设字符串包含身份标识Identity1,且该身份标识Identity1还没有相应的一组目标数据,因此为该身份标识Identity1生成一组目标数据(以下将该组目标数据称为目标数据组1)。目标数据组1包括相互关联的:地址、私钥和公钥。再由于该预设字符串包含的数据类型标识为addr,因此将目标数据组1中的地址数据分配给预设字符串$$${Identity1.addr},并利用该地址数据替换预设字符串$$${Identity1.addr}。
当遍历到交易中的UserAddress:$$${Identity2.addr}这一键值对时,由于检测到value的前三个字符为$$$,因此确定该value为预设字符串。又由于检测到该预设字符串包含身份标识Identity2,且该身份标识Identity2还没有相应的一组目标数据,因此为该身份标识Identity2生成一组目标数据(以下将该组目标数据称为目标数据组2)。目标数据组2包括相互关联的:地址、私钥和公钥。再由于该预设字符串包含的数据类型标识为addr,因此将目标数据组2中的地址数据分配给预设字符串$$${Identity2.addr},并利用该地址数据替换预设字符串$$${Identity1.addr}。
当遍历到交易中的UserpriKey:$$${Identity1.priKey}这一键值对时,由于检测到value的前三个字符为$$$,因此确定该value为预设字符串。又由于检测到该预设字符串包含身份标识Identity1,且该身份标识Identity1已经存在相应的一组目标数据(也即目标数据组1),再由于该预设字符串包含的数据类型标识为priKey,因此将目标数据组1中的私钥数据分配给预设字符串$$${Identity1.priKey},并利用该私钥数据替换预设字符串$$${Identity1.priKey}。
当遍历到交易中的UserpriKey:$$${Identity2.priKey}这一键值对时,由于检测到value的前三个字符为$$$,因此确定该value为预设字符串。又由于检测到该预设字符串包含身份标识Identity2,且该身份标识Identity2已经存在相应的一组目标数据(也即目标数据组2),再由于该预设字符串包含的数据类型标识为priKey,因此将目标数据组2中的私钥数据分配给预设字符串$$${Identity2.priKey},并利用该私钥数据替换预设字符串$$${Identity2.priKey}。
以此类推,在逐条遍历完交易的所有键值对后,得到替换后的交易。
需要说明的是,以上示例中,在遍历交易的键值对期间,当检测到一个还没有相应目标数据组的身份标识时,才为该身份标识生成一组目标数据。而在本发明的另一些示例中,也可以预先生成多组目标数据,当检测到一个还没有相应目标数据组的身份标识时,直接从预先生成的多组目标数据中,为该身份标识分配一组还没有被分配的目标数据。
还需要说明的是,本发明中,通过在预设字符串中配置身份标识,并且对于包含同一身份标识的多个预设字符串,均从同一组目标数据中,为这些预设字符串获取目标数据,并替换这些目标数据。又由于同一组目标数据中的多个目标数据相互关联。因此,对于包含同一身份标识的多个预设字符串,被替换成多个相互关联的目标数据。换言之,在测试用例的交易中,同一用户所对应的多个预设字符串,被替换成相互关联的多个目标数据,例如地址、私钥和公钥等。由于同一用户的这些目标数据相互关联,因此区块链网络在执行替换后的交易时,能尽可能避免因数据不关联而导致的执行失败,从而有利于提高测试效率。
可选地,在一些具体实施方式中,利用目标数据替换交易中的预设字符串后,还可以对整个测试用例进行整理,使得整个测试用例被整理成区块链网络能处理的格式,例如json格式。其中,在整理测试用例时,例如可以将测试用例中的一些不需要的键值对删除。
步骤S14:将所述替换后的交易提交给所述区块链网络执行,并获得所述替换后的交易的执行结果,以及根据所述执行结果,确定所述待测功能的测试结果。
需要说明的是,本发明的执行主体可以是区块链网络之外的一个电子设备。换言之,本发明的执行主体不是区块链网络的一个分布式节点设备(以下简称为节点)。本发明的执行主体在经过上述步骤S11至步骤S13,得到替换后的交易后,在执行步骤S14时,执行主体将替换后的交易发送给区块链网络的一个节点。并且,执行主体接收区块链网络的一个节点所返回的执行结果。
或者,本发明的执行主体也可以是区块链网络之内的一个节点。本发明的执行主体在经过上述步骤S11至步骤S13,得到替换后的交易后,在执行步骤S14时,执行主体将替换后的交易提交给本地的区块链程序,或者发送给区块链网络内的其他节点。并且,执行主体接收本地的区块链程序所返回的执行结果,或者接收区块链网络内的其他节点所返回的执行结果。
可选地,在一些具体实施方式中,在将替换后的交易提交给区块链网络执行时,具体地,根据替换后的交易的交易数据和当前时间戳,为替换后的交易生成交易标识,并将替换后的交易及其交易标识,提交给区块链网络。其中,替换后的交易的交易数据包括:交易的全部键值对。
需要说明的是,由于不同交易的交易数据通常互不相同,且不同交易的处理时间也通常互不相同。因此根据替换后的交易的交易数据和当前时间戳,生成交易标识,该交易标识具有唯一性。
示例地,交易标识的具体生成过程可以是:为当前的测试用例生成一个uuid(Universally Unique Identifier,通用唯一识别码);并基于SHA256算法对替换后的交易的交易数据进行计算,得到一个256位的hash值;以及获取当前的时间戳;然后将hash值的前40位、uuid以及时间戳拼接成一个新的字符串,并将该字符串作为交易的交易标识。
可选地,在一些具体实施方式中,为了获得替换后的交易的执行结果,具体地,可以以替换后的交易的交易标识为索引,从区块链网络查询该交易标识对应的执行结果。
示例地,区块链网络内的每个节点中记录有:该节点已经处理过的交易的交易标识以及该交易的执行结果。为了查询执行结果,本发明的执行主体可以将替换后的交易的交易标识发送给区块链网络内的任一节点,使得该节点响应于该交易标识,在本地查询该交易标识对应的执行结果,并将查询到的执行结果返回给本发明的执行主体。
可选地,在一些具体实施方式中,如图2所示,测试用例中还可以包括预期结果。在根据执行结果确定待测功能的测试结果时,具体地,通过比较替换后的交易的执行结果和测试用例包含的预期结果,确定待测功能的测试结果。
其中,如果替换后的交易的执行结果和预期结果一致,则确定待测功能的测试结果为测试通过;如果替换后的交易的执行结果和预期结果不一致,则确定待测功能的测试结果为测试未通过。
示例地,测试用例包含的期望结果具体为执行成功或者执行失败,区块链网络返回的执行结果也为执行成功或者执行失败。
在以下两种情况下,确定待测功能的测试结果为测试通过:
(1)区块链网络返回的执行结果为执行成功,测试用例包含的期望结果也为执行成功;
(2)区块链网络返回的执行结果为执行失败,测试用例包含的期望结果也为执行失败;
在以下两种情况下,确定待测功能的测试结果为测试未通过:
(1)区块链网络返回的执行结果为执行成功,测试用例包含的期望结果也为执行失败;
(2)区块链网络返回的执行结果为执行失败,测试用例包含的期望结果也为执行成功。
以上,本发明通过多个实施例,提供了至少一种区块链网络的测试方法。这些测试方法的具有以下有益效果:
由于在区块链网络中,合约地址、用户地址、用户私钥或者用户公钥等数据,通常需要具有唯一性。而在测试用例中,可能需要携带这些具有唯一性要求的数据,因此导致测试用例不可复用。本发明中,在获得测试用例后,会检测该测试用例中是否包含预设字符串。如果包含预设字符串,则为该预设字符串获取目标数据,并利用获取的目标数据替换该预设字符串,使得预设字符串被替换成满足唯一性要求的数据。可见,在测试之前,如果测试用例中包括预设字符串,则仅需替换掉测试用例中的预设字符串,而不需要重新编写整个测试用例,实现了测试用例的复用。因此,能有效提高对区块链网络的测试效率。
此外,还需要说明的是,如果测试用例的交易中不包含预设字符串,则不需要对交易执行替换操作,而可以将原交易提交给区块链网络执行。然后获得原交易的执行结果,以及根据该执行结果,确定待测功能的测试结果。
参考图3,图3是本发明另一实施例提出的区块链网络的测试方法的流程图。如图3所示,该区块链网络的测试方法包括以下步骤:
步骤S31:获得测试用例,所述测试用例中包括与区块链网络的待测功能相关的交易,以及包括前置交易,所述前置交易是为了实现所述待测功能而需提前执行的交易。
如图2所示,图2所示的测试用例至少包括:前置交易和与待测功能相关的交易。为便于理解,示例地,测试用例中包括的前置交易为资产发布交易,测试用例中与区块链网络的待测功能相关的交易为转账交易。其中,待测功能为转账功能。由于在对资产进行转账之前,需要预先发布资产,因此将资产发布交易作为转账交易的前置交易。
如图2所示,前置交易包括多个key-value键值对。需要说明的是,图2中的各个键值对的具体数据和具体字符,仅作为示例,不用于限定本发明。
步骤S32:检测所述前置交易中是否包含预设字符串。
其中,在检测前置交易是否包含预设字符串时,可参考前述步骤S12。为避免重复,此处不再赘述。
步骤S33:在所述前置交易中包括预设字符串的情况下,为所述预设字符串获取目标数据,并利用所述目标数据替换所述预设字符串,得到替换后的前置交易。
其中,在为前置交易的预设字符串获取目标数据时,可参考前述步骤S13。为避免重复,此处不再赘述。
步骤S34:将所述替换后的前置交易提交给所述区块链网络执行,并获得所述替换后的前置交易的执行结果。
可选地,在一些具体实施方式中,可以对替换后的前置交易生成交易标识。其中,生成交易标识的方式,可以参考前述实施例。为避免重复,本发明在此不做赘述。
可选地,在一些具体实施方式中,为了获得替换后的前置交易的执行结果,如前所述,可以以替换后的前置交易的交易标识为索引,所述区块链网络查询该交易标识对应的执行结果。
步骤S35:根据所述替换后的前置交易的执行结果,判断所述替换后的前置交易是否执行成功。
其中,前置交易的执行结果具体可以是:执行成功或者执行失败。
步骤S36:在未执行成功的情况下(也即在执行失败的情况下),确定所述待测功能的测试结果为测试未通过。
步骤S37:在执行成功的情况下,检测所述交易中是否包含预设字符串。
其中,在执行步骤S37时,可参考前述步骤S12。为避免重复,此处不再赘述。
步骤S38:在所述交易中包括预设字符串的情况下,为所述预设字符串获取目标数据,并利用所述目标数据替换所述预设字符串,得到替换后的交易。
其中,在执行步骤S38时,可参考前述步骤S13。为避免重复,此处不再赘述。
此外,在一些情况下,交易中的某些预设字符串中包括的身份标识,与前置交易的某些预设字符串中包括的身份标识一致。在此情况下,用于替换前置交易的这些预设字符串的目标数据,和用于替换交易的这些预设字符串的目标数据,均来自于同一组目标数据,该组目标数据中包括多个相互关联的目标数据,多个目标数据分别为不同的数据类型。
为便于理解,示例地,在逐条遍历前置交易的键值对期间,当遍历到前置交易中的UserAddress:$$${Identity5.addr}这一键值对时,由于检测到value的前三个字符为$$$,因此确定该value为预设字符串。又由于检测到该预设字符串包含身份标识Identity5,且该身份标识Identity5还没有相应的一组目标数据,因此为该身份标识Identity5生成一组目标数据(以下将该组目标数据称为目标数据组5)。目标数据组5包括相互关联的:地址、私钥和公钥。再由于该预设字符串包含的数据类型标识为addr,因此将目标数据组5中的地址数据分配给预设字符串$$${Identity5.addr},并利用该地址数据替换预设字符串$$${Identity5.addr}。
当遍历到前置交易中的UserpubKey:$$${Identity5.pubKey}这一键值对时,由于检测到value的前三个字符为$$$,因此确定该value为预设字符串。又由于检测到该预设字符串包含身份标识Identity5,且该身份标识Identity5已经存在相应的一组目标数据(也即目标数据组5),再由于该预设字符串包含的数据类型标识为pubKey,因此将目标数据组5中的公钥数据分配给预设字符串$$${Identity5.pubKey},并利用该公钥数据替换预设字符串$$${Identity5.pubKey}。
以此类推,在逐条遍历完前置交易的所有键值对后,得到替换后的前置交易。然后将前置交易提交给区块链网络执行,如果区块链网络返回的执行结果为执行成功,则开始对交易的键值对进行遍历。
在逐条遍历交易的键值对期间,当遍历到交易中的UserpriKey:$$${Identity5.priKey}这一键值对时,由于检测到value的前三个字符为$$$,因此确定该value为预设字符串。又由于检测到该预设字符串包含身份标识Identity5,且该身份标识Identity5已经存在相应的一组目标数据(也即目标数据组5),再由于该预设字符串包含的数据类型标识为priKey,因此将目标数据组5中的私钥数据分配给预设字符串$$${Identity5.priKey},并利用该私钥数据替换预设字符串$$${Identity5.priKey}。
以此类推,在逐条遍历完交易的所有键值对后,得到替换后的交易。
步骤S39:将所述替换后的交易提交给所述区块链网络执行,并获得所述替换后的交易的执行结果,以及根据所述执行结果,确定所述待测功能的测试结果。
其中,在执行步骤S39时,可参考前述步骤S14。为避免重复,此处不再赘述。
本发明中,通过在测试用例中配置前置交易,使得测试用例在被用于测试待测功能期间,前置交易可以预先被自动执行,从而自动建立待测功能所需的准备条件。如此,有利于进一步提高测试效率。
基于同一发明构思,本发明实施例还提供一种区块链网络的测试装置。参考图4,图4是本发明一实施例提出的区块链网络的测试装置的示意图。如图4所示,区块链网络的测试装置包括:
测试用例获得模块41,用于获得测试用例,所述测试用例中包括与区块链网络的待测功能相关的交易;
预设字符串检测模块42,用于检测所述交易中是否包含预设字符串;
数据替换模块43,用于在所述交易中包括预设字符串的情况下,为所述预设字符串获取目标数据,并利用所述目标数据替换所述预设字符串,得到替换后的交易;
测试结果确定模块44,用于将所述替换后的交易提交给所述区块链网络执行,并获得所述替换后的交易的执行结果,以及根据所述执行结果,确定所述待测功能的测试结果。
可选地,在一些具体实施方式中,所述预设字符串中包含数据类型标识;所述数据替换模块包括:
数据类型标识读取单元,用于在所述交易中包括预设字符串的情况下,读取所述预设字符串中包含的数据类型标识;
目标数据生成单元,用于根据所述数据类型标识,生成相应数据类型的目标数据。
可选地,在一些具体实施方式中,所述预设字符串中包含数据类型标识;所述数据替换模块包括:
身份标识检测单元,用于在所述交易中包括预设字符串的情况下,读取所述预设字符串中包含的数据类型标识,并检测所述预设字符串中是否包含身份标识;
目标数据获取单元,用于在所述预设字符串中包含身份标识的情况下,从所述身份标识对应的一组目标数据中,获取与所述数据类型标识对应的目标数据,其中,每组目标数据中包括多个相互关联的目标数据,多个目标数据分别为不同的数据类型。
可选地,在一些具体实施方式中,每组目标数据中包括以下几种目标数据中的至少两种目标数据:地址、私钥以及公钥。
可选地,在一些具体实施方式中,所述测试用例中还包括前置交易,所述前置交易是为了实现所述待测功能而需提前执行的交易;所述区块链网络的测试装置还包括:前置交易处理模块;
所述前置交易处理模块,用于检测所述前置交易中是否包含预设字符串;在所述前置交易中包括预设字符串的情况下,为所述预设字符串获取目标数据,并利用所述目标数据替换所述预设字符串,得到替换后的前置交易;将所述替换后的前置交易提交给所述区块链网络执行,并获得所述替换后的前置交易的执行结果;根据所述替换后的前置交易的执行结果,判断所述替换后的前置交易是否执行成功;在未执行成功的情况下,确定所述待测功能的测试结果为测试未通过;
此外,在所述前置交易处理模块确定所述替换后的前置交易执行成功的情况下,所述预设字符串检测模块才检测所述交易中是否包含预设字符串。
可选地,在一些具体实施方式中,所述测试结果确定模块,还用于:根据所述替换后的交易的交易数据和当前时间戳,为所述替换后的交易生成交易标识,并将所述替换后的交易及其交易标识,提交给所述区块链网络;
所述测试结果确定模块在用于获得所述替换后的交易的执行结果时,具体用于:以所述替换后的交易的交易标识为索引,从所述区块链网络查询该交易标识对应的执行结果。
可选地,在一些具体实施方式中,所述测试结果确定模块在用于根据所述执行结果,确定所述待测功能的测试结果时,具体用于:通过比较所述替换后的交易的执行结果和所述预期结果,确定所述待测功能的测试结果;其中,如果所述替换后的交易的执行结果和所述预期结果一致,则确定所述待测功能的测试结果为测试通过;如果所述替换后的交易的执行结果和所述预期结果不一致,则确定所述待测功能的测试结果为测试未通过。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
基于同一发明构思,本发明实施例还提供了一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信。
所述存储器503,用于存放计算机程序;
所述处理器501,用于在执行存储器503上所存放的程序时,实现如下步骤:
获得测试用例,所述测试用例中包括与区块链网络的待测功能相关的交易;
检测所述交易中是否包含预设字符串;
在所述交易中包括预设字符串的情况下,为所述预设字符串获取目标数据,并利用所述目标数据替换所述预设字符串,得到替换后的交易;
将所述替换后的交易提交给所述区块链网络执行,并获得所述替换后的交易的执行结果,以及根据所述执行结果,确定所述待测功能的测试结果。
或者,处理器501用于在执行存储器503上所存放的程序时,实现本发明以上其他方法实施例所提供的区块链网络的测试方法步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的区块链网络的测试方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (9)
1.一种区块链网络的测试方法,其特征在于,所述方法包括:
获得测试用例,所述测试用例中包括与区块链网络的待测功能相关的交易;
检测所述交易中是否包含预设字符串;
在所述交易中包括预设字符串的情况下,为所述预设字符串获取目标数据,并利用所述目标数据替换所述预设字符串,得到替换后的交易;
将所述替换后的交易提交给所述区块链网络执行,并获得所述替换后的交易的执行结果,以及根据所述执行结果,确定所述待测功能的测试结果;
所述测试用例中还包括前置交易,所述前置交易是为了实现所述待测功能而需提前执行的交易;在检测所述交易中是否包含预设字符串之前,所述方法还包括:
检测所述前置交易中是否包含预设字符串;
在所述前置交易中包括预设字符串的情况下,为所述预设字符串获取目标数据,并利用所述目标数据替换所述预设字符串,得到替换后的前置交易;
将所述替换后的前置交易提交给所述区块链网络执行,并获得所述替换后的前置交易的执行结果;
根据所述替换后的前置交易的执行结果,判断所述替换后的前置交易是否执行成功;
在未执行成功的情况下,确定所述待测功能的测试结果为测试未通过;
在执行成功的情况下,才执行所述检测所述交易中是否包含预设字符串的步骤。
2.根据权利要求1所述的方法,其特征在于,所述预设字符串中包含数据类型标识;所述在所述交易中包括预设字符串的情况下,为所述预设字符串获取目标数据,包括:
在所述交易中包括预设字符串的情况下,读取所述预设字符串中包含的数据类型标识;
根据所述数据类型标识,生成相应数据类型的目标数据。
3.根据权利要求1所述的方法,其特征在于,所述预设字符串中包含数据类型标识;所述在所述交易中包括预设字符串的情况下,为所述预设字符串获取目标数据,包括:
在所述交易中包括预设字符串的情况下,读取所述预设字符串中包含的数据类型标识,并检测所述预设字符串中是否包含身份标识;
在所述预设字符串中包含身份标识的情况下,从所述身份标识对应的一组目标数据中,获取与所述数据类型标识对应的目标数据,其中,每组目标数据中包括多个相互关联的目标数据,多个目标数据分别为不同的数据类型。
4.根据权利要求3所述的方法,其特征在于,每组目标数据中包括以下几种目标数据中的至少两种目标数据:地址、私钥以及公钥。
5.根据权利要求1至4任一所述的方法,其特征在于,所述将所述替换后的交易提交给区块链网络执行,包括:
根据所述替换后的交易的交易数据和当前时间戳,为所述替换后的交易生成交易标识,并将所述替换后的交易及其交易标识,提交给所述区块链网络;
所述获得所述替换后的交易的执行结果,包括:
以所述替换后的交易的交易标识为索引,从所述区块链网络查询该交易标识对应的执行结果。
6.根据权利要求1至4任一所述的方法,其特征在于,所述测试用例中还包括预期结果;所述根据所述执行结果,确定所述待测功能的测试结果,包括:
通过比较所述替换后的交易的执行结果和所述预期结果,确定所述待测功能的测试结果;
其中,如果所述替换后的交易的执行结果和所述预期结果一致,则确定所述待测功能的测试结果为测试通过;如果所述替换后的交易的执行结果和所述预期结果不一致,则确定所述待测功能的测试结果为测试未通过。
7.一种区块链网络的测试装置,其特征在于,所述装置包括:
测试用例获得模块,用于获得测试用例,所述测试用例中包括与区块链网络的待测功能相关的交易;
预设字符串检测模块,用于检测所述交易中是否包含预设字符串;
数据替换模块,用于在所述交易中包括预设字符串的情况下,为所述预设字符串获取目标数据,并利用所述目标数据替换所述预设字符串,得到替换后的交易;
测试结果确定模块,用于将所述替换后的交易提交给所述区块链网络执行,并获得所述替换后的交易的执行结果,以及根据所述执行结果,确定所述待测功能的测试结果;
所述区块链网络的测试装置还包括:前置交易处理模块;
所述前置交易处理模块,用于检测所述前置交易中是否包含预设字符串;在所述前置交易中包括预设字符串的情况下,为所述预设字符串获取目标数据,并利用所述目标数据替换所述预设字符串,得到替换后的前置交易;将所述替换后的前置交易提交给所述区块链网络执行,并获得所述替换后的前置交易的执行结果;根据所述替换后的前置交易的执行结果,判断所述替换后的前置交易是否执行成功;在未执行成功的情况下,确定所述待测功能的测试结果为测试未通过;
此外,在所述前置交易处理模块确定所述替换后的前置交易执行成功的情况下,所述预设字符串检测模块才检测所述交易中是否包含预设字符串。
8.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于在执行存储器上所存放的程序时,实现权利要求1-6任一所述的方法步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时,实现权利要求1-6任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011014034.8A CN112202633B (zh) | 2020-09-24 | 2020-09-24 | 区块链网络的测试方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011014034.8A CN112202633B (zh) | 2020-09-24 | 2020-09-24 | 区块链网络的测试方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112202633A CN112202633A (zh) | 2021-01-08 |
CN112202633B true CN112202633B (zh) | 2022-07-12 |
Family
ID=74014592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011014034.8A Active CN112202633B (zh) | 2020-09-24 | 2020-09-24 | 区块链网络的测试方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112202633B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113158144B (zh) * | 2021-03-16 | 2022-08-30 | 杭州趣链科技有限公司 | 作品内容上链处理方法、装置、计算机设备和存储介质 |
CN112925725B (zh) * | 2021-04-09 | 2024-03-15 | 网易(杭州)网络有限公司 | 数据测试方法和装置、可读存储介质、电子设备 |
CN113505159B (zh) * | 2021-07-16 | 2023-04-25 | 马上消费金融股份有限公司 | 数据检测方法、装置及设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110096439A (zh) * | 2019-04-26 | 2019-08-06 | 河海大学 | 一种面向solidity语言的测试用例生成方法 |
CN110633200A (zh) * | 2018-06-25 | 2019-12-31 | 富士通株式会社 | 用于测试智能合约的方法和设备 |
CN110781082A (zh) * | 2019-10-14 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 接口的测试用例的生成方法及装置、介质和设备 |
CN111444092A (zh) * | 2020-03-24 | 2020-07-24 | 腾讯科技(深圳)有限公司 | 智能合约的测试方法、装置、电子设备及存储介质 |
CN111459786A (zh) * | 2019-01-18 | 2020-07-28 | 南京大学 | 一种基于变异fuzz的智能合约安全测试方法 |
CN111459504A (zh) * | 2020-03-30 | 2020-07-28 | 百度国际科技(深圳)有限公司 | 智能合约的处理方法、装置、设备和存储介质 |
CN111581077A (zh) * | 2020-04-08 | 2020-08-25 | 腾讯科技(深圳)有限公司 | 智能合约测试方法、装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10936445B2 (en) * | 2018-11-28 | 2021-03-02 | International Business Machines Corporation | Resource management |
US11057189B2 (en) * | 2019-07-31 | 2021-07-06 | Advanced New Technologies Co., Ltd. | Providing data authorization based on blockchain |
US10956903B2 (en) * | 2019-07-31 | 2021-03-23 | Advanced New Technologies Co., Ltd. | Obtaining a blockchain-based, real-name, electronic bill |
-
2020
- 2020-09-24 CN CN202011014034.8A patent/CN112202633B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110633200A (zh) * | 2018-06-25 | 2019-12-31 | 富士通株式会社 | 用于测试智能合约的方法和设备 |
CN111459786A (zh) * | 2019-01-18 | 2020-07-28 | 南京大学 | 一种基于变异fuzz的智能合约安全测试方法 |
CN110096439A (zh) * | 2019-04-26 | 2019-08-06 | 河海大学 | 一种面向solidity语言的测试用例生成方法 |
CN110781082A (zh) * | 2019-10-14 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 接口的测试用例的生成方法及装置、介质和设备 |
CN111444092A (zh) * | 2020-03-24 | 2020-07-24 | 腾讯科技(深圳)有限公司 | 智能合约的测试方法、装置、电子设备及存储介质 |
CN111459504A (zh) * | 2020-03-30 | 2020-07-28 | 百度国际科技(深圳)有限公司 | 智能合约的处理方法、装置、设备和存储介质 |
CN111581077A (zh) * | 2020-04-08 | 2020-08-25 | 腾讯科技(深圳)有限公司 | 智能合约测试方法、装置 |
Non-Patent Citations (3)
Title |
---|
Jian Shen.Intelligent Energy Scheduling Model Based on Block Chain Technology.《2018 5th International Conference on Information Science and Control Engineering (ICISCE)》.2019, * |
翟社平等.区块链关键技术中的数据一致性研究.《计算机技术与发展》.2018,(第09期), * |
黎北河.基于区块链的车联网安全通信技术研究.《中国优秀博硕士学位论文全文数据库(硕士)工程科技Ⅱ辑》.2020, * |
Also Published As
Publication number | Publication date |
---|---|
CN112202633A (zh) | 2021-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112202633B (zh) | 区块链网络的测试方法、装置、电子设备及可读存储介质 | |
CN111104392B (zh) | 一种数据库迁移方法、装置、电子设备及存储介质 | |
AU2019295815C1 (en) | Blockchain-based data verification method and apparatus, and electronic device | |
CN109062809B (zh) | 一种线上测试用例生成方法、装置及电子设备 | |
EP3178011B1 (en) | Method and system for facilitating terminal identifiers | |
US9350726B2 (en) | Recovery from rolling security token loss | |
CN107483221B (zh) | 一种跨应用问题排查方法、装置及系统 | |
CN109614262B (zh) | 业务校验方法、装置及计算机可读存储介质 | |
CN109255056B (zh) | 区块链的数据引用处理方法、装置、设备及存储介质 | |
CN110851308A (zh) | 一种测试方法、装置、电子设备及存储介质 | |
CN112184436B (zh) | 数据同步方法、电子设备及可读存储介质 | |
CN109600254B (zh) | 全链路日志的生成方法及相关系统 | |
CN114328029A (zh) | 一种应用资源的备份方法、装置、电子设备及存储介质 | |
CN111506358A (zh) | 更新容器配置的方法及装置 | |
CN111339551A (zh) | 数据的验证方法及相关装置、设备 | |
CN111198885A (zh) | 数据的处理方法及装置 | |
CN113792274A (zh) | 一种信息管理方法、管理系统和存储介质 | |
CN110674153B (zh) | 一种数据一致性检测方法、装置及电子设备 | |
CN109976828B (zh) | 一种配置文件的方法及装置 | |
CN112596867A (zh) | 一种悬挂事务处理方法及一种分布式数据库系统 | |
CN113450223A (zh) | 基于utxo模型的交易处理方法、装置、设备及存储介质 | |
CN113590180A (zh) | 一种检测策略生成方法及装置 | |
CN113392067A (zh) | 一种针对分布式数据库的数据处理方法、装置及系统 | |
CN112579858A (zh) | 一种数据爬取方法及装置 | |
CN106933888A (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 |