团 体 标 准
T/CSNAME 227—2026
三维 CAD 基础引擎开放与集成测试要求
Requiremetns for three-dimensional CAD fundamental engine opening and
integration testing
2026 - 04 - 30 发布 2026 - 07 - 30 实施
中国造船工程学会 发 布
前 言
本文件按照GB/T 1.1—2020《标准化工作导则 第1部分:标准化文件的结构和起草规则》的规定起草。
请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别专利的责任。
本文件由中国造船工程学会船舶标准化专业委员会提出。
本文件由中国造船工程学会归口。
本文件起草单位:中国船舶集团海舟系统技术有限公司、同济大学、北京数码大方科技股份有限公司。
本文件主要起草人:熊宇飞、宋建伟、陈彦如、李修安、赵中枢、涂耀文、凌霄、郑玉民、陈好楠、朱琴跃、王颖婕、史玉明、高超。
三维 CAD 基础引擎开放与集成测试要求
1 范围
本文件规定了三维CAD基础引擎(以下简称引擎)开放与集成测试的要求。
本文件适用于开源引擎数学库、几何造型、几何计算、拓扑计算核心组件的开放与测试,及非开源引擎数学库、几何造型、几何计算、拓扑计算核心组件的测试。
2 规范性引用文件
下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T 5271.1 信息技术 词汇 第1部分:基本术语
GB/T 25000.10—2016 系统与软件工程 系统与软件质量要求和评价(SQuaRE) 第10部分:系统与软件质量模型
GB/T 38634.3—2020 系统与软件工程 软件测试 第3部分:测试文档
GB/T 38634.4—2020 系统与软件工程 软件测试 第4部分:测试技术
GB/T 41905—2022 软件与系统工程 软件测试工具能力
GB/T 44272—2024 信息技术 开源 开源许可证框架
T/CESA 1269 信息技术 开源 术语与综述
3 术语和定义
GB/T 5271.1、T/CESA 1269中界定的以及下列术语和定义适用于本文件。
3. 1
第 95 百分位数 95th percentile
表示全部数据点中,95%的数据点小于或等于该值,剩下的5%大于该值。
3. 2
许可协议 license
一种具有法律效力的格式合同,定义用户自由使用、修改、复制或分发许可作品的权利和义务。
3. 3
开放 open
解除一定的封闭限制,允许跨厂商、跨系统互联互通。
4 缩略语
下列缩略语适用于本文件。
BSD:伯克利软件分发协议(Berkeley Software Distribution License)
GPL:通用公共许可协议(General Public License)
LGPL:宽通用公共许可协议(Lesser General Public License)
MIT:麻省理工学院许可协议(The Massachusetts Institute of Technology License)
MPL:Mozilla公共许可证(Mozilla Public License)
5 三维 CAD 基础引擎开放
5. 1 开源许可协议选取
5.1.1 选取原则
用户在使用引擎开源代码时,应根据自身的使用场景和需求按GB/T 44272-2024中相关要求来选取开源许可协议。
5.1.2 选取方式
5.1.2.1 双许可证(Dual-License)授权商业模式
允许用户根据需要选择开源许可协议下的免费使用或商业许可下的付费使用,在开源和商业之间取得平衡。适用的许可协议有GPL、MPL、LGPL等。
5.1.2.2 开放核心(Open Core)双版本模式
允许用户采用宽松的开源许可协议使用基础核心代码,对于具有增值或服务功能的核心代码需付费获取。适用的许可协议有阿帕奇授权协议(Apache)、BSD、MIT等。
5.1.2.3 生态收益模式
允许用户采用宽松的许可协议使用开源代码,同时通过广告、认证、会员以及周边服务等生态系统活动来获取收益。适用的许可协议有Apache、BSD、MIT等。
5. 2 通用数据格式兼容要求
引擎应满足以下数据格式兼容性要求:
a) 引擎应支持以下几类通用数据格式:IGES、STEP、STL 和 DXF。
b) 对于支持的每种数据格式,引擎应能够正确读取和解析其中的数据信息。
c) 引擎在写入数据时,应保证数据的完整性和可用性,符合相应数据格式的规范。
d) 对于不同数据格式之间的转换,应确保转换后的数据包含信息与原数据保持一致,需完整保留原数据中的关键属性,误差在允许范围内。
e) 引擎应提供数据格式兼容性测试的方法,以验证其对不同数据格式的兼容能力。
5. 3 开放功能覆盖范围
引擎的开放应涵盖以下模块:
a) 基础与核心框架:包括基础模块、方程模块、内核模块, 求交模块、构造器模块、布尔运算模块;
b) 关键算法:包括过渡模块、特征检测模块、体自交修复模块、蒙皮模块、覆盖模块、偏置模块、局部操作模块、扫掠模块、模型导入导出模块、模型缝合模块、消隐模块、离散模块、轻量化模块;
c) 约束求解引擎:包括最小恰定域求解模块、约束冗余判定模块、草图设计约束模块、装配设计约束模块。
5,4 接口设置方式
引擎的接口设计应遵循以下要求:
a) 接口设计应遵循简洁、易用、稳定的原则,便于开发者理解和使用;
b) 接口应采用标准化的接口规范,确保不同开发者开发的模块能够无缝集成;
c) 接口应提供详细的文档说明,包括接口的功能、参数、返回值、调用示例等;
d) 接口应具备良好的兼容性和扩展性,当引擎版本升级时,应保证接口的向下兼容,同时为新增功能提供新的接口;
e) 对于常用的功能,应提供多种接口调用方式,如命令行调用、API 接口等,供备用。
6 集成测试
6. 1 集成测试目标
6.1.1 质量特性
引擎应满足GB/T 25000.10-2016中4.3关于软件质量特性的功能性、性能效率、兼容性中所有子特性的相关要求。其中:
a) 性能效率中的资源利用性,在加载亿级三角面片几何模型时,其内存空间使用不宜超过 32GB;
b) 性能效率中的容量,宜满足亿级三角面片以上、百万实体级以上几何模型数据操作需求;
c) 兼容性中的互操作性,宜测试与引擎 ACIS、Parasolid 的互操作性。
6.1.2 测试粒度
引擎集成测试粒度应满足GB/T 41905-2022中6.3关于测试粒度的要求。其中:
a) 最小单元应采用引擎中的组件下的单个功能函数;
b) 中级单元应采用引擎中的单个组件;
c) 最大单元应采用完整的引擎。
6. 2 集成测试要求
6.2.1 测试对象和测试项目
为对6.1.1中所述相关质量特性进行测试,引擎集成测试应涵盖GB/T 38634.4-2020附录A.2中测试的质量相关类型的下述内容:
a) 兼容性测试;
b) 功能性测试;
c) 性能测试。
6.2.2 兼容性测试要求
6.2.2.1 兼容性测试范围
引擎兼容性测试应包含下述内容:
a) 不同软硬件环境的兼容性;
b) 不同通用几何交换格式的兼容性。
6.2.2.2 软硬件环境兼容性测试
引擎兼容性测试应覆盖其目标使用场景的主流操作系统型号、CPU型号、显卡型号;不同型号要素间应全组合测试;在每一软硬件环境组合上,应执行完整的功能性测试,引擎整体功能性测试通过,则认为该软硬件环境组合上兼容性测试通过。
6.2.2.3 软硬件环境兼容性测试环境记录
引擎软硬件兼容性测试应将所使用软硬件环境以表格形式完整记录在测试报告中。包括:
a) 操作系统,应精确到版本;
b) CPU,应包括 CPU 名称、核心数、主频;
c) 显卡,应包括显卡名称,显存大小;
d) 内存,应包括内存大小、内存插槽类型;
附录A表A.1提供了测试环境记录表的示例。
6.2.2.4 几何格式兼容性测试
引擎几何格式兼容性测试应使用下列格式及版本或以上版本:
a) IGES 5.0
b) STEP AP203
c) STL
d) DXF 2010
对上述每种格式测试用例应不少于10000条;对单个用例能够正确解析几何文件则视为用例通过;单个格式的用例通过95%以上则认为该格式兼容性测试通过。
6.2.3 功能性测试要求
6.2.3.1 功能性测试层次
引擎功能性测试应包含不少于两个层次:对引擎功能函数的单元测试;将引擎集成到具体CAD功能模块后,通过CAD功能测试进行引擎的集成测试。
6.2.3.2 功能性测试集成测试
引擎功能性测试集成测试应满足以下要求:
a) 引擎功能性测试集成测试所使用 CAD 软件模块应使用引擎待测试的全部功能;
b) 集成测试测试用例应覆盖所使用 CAD 软件模块的全部涉及基础引擎的功能,且每个测试用例应明确其所调用的所有基础引擎功能;
c) 每个 CAD 软件功能的测试用例应不少于 100 条,且应涵盖边界值测试、场景测试、分支测试,宜根据船舶业务经验基于错误猜测法制定针对性测试用例,应在求交测试中覆盖尾鳍、艏部复杂曲面求交作为测试场景。
d) 测试是否通过按以下规则判定:
对单一测试用例,测试结果与实际船舶业务需求中所期望的表现一致时,认为该用例通过;单一 CAD 软件功能的测试用例通过 95%以上,则认为该 CAD 软件功能的集成测试通过;
涉及引擎单一功能的所有 CAD 软件功能集成测试通过,则认为该基础引擎功能集成测试通过;基础引擎所有功能集成测试通过,认为引擎功能性测试集成测试通过。
6.2.4 性能测试要求
引擎集成测试性能测试应满足以下要求:
a) 引擎性能测试应覆盖引擎所具备的全部功能;
b) 对每个功能的测试用例应不少于 1000 条,且应涵盖时间性能测试、空间性能压力测试;
c) 对单一功能,将各测试用例测试结果与国际主流商业内核如 ACIS、Parasoild 在同一测试环境下的性能进行对比评估,所有测试用例的第 95 百分位数(P95)响应时间不超过主流商业内核
2 倍,则认为该功能的时间性能测试通过;
d) 对单一功能,所有测试用例的内存空间使用不超过规定的内存上限,则认为该功能的空间性能压力测试通过;
e) 所有功能的性能测试通过,认为引擎性能测试通过。
6.3 集成测试工具能力
引擎集成测试工具应满足GB/T 41905-2022中7.2关于动态测试执行能力的相关要求。其中的测试粒度级别应按照本标准6.1.2确定。
6.4 集成测试文档
引擎集成测试的各级测试过程文档应满足GB/T 38634.3-2020中的相关规定,至少包括测试方针、测试计划及测试完成报告。其中:
a) 文档的测试方针应包括本次测试的引擎版本、集成 CAD 软件版本、受测试的具体功能列表、测试的具体目标;
b) 文档的测试完成报告应包括本次测试的具体测试环境配置、测试工具、测试类型;
c) 文档的测试完成报告应针对各个模块分别给出测试完成评价,并据此给出整体测试完成评价;
d) 文档的测试完成报告应明确各个单一功能的测试用例数、通过率、失败率、主要失败原因及评价结果,附录 A 表 A.2 提供了功能测试结果记录表的示例,附录 A 表 A.3 提供了性能测试结果记录表的示例;
e) 文档的测试完成报告应追溯最近一次测试报告所报告缺陷的解决情况;
f) 文档的测试完成报告应附测试执行日志。
附 录 A (资料性)测试记录表
表A.1 测试环境记录表示例
表A.2 功能测试结果记录表示例
表A.3 性能测试结果记录表示例

评论