1、 ICS 67.040 X01 团体标准 T/GDFCA 0382021 代替 T/GDFCA 0382019 基于区块链技术食品追溯系统的功能性测试标准 Functional Test Standard for Food Tractability System Based on Blockchain Technology 2021-11-29 发布 2021-11-30 实施 广东省食品流通协会 发 布 全国团体标准信息平台全国团体标准信息平台全国团体标准信息平台全国团体标准信息平台T/GDFCA 0382021 I 目 次 前 言.II 1 范围.1 2 规范性引用文件.1 3 术语和定义
2、.1 4 测试范围.2 5 通过准则.3 6 测试方法.3 7 测试内容.3 全国团体标准信息平台全国团体标准信息平台T/GDFCA 0382021 II 前 言 本标准按照GB/T 1.12020给出的规则起草。本标准归口单位:广东省食品流通协会。本标准主要起草单位:广州筑粒信息科技有限公司、广州中科易德科技有限公司、广州市智能软件产业研究院、广州格利技术服务有限公司、广东省食品流通协会、中山市仁达贸易发展有限公司、中科软件测评(广州)有限公司、广州执信网络技术有限公司、广州生命码科技有限公司、广东省食品流通协会、深圳天祥质量技术服务有限公司、无限极(中国)有限公司、广州食协技术服务有限公司
3、 本标准主要起草人:李引,袁敏夫,何维、王旭、廖建平、何川、余方、程景添、付俊奎、陈自英、毛振醒、李兴宇、周宝诗、曹新贵、付萌、文钰、云育行 本标准在原T/GDFCA 0382019 基于区块链技术食品追溯系统的功能性测试标准基础上修订以下内容:-修改了原标准“第二章 规范性应用文件”的部分内容。-修改了原标准“第三章 术语与定义”的部分内容。-修改了原标准“第四章 测试范围”的部分内容。-增加了“第五章 通过准则”。-原标准“第七章 测试规范”改为“第七章 测试内容”,根据基于区块链技术食品追溯系统的特性进行了修改。-删除了原标准“附录A”的内容 全国团体标准信息平台全国团体标准信息平台T/
4、GDFCA 0382021 1 基于区块链技术食品追溯系统的功能性测试标准 1 范围 本标准规定了基于区块链技术食品追溯系统的功能性测试的术语和定义、测试范围、通过准则、测试方法和测试内容。本标准适用于基于区块链技术食品追溯系统的功能性测试。2 规范性引用文件 下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅所注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。T/CESA 6001-2016 区块链参考架构 术语 GB/T 38158-2019 重要产品追溯 产品追溯系统基本要求 3 术语和定义 下列术语和定义适用于本文件。3.1 区块
5、链 blockchain 一种在对等网络环境下,通过透明和可信规则,构建不可伪造、不可篡改和可追溯的块链式数据结构,实现和管理事务处理的模式。T/CESA 6001-2016 3.2 共识算法 consensus algorithm 区块链系统中各节点间为达成一致采用的计算方法。T/CESA 6001-2016 3.3 智能合约 smart contracts 以数字形式定义的能够自行执行条款的合约。全国团体标准信息平台全国团体标准信息平台T/GDFCA 0382021 2 注:在区块链技术领域,智能合约是指基于预定时间触发、不可篡改、自动执行的计算机程序。T/CESA 6001-2016 3
6、.4 共识节点 consensus node 负责账本数据一致性的节点。3.5 追溯系统 tractability system 基于追溯码、文件记录、相关软硬件设备和通信网络,实现现代信息化管理并可获取产品追溯过程中相关数据的集成。GB/T 38158-2019 3.6 功能性测试 Function testing 是在规定的一段时间内运行系统的所有功能,以验证这个系统有无严重错误。4 测试范围 基于区块链技术食品追溯系统信息标准应包括追溯信息编码、信息采集、信息交换、信息发布四大部分,系统中的关键追溯信息记录在区块链的分布式账本节点。分布式账本节点在政府监管部门、行业协会、检测机构和利益相
7、关企业部署。基于区块链技术食品追溯系统组成构架见图 1,测试范围涵盖下图方框的子系统的软件部分。全国团体标准信息平台全国团体标准信息平台T/GDFCA 0382021 3 图 1 基于区块链技术食品追溯系统组成架构 信息编码:指为了方便信息的存储、检索和使用,在进行信息处理时赋予信息元素以代码的过程。信息采集:指对信息资源的获取过程,包括对信息的收集和处理。信息交换:指数据在不同的信息实体之间进行交互的过程,其目标是在异构环境中实现数据的共享,从而有效地利用资源,提高整个信息系统的性能,加快信息系统之间的数据流通,实现数据的集成和共享。信息发布:是系统面向用户终端的主要信息发送方式,是用户获取
8、位置及相关信息的重要途径。区块链记账节点:指区块链分布式系统中的网络节点,是通过网络连接的服务器、计算机等,针对 不同性质的区块链,成为节点的方式也会有所不同。客户端:或称为用户端,是指与服务器相对应,为客户提供本地服务的程序。5 通过准则 考虑到食品追溯系统业务的多样性,本标准仅列出了系统应具备的基础功能,具体测试用例应根据需求规格说明书进行编写。a)食品追溯服务:应提供完备的追溯参与方、产品、交易信息、赋码信息、生产流通过程信息的管理功能,确保食品追溯数据的完整性。全国团体标准信息平台全国团体标准信息平台T/GDFCA 0382021 4 b)区块链基础服务:应具备区块链服务的典型功能,包
9、括:链上数据存储、区块链组网与通讯、智能合约、共识机制、状态查询等,支持追溯数据上链存储,保障其不可篡改性,并提供查询服务。6 测试方法 根据被测系统的特点,采用功能分解法、等价类划分法、边界值分析法、因果图法/判定表法、随机测试法、错误推测法、入侵测试、静态测试等黑盒测试技术,要求必须将所有的测试需求细化到最基本的功能点,通过设计覆盖全部系统功能的测试用例的方法,从适合性、完备性、正确性和功能性的依从性等方面对系统全部功能性进行质量测试,并将功能性检测结果与系统功能要求比较,评价该系统功能的符合性。测试用例设计方法技术选择包括:1)在任何情况下都必须使用边界值分析法,经验表明用这种方法设计出
10、的测试用例发现程序错误的能力最强;2)用等价类划分方法补充一些测试用例;3)用错误推测法再追加一些测试用例;4)如果程序的功能说明中含有输入条件的组合情况,应在一开始就选用因果图法;如果程序的某功能适合自动测试,则可采用自动测试方法以及随机测试防范进行测试。7 测试内容 基于区块链技术食品追溯系统一般包括食品追溯服务和区块链基础服务两部分。7.1 食品追溯服务 食品追溯服务功能性测试表可参考表 1,具体测试项可基于实际业务进行调整,但原则是必须确保追溯信息的完整性。全国团体标准信息平台全国团体标准信息平台T/GDFCA 0382021 5 表1 食品追溯服务功能测试表 序号 测试项 测试说明
11、1 追溯参与方信息管理 追溯参与方可管理本企业基本信息及与本企业供应链上下游相关企业的基本信息。追溯系统应具有追溯参与方信息登记、检索、修改、验证等管理功能。2 产品信息管理 产品信息管理可管理本企业生产经营的产品及生产过程中使用的原辅料和投入品。追溯系统应具有产品信息登记、编码、检索、修改等功能。3 交易信息管理 交易信息管理应实现对本企业进出产品的上下游交易信息采集。交易信息采集方式包括但不限于:扫描产品追溯标签、读取射频标签、系统录入。4 赋码信息管理 企业应根据追溯系统中的产品特征,对产品批次进行定义,确定追溯单元。结合企业经营管理要求,可根据产品特性、初级生产、生产加工、包装、仓储、
12、运输、配送、销售、消费(使用)和检测等信息,对追溯单元进行赋码,赋码载体包括但不限于:包装标识、追溯标签、追溯身份卡或交易凭证等。5 产品仓储信息管理 产品仓储信息管理应实现对仓储责任主体、托管责任主体、出入库情况等信息的管理。6 产品运输信息管理 产品运输信息管理应实现对物流责任主体、托运责任主体、接收责任主体和运输车辆等信息管理。7 产品消费(使用)信息管理 在产品消费(使用)环节应实现对消费(使用)主体、消费(使用)日期、消费(使用)情况等信息管理。8 权限管理 追溯系统应采取相对严格的系统权限管理措施,明确责任主体,确保信息安全。追溯系统应具备对用户和角色的权限调配功能。追溯系统应具备
13、对组织机构、用户、角色的基本信息维护功能。7.2 区块链基础服务 区块链基础服务功能性测试主要包括:链上数据存储、区块链组网与通讯、智能合约、共识机制、状态查询。7.2.1 链上数据存储 测试内容包括:a)测试指标:数据可上链存储,历史数据可追溯。b)测试要素:账本数据 c)测试内容:1)检测系统是否可查询数据状态信息,包括如下数据的当前状态信息:账户数据、交易数据、配置数据、智能合约状态数据的当前状态信息;智能合约内可执行代码、智能合约内数据的当前状态信息;全国团体标准信息平台全国团体标准信息平台T/GDFCA 0382021 6 2)检测系统是否可查询账本数据的单个账户/所有账户的历史更新
14、记录及交易详情(包括交易唯一标识、交易发生时间、交易哈希值、交易发起者标识、交易执行结果等);3)检测系统能否根据数据对象的标识查询到该历史数据文件(包括账户配置、交易、拥有智能合约状态、账户执行智能合约等历史记录);4)检测系统能否根据数据对象查询对应的交易更新记录,包括对应交易记录的发起者;5)检测系统能否根据时间、记录数等条件查询用户指定范围内数据更新记录(包括对账户数据、配置数据、账户拥有的智能合约状态、账户执行智能合约的历史记录);6)当节点从异常状态恢复后,检测系统能否正确完成历史数据溯源的查询。7.2.2 区块链组网与通讯 测试内容包括:a)测试指标:支持动态配置节点通信的组网方
15、式;支持点对点通信协议完成信息交换;支持节点动态加入/退出网络。b)测试要素:节点通信 c)测试内容:1)检测是否可动态配置节点通信的组网方式;2)当任意节点发生故障时,检测是否不影响其他节点间通信;3)检测节点是否有心跳机制:通过心跳机制维护节点状态,定时广播,确保状态同步和账本的一致性;4)检测节点是否有异常恢复方案,如节点状态检查、定时广播、区块状态同步、异常连接自动断开,自动重连等,确保节点异常恢复后能迅速与其他节点建立连接进行通信;5)检测消息转发的接收节点是否可配置,当配置为接收节点后,检测该节点能否收发消息;6)检测网络消息标识是否唯一;7)检测同一消息在转发前后是否一致;8)检
16、测是否有相关文档明确定义消息转发范围;9)当在范围内时,检测是否可接收到转发消息;10)当在范围外,检测是否无法接收到转发消息。11)当接受节点异常情况(断电、重启、网络波动等)恢复后,检测能否恢复转发消息功能。12)检测新节点是否可动态加入网络,且不影响系统通信;13)当新节点加入网络时,检测是否通过共识(共识或记账节点多方审核)后才可加入网络,且加密算法是否与加入的网络中的加密算法保持一致才可加入网络;14)检测不同类型/数量的节点是否可动态退出网络,且不影响系统通信;15)当节点退出后重新加入网络时,检测是否通过共识(共识或记账节点多方审核),才可加入网络;16)当节点退出重新加入网络后,检测节点能否正常运行;与其他节点恢复通信后,节点账本数据是否与其他节点保持一致,且最终状态也保持一致。7.2.3 智能合约 测试内容包括:a)测试指标:具备正确性、一致性、可靠性、业务隔离性、生命周期管理以及版本控制。全国团体标准信息平台全国团体标准信息平台T/GDFCA 0382021 7 b)测试要素:智能合约 c)测试内容:1)当正确调用智能合约时,检测能否调用成功且获得正确结果;2)当错