全网唯一标准王
ICS35.080 L77 SJ 备案号: 中华人民共和国电子行业标准 SJ/T11682—2017 C/C++语言源代码缺陷控制与测试规范 Sourcecodedefect control and testingguidelinesforC/C++ 2017-04-12发布 2017-07-01实施 发布 中华人民共和国工业和信息化部 SJ/T11682—2017 目 次 前言. 引言 II 范围. 1 2 规范性引用文件, 3 术语和定义 源代码缺陷控制. 4 4.1 缺陷控制目的 4.2 缺陷控制过 4.3 缺陷控制 5 源代码缺陷 5.1 缺陷 5.2 缺险 测试过 5.3 测试方法 5.4 试管理 5.5 陷测文档. 5.6 陷测试工具 源代 6 6.1 分 6.2 行 问题 6.3 数据 6.4 错误 实现 6.5 劣质代 26 6.6 初始化和清理错误 42 指针问题 6.7 46 6.8 时间和状态 47 附录A(资料性附录) 49 参考文献 SJ/T 11682—2017 前言 本标准按照GB/T1.1—2009给出的规则起草。 请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任。 本标准由工业和信息化部信息化和软件服务业司提出。 本标准由中国电子技术标准化研究院归口。 本标准起草单位:珠海南方软件网络评测中心、中国电子技术标准化研究院、东信和平科技股份有 限公司、中国移动(深圳)有限公司、珠海中慧微电子有限公司、湖南省软件评测中心、国家应用软件 产品质量监督检验中心、珠海市软件行业协会。 本标准主要起草人:侯建华、徐俊、王忠福、谈利群、黄兆森、王宝艾、张旸旸、张雪莉、蒋蜀鹏、 张汉就、钟伟、李莉、周悦。 1I SJ/T11682—2017 引 信 C语言是一种面向过程的程序设计语言,广泛应用于系统软件与嵌入式软件的开发。本标准的C语 言语法遵循ISO/IEC9899:2011标准。C++语言是一种面向对象的程序设计语言,它在C语言的基础上发 展而来,与C语言具有许多相同的语法,广泛应用于系统软件与应用软件的开发。本标准的C++语言语 法遵循ISO/IEC14882:2011语法标准。众所周知,由于各种人为因素影响,每个软件的源代码都难免会 存在缺陷,而许多软件运行故障或软件失效 代码缺陷有关。为尽量降低C/C++语言源代码缺陷率, 代码中常见的缺陷制订的 本标准关注的源代码缺陷,主要是指C/C++语言源代码中典型的源程序问题,未包含违反源程序编 码风格准则等方面的其他问题#源#床问题请参考其他 美标准本标准的源代码缺陷也包括了一 些通用组件 美的缺陷, 知COM字符串使用类缺陷。 本标准 提出的源代码 能产生源代码 的主要因素 即对编码前分析设 控制,特指 和中可能造成 计和编码 码缺陷的错误隐患进行控制。 本标准既可 可作为C/C 亮软生发时印的源代码缺陷控 也可作 求, Co 语言源代码缺陷测 HNOL 试的要求 ISTRY LOGY S ND III SJ/T11682—2017 /C++语言源代码缺陷控制与测试规范 1范围 本标准规定了C/C++语言程序中典型的行为问题、数据处理、错误的API协议实现等类型源代码缺 陷(简称“缺陷”)的表象说明、控制活动和测试方法。 本标准适用于C/C++语言程序设计与测试 注:本标准所指的缺陷测试主 AV 规范性引用文件 2 ISTRY 下列文件习 体文件的应用是必不可少的。凡是注日期的引用文化 期的版本适用于本文件。 X 文 凡是不注日期的创用文件 服包活所有的修改单 2207:995Mom GB/T8 2001 软 周期过程(ISO GB/T 386 软件测试文编制规范 ECH 008 GB/T 信息技 15582 GB/T 2008 GB/T 信息技术 SOTTE 管理(GB美 201582006 TR15846:1998,IDT) NOL 3 术语和 S GB/TN457 定的以及下列术语和定义适用丁本文件。 3.1 组件对象模型 L COM 一种对象结构和规范用以建立软件模块之问的通讯 3.2 ND 死循环deadcycle 程序的执行陷入永久重复执行某段代码的过程中 3. 3 解引用dereference 取指针指向的地址的内容。 3.4 副作用 sideeffect 在表达式执行后对程序运行环境可能会造成影响。 注:赋值语句、自增、自减等操作都是典型的具有副作用的操作。 SJ/T11682—2017 4源代码缺陷控制 4.1缺陷控制目的 源代码缺陷控制的目的是: a)使软件满足软件开发合同书或项目开发计划、系统/子系统设计文档、软件需求规格说明、软 件设计说明和软件产品说明等规定的软件质量要求; b)减少源代码中的缺陷。 4.2缺陷控制过程 源代码缺陷的控制主要贯穿于软件生存周期过程的设计和编码活动中,缺陷控制过程一般包括: a)2 在软件需求分析活动中应分析软件的质量要求,并在软件需求规格说明中对其进行描述,明确 为避免设计错误应遵循的约定; b) 应形成完整的系统需求规格说明及软件需求规格说明,并进行评审,关注软件质量需求规格项 的正确性、准确性,关注设计约定的完备性; 在软件设计活动中应根据软件的质量要求,明确每一个软件模块为避免编码错误而应限定的约 ) 束; d) 应形成完整的系统设计说明及软件设计说明,并进行评审,关注软件产品架构、设计决策、设 计约束及详细设计对程序编码的指导性; e) 在软件编码活动中,编码人员应避免软件设计说明中列出的源代码缺陷,必要时可在开展编码 活动前培训编码人员如何避免源代码缺陷; f) 贯穿于软件生存周期全过程,控制需求变更,追踪需求的分解、分配及评审确认。 4.3缺陷控制管理 4.3.1 质量保证 针对源代码缺陷控制管理,软件质量保证一般包括以下内容: a) 根据项目质量目标确定软件开发应遵循的标准、规范及准则; 根据软件关键程度等重要性确定程序源代码缺陷控制范围及量化目标值,如避免什么缺陷、千 b) 行缺陷率等; c) 跟踪和验证需求、设计评审发现的问题以及源代码评审、测试发现的问题; d) 软件质量保证计划应明确评价源代码缺陷控制过程及其活动、评价编码依据文档及其源代码的 策略。 质量保证要求见GB/T8566-—2007的6.3相关内容。 4.3.2 配置管理 针对源代码缺陷控制管理,软件配置管理一般包括以下内容: a) 源代码缺陷记录应纳入适当控制级别的配置管理; 与源代码缺陷有关的标准、规范、准则以及测试源代码缺陷的工具应纳入适当控制级别的配置 管理; c) 控制影响源代码缺陷的配置项的变更。 配置管理要求见GB/T20158。 2 SJ/T11682—2017 4.3.3过程管理 缺陷控制过程及其管理活动和资源等要求,是软件工程过程中的部分内容。缺陷控制过程管理要求 见GB/T8566—2007的7.1相关内容。 5源代码缺陷测试 5.1缺陷测试目的 源代码缺陷测试的目的是: a) 通过测试,发现及定位软件源代码中的缺陷 为软件产品的质量测量和评价提 5.2 缺陷测试过程 5.2.1 概述 过程与通常的软件测试过程是一致的, 源代码缺 测试需求分析、测试设 计与实现、 测试预流动。这五项活 有时存在不 程度的交叉、重叠和迭 代。 源代石 缺陷测武过程费 一般在软件式过程中与其他测 武类型 为了方便叙述,下面 冰测试需求 测试分析与总结次 按照测试 析高测诚圾惠实现、测试执行、 概要说明源代码缺陷 HNO 测试过程 5.2.2 根据测试要求确定测 资源文现和 彪源代码 式范围、对 实测试充分性要求;提 出测试基 方法及 采用的标 险分析 估;制定测试计划 (含资源计划和进度 计划)。有关测试 的内容和要求见GB/T9386—2008的第4章。 5.2.3测试需求分 根据软件的重要等级、 、行业及应用特点、技术特点、开发特点, 分析软件的需求规格说明和设计说 明,提取并确定需要进源代码缺陷测试的具体的程序模块及其 相关的源代码文件、关注的缺陷类型、 需要的源代码测试方法等 5.2.4测试设计与实现 说明各软件模块的重要性以及重点关注的源代码缺陷,明确各程序模块以及各源代码缺陷的测试优 先级顺序,提出源代码缺陷测试技术方案。一般包括: a) 明确静态测试的自动化测试工具或人工测试手段的实施步骤; b)源代码缺陷测试资源及测试环境的建立及校准说明。 根据测试设计说明,实现测试工具或测试方法的制备,建立并校准测试环境,验证测试执行条件已 就绪。 5.2.5测试执行 对于采用人工方式进行源代码缺陷测试,测试人员应根据测试设计说明的人工测试方法执行源代码 缺陷测试,形成测试执行过程记录及发现的源代码缺陷记录, 3

.pdf文档 SJ-T 11682-2017 C-C 语言源代码缺陷控制与测试规范

文档预览
中文文档 57 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共57页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
SJ-T 11682-2017 C-C 语言源代码缺陷控制与测试规范 第 1 页 SJ-T 11682-2017 C-C 语言源代码缺陷控制与测试规范 第 2 页 SJ-T 11682-2017 C-C 语言源代码缺陷控制与测试规范 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2025-08-16 16:27:20上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。