DB32∕T 4197-2022 区块链信息系统通 用测试规范_第1页
DB32∕T 4197-2022 区块链信息系统通 用测试规范_第2页
DB32∕T 4197-2022 区块链信息系统通 用测试规范_第3页
DB32∕T 4197-2022 区块链信息系统通 用测试规范_第4页
DB32∕T 4197-2022 区块链信息系统通 用测试规范_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ICS25.040

CCSL70

DB32

江苏省地方标准

DB32/T4197—2022

区块链信息系统通用测试规范

Blockchaininformationsystemgeneraltestingspecification

2022-01-2728发布2022-02-2728实施

江苏省市场监督局发布

DB32/T4197—2022

目次

前言........................................................................II域代码已更改

1范围.......................................................................1域代码已更改

2规范性引用文件..............................................................1域代码已更改

3术语和定义..................................................................1域代码已更改

4符号和缩略语................................................................2域代码已更改

5测试流程...................................................................23域代码已更改

5.1制定测试方案..........................................................3域代码已更改

5.2准备测试环境..........................................................3域代码已更改

5.3执行测试..............................................................3域代码已更改

5.4分析测试结果..........................................................3域代码已更改

5.5测试总结..............................................................3域代码已更改

6测试模型....................................................................3域代码已更改

7测试要求....................................................................4域代码已更改

7.1功能性................................................................4域代码已更改

7.2性能效率..............................................................4域代码已更改

7.3兼容性................................................................5域代码已更改

7.4易用性................................................................5域代码已更改

7.5可靠性................................................................6域代码已更改

7.6信息安全性............................................................7域代码已更改

7.7维护性................................................................9域代码已更改

7.8可移植性..............................................................9域代码已更改

参考文献.....................................................................11域代码已更改

I

DB32/T4197—2022

前言

本文件按照GB/T1.1-2020《标准化工作导则第1部分:标准化文件的结构和起草规

则》的规定起草。

本文件的某些内容可能涉及专利。本文件的发布机构不承担识别专利的责任。

本文件由江苏省软件和信息技术服务标准化技术委员会提出并归口。

本文件起草单位:江苏省电子信息产品质量监督检验研究院(江苏省信息安全测评中

心)、苏州市同济区块链研究院有限公司。

本文件主要起草人:张腾标、叶蔚、王坤、程恺、吴兰、王玉斐、施麟、李晓蓉、曹云。

II

DB32/T4197—2022

区块链信息系统通用测试规范

1范围

本文件界定了区块链信息系统测试相关的术语,规定了区块链信息系统的测试流程、测

试模型与测试方法,提供了区块链信息系统功能性、性能效率、兼容性、易用性、可靠性、

信息安全性、维护性及可移植性的技术要求与测试方法。

本文件适用于区块链信息系统的测试。

2规范性引用文件

下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期

的引用文件,仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括

所有的修改单)适用于本文件。

GB/T22239—2019信息安全技术网络安全等级保护基本要求

GB/T25069—2010信息安全技术术语

GB/T39786—2021信息安全技术信息系统密码应用基本要求

GM/Z0001—2013密码术语

3术语和定义

GB/T25069—2010和GM/Z0001—2013界定的以及下列术语和定义适用于本文件。

3.1

区块链技术blockchaintechnique

一种将数据区块顺序相连,并通过共识协议、数字签名、杂凑函数等密码学方式保证的

抗篡改和不可伪造的分布式账本(3.5)。

[来源:ISO22739:2020,3.6,有修改]

3.2

密码技术cryptographictechnique

能够实现密码算法的加密、解密和认证等功能的技术。

3.3

区块链信息服务blockchaininformationservice

基于区块链技术或系统,通过互联网站、应用程序等形式,向社会公众或特定组织提供

的信息服务。

3.4

区块链信息系统blockchaininformationsystem

区块链技术或系统及其提供的区块链信息服务的统称。

3.5

1

DB32/T4197—2022

分布式账本distributedledger

可以在多个站点、不同地理位置或者多个机构组成的网络里实现共同维护及分享的资产

数据库。

3.6

节点node

具有特定功能的区块链组件,可独立运行的单元。

[来源:ISO22739:2020,3.50,有修改]

3.7

交易transaction

区块链双方或多方参与,并且会发生状态变更的一种基本区块组成单元。

[来源:ISO22739:2020,3.77,有修改]

3.8

共识机制consensusmechanism

形成共同认识或达成一致意见的运作方式、方法和规则,保证了以去中心化方式维护区

块链分布式账本的一致性。

3.9

智能合约smartcontract

存储在分布式账本中的计算机程序,由区块链用户部署,其任何执行结果都记录在分布

式账本中。

[来源:ISO22739:2020,3.72]

4符号和缩略语

下列缩略语适用于本文件。

CPU:中央处理器(Centralprocessingunit)

I/O:输入/输出(Input/Output)

API:应用编程接口(ApplicationProgrammingInterfac

CA:数字证书认证机构(CertificateAuthority)

SDK:软件开发工具包(SoftwareDevelopmentKit)

ETL:数据抽取、转换、加载(Extract-Transform-Loa

SM2:椭圆曲线密码算法(SM2algorithm)

SM3:密码杂凑算法(SM3algorithm)

SM4:分组密码算法(SM4algorithm)

DES:数据加密标准(DataEncryptionStandar

RSA-1024:RSA算法(Rivest-Shamir-Adlemanalgorithm)

SHA-1:安全哈希算法(Securehashalgorithm)

MD5:消息摘要算法(Message-Digestalgorithm)

IP:网际互联协议(InternetProtocol)

5测试流程

2

DB32/T4197—2022

区块链信息系统测试主要包括制定测试方案、准备测试环境、执行测试、分析测试结果

和测试总结等过程。

5.1制定测试方案

测试方案内容包括:

a)确定测试目的:明确功能性测试、性能效率测试、兼容性测试、易用性测试、可靠

性测试、信息安全性测试、维护性测试及可移植性测试等是否符合区块链信息系统

预定的设计目标。

b)确定测试范围:从需求文档、设计说明及操作说明等文件中获得测试范围。

c)确定测试指标:在需求文档、设计说明及操作说明等文件中获取明确的测试指标。

部分测试指标需要针对区块链信息系统的业务特点、技术特点、应用情况及系统通

用指标等进行综合分析获得。

d)确定业务模型:根据区块链信息系统的主要功能及业务、关键业务信息及其处理流

程、相应的业务量及比例确定业务模型。

e)确定测试策略:明确测试目的、测试范围、测试指标及业务模型后,针对区块链信

息系统用户需求确定测试策略。

f)设计测试场景:根据业务模型模拟系统的实际应用情况确定测试场景。

g)确定测试准则及风险:明确测试准则,对测试过程进行风险评估,对可能遇到的导

致测试失败的情况进行分析,分析其发生可能性及可能造成的影响,并提出规避办

法指导测试工作。

5.2准备测试环境

根据测试方案,准备被测区块链信息系统测试环境和测试数据。

5.3执行测试

执行测试过程包括:

h)设计测试用例:根据需求文档、设计说明、操作说明等文件,以及区块链信息系统

的业务特点、技术特点、系统通用指标等设计测试用例。

i)编写测试脚本:根据系统业务特点、技术特点、性能效率要求编写测试脚本,测试

脚本可以使用测试工具录制完成,或通过手工编写完成。

j)运行测试场景:测试用例和测试脚本准备完毕后,按照设计的测试场景进行设置,

并执行测试。

5.4分析测试结果

不同的测试指标应选择适用的结果分析方法。在分析测试执行结果时,可根据需求文档、

设计说明和操作说明等文件来确定是否符合测试指标要求。

5.5测试总结

测试结果分析完成后,对测试结果进行汇总,形成测试总结报告,为分析区块链信息系

统存在的问题提供依据。

6测试模型

选取区块链信息系统在功能性、性能效率、兼容性、易用性、可靠性、信息安全性、维

3

DB32/T4197—2022

护性和可移植性中的主要技术质量特性,形成区块链信息系统质量测试模型,见图1。

图1区块链信息系统质量测试模型

7测试要求

7.1功能性

7.1.1技术要求

区块链信息系统账户体系、交易事务、区块、智能合约、区块链节点、共识算法、共享

账本、上链信息内容以及日志等功能应具备完备性、正确性及适合性。

7.1.2测试方法

功能性的测试方法包括:

a)a)依据需求文档、设计说明和使用说明等,针对功能、数据准确度和适用要求设

计对应的测试用例,执行所有测试用例,收集和分析测试结果。

b)b)分析被测试区块链信息系统功能需求和上链信息内容合规性功能需求,依据需

求文档要求测试区块链信息系统是否实现了全部需求(包括需求文档中虽未明确说

明但应满足的功能需求),测试各项功能是否可正确执行。

c)c)分析被测试区块链信息系统计算精度需求,依据需求文档要求测试区块链信息

系统是否实现了全部计算精度需求,测试区块链信息系统各项运算结果精度及准确

性与需求文档中说明是否一致。

d)d)通过测试区块链信息系统是否出现未满足的功能或不符合预期的操作情况,验

证区块链信息系统识别功能目标实现的程度。

7.2性能效率

7.2.1技术要求

区块链信息系统交易事务与区块链节点性能效率应满足区块链信息服务产品说明中的

要求。

7.2.2测试方法

性能效率的测试方法包括:

4

DB32/T4197—2022

e)录制区块链信息系统交易事务请求发送、查询脚本用例,设计测试场景,测试交易

事务响应期间区块生成、广播、共识及同步是否符合特定时间要求。

f)监测区块链节点CPU利用率、内存利用率、I/O利用率、网络带宽使用率、存储、

输入/输出和通道吞吐能力及功能处理的余量,测试是否符合特定要求。

g)记录区块链信息系统在正常运行时区块链闲置与非闲置节点数目,以及每个区块记

录交易事务数量的大小,测试是否符合特定要求。

7.3兼容性

7.3.1技术要求

区块链信息系统应能够与其他软硬件产品共存。区块链信息服务与其他两个或多个系

统、产品或组件应能够交换信息并满足使用已交换的信息进行互操作的要求。具体要求包括:

h)a)区块链信息系统在与同区块链技术或系统下其他信息系统、非同区块链技术或

系统下其他信息系统,以及非区块链技术或系统下其他信息系统共享计算与网络环

境和资源的条件下,应能够有效执行其所需的功能,并不会对其他系统造成负面影

响。

i)b)区块链信息服务应能够与其他信息系统进行数据交换并正确使用已交换的信

息。

j)c)区块链信息系统所使用的共识机制应支持可插拔,能够兼容两种及以上共识算

法。

k)d)区块链信息系统底层数据库应具备支持主流数据库的能力。

7.3.2测试方法

7.3.2.1共存性

共存性的测试方法包括:

l)a)在区块链节点中,部署常用的操作系统软件、中间件软件、数据库软件、浏览

器软件、字处理软件及其他工具软件,对区块链信息系统进行访问和业务处理,测

试常用软件与区块链信息系统的共存性。

m)b)测试同一区块链信息服务是否能够在不同版本的区块链技术或系统中运行。

n)c)测试同一智能合约是否能够在不同版本的区块链技术或系统中运行。

o)d)测试不同的共识算法能否在区块链信息服务实现过程中被选择,或者整个区块

链网络是否具备让开发者自定义共识算法的能力。

p)e)测试区块链信息系统在不同类型数据库下的运行情况。

7.3.2.2互操作性

测试区块链信息系统在与同区块链技术或系统下其他信息系统、非同区块链技术或系统

下其他信息系统,以及非区块链技术或系统下其他信息系统是否能够进行数据交换并正确使

用已交换的信息。

7.4易用性

7.4.1技术要求

区块链信息系统智能合约、交易事务、共享账本及节点应具备网络搭建、节点增删、自

动化部署、实例化、可视化、交易发起与查询、索引支持及区块链浏览器等方面的支持能力。

区块链信息服务应满足可辨识性、易学性、易操作性、用户差错防御性、用户界面舒适

5

DB32/T4197—2022

性及易访问性的要求。

具体要求包括:

q)区块链信息系统应易于用户辨识其是否适合实际应用需求。

r)在有效性、效率、抗风险和满意度特性方面应满足特定用户学习与使用的实际需求。

s)区块链信息系统应具有易于操作和控制的属性。

t)区块链信息系统应能够预防用户犯错。

u)区块链信息系统用户界面应提供友好的交互功能。

v)在特定的使用周境中,为了达到预定目标,区块链信息系统应能够被具有最广泛特

征和能力的个体所使用。

7.4.2测试方法

7.4.2.1可辨识性

测试区块链信息系统是否具备检查界面、用户可理解的数据输入格式及输出数据含义。

7.4.2.2易学性

易学性的测试方法包括:

a)a)测试智能合约支持的编程语言。

b)b)测试区块链信息系统是否具备恰当的术语、图形、文字、接口、背景信息、帮

助说明、用户文档集及打印等功能,便于用户正确使用功能。

7.4.2.3易操作性

易操作性的测试方法包括:

c)a)测试区块链网络搭建、增删节点的复杂程度,以及区块链节点是否支持自动化

部署。

d)b)测试智能合约部署、实例化及调用所需的步骤,是否支持智能合约的升级更换。

e)c)测试交易事务发起、查询复杂度,是否能够通过简单的操作步骤完成。

7.4.2.4用户差错防御性

用户差错防御性的测试方法包括:

f)a)测试区块链信息系统运行出错时,是否有正确的步骤帮助用户从错误中恢复。

g)b)测试区块链信息系统运行出错时,是否提供改正差错或报告差错的联系方式。

h)c)测试针对区块链节点删除、智能合约销毁等重要操作是否支持可逆操作,或者

在重要操作执行前对可能的后果进行主动警告提示。

7.4.2.5用户界面舒适性

测试区块链智能合约是否提供可视化界面。

7.4.2.6易访问性

易访问性的测试方法包括:

i)a)测试是否支持通过区块链浏览器访问共享账本。

j)b)测试共享账本是否支持建立索引。

k)测试是否支持调用API或软件开发包访问共享账本。

7.5可靠性

6

DB32/T4197—2022

7.5.1技术要求

区块链信息系统在节点可用性、网络抖动影响、热备节点、共享账本可用性、共享账本

失效自动恢复同步、共享账本失效转移同步、不同节点下的账户体系可用性及资产迁移等方

面应满足成熟性、可用性、容错性及易恢复性要求。具体要求包括:

l)区块链信息系统应具有避免因系统错误而导致失效的能力,这些错误包括系统自身

错误、区块节点以及节点间错误等。

m)区块链信息系统应在用户需要使用时能够进行访问和操作。

n)在出现故障或违反指定接口的情况下,区块链信息系统应能够维持规定的性能级

别。

o)在失效发生后,区块链信息系统应具备重新建立原有性能级别并恢复直接受影响数

据的能力,包括原有能力恢复的程度与速度,如共享账本失效后进行自动重启,以

恢复与其他共享账本同步数据的程度与速度。

7.5.2测试方法

7.5.2.1成熟性

成熟性的测试方法包括:

a)测试统一账户信息在不同类型的区块链节点上是否可用。

b)测试区块链信息系统是否支持账户的资产迁移。

7.5.2.2可用性

可用性的测试方法包括:

c)测试区块链节点在一定数量下加入或退出后,区块链技术或系统、区块链信息服务

等级和可用性是否受到影响。

d)测试不同类型区块链节点在一定数量下失效后,区块链技术或系统、区块链信息服

务等级和可用性是否受到影响。

e)测试共享账本在一定数量下加入或退出后,区块链技术或系统、区块链信息服务等

级和可用性是否受到影响。

7.5.2.3容错性

容错性的测试方法包括:

f)测试共享账本失效后是否支持自动重启并恢复与其他共享账本同步数据。

g)测试共享账本失效后是否支持启动备用方案与其他共享账本同步数据。

7.5.2.4易恢复性

测试区块链节点是否支持灾备节点热备切换功能。

7.6信息安全性

7.6.1技术要求

区块链信息系统信息生成、信息处理、信息发布、信息传播、信息存储及信息销毁等全

生命周期阶段在交易数据、账本数据、智能合约、交易事务及区块链节点等方面应具备保密

性、完整性、抗抵赖性、可核查性及真实性等信息安全防护能力。具体要求包括:

h)区块链信息系统交易数据应采用符合国家密码标准的加密算法进行保密性保护。

i)区块链信息系统应采用符合国家密码标准的数字签名算法进行完整性保护。

7

DB32/T4197—2022

j)应对区块链信息系统中不同类型的节点设置不同权限,明确权限所对应的信息服务

内容,建立节点授权机制,并能够对节点权限进行技术管理,记录每次节点的权限

操作。

k)应采取技术手段实现区块链信息系统安全审计功能,对节点管理、账户管理及事务

管理具有清晰的审计记录。

l)区块链信息系统应具备区块链节点、信息服务等资源唯一标识识别能力,通过身份

注册、核验、签发、更新、延期及注销等操作进行身份管理,支持采取不同方式对

身份真实性进行验证,如数字签名等。

7.6.2测试方法

7.6.2.1保密性

保密性的测试方法包括:

m)测试区块链信息系统交易数据在存储和传输过程中,采用的加密算法是否支持国家

商用密码推荐的加密算法,如SM2、SM4等。

n)测试区块链信息系统交易数据使用的加密算法是否存在高危风险算法,如DES、

RSA-1024等。

o)测试区块链加密算法的软件或硬件实现方式。

p)测试区块链加解密密钥的生成、存储、分发、导入、导出、使用、备份、恢复、归

档及销毁等全生命周期管理是否在安全的环境下进行。

7.6.2.2完整性

完整性的测试方法包括:

q)测试区块链信息系统是否支持国家商用密码数字签名算法,如SM2、SM3等。

r)测试区块链信息系统使用的摘要算法是否存在高危风险算法,如MD5、SHA-1等。

s)测试区块链数字签名算法的软件或硬件实现方式。

t)测试区块链信息系统是否采用数字签名技术保证账本数据在生成、传输、存储及调

用等过程中不被非授权更改或破坏。

7.6.2.3抗抵赖性

抗抵赖性的测试方法包括:

u)询问区块链智能合约部署前是否进行漏洞检测和代码审计。必要时,在授权情况下,

可以对智能合约进行漏洞检测和代码审计,测试智能合约是否存在安全漏洞。

v)测试区块链智能合约是否存在重放攻击漏洞。

w)测试区块链信息系统执行发起和查询交易事务等操作时是否采用数字签名等技术

实现实体行为的抗抵赖性。

7.6.2.4可核查性

可核查性的测试方法包括:

x)测试区块链系统审计记录功能,验证区块链节点是否具有创建时间、运行状态、节

点IP地址及节点所有者身份信息等。

y)测试区块链系统是否留存用户变更身份信息记录,核查并更新用户账户绑定的身份

信息,确保用户身份信息真实有效。

8

DB32/T4197—2022

7.6.2.5真实性

真实性的测试方法包括:

z)测试创建区块链账户时,是否保证每个账户具有唯一的身份标识,是否支持使用符

合国家密码管理规定的非对称加密算法(如SM2)进行身份认证。

aa)测试区块链节点是否采用数字证书等方式实现节点身份标识与鉴别。

7.7维护性

7.7.1技术要求

区块链信息系统在区块链节点、智能合约、底层数据库及区块链扩展开发等方面应具备

模块化、可重用、易分析、易修改及易测试等维护性。具体要求包括:

bb)应能够在不影响区块链信息系统正常运行情况下增加、删除节点,以及更改节点类

型。

cc)区块链信息系统应支持可插拔插件、SDK、API、ETL以及集成云平台,并提供相应

接口。

dd)区块链信息系统应提供预期变更对系统的影响、诊断系统缺陷或失效原因及识别待

修改部分的功能。

ee)区块链节点、底层数据库应能够有效地修改、切换,且不会引入缺陷或降低现有系

统质量。

ff)应具备系统测试准则,便于对区块链信息系统执行测试。

7.7.2测试方法

7.7.2.1模块化

测试在增加、删除节点,更改节点类型的情况下,其他区块链模块是否能够正常运行。

7.7.2.2可重用性

测试区块链信息系统是否支持可插拔插件、SDK、API、ETL以及集成云平台,并提供相

应的接口。

7.7.2.3易分析性

执行测试账户、区块链节点的添加、删除及交易数据更改等操作,测试系统是否提供对

应操作分析说明。

7.7.2.4易修改性

易修改性的测试方法包括:

gg)测试区块链节点、账户体系及智能合

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论