收藏 分销(赏)

(高清正版)DB32_T4197-2022 区块链信息系统通用测试规范.pdf

上传人:Fis****915 文档编号:367080 上传时间:2023-09-05 格式:PDF 页数:15 大小:344.88KB
下载 相关 举报
(高清正版)DB32_T4197-2022 区块链信息系统通用测试规范.pdf_第1页
第1页 / 共15页
(高清正版)DB32_T4197-2022 区块链信息系统通用测试规范.pdf_第2页
第2页 / 共15页
(高清正版)DB32_T4197-2022 区块链信息系统通用测试规范.pdf_第3页
第3页 / 共15页
(高清正版)DB32_T4197-2022 区块链信息系统通用测试规范.pdf_第4页
第4页 / 共15页
(高清正版)DB32_T4197-2022 区块链信息系统通用测试规范.pdf_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、ICS 25.040CCS L 70江苏省地方标准DB32DB32/T 41972022区块链信息系统通用测试规范BlockchainBlockchain informationinformation systemsystem generalgeneral testingtesting specificationspecification2022-01-28 发布2022-02-28 实施江苏省市场监督局发布DB32/T 41972022I目次前言.II1 范围.12 规范性引用文件.13 术语和定义.14 符号和缩略语.25 测试流程.25.1 制定测试方案.35.2 准备测试环境.35.3

2、 执行测试.35.4 分析测试结果.35.5 测试总结.36 测试模型.37 测试要求.47.1 功能性.47.2 性能效率.47.3 兼容性.57.4 易用性.57.5 可靠性.67.6 信息安全性.77.7 维护性.97.8 可移植性.9参考文献.11DB32/T 41972022II II前言本文件按照 GB/T 1.1-2020标准化工作导则 第 1 部分:标准化文件的结构和起草规则的规定起草。本文件的某些内容可能涉及专利。本文件的发布机构不承担识别专利的责任。本文件由江苏省软件和信息技术服务标准化技术委员会提出并归口。本文件起草单位:江苏省电子信息产品质量监督检验研究院(江苏省信息安

3、全测评中心)、苏州市同济区块链研究院有限公司。本文件主要起草人:张腾标、叶蔚、王坤、程恺、吴兰、王玉斐、施麟、李晓蓉、曹云。DB32/T 419720221区块链信息系统通用测试规范1 范围本文件界定了区块链信息系统测试相关的术语,规定了区块链信息系统的测试流程、测试模型与测试方法,提供了区块链信息系统功能性、性能效率、兼容性、易用性、可靠性、信息安全性、维护性及可移植性的技术要求与测试方法。本文件适用于区块链信息系统的测试。2 规范性引用文件下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(

4、包括所有的修改单)适用于本文件。GB/T 222392019信息安全技术 网络安全等级保护基本要求GB/T 250692010信息安全技术 术语GB/T 397862021信息安全技术 信息系统密码应用基本要求GM/Z 00012013密码术语3 术语和定义GB/T 250692010 和 GM/Z 00012013 界定的以及下列术语和定义适用于本文件。3.1区块链技术blockchain technique一种将数据区块顺序相连,并通过共识协议、数字签名、杂凑函数等密码学方式保证的抗篡改和不可伪造的分布式账本(3.5)。来源:ISO 22739:2020,3.6,有修改3.2密码技术cry

5、ptographic technique能够实现密码算法的加密、解密和认证等功能的技术。3.3区块链信息服务blockchain information service基于区块链技术或系统,通过互联网站、应用程序等形式,向社会公众或特定组织提供的信息服务。3.4区块链信息系统blockchain information system区块链技术或系统及其提供的区块链信息服务的统称。3.5DB32/T 419720222 2分布式账本distributed ledger可以在多个站点、不同地理位置或者多个机构组成的网络里实现共同维护及分享的资产数据库。3.6节点node具有特定功能的区块链组件,可

6、独立运行的单元。来源:ISO 22739:2020,3.50,有修改3.7交易transaction区块链双方或多方参与,并且会发生状态变更的一种基本区块组成单元。来源:ISO 22739:2020,3.77,有修改3.8共识机制consensus mechanism形成共同认识或达成一致意见的运作方式、方法和规则,保证了以去中心化方式维护区块链分布式账本的一致性。3.9智能合约smart contract存储在分布式账本中的计算机程序,由区块链用户部署,其任何执行结果都记录在分布式账本中。来源:ISO 22739:2020,3.724 符号和缩略语下列缩略语适用于本文件。CPU:中央处理器(

7、Central processing unit)I/O:输入/输出(Input/Output)API:应用编程接口(Application Programming InterfacCA:数字证书认证机构(Certificate Authority)SDK:软件开发工具包(Software Development Kit)ETL:数据抽取、转换、加载(Extract-Transform-LoaSM2:椭圆曲线密码算法(SM2 algorithm)SM3:密码杂凑算法(SM3 algorithm)SM4:分组密码算法(SM4 algorithm)DES:数据加密标准(Data Encryption

8、 StandarRSA-1024:RSA 算法(Rivest-Shamir-Adleman algorithm)SHA-1:安全哈希算法(Secure hash algorithm)MD5:消息摘要算法(Message-Digest algorithm)IP:网际互联协议(Internet Protocol)5 测试流程DB32/T 419720223区块链信息系统测试主要包括制定测试方案、准备测试环境、执行测试、分析测试结果和测试总结等过程。5.1 制定测试方案测试方案内容包括:a)确定测试目的:明确功能性测试、性能效率测试、兼容性测试、易用性测试、可靠性测试、信息安全性测试、维护性测试及可

9、移植性测试等是否符合区块链信息系统预定的设计目标。b)确定测试范围:从需求文档、设计说明及操作说明等文件中获得测试范围。c)确定测试指标:在需求文档、设计说明及操作说明等文件中获取明确的测试指标。部分测试指标需要针对区块链信息系统的业务特点、技术特点、应用情况及系统通用指标等进行综合分析获得。d)确定业务模型:根据区块链信息系统的主要功能及业务、关键业务信息及其处理流程、相应的业务量及比例确定业务模型。e)确定测试策略:明确测试目的、测试范围、测试指标及业务模型后,针对区块链信息系统用户需求确定测试策略。f)设计测试场景:根据业务模型模拟系统的实际应用情况确定测试场景。g)确定测试准则及风险:

10、明确测试准则,对测试过程进行风险评估,对可能遇到的导致测试失败的情况进行分析,分析其发生可能性及可能造成的影响,并提出规避办法指导测试工作。5.2 准备测试环境根据测试方案,准备被测区块链信息系统测试环境和测试数据。5.3 执行测试执行测试过程包括:h)设计测试用例:根据需求文档、设计说明、操作说明等文件,以及区块链信息系统的业务特点、技术特点、系统通用指标等设计测试用例。i)编写测试脚本:根据系统业务特点、技术特点、性能效率要求编写测试脚本,测试脚本可以使用测试工具录制完成,或通过手工编写完成。j)运行测试场景:测试用例和测试脚本准备完毕后,按照设计的测试场景进行设置,并执行测试。5.4 分

11、析测试结果不同的测试指标应选择适用的结果分析方法。在分析测试执行结果时,可根据需求文档、设计说明和操作说明等文件来确定是否符合测试指标要求。5.5 测试总结测试结果分析完成后,对测试结果进行汇总,形成测试总结报告,为分析区块链信息系统存在的问题提供依据。6 测试模型选取区块链信息系统在功能性、性能效率、兼容性、易用性、可靠性、信息安全性、维DB32/T 419720224 4护性和可移植性中的主要技术质量特性,形成区块链信息系统质量测试模型,见图 1。图 1 区块链信息系统质量测试模型7 测试要求7.1 功能性7.1.1 技术要求区块链信息系统账户体系、交易事务、区块、智能合约、区块链节点、共

12、识算法、共享账本、上链信息内容以及日志等功能应具备完备性、正确性及适合性。7.1.2 测试方法功能性的测试方法包括:a)a)依据需求文档、设计说明和使用说明等,针对功能、数据准确度和适用要求设计对应的测试用例,执行所有测试用例,收集和分析测试结果。b)b)分析被测试区块链信息系统功能需求和上链信息内容合规性功能需求,依据需求文档要求测试区块链信息系统是否实现了全部需求(包括需求文档中虽未明确说明但应满足的功能需求),测试各项功能是否可正确执行。c)c)分析被测试区块链信息系统计算精度需求,依据需求文档要求测试区块链信息系统是否实现了全部计算精度需求,测试区块链信息系统各项运算结果精度及准确性与

13、需求文档中说明是否一致。d)d)通过测试区块链信息系统是否出现未满足的功能或不符合预期的操作情况,验证区块链信息系统识别功能目标实现的程度。7.2 性能效率7.2.1 技术要求区块链信息系统交易事务与区块链节点性能效率应满足区块链信息服务产品说明中的要求。7.2.2 测试方法性能效率的测试方法包括:DB32/T 419720225e)录制区块链信息系统交易事务请求发送、查询脚本用例,设计测试场景,测试交易事务响应期间区块生成、广播、共识及同步是否符合特定时间要求。f)监测区块链节点 CPU 利用率、内存利用率、I/O 利用率、网络带宽使用率、存储、输入/输出和通道吞吐能力及功能处理的余量,测试

14、是否符合特定要求。g)记录区块链信息系统在正常运行时区块链闲置与非闲置节点数目,以及每个区块记录交易事务数量的大小,测试是否符合特定要求。7.3 兼容性7.3.1 技术要求区块链信息系统应能够与其他软硬件产品共存。区块链信息服务与其他两个或多个系统、产品或组件应能够交换信息并满足使用已交换的信息进行互操作的要求。具体要求包括:h)a)区块链信息系统在与同区块链技术或系统下其他信息系统、非同区块链技术或系统下其他信息系统,以及非区块链技术或系统下其他信息系统共享计算与网络环境和资源的条件下,应能够有效执行其所需的功能,并不会对其他系统造成负面影响。i)b)区块链信息服务应能够与其他信息系统进行数

15、据交换并正确使用已交换的信息。j)c)区块链信息系统所使用的共识机制应支持可插拔,能够兼容两种及以上共识算法。k)d)区块链信息系统底层数据库应具备支持主流数据库的能力。7.3.2 测试方法7.3.2.1 共存性共存性的测试方法包括:l)a)在区块链节点中,部署常用的操作系统软件、中间件软件、数据库软件、浏览器软件、字处理软件及其他工具软件,对区块链信息系统进行访问和业务处理,测试常用软件与区块链信息系统的共存性。m)b)测试同一区块链信息服务是否能够在不同版本的区块链技术或系统中运行。n)c)测试同一智能合约是否能够在不同版本的区块链技术或系统中运行。o)d)测试不同的共识算法能否在区块链信

16、息服务实现过程中被选择,或者整个区块链网络是否具备让开发者自定义共识算法的能力。p)e)测试区块链信息系统在不同类型数据库下的运行情况。7.3.2.2 互操作性测试区块链信息系统在与同区块链技术或系统下其他信息系统、非同区块链技术或系统下其他信息系统,以及非区块链技术或系统下其他信息系统是否能够进行数据交换并正确使用已交换的信息。7.4 易用性7.4.1 技术要求区块链信息系统智能合约、交易事务、共享账本及节点应具备网络搭建、节点增删、自动化部署、实例化、可视化、交易发起与查询、索引支持及区块链浏览器等方面的支持能力。区块链信息服务应满足可辨识性、易学性、易操作性、用户差错防御性、用户界面舒适

17、DB32/T 419720226 6性及易访问性的要求。具体要求包括:q)区块链信息系统应易于用户辨识其是否适合实际应用需求。r)在有效性、效率、抗风险和满意度特性方面应满足特定用户学习与使用的实际需求。s)区块链信息系统应具有易于操作和控制的属性。t)区块链信息系统应能够预防用户犯错。u)区块链信息系统用户界面应提供友好的交互功能。v)在特定的使用周境中,为了达到预定目标,区块链信息系统应能够被具有最广泛特征和能力的个体所使用。7.4.2 测试方法7.4.2.1 可辨识性测试区块链信息系统是否具备检查界面、用户可理解的数据输入格式及输出数据含义。7.4.2.2 易学性易学性的测试方法包括:a

18、)a)测试智能合约支持的编程语言。b)b)测试区块链信息系统是否具备恰当的术语、图形、文字、接口、背景信息、帮助说明、用户文档集及打印等功能,便于用户正确使用功能。7.4.2.3 易操作性易操作性的测试方法包括:c)a)测试区块链网络搭建、增删节点的复杂程度,以及区块链节点是否支持自动化部署。d)b)测试智能合约部署、实例化及调用所需的步骤,是否支持智能合约的升级更换。e)c)测试交易事务发起、查询复杂度,是否能够通过简单的操作步骤完成。7.4.2.4 用户差错防御性用户差错防御性的测试方法包括:f)a)测试区块链信息系统运行出错时,是否有正确的步骤帮助用户从错误中恢复。g)b)测试区块链信息

19、系统运行出错时,是否提供改正差错或报告差错的联系方式。h)c)测试针对区块链节点删除、智能合约销毁等重要操作是否支持可逆操作,或者在重要操作执行前对可能的后果进行主动警告提示。7.4.2.5 用户界面舒适性测试区块链智能合约是否提供可视化界面。7.4.2.6 易访问性易访问性的测试方法包括:i)a)测试是否支持通过区块链浏览器访问共享账本。j)b)测试共享账本是否支持建立索引。k)测试是否支持调用 API 或软件开发包访问共享账本。7.5 可靠性DB32/T 4197202277.5.1 技术要求区块链信息系统在节点可用性、网络抖动影响、热备节点、共享账本可用性、共享账本失效自动恢复同步、共享

20、账本失效转移同步、不同节点下的账户体系可用性及资产迁移等方面应满足成熟性、可用性、容错性及易恢复性要求。具体要求包括:l)区块链信息系统应具有避免因系统错误而导致失效的能力,这些错误包括系统自身错误、区块节点以及节点间错误等。m)区块链信息系统应在用户需要使用时能够进行访问和操作。n)在出现故障或违反指定接口的情况下,区块链信息系统应能够维持规定的性能级别。o)在失效发生后,区块链信息系统应具备重新建立原有性能级别并恢复直接受影响数据的能力,包括原有能力恢复的程度与速度,如共享账本失效后进行自动重启,以恢复与其他共享账本同步数据的程度与速度。7.5.2 测试方法7.5.2.1 成熟性成熟性的测

21、试方法包括:a)测试统一账户信息在不同类型的区块链节点上是否可用。b)测试区块链信息系统是否支持账户的资产迁移。7.5.2.2 可用性可用性的测试方法包括:c)测试区块链节点在一定数量下加入或退出后,区块链技术或系统、区块链信息服务等级和可用性是否受到影响。d)测试不同类型区块链节点在一定数量下失效后,区块链技术或系统、区块链信息服务等级和可用性是否受到影响。e)测试共享账本在一定数量下加入或退出后,区块链技术或系统、区块链信息服务等级和可用性是否受到影响。7.5.2.3 容错性容错性的测试方法包括:f)测试共享账本失效后是否支持自动重启并恢复与其他共享账本同步数据。g)测试共享账本失效后是否

22、支持启动备用方案与其他共享账本同步数据。7.5.2.4 易恢复性测试区块链节点是否支持灾备节点热备切换功能。7.6 信息安全性7.6.1 技术要求区块链信息系统信息生成、信息处理、信息发布、信息传播、信息存储及信息销毁等全生命周期阶段在交易数据、账本数据、智能合约、交易事务及区块链节点等方面应具备保密性、完整性、抗抵赖性、可核查性及真实性等信息安全防护能力。具体要求包括:h)区块链信息系统交易数据应采用符合国家密码标准的加密算法进行保密性保护。i)区块链信息系统应采用符合国家密码标准的数字签名算法进行完整性保护。DB32/T 419720228 8j)应对区块链信息系统中不同类型的节点设置不同

23、权限,明确权限所对应的信息服务内容,建立节点授权机制,并能够对节点权限进行技术管理,记录每次节点的权限操作。k)应采取技术手段实现区块链信息系统安全审计功能,对节点管理、账户管理及事务管理具有清晰的审计记录。l)区块链信息系统应具备区块链节点、信息服务等资源唯一标识识别能力,通过身份注册、核验、签发、更新、延期及注销等操作进行身份管理,支持采取不同方式对身份真实性进行验证,如数字签名等。7.6.2 测试方法7.6.2.1 保密性保密性的测试方法包括:m)测试区块链信息系统交易数据在存储和传输过程中,采用的加密算法是否支持国家商用密码推荐的加密算法,如 SM2、SM4 等。n)测试区块链信息系统

24、交易数据使用的加密算法是否存在高危风险算法,如 DES、RSA-1024 等。o)测试区块链加密算法的软件或硬件实现方式。p)测试区块链加解密密钥的生成、存储、分发、导入、导出、使用、备份、恢复、归档及销毁等全生命周期管理是否在安全的环境下进行。7.6.2.2 完整性完整性的测试方法包括:q)测试区块链信息系统是否支持国家商用密码数字签名算法,如 SM2、SM3 等。r)测试区块链信息系统使用的摘要算法是否存在高危风险算法,如 MD5、SHA-1 等。s)测试区块链数字签名算法的软件或硬件实现方式。t)测试区块链信息系统是否采用数字签名技术保证账本数据在生成、传输、存储及调用等过程中不被非授权

25、更改或破坏。7.6.2.3 抗抵赖性抗抵赖性的测试方法包括:u)询问区块链智能合约部署前是否进行漏洞检测和代码审计。必要时,在授权情况下,可以对智能合约进行漏洞检测和代码审计,测试智能合约是否存在安全漏洞。v)测试区块链智能合约是否存在重放攻击漏洞。w)测试区块链信息系统执行发起和查询交易事务等操作时是否采用数字签名等技术实现实体行为的抗抵赖性。7.6.2.4 可核查性可核查性的测试方法包括:x)测试区块链系统审计记录功能,验证区块链节点是否具有创建时间、运行状态、节点 IP 地址及节点所有者身份信息等。y)测试区块链系统是否留存用户变更身份信息记录,核查并更新用户账户绑定的身份信息,确保用户

26、身份信息真实有效。DB32/T 4197202297.6.2.5 真实性真实性的测试方法包括:z)测试创建区块链账户时,是否保证每个账户具有唯一的身份标识,是否支持使用符合国家密码管理规定的非对称加密算法(如 SM2)进行身份认证。aa)测试区块链节点是否采用数字证书等方式实现节点身份标识与鉴别。7.7 维护性7.7.1 技术要求区块链信息系统在区块链节点、智能合约、底层数据库及区块链扩展开发等方面应具备模块化、可重用、易分析、易修改及易测试等维护性。具体要求包括:ab)应能够在不影响区块链信息系统正常运行情况下增加、删除节点,以及更改节点类型。ac)区块链信息系统应支持可插拔插件、SDK、A

27、PI、ETL 以及集成云平台,并提供相应接口。ad)区块链信息系统应提供预期变更对系统的影响、诊断系统缺陷或失效原因及识别待修改部分的功能。ae)区块链节点、底层数据库应能够有效地修改、切换,且不会引入缺陷或降低现有系统质量。af)应具备系统测试准则,便于对区块链信息系统执行测试。7.7.2 测试方法7.7.2.1 模块化测试在增加、删除节点,更改节点类型的情况下,其他区块链模块是否能够正常运行。7.7.2.2 可重用性测试区块链信息系统是否支持可插拔插件、SDK、API、ETL 以及集成云平台,并提供相应的接口。7.7.2.3 易分析性执行测试账户、区块链节点的添加、删除及交易数据更改等操作

28、,测试系统是否提供对应操作分析说明。7.7.2.4 易修改性易修改性的测试方法包括:ag)测试区块链节点、账户体系及智能合约的修改是否导致区块链信息系统产生新的缺陷或者可用性受到影响。ah)对区块链底层数据库进行切换,测试是否导致系统可用性受到影响。7.7.2.5 易测试性查看区块链信息系统相关文档手册(如操作手册),是否具有带有预期的测试操作指南,便于测试人员或用户对系统进行验证。7.8 可移植性DB32/T 4197202210107.8.1 技术要求区块链技术或系统、区块链信息服务、智能合约、账本数据应在移植功能支持、移植操作复杂度及完整度等方面符合适应性、易安装性及易替换性要求。具体要

29、求包括:ai)区块链信息系统应能够有效地适应不同软件、硬件或者其他运行(或使用)环境。aj)区块链信息系统应能够成功地安装和卸载。ak)在同一个区块链技术或系统下,应能够支持替换另外一个相同用途的区块链信息服务。7.8.2 测试方法7.8.2.1 适应性适应性的测试方法包括:al)查看区块链信息系统产品说明书或需求规格说明书,测试区块链技术或系统、区块链信息服务在所声明的软硬件环境下是否能够成功移植。am)测试区块链智能合约在所声明的软硬件环境下是否能够成功移植。an)测试区块链账本数据在所声明的软硬件环境下是否能够成功移植。7.8.2.2 易安装性易安装性的测试方法包括:ao)测试区块链技术

30、或系统、区块链信息服务在所声明的软硬件环境下能够成功安装所需的操作步骤及操作时间。ap)测试区块链智能合约在所声明的软硬件环境下能够成功安装所需的操作步骤及操作时间。7.8.2.3 易替换性测试同一区块链技术或系统下,替换当前区块链信息服务为其他同用途的区块链信息服务后,区块链信息系统是否正常运行。DB32/T 4197202211参 考 文 献1 GB/T 25000.10-2016 系统与软件工程 系统与软件质量要求和评价(SQuaR 第 10部分:系统与软件质量模型2 GB/T 25000.51-2016 系统与软件工程 系统与软件质量要求和评价(SQuaR 第 51部分:就绪可用软件产品(RUSP)的质量要求和测试细则3 ISO/IEC 22739:2020 Blockchain and distributed ledger technologies Vocabulary

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 通信科技 > 信息系统

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服