您当前的位置:首页>行业标准>JB/T 13775-2020 工业机械电气设备及系统 数控系统软件白盒测试规范

JB/T 13775-2020 工业机械电气设备及系统 数控系统软件白盒测试规范

资料类别:行业标准

文档格式:PDF电子版

文件大小:5 MB

资料语言:中文

更新时间:2023-11-07 14:17:00



相关搜索: 系统 规范 软件 机械 电气设备 数控系统 系统 工业 测试 13775

内容简介

JB/T 13775-2020 工业机械电气设备及系统 数控系统软件白盒测试规范 JB
中华人民共和国机械行业标准
JB/T13775—2020
工业机械电气设备及系统数控系统软件白盒测试规范
Electrical equipment and system of industrial machines --- Specification for
numerical control system software white-box testing
2021-04-01实施
2020-08-31发布 目 次
前言引言.. 1范围. 2规范性引用文件 3术语和定义 4测试对象. 5测试内容及测试方法 5.1静态测试. 5.2动态测试.. 5.3 代码安全测试 6测试方法. 6.1 代码选择. 6.2 测试工具准备.. 6.3 代码安全扫描. 6.4人工审计 7判定标准 7.1 安全问题风险级别及定义 7.2 源代码测评结果判定参考文献
II T
10 10 ,11 11 11 11 .11 11 12
图1参考示例程序流程图
表1静态结构分析测试项目,表2代码质量度量测试项目,表3代码检查测试项目.. 表4示例程序多条件判定覆盖测试用例. 表5修正条件判定覆盖测试用例... 表6Linux操作系统动态内存分析测试项目表7Windows操作系统动态内存分析测试项目.. 表8风险级别及定义

2 前言
本标准按照GB/T1.1一2009给出的规则起草。 本标准由中国机械工业联合会提出。 本标准由全国工业机械电气系统标准化技术委员会(SAC/TC231)归口。 本标准起草单位:国家机床质量监督检验中心、沈阳高精数控智能技术股份有限公司、山东建筑大
学、广州数控设备有限公司、武汉华中数控股份有限公司、浙江省机电设计研究院有限公司、北京凯恩帝数控技术有限责任公司、上海开通数控有限公司、大连光洋科技集团有限公司、北京计算机技术及应用研究所等。
本标准主要起草人:陈禄萍、黄祖广、于东、韩方旭、姬帅、张文博、王勇、蒋峰、刘涛、薛瑞娟、 巩潇、杜瑞芳、陈建明、杨洪丽、武南、韩文业、孙文貌。
本标准为首次发布。 引言
白盒测试用于保障被测对象代码的质量,从逻辑结构上考察代码的内部质量,主要测试内容包括静态结构分析,代码质量度量、代码检查,逻辑测试、函数(方法)执行性能测试、动态内存分析以及代码安全测试,以保障被测对象的质量。 工业机械电气设备及系统数控系统软件白盒测试规范
1范围
本标准规定数控系统软件白盒测试的要求及对应的测试方法。 本标准适用于金属加工机械、木工机械、锻压机械用数控系统软件白盒测试与评价,其他工业机械
用数控系统软件也可参照执行。
2规范性引用文件
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T11457一2006信息技术软件工程术语 GB/T18759.5一2016机械电气设备开放式数控系统第5部分:软件平台 GB/T26220一2010工业自动化系统与集成机床数值控制数控系统通用技术条件 JB/T13776一2020工业机械电气设备及系统数控系统软件可靠性测试规范
3术语和定义
GB/T11457—2006、GB/T18759.5—2016、GB/T26220—2010界定的以及下列术语和定义适用于本文件。为了便于使用,以下重复列出了GB/T11457—2006、GB/T18759.5—2016、GB/T26220—2010 中的一些术语和定义。 3.1
数控系统 numerical control system 使用数值数据的控制系统,在运行过程中不断地引入数值数据,从而实现机床加工过程的自动控制。 [GB/T26220—2010,定义3.1]
3.2
数控系统软件 numerical control system software 包括数控系统的实时操作系统、中间件、应用软件及应用编程接口。 [GB/T18759.5—2016,定义3.1.16~3.1.19]
3.3
白盒测试white-boxtesting 侧重于系统或部件内部机制的测试。 注:改写GB/T11457—2006,定义2.1849
3.4
软件单元softwareunit 一段可分开编译的代码。 测试对象
4
数控系统软件架构应参照JB/T13776一2020中4.1的要求,白盒测试对象的范围包括数控系统软件架构中开发人员可编程的模块。
进行数控系统软件白盒测试时,需提交的文档包括但不限于: a)软件需求规格说明书; b)软件设计说明书: c)软件用户手册。
5测试内容及测试方法
5.1静态测试 5.1.1静态结构分析 5.1.1.1测试内容
静态结构分析是对代码的机械性的,程式化的特性进行分析,测试项目包括控制流分析、数据流分析、表达式分析。 5.1.1.2测试方法
使用测试工具获取软件的内部结构数据,自动或人工检查其是否符合要求,测试项目见表1。
表1静态结构分析测试项目
测试项目
测试内容
技术要求不存在不存在不存在
是否存在任何条件下都不能运行到的代码是否存在不影响任何输入/输出的代码是否存在不合理的循环结构(例如终止条件不正确、错误地修改循环变量等)是否存在失败的递归过程“例如无穷的递归调用,递归次数过多造成堆栈数据溢出)是否存在无效的函数参数是否存在多个函数出口是否存在浮点数相等比较是否使用goto语句是否使用赋值测试语句变量和常量是否被引用变量使用是否初始化传递参数值是否正确表达式中的括号是否使用正确是否存在数组下标越界
不存在不存在不存在不存在不使用不使用被引用初始化正确使用正确不存在
控制流分析
数据流分析
表达式分析 5.1.2代码质量度量 5.1.2.1测试内容
质量度量是软件质量特性的量化表示。代码质量度量是通过分析软件源代码,建立软件质量模型,对软件质量特性进行量化评估。
注:软件质量模型的建立可参照GB/T30961一2014,本标准只列出质量模型中比较重要的测试指标。 5.1.2.2测试方法
使用测试工具获取软件的内部结构数据,自动或人工检查其是否符合要求,测试项目见表2。
表2代码质量度量测试项目
技术要求 ≤200 ≥20%
测试项目
测试内容
软件单元的语句数软件单元的有效注释率函数调用的下层函数个数函数参数个数圈复杂度(不适用于switch、case结构)基本复杂度
<7 ≤8 ≤10 ≤4
静态质量度量
5.1.3代码检查 5.1.3.1测试内容
主要检查代码和设计的一致性、代码对标准的遵循程度与可读性、代码的逻辑表达的正确性、代码结构的合理性等。 5.1.3.2 2测试方法
通过代码测试工具或人工方式检查代码,若使用测试工具,在测试工具中选择需遵守的编码规则,使用测试工具进行分析后,对分析结果进行人工处理,测试项自见表3。
表3代码检查测试项目
技术要求正确缩进清楚准确有意义没有使用清楚遵循
测试项目
测试内容
按照代码编写规范,应缩进的地方(如配对出现的语句、嵌套的正语句、类声明定义等)是否已正确地缩进程序代码布局结构是否清楚注释是否准确并有意义,例如在每一个模块之前:是否有注释说明,描述该模块的输入/输出、参数、功能处理和其调用的外部模块以及该模块是否有使用限制等
编程风格检查 是否有多余的资源定义和宏定义
头文件是否使用了ifndef/define/endif预处理块程序结构和模块功能定义是否清楚是否遵循该语言的指令编写格式 表3 代码检查测试项目(续)
测试项目
测试内容
技术要求达到不超出屏蔽有意义
模块内是否做到了高内聚,模块之间是否达到了低耦合模块的扇出是否不超出7~9范围是否屏蔽了没有明确含义的输入和按键常量、变量、类、数据结构等命名是否有意义实参和形参的个数、属性和次序是否一致对另一个模块的每一次调用:全部所需的参数是否已传送给每一个被调用的模块,被传送的参数值是否正确设置函数功能是否齐全函数返回值类型是否正确 return语句是否有返回指向“栈内存”的“指针”或者“引用” 函数的返回值是否全面反映了各种状态和结果动态链接库和外部设备接口驱动程序使用是否正确动态分配的指针是否在不使用之后删除,并释放内存调用类成员函数或API函数时,是否检查了返回值文件、数据库和注册表等打开后,在对其进行操作之后是否进行了关闭对于使用附带例外的函数是否增加了例外处理程序,如对数据库或文件操作变量的数据类型定义是否合理程序中是否出现相同的局部变量和全部变量数据类型转换是否使用了正确的转换函数并转换正确
编程风格检查
致准确传送齐全正确没有全面正确删除并释放已检查进行关闭
函数接口检查
增加合理不出现使用正确不使用合理进行删除满足正确不缺少无隐惠不缺少正确满足不可以明确合理
程序语言检查 是否使用了只用于调试版本的函数,宏等
有多个线程的程序中,资源分配是否合理,不会造成死锁在使用GDI对象后是否进行删除变量的作用域和生命期是否满足设计的目的表达式中运算优先级是否正确是否缺少switch 的default分支使用goto语句时是否留下隐惠,例如跳过了某些对象的构造、变量的初始化、重要的计算等 Case语句的结尾是否缺少break
如果有运算符重载,则检查运算符重载是否正确类封装是否合理,检查成员函数和成员变量的访问属性是否满足操作要求外部是否可以修改类的行为多重继承中,虚拟函数定义是否明确继承类和自定义类所封装的函数和过程是否合理,类的功能是否详细、全面是否违背编程规范而让C++编译器自动为类产生四个缺省的函数,包括: 1)缺省的无参数构造函数
类检查
不违背
上一章:JB/T 13776-2020 工业机械电气设备及系统 数控系统软件可靠性测试规范 下一章:JB/T 13227-2017 固体材料原位弯曲-扭转复合力学性能测试系统

相关文章

JB/T 13776-2020 工业机械电气设备及系统 数控系统软件可靠性测试规范 QB/T 5275-2018 工业用缝纫机数控软件白盒测试规范 QB/T 5275-2018 工业用缝纫机 数控软件白盒测试规范 JB/T 13075-2017 工业机械电气设备及系统用的EtherMAC系统结构与通讯规范 JB/T 12986-2016 工业机械电气设备及系统 塑料机械控制系统接口与通信协议 JB/T 11729-2013 工业机械电气设备及系统整体照明装置要求 JB/T 11730-2013 工业机械电气设备及系统注塑机交流伺服驱动系统技术条件 JB/T 13214-2017 工业机械电气设备及系统开放式数控系统PLC编程语言