基于区块链应用软件的测试标准_第1页
基于区块链应用软件的测试标准_第2页
基于区块链应用软件的测试标准_第3页
基于区块链应用软件的测试标准_第4页
基于区块链应用软件的测试标准_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

1基于区块链应用软件的通用测试标准本标准规定了基于区块链应用软件的术语和定义、质量模型、测试要求以及测试过程等。本标准适用于基于区块链应用软件的通用测试方法。2规范性引用文件下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅所注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB∕T25000.10-2016系统与软件工程系统与软件质量要求和评价(SQuaRE)第10部分:系统与软件质量模型GB∕T25000.51-2016系统与软件工程系统与软件质量要求和评价(SQuaRE)第51部分:就绪可用软件产品(RUSP)的质量要求和测试细则GB/T22239-2019信息安全技术网络安全等级保护基本要求T/CESA6001-2016区块链参考架构3术语和定义下列术语和定义适用于本文件。3.1区块链blockchain一种在对等网络环境下,通过透明和可信规则,构建不可伪造、不可篡改和可追溯的块链式数据结构,实现和管理事务处理的模式。3.2区块链平台blockchainplatform实现区块链的信息化平台。3.3区块头blockheader区块头包含当前区块的属性信息和前一个区块顺序固定信息。属性信息包括当前区块的时间戳、区块序号等。前一个区块顺序固定信息,一般是用能唯一标识前一个区块特征的hash值代表。3.4共识节点consensusnode负责账本数据一致性的节点。3.5共识协议consensusprotocol分布式账本系统中各节点间为达成一致采用的计算方法。3.62智能合约Smartcontract以数字形式定义的能够自动执行条款的合约。注:在区块链技术领域,智能合约是指基于预订事件触发、不可篡改、自动执行的计算机程序。3.7加密encipherment/encryption对数据进行密码变换以产生密文的过程。一般包含一个变换集合,该变换使用一套算法和一套输入参量。输入参量通常被称为密钥。3.8对等网络peer-to-peernetwork一种仅包含对控制和操作能力等效的节点的计算机网络。4系统边界区块链平台是实现区块链的信息化平台,其主要提供共识服务、链式数据结构(分布式账本)、身份管理、权限控制、加密服务、智能合约服务等功能支持,以及API以及扩展能力等。区块链应用软件系统是基于业务需求在区块链平台上开发的应用软件系统,通过区块链平台提供的接口服务与区块链平台进行集成,并在业务应用与区块链平台账本间实现数据的交互,以达成具体的业务应用目标。区块链技术在金融服务、供应链管理、文化娱乐、智能制造、社会公益和教育就业等有广泛的应用。区块链应用软件系统架构大致分为4层:用户层、服务层、核心层、基础层。a)用户层包括用户功能、业务功能和管理功能;b)服务层包括接入管理、节点管理和账本应用功能;c)核心层则包括共识机制、账本技术、加密、数字签名、摘要、时序服务以及智能合约功能;d)基础层包括对等网络、存储服务以及计算功能。具体如图1所示:图1区块链应用软件系统架构图5质量模型3本标准参考软件GB/T25000.10-2016中的质量模型,分别从功能性、性能效率、兼容性、易用性、可靠性、信息安全性、维护性和可移植性八个方面阐述区块链应用软件系统测试要求。其中区块链应用软件系统质量模型如下图2所示。图2区块链应用软件系统质量模型6测试要求6.1功能性区块链应用软件基本功能测试可参见GB∕T25000.51-2016系统与软件工程系统与软件质量要求和评价(SQuaRE)第51部分:就绪可用软件产品(RUSP)的质量要求和测试细则中相关要求并根据应用软件系统的实际功能进行测试,同时其功能测试还需包括如下内容:a)共识机制b)智能合约c)节点间通信d)账本技术e)成员管理f)状态管理g)接口管理6.1.1共识机制共识机制是区块链网络中各节点对在区块链应用软件系统中进行事务或状态的验证、记录、修改等行为达成一致确认的方法。不同区块链应用软件系统,会根据自身的业务需求而选择不同的共识算法来实现共识机制,因此,共识机制的功能测试点主要包括如下:a)区块链应用软件系统如果支持多种共识算法,则需测试:1)相关文档是否说明共识算法切换方式以及条件;2)切换共识机制后,全网是否能达到共识且系统正常运行。b)区块链应用软件系统的任意节点发起交易更新账本后,每个节点的交易状态写操作结果是否一致,每个节点的最终状态是否一致;c)区块链应用软件系统的任意节点出现异常情况(如节点断电、重启、网络波动等)下,每个节点恢复后,其节点数据能否正常恢复,交易的状态是否一致,能否参与共识流程;4d)同样的交易在相同/不同节点多次运行,每个节点的交易执行结果是否唯一且一致;e)任意节点发起交易,网络上各个节点均可终止交易;f)区块链应用软件系统共识算法如果限制节点数量,则需测试:1)相关文档是否声明共识算法最少参与的节点数量,且在最少节点数量上能否达成共识,系统正常运行;2)相关文档是否声明共识算法最多支持的节点数量,且在最多节点数量上能否达成共识,系统正常运行。g)区块链应用软件系统共识机制的容错阈值测试包括如下:1)相关文档是否声明共识机制的容错阈值,即可接受的故障或恶意共识节点的比例;2)当故障/恶意节点数<阈值时,是否可达成共识;3)当故障/恶意节点数>阈值时,是否不可达成共识。6.1.2智能合约a)正确调用智能合约,是否能调用成功且获得正确结果;b)错误调用智能合约,是否调用失败并给出对应提示信息;c)在不同节点上调用执行智能合约,结果是否一致;d)多个节点同时调用执行智能合约,结果是否一致;e)区块链应用软件系统调用智能合约执行异常操作能否正常撤回;f)区块链应用软件系统升级后,能否正确运行智能合约;g)区块链应用软件系统如果支持多种智能合约,则需要测试:1)相关文档是否说明不同智能合约执行环境的隔离方法;2)不同智能合约的业务数据:.存储是否隔离,且未经授权不可访问;.运行是否隔离,传输互不干扰。h)在部署和调用执行智能合约时,是否建立严格有效的授权控制机制,即成员是否只能在授权范围内部署、调用、执行智能合约。i)生命周期管理1)区块链应用软件系统是否提供智能合约全生命周期管理,包括部署、运行、升级、冻结、解冻以及废止等一系列功能管理;2)授权用户是否只能在授权节点部署智能合约;3)未授权用户或未授权节点是否不可部署智能合约;4)不同节点部署的智能合约是否一致且标识唯一;5)智能合约升级/重新部署后,原智能合约的数据是否能正确迁移至新智能合约;6)智能合约冻结后,是否不可提供服务;7)智能合约冻结后是否可解冻,解冻后是否可重新提供服务;8)智能合约废止后,是否不可提供服务;9)交易信息是否包含智能合约版本信息;6.1.3节点间通信5区块链节点通常包括共识节点和接入节点。其中共识节点参与共识过程,生成区块;接入节点用于外部应用系统同步账本信息和提交事务处理。并由对等网络协议组织各个网络中的节点,节点间通过点对点通信协议完成信息交换。节点的功能测试点主要包括如下内容:a)是否可动态配置节点通信的组网方式;b)任意节点发生故障,是否不影响其他节点间通信;c)节点是否有心跳机制:通过心跳机制维护节点状态,定时广播,确保状态同步和账本的一致性;d)节点是否有异常恢复方案,如节点状态检查、定时广播、区块状态同步、异常连接自动断开,自动重连等,确保节点异常恢复后能迅速与其他节点建立连接进行通信;e)消息转发的接收节点是否可配置,配置为接收节点后,该节点能否收发消息;f)网络消息标识是否唯一;g)同一消息在转发前后是否一致;h)消息转发范围,则需测试:1)相关文档是否明确定义消息转发范围;2)在范围内,是否可接收到转发消息;3)在范围外,是否无法接收到转发消息。i)接受节点异常情况(断电、重启、网络波动等)恢复后,能否恢复转发消息功能;j)节点加入1)新节点是否可动态加入网络,且不影响系统通信;2)新节点是否通过共识(共识或记账节点多方审核)后才可加入网络;3)新节点的加密算法是否与加入的网络中的加密算法保持一致才可加入网络;k)节点退出1)不同类型/数量的节点是否可动态退出网络,且不影响系统通信;2)节点退出后重新加入网络,是否通过共识(共识或记账节点多方审核),才可加入网络;3)节点退出重新加入网络后,节点能否正常运行;与其他节点恢复通信后,节点账本数据是否与其他节点保持一致,且最终状态也保持一致。6.1.4账本技术账本技术是指区块链中分布式数据的存储机制,通过不同节点对账本的共同记录与维护,形成区块链系统中数据的公共管理、防篡改、可信任的机制。区块链应用软件系统需对账本数据进行测试,其功能测试点主要包括如下内容:a)账本历史数据可追溯功能1)区块链应用软件系统是否可查询数据状态信息,包括如下数据的当前状态信息:.账户数据、交易数据、配置数据、智能合约状态数据的当前状态信息;.智能合约内可执行代码、智能合约内数据的当前状态信息。2)区块链应用软件系统是否可查询账本数据的单个账户/所有账户的历史更新记录及交易详情(包括交易唯一标识、交易发生时间、交易哈希值、交易发起者标识、交易执行结果等3)区块链应用软件系统能否根据数据对象的标识查询到该历史数据文件(包括账户配置、交易、拥有智能合约状态、账户执行智能合约等历史记录);4)区块链应用软件系统能否根据数据对象查询对应的交易更新记录,包括对应交易记录的发起者;5)区块链应用软件系统能否根据时间、记录数等条件查询用户指定范围内数据更新记录(包括对账户数据、配置数据、账户拥有的智能合约状态、账户执行智能合约的历史记录6)节点从异常状态恢复后,区块链应用软件系统能否正确完成历史数据溯源的查询。6b)数据同步功能1)节点升级后,区块链应用软件系统能否可正确提供账本数据相关信息;2)不同节点其数据与源节点的数据是否保持一致;3)新节点在同步后,其数据与其他节点是否保持一致;4)节点关闭重启或断网一段时间后,能否自动增量同步相邻节点历史数据并进行一致性校验;5)节点是否具备与网络中的源节点进行数据同步的能力,当前源节点失效时,能否自动切换最优的源节点;6)节点能否识别源数据节点恶意篡改同步数据,并对恶意篡改数据进行记录和提示;7)节点能否根据账本历史记录及时检测出状态数据库数据的缺失或篡改,并进行修复;8)节点能否通过数据同步纠正本节点的数据异常问题,保证整个网络数据的一致性。c)数据归档功能1)区块链应用软件系统能否提供账本数据归档功能,包括但不限于磁盘文件数据、数据库存储数据;是否只有对应权限的管理员才可发起归档操作;2)区块链应用软件系统是否支持用户设置归档数据范围,包括但不限于时间、区块序号等范围限定,并完成相应的数据归档;3)归档数据与节点本地存储的数据库中数据、数据内容一致;4)节点在数据归档过程中,区块链应用软件系统能否继续提供系统服能;5)节点数据归档完成后,区块链应用软件系统是否对归档的数据提供历史状态查询功能;6)不同节点归档的数据是否存放在不同的存储设备中,防止出现集中数据丢失;7)节点数据归档过程中,出现异常场景(如节点断电、重启、网络波动等)恢复后,能否继续完成数据归档操作;8)区块链应用软件系统的归档数据能否恢复到在线数据库,且归档数据能否支持在线查询。d)数据扩容功能1)是否由有管理权限的用户进行扩容操作;2)扩容中:.用户交易能否正常完成,区块链网络能否正常产生区块;.在异常场景恢复后,节点能否完成存储扩容,并继续正常运行;.在异常场景出现扩容失败时是否具备恢复能力。3)扩容后,账本数据文件是否具备完整性,且节点能否正常运行;4)扩容方案是否具备平滑伸缩能力,即保障在线应用软件系统不必中断运行。6.1.5成员管理区块链应用软件系统的成员管理通常包括身份管理、权限管理、数据保密、可审计功能等要素,因此其功能测试点主要包括如下:a)区块链应用软件系统是否支持用户注册;b)用户身份鉴别功能1)用户身份认证过程中,区块链应用软件系统是否使用经国家密码管理部门认可的密码算法和协议;2)区块链应用软件系统是否对用户账号使用情况进行安全性分析,包括但不限于登录时间,登录位置、访问时长等;3)用户口令等身份认证相关凭证信息(如用户账号、口令)是否存储安全;4)重要信息是否采用双重身份认证。c)用户权限管理功能71)区块链应用软件系统的用户权限变更操作是否由身份注册机构完成或发起;2)区块链应用软件系统的用户特殊权限授权是否由身份注册机构完成授权;3)用户权限变更后.区块链应用系统软件是否在不同节点间同步;.区块链应用软件系统的用户是否能正常使用新权限所赋予的操作;.区块链应用软件系统的用户是否不能再使用旧权限所赋予的操作。d)生命周期管理功能1)区块链应用软件系统是否提供成员全生命周期管理,包括注册、冻结、解冻以及注销等一系列功能管理;2)冻结状态的用户是否不能发起交易请求,且状态是否同步到所有节点;3)冻结的用户是否可进行解冻,解冻后的用户能否正常发起交易,其解冻状态是否能同步到所有节点;4)账户是否设定使用期限;当到达使用期限时,账户是否被注销,其状态是否同步到其他节5)账户被注销后,是否保留其登记信息和身份标识;当使用注销账户的身份信息进行注册时,是否注册失败;6)账户被注销后,是否无法进行交易;7)节点异常场景恢复后,被注销/冻结的用户是否不可发起交易。e)审计功能1)区块链应用软件系统是否可通过用户唯一标识查询成员身份信息;2)区块链应用软件系统中注册机构是否有权查询用户所有信息;3)不同节点查询的用户信息是否一致;4)用户处于冻结状态时,区块链应用软件系统是否支持可查询身份信息;5)用户解冻后,区块链应用软件系统是否支持可查询身份信息;6)节点异常场景恢复后,区块链应用软件系统查询的用户信息是否保持一致。f)交易功能1)用户登录账户向其他一个/多个账户发起交易,能否获得交易收据,并根据交易收据核验交易成功;2)节点异常场景恢复后,查询到的用户账户数据修改与交易修改是否保持一致;3)是否自由订阅上架智能合约信息。6.1.6状态管理区块链应用软件系统的状态管理主要包括区块详情查询、交易信息查询、账本状态查询等功能,其功能测试点主要包括如下:a)区块详情查询功能1)选定区块,区块链应用软件系统是否可查询该区块的详情(包括区块高度、区块哈希值、前序区块哈希值、交易列表、区块时间戳等);2)选定业务类型,区块链应用软件系统是否可查询该业务所有区块的详情(包括区块高度、区块哈希值、前序区块哈希值、交易列表、区块时间戳等);3)通过区块标识,区块链应用软件系统是否可查询指定区块的详情(包括区块高度、区块哈希值、前序区块哈希值、交易列表、区块时间戳等);4)节点异常场景恢复后,区块链应用软件系统能否继续支持区块详情的查询;5)有权限的用户是否可进行区块详情查询;86)没有权限的用户是否不可进行区块详情查询。b)交易信息查询功能1)区块链应用软件系统是否可查询交易信息(包括交易发生时间、交易哈希值、交易接受者标识、交易数据、交易发起者标识和交易所在块标识等);2)通过交易标识,区块链应用软件系统是否可查询该交易信息(包括交易发生时间、交易哈希值、交易接受者标识、交易数据、交易发起者标识和交易所在块标识等);3)选定业务类型,区块链应用软件系统是否可查询该业务上所有交易信息(包括交易发生时间、交易哈希值、交易接受者标识、交易数据、交易发起者标识和交易所在块标识等4)节点异常场景恢复后,区块链应用软件系统能否继续支持区块交易信息的查询。c)账本状态查询1)通过身份账户标识,区块链应用软件系统是否可查询到指定身份账户当前状态;2)通过身份账户标识和查询范围,区块链应用软件系统是否可查询该账户状态更新的历史记录;3)通过身份账户标识和区块标识,区块链应用软件系统是否可查询该账户状态更新的历史记录;4)通过智能合约标识,区块链应用软件系统是否可查询该智能合约数据的最新状态;5)通过区块标识和智能合约标识,区块链应用软件系统是否可查询到该智能合约数据的历史状态;6)节点异常场景恢复后,区块链应用软件系统能否继续支持账本状态查询。6.1.7接口管理区块链应用软件系统的接口管理主要包括外部接口、用户接口、管理接口以及系统间接口等,其功能测试点主要包括如下:a)外部接口1)区块链应用软件系统是否提供接口调用方法说明;2)外部接口是否设置白名单;3)外部接口接入是否采用电子签名、数据摘要等技术手段确保数据不可篡改;4)调用外部接口时是否采用数字证书方式保证身份真实性。b)用户接口1)区块链应用软件系统是否提供用户接口使用说明;2)是否设置接口访问权限。c)管理接口1)区块链应用软件系统是否提供管理接口说明;2)是否只有系统管理员可调用管理接口创建不同级别的用户,并设置访问权限。d)系统间接口1)区块链应用软件系统是否提供系统间接口功能、格式、方法、参数、返回值、使用方式、错误信息等完整说明;2)区块链应用软件系统间接口访问是否有权限控制。6.2性能效率区块链应用软件系统分别从时间特性、资源利用性、容量以及性能效率依从性四个方面来判定其基本的性能。96.2.1时间特性时间特性测试点主要包括:a)块信息查询:响应时间、吞吐量、事务正确率是否满足需求;b)交易信息查询:响应时间、吞吐量、事务正确率是否满足需求;c)交易结果查询:响应时间、吞吐量、事务正确率是否满足需求;d)智能合约数据查询:响应时间、吞吐量、事务正确是否率满足需求;e)历史数据查询:响应时间、吞吐量、事务正确率是否满足需求;f)原生交易:响应时间、吞吐量、事务正确率是否满足需求;g)智能合约调用:响应时间、吞吐量、事务正确率是否满足需求。6.2.2资源利用率资源利用率测试点主要包括:a)块信息查询:CPU占用率、内存占用率、传输宽带负载以及I/O设备占用率是否满足需求;b)交易信息查询:CPU占用率、内存占用率、传输宽带负载以及I/O设备占用率是否满足需求;c)交易结果查询:CPU占用率、内存占用率、传输宽带负载以及I/O设备占用率是否满足需求;d)智能合约数据查询:CPU占用率、内存占用率、传输宽带负载以及I/O设备占用率是否满足需e)历史数据查询:CPU占用率、内存占用率、传输宽带负载以及I/O设备占用率是否满足需求;f)原生交易:CPU占用率、内存占用率、传输宽带负载以及I/O设备占用率是否满足需求;g)智能合约调用:CPU占用率、内存占用率、传输宽带负载以及I/O设备占用率是否满足需求。6.2.3容量容量测试点主要包括:a)块信息查询1)在要求的负载下,单位时间内可处理最大请求数量以及可处理的最大累积事务数量是否满足需求;2)在规定的时间内,可处理完成最大数据量是否满足需求。b)交易信息查询1)在要求的负载下,单位时间内可处理最大请求数量以及可处理的最大累积事务数量是否满足需求;2)在规定的时间内,可处理完成最大数据量是否满足需求。c)交易结果查询1)在要求的负载下,单位时间内可处理最大请求数量以及可处理的最大累积事务数量是否满足需求;2)在规定的时间内,可处理完成最大数据量是否满足需求。d)智能合约数据查询1)在要求的负载下,单位时间内可处理最大请求数量以及可处理的最大累积事务数量是否满足需求;2)在规定的时间内,可处理完成最大数据量是否满足需求;e)历史数据查询1)在要求的负载下,单位时间内可处理最大请求数量以及可处理的最大累积事务数量是否满足需求;2)在规定的时间内,可处理完成最大数据量是否满足需求。f)原生交易1)在要求的负载下,单位时间内可处理最大请求数量以及可处理的最大累积事务数量是否满足需求;2)在规定的时间内,可处理完成最大数据量是否满足需求。g)智能合约调用1)在要求的负载下,单位时间内可处理最大请求数量以及可处理的最大累积事务数量是否满足需求;2)在规定的时间内,可处理完成最大数据量是否满足需求。6.2.4性能效率依从性依从性测试点包括但不限如下内容:a)交易同步性能1)最大交易广播速率>=申明值:节点持续广播交易提供账本数据同步,在不造成网络拥塞的情况下,发送交易的最大速率满足需求;2)交易的冗余率<=申明值:节点持续发送不同的交易同步请求,节点收到冗余交易比例满足3)交易广播时延<=申明值:节点广播交易提供账本数据同步,交易同步到节点时所消耗的时间满足需求。b)支持无交易出空块1)同步空块的速率>=申明值:无负载情况下,节点从其他节点同步或向其他节点同步空快速率满足需求;2)空快广播时延<=申明值:节点向全网广播空块,区块同步到其他节点时所消耗的时间满足3)同步满负载区块的速率>=申明值:节点从其他节点同步完整账本数据的速率满足需求;4)满负载区块广播时延<=申明值:节点从其他节点同步完整账本数据的速率满足需求。c)部署效率1)区块链应用软件系统搭建时间是否满足需求;2)区块链应用软件系统节点扩容时间是否满足需求;3)区块链应用软件系统节点升级时间是否满足需求;4)区块链应用软件系统节点加入/退出时间是否满足需求。d)账本数据增长率1)无交易状态下账本数据增长速率<=声明的增长率上限、平均值;2)满负载状态下账本数据增长速率<=声明的增长率上限、平均值。6.3信息安全性区块链应用软件系统目前面临的安全风险与挑战主要有:基础设施安全、密码算法安全、共识协议安全、智能合约安全、节点通信安全、隐私安全以及账本数据安全7个方面。6.3.1基础设施安全区块链应用软件系统基础设施安全主要是指的硬件基础设施安全,其安全测试点主要包括如下:a)是否符合GB/T22239—2019三级及以上级别的物理和网络相关要求;b)运行环境是否位于高安全区域;c)硬件设备运行状态和资源使用情况是否被监控,当设备的运行状态/资源使用情况出现异常情况时能否及时发出告警;d)设备和存储介质在重用、报废或更换时清除数据后,是否无法被专业的数据恢复工具恢复;e)不同节点使用的硬件设备是否具备异构性;f)承担共识或记账的节点是否部署在不同机房内;g)不宜共享数据的节点是否部署在机构内部或受保护区域;h)节点的硬件设备存储容量是否可扩展,以避免因容量达到上限而无法同步账本;i)硬件加密设备是否经国家密码管理部门认可。6.3.2密码算法安全密码算法安全测试点主要包括如下:a)对称加解密/非对称加解密:1)区块链应用软件系统是否采用经国家密码管理部门认可的对称加解密算法/非对称加解密;2)区块链应用软件系统的加密结果签名结果?是否符合预期输出;3)区块链应用软件系统的节点是否能检查出加密错误签名错误?并拒绝交易;4)区块链应用软件系统的算法模块是否支持可插拔的密码。b)区块链应用软件系统的摘要/数字签名是否低于破解能力,是否定期审核摘要算法/数字签名算法的安全性;c)密钥生命周期管理1)密钥生成.随机数是否满足合规性要求,即是否经国家密码管理部门认可;.密钥算法类型和长度是否可配置。2)密钥存储.基于软件/硬件密钥存储是否符合国家密码管理部门认可;.是否采用多个密钥存储设备进行存储,避免出现大规模密钥泄漏。3)密钥更新.密钥更新是否进行身份验证和鉴权;.密钥更新过程中是否以密文形式进行传输;.密钥更新后,旧密钥是否不能继续使用;若旧密码发生过交易,是否进行安全归档;.密钥更新是否独立业务流程,即密钥更新时不影响业务流程。4)密钥使用.密钥对是否可按需隔离使用,隔离的密钥对交叉使用是否报错;.内存是否无密钥对驻留。5)密钥撤销、销毁和归档.是否支持密钥的撤销和销毁;.是否支持撤销密钥的归档,且归档介质是否满足相关安全要求;.密钥撤销后是否不能启用。6.3.3共识协议安全共识协议安全测试点主要包括如下:a)区块链应用软件系统中参与共识过程的节点的加入和退出操作是否能够通过合法性验证;b)区块链应用软件系统的共识协议算法是否具有形式化验证和代码审计报告,其中审计报告中所验证的共识算法包括但不限于工作量证明、权益证明、实用拜占庭容错算法或其他分布式系统一致性算法等;c)区块链应用软件系统的共识算法是否具备抗攻击(如DDoS攻击、重放攻击等)和识别恶意节点能力;d)是否采用激励机制保障应用软件系统安全;e)单次共识过程和系统运行的整个生命周期都应可审计、可监管。6.3.4智能合约安全智能合约安全测试点主要包括如下:a)是否提供访问(如用户访问、智能合约之间相互访问、外部数据访问)控制机制;b)是否支持智能合约在隔离的执行环境运行;c)是否经过相关专业技术人员的审计,并保留审计记录;d)是否能够对抗由智能合约引起的DDoS攻击等。6.3.5节点通信安全节点通信安全测试点主要包括如下:a)节点身份验证1)节点接入时是否进行身份验证;2)节点通讯时是否进行身份双方认证;3)节点通讯双方身份认证时是否采用加密技术。b)是否采用经国家密码管理部门认可的消息鉴别码算法、数字签名等密码技术校验数据传输的完整性;c)节点通信报文或会话是否进行了加密处理;d)节点间通信是否采用健壮的加密算法和安全协议,安全协议包括但不限于TLS和IPSEC;e)节点数字证书及其私钥的存储是否私密管理。6.3.6隐私安全隐私安全测试点注意包括如下:a)用户注册信息采集时的隐私安全b)信息传输是的隐私安全c)信息存储时的隐私安全d)信息使用时的隐私安全e)信息销毁时的隐私安全f)是否有制定完备的隐私保护审计方案6.3.7账本数据安全账本数据安全测试点主要包括如下:a)区块链应用软件系统是否具备账本数据生成/传输时的完整性校验功能,在检测到数据生成/传输的完整性被破坏时是否能够进行报警;b)区块链应用软件系统是否实现账本数据的保密存储,是否具备检测到账本数据在存储过程中完整性受到破坏、账本数据在存储过程中被非授权方式更改或破坏的功能,是否实现了对账本数g)h)据的完整性校验,是否在检测到数据完整性被破坏时进行报警,在检测到完整性错误时是否能采取措施进行恢复;区块链应用软件系统是否实现未被授权调用敏感数据的账号无法进行敏感数据调用操作,被授权可调用敏感数据的高权限系统账号是否能够进行权限内的账本敏感数据调用操作,调用操作的行为是否均被写入了日志;未经授权的节点是否无法请求获取敏感数据,且获取操作有认证检查环节;系统是否对账本数据进行加密传输,在传输时对数据加密的密钥和证书是否采用与信息传输不同的传输途径进行传递;账本数据中敏感数据的保护密钥和账本数据本身是否分开保存,保护密钥是否支持存放在安全的密码模块中;区块链应用软件系统是否能够为创建的账号分配账本数据权限;区块链应用软件系统的账本数据的访问与使用是否满足访问控制要求;区块链应用软件系统的账本数据访问/变更是否提供安全审计功能。6.4兼容性根据质量模型,区块链应用软件系统兼容性的测试点主要包括共存性和互操作性这2个方面。6.4.1共存性共存性测试点主要是区块链应用软件系统与其他(包括杀毒软件、浏览器、文字处理器、操作系统、数据库、软硬件、以及其他工具等)是否具有共存性。6.4.2互操作性互操作性测试点主要包括:a)数据是否具有一致性,避免造成数据混乱和失准。b)是否具有可协同性,即被测区块链应用软件系统与其他系统是否具有互操作性。6.5易用性根据质量模型,区块链应用软件系统易用性的测试点主要包括可辨识性、易学性、易操作性、用户差错防御性、用户界面舒适性以及易访问性这6个方面。6.5.1可辨识性可辨识性测试点主要包括:a)用户或使用者是否可通过检查界面(或通过检查菜单)来落实明显的功能;b)用户或使用者是否能理解数据输入的格式;c)用户或使用者是否能正确识别输出数据的含义;d)产品或系统提供的信息是否包括演示、教程、文档或网站的主页信息;e)是否以最终用户易于理解的形式提供信息,即以可见易读的文本或图形输出、或以易听的音频输出;f)提示消息是否易于理解。6.5.2易学性易学性测试点主要包括:a)通过相关接口、帮助文档或操作手册等,用户能否快速学习某一功能的使用;b)是否提供帮助功能;c)在界面上调用帮助时,能否准确定位到帮助位置;d)索引是否能定位到帮助主题和内容;e)帮助内容描述得是否准确,能否解决问题。6.5.3易操作性易操作性的测试点主要包括:a)区块链应用软件系统用户能否方便地定制其操作规程;b)区块链应用软件系统是否有快捷键;c)屏幕输入格式、报表和其他输出对用户来说应足够清晰且易理解的;d)所有提示信息是否是用户可以读懂的业务语言;e)菜单1)菜单项的措辞是否准确;2)菜单项的顺序是否合理;3)下拉菜单是否根据菜单选项的含义进行分组;4)菜单功能是否随当前的窗口操作加亮或变灰;5)是否适当的列出了所有的菜单功能和下拉式子功能,是否根据区块链应用软件系统功能进行合理分类,将选项进行分组;6)菜单深度是否控制在三层以内;菜单标题是否简明、有意义;7)菜单是否依据逻辑顺序排列。1)图标是否符合常规的表达习惯;2)建议图标的外形与实际功能相似,应尽量避免抽象。1)光标、处理指示器和识别指针是否随操作恰当地改变;2)支持滑轮上下翻动操作;3)单击鼠标右键是否弹出菜单,取消右键是否隐藏弹出的菜单。6.5.4用户差错防御性用户差错防御性测试点主要包括:a)操作错误或系统出现错误时,系统的出错信息中是否提供差错产生的原因,并指示如何进入正确的步骤,帮助用户从错误中恢复;b)出错消息是否易于理解,能否指明如何改正差错或要报告差错向谁联系;c)对具有严重后果的功能的执行是否可逆,即软件是否给出这种后果的明显警告,并且在这种命令执行前要求确认;d)当遇有执行某一功能其响应时间超出通常预期限度会引起冲突时,最终用户是否被告知;e)在导入新数据覆盖原有数据时,是否有相应的提示信息。6.5.5用户界面舒适性用户界面舒适性测试点主要包括:a)用户界面的属性(如颜色搭配、图形化设计、外观、布局、快捷键设置、操作方法等)是否保持一致性。b)界面外观是否易定制,如界面元素、工具栏、检索以及报表等。6.5.6易访问性易访问性是以实现指定目标用户(如特殊群体)可以访问的程度来度量,其测试点主要包括:a)在指定的使用周境中,为了达到指定的目标,区块链应用软件系统能否被具有最广泛的特征和能力的个体所使用;b)验证借助用户接口、帮助功能或用户文档集提供的手段,最终用户是否能够学习如何使用某一功能;c)当支持多种不同语言时,指用户试图运用与他们母语不同的语言使用时,能否完成指定任务。6.6可靠性根据质量模型,区块链应用软件系统可靠性的测试点主要包括成熟性、可用性、容错性以及易恢复性4个方面。6.6.1成熟性成熟性测试点主要包括:a)缺陷排除率是否满足要求,即已纠正的缺陷与已发现缺陷之比是否满足要求;b)一定运行周期内的软件发生故障平均间隔时间是否满足要求;c)在单位时间内,软件中出现故障次数是否满足要求;d)在单位时间内,软件中发现缺陷数量是否满足要求;e)验证覆盖率是否满足要求。6.6.2可用性可用性测试点主要包括:a)区块链应用软件系统的服务时间率(实际服务时间/要求服务时间)是否满足要求;b)一定运行周期内的区块链应用软件系统无法提供服务的平均时间(平均宕机时间)是否超出要c)在特殊条件下区块链应用软件系统正常运行的时间是否满足要求。6.6.3容错性容错性测试点主要包括:a)宕机率(未导致宕机的失效数/导致宕机的失效数)是否满足要求;b)避免失效率(未引起失效故障数/引起失效故障数)是否满足要求;c)抵御发生的误操作率(实际实现的抵御误操作数/预计实现的抵御误操作数)是否满足要求;d)冗余率(实际备份部件数/需备份部件数)是否满足要求。6.6.4易恢复性易恢复性测试点主要包括:a)在异常事件或在需要时,区块链应用软件系统是否具有易复原性;b)备份数据率(有效备份数据/需备份数据)是否满足要求;c)在宕机后,区块链应用软件系统能在要求的时间内能否成功重新启动,且成功重新启动次数与总重新启动次数之比是否满足要求;d)故障发生时,区块链系统通告故障花费的时间是否满足要求。6.7维护性根据质量模型,区块链应用软件系统维护性的测试点主要包括模块化、可重用性、易分析性、易修改性以及易测试性这5个方面。6.7.1模块化模块化测试点主要包括:a)模块间的耦合度是满足要求;b)模块结构是否具有合理性,包括代码、预定义的代码等。c)某些功能(例如:角色、权限等)是否具有的可配置性;d)改变系统组件时,其它组件是否受到影响;e)能否识别出每一个基本组件的发布号、相关的质量特性、参数和数据模型。6.7.2可重用性可重用性测试点主要包括:a)模块重用率是否满足要求;b)代码的注释是否遵从注释的规范性;c)代码的编写是否遵从代码编写规范;d)文档的编写是否遵从文档编写规范。6.7.3易分析性易分析性测试点主要包括:a)区块链应用软件系统是否能够准确的诊断维护点;b)区块链应用软件系统有效诊断维护目标所需的时间是否满足要求;c)区块链应用软件系统能否提供充分的维护线索以支持维护实施,且线索是否具有可理解性;1)当运行过程中出现异常或失效时,是否有明确的提示信息,根据提供的机制能否效地解决2)需求文档、设计文档、操作手册等用户文档集中是否描述了常出现的问题和现象,以及故障排除方法等。d)当软件发生缺陷、失效或需要修改时,区块链应用软件系统能否有效的追踪其原因

温馨提示

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

评论

0/150

提交评论