GB/T 43499-2023 机动车检测系统软件测试方法
- 名 称:GB/T 43499-2023 机动车检测系统软件测试方法 - 下载地址2
- 下载地址:[下载地址2]
- 提 取 码:
- 浏览次数:3
发表评论
加入收藏夹
错误报告
目录| 新闻评论(共有 0 条评论) |
资料介绍
ICS 43. 180 CCS R 86
中 华 人 民 共 和 国 国 家 标 准
GB/T 43499—2023
机动车检测系统软件测试方法
Testing methodsforthesoftwareofmotorvehicleinspection system
2023-12-28发布 2024-07-01实施
国家市场监督管理总局国家标准化管理委员会
发
布
GB/T 43499—2023
目 次
前言 Ⅲ
1 范围 1
2 规范性引用文件 1
3 术语和定义 1
4 测试内容 1
5 测试方法 5
6 测试文档集 11
附录 A (资料性) 软件规范性测试典型缺陷列表 12
附录 B (资料性) 版本登记记录表 13
附录 C (资料性) 测试报告 16
参考文献 21
Ⅰ
GB/T 43499—2023
前 言
本文件按照 GB/T 1. 1—2020《标准化工作导则 第 1部分 :标准化文件的结构和起草规则》的规定起草 。
请注意本文件的某些内容可能涉及专利 。本文件的发布机构不承担识别专利的责任 。
本文件由全国机动车运行安全技术检测设备标准化技术委员会(SAC/TC364)提出并归 口 。
本文件起草单位 : 内蒙古自治区产品质量检验研究院 、内蒙古安盾信息安全评测有限公司 、中国测试技术研究院 、深圳市安车检测股份有限公司 、内蒙古自治区计量测试研究院 、重庆市软件评测中心有限公司 、公安部交通安全产品质量监督检测中心 、广东康士柏科技股份有限公司 、广东华工机动车检测技术有限公司 、北京市计量检测科学研究院 、云南省计量测试技术研究院 、安徽强科达智能科技有限公司 、深邦智能科技(青岛)有限公司 、浙江浙大鸣泉科技有限公司 、西华大学 、重庆云网科技股份有限公司 、广东省计量科学研究院 、广东泓胜科技股份有限公司 、成都成保发展股份有限公司 、沈阳检摩尔互联科技有限公司 。
本文件主 要 起 草 人 : 巩 韶 飞 、王 凤 玲 、刘 美 生 、孔 凡 波 、高 俊 、孙 磐 、丁 晓 明 、李 海 、华 莎 、李 振 峰 、于善虎 、刘嘉靖 、杨宁 、万正军 、张 泽 谦 、康 野 、孙 广 胜 、刘 兴 伟 、税 宁 、高 裕 龙 、郭 金 明 、杨 华 西 、罗 海 斌 、马腾 、张鑫 、闫军 、庞彦 、李鹏 。
Ⅲ
GB/T 43499—2023
机动车检测系统软件测试方法
1 范围
本文件规定了机动车检验机构检测系统软件的测试内容 、测试方法 、测试文档集 。
本文件适用于机动车检验机构检测系统软件的测试 。
2 规范性引用文件
下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款 。其中 , 注 日期的引用文件 ,仅该日期对应的版本适用于本文件 ;不注日期的引用文件 ,其最新版本(包括所有的修改单) 适用于本文件 。
GB/T 25000. 51—2016 系统与软件工程 系统与软件质量要求和评价(SQuaRE) 第 51部分 :就绪可用软件产品(RUSP)的质量要求和测试细则
GB/T 26765 机动车安全技术检验业务信息系统及联网规范
GB/T 38634. 4—2020 系统与软件工程 软件测试 第 4部分 :测试技术
GB/T 42685 机动车检验术语
HJ 1238 汽车排放定期检验信息采集传输技术规范
3 术语和定义
GB/T 42685界定的以及下列术语和定义适用于本文件 。
3. 1
机动车检验机构 vehicle inspection institution
依法成立 ,依据相关标准等规定利用仪器设备 、环境设施等技术条件和专业技能 ,对机动车进行检验检测的专业技术组织 。
3.2
机动车检测系统 vehicle inspection system
综合运用现代检测技术对机动车实施检验检测的软 、硬件系统 。
注 1: 机动车检测系统软件主要由业务管理 、检验控制 、数据存储 、设备标定/校准 、检验过程 监 控 、检 验 数 据 采 集 上传 、系统自检等 。
注 2: 机动车检测系统硬件由仪器设备状态监控 、机动车检验过程监测 、检验数据采集与处理 , 以及相关信息交换与显示 。
3.3
规范性测试 prescriptive testing
对机动车检测系统软件符合相关法律法规 、标准的规定进行验证测试 。
4 测试内容
4. 1 功能性测试内容
4. 1. 1 通则
机动车检测系统包括机动车安全技术检验业务信息系统 、机动车排放定期检验系统等 。机动车安
1
GB/T 43499—2023
全技术检验业务信息系统功能应符合 GB/T 26765的相关要求 。机动车排放定期检验系统功能应符合HJ 1238的相关要求 。检验数据传输应符合 GB/T 26765、HJ 1238的相关要求 。
4. 1.2 用户管理模块
对用户管理模块功能性测试包含但不限于以下内容 :
a) 人员管理 ;
b) 密码管理 ;
c) 权限分配 。
4. 1.3 参数管理模块
对参数管理模块功能性测试包含但不限于以下内容 :
a) 检验机构信息管理 ;
b) 仪器设备信息管理 ;
c) 检验标准信息参数设置 ;
d) 下次检定/校准日期参数设置 。
4. 1.4 信息登录模块
对信息登录模块功能性测试包含但不限于以下内容 :
a) 人员信息录入管理 ;
b) 强制保险单信息录入 ;
c) 调取车辆信息 ;
d) 违章/盗抢信息核查 。
4. 1.5 调度控制模块
对调度控制模块功能性测试包含但不限于以下内容 :
a) 自动调度检测 ;
b) 不合格项 目 自动生成复检 。
4. 1.6 查询统计模块
4. 1.6. 1 查询模块
对查询模块功能性测试包含但不限于以下内容 :
a) 日志查询 ;
b) 多组合条件查询 ;
c) 检测结果查询 ;
d) 检测人员查询 。
4. 1.6.2 统计模块
对统计模块功能性测试包含但不限于以下内容 :
a) 车辆类型分类合格率 ;
b) 检验类别合格率 ;
c) 区县分类合格率 ;
d) 检验项目分类合格率 ;
e) 客车和危货车辆检验情况 ;
f) 检测线检测车辆数分布 。
2
GB/T 43499—2023
4. 1.6.3 日志管理模块
对日志管理模块功能性测试包含但不限于以下内容 :
a) 日志记录功能 ;
b) 日志条件查询功能 ;
c) 不具备编辑/删除功能 ;
d) 关键信息加密存储 ;
e) 日志完整性 ;
f) 日志保存期限 。
4. 1.6.4 检验结果处理模块
对检验结果处理功能性测试包含但不限于以下内容 :
a) 检验结果自动判定及报告打印 ;
b) 检验结果数值修约 ;
c) 检验结果准确性 。
4. 1.7 检验控制系统功能
对检验控制系统功能性测试包含但不限于以下内容 :
a) 数值变换显示 ;
b) 系统终止 、中止 、锁止 、停止 、锁定 ;
c) 数值修约 ;
d) 结果判定 ;
e) 特殊情形处置及记录 。
4. 1. 8 数据存储功能
对数据存储功能性测试包含但不限于以下内容 :
a) 检测数据实时记录 ;
b) 检验数据自动存储及查询 。
4. 1.9 设备标定/校准功能
对设备标定/校准功能性测试包含但不限于以下内容 :
a) 设备标定/校准结果显示 ;
b) 设备标定/校准显示一致性 ;
c) 设备标定/校准质量 ;
d) 不具备纯软件标定功能 。
4. 1. 10 检验过程监控功能
对检验过程监控功能性测试包含但不限于以下内容 :
a) 数据监控 ;
b) 视频监控(适用时) ;
c) 图片监控(适用时) ;
d) 电子档案 。
4. 1. 11 检验数据采集上传功能
测试数据上传接 口 。
3
GB/T 43499—2023
4. 1. 12 系统自检功能
对系统自检功能性测试包含但不限于以下内容 :
a) 系统自检 ;
b) 设备锁止 。
4.2 非功能性测试内容
4.2. 1 规范性测试
测试软件设计 、使用过程中的合法合规程度 。规范性测试包含但不限于以下内容 :
a) 版本一致性 :测试实际运行软件是否与专网服务平台登记版本一致 ;
b) 业 务 数 据 正 确 性 : 测 试 软 件 业 务 数 据 是 否 正 确 (包 括 数 据 是 否 超 出 正 常 范 围 、数 据 准 确 性等) ,测试软件实时数据和历史数据是否准确无误 ;
c) 时间同步性 :测试工位机 、软件的数据库管理模块 、业务管理模块 、监控模块 、系统 日志时间是否一致同步 ;
d) 程序插件修改 :测试软件是否存在利用程序插件修改检测数据的功能 ;
e) 功能的合规性 :测试软件的功能设计是否符合相关现行有效法规 、标准和规定 。
4.2.2 数据安全性
4.2.2. 1 数据完整性
测试软件防止未授权访问 、篡改计算机程序或数据的程度 。数据完整性测试包含以下内容 :
a) 未授权用户访问控制 :测试软件是否具有对未授权用户非法访问的控制能力 ;
b) 非法攻击控制处理 :测试软件在模拟非法入侵攻击事件的条件下 ,是否具有控制和处理能力 ;
c) 非授权人创建 、删除 、修改控制 :测试软件是否对非授权人创建 、删除或修改信息具有控制处理能力 。
4.2.2.2 数据抗抵赖性
测试活动或事件发生后可被证实且不可被否认的程度 。数据抗抵赖性测试包含以下内容 :
a) 为数据原发者提供证据功能 :测试软件是否具有在请求的情况下为数据原发者提供数据原发证据的功能 ;
b) 为数据接收者提供证据功能 :测试软件是否具有在请求情况下为数据接收者提供数据接收证据的功能 。
4.2.2.3 数据可核查性
测试实体的活动可被唯一地追溯到该实体的程度 。数据可核查性测试包含以下内容 :
a) 用户进程关联与追溯 :测试软件是否实现将用户进程与所有者用户相关联 ,使用户进程的行为可追溯到进程的所有者用户 ;
b) 进程动态关联及追溯 :测试软件是否实现将系统进程动态与当前服务要求者用户相关联 ,使系统进程的行为可追溯到当前服务要求者用户 。
4.2.2.4 数据真实性
测试对象或资源的身份标识能够被证实符合其申明的程度 。数据真实性测试包含以下内容 :
a) 用户列表与配置表 :测试软件是否具有当前使用系统的用户列表和配置表 ;
b) 访问登录记录 :测试软件在系统的访问历史数据库中记录访问登录记录是否完整 ;
c) 历史日志及日志管理 :测试软件是否具有用户使用系统的历史日志及日志管理功能 ;
d) 模拟入侵日 志 记 录 : 测 试 软 件 在 模 拟 攻 击 事 件 的 入 侵 情 况 下 , 软 件 的 日 志 内 容 是 否 有 相 关
4
GB/T 43499—2023
记录 ;
e) 病毒检测记录 :测试软件用户访问系统和数据的记录内容中是否包括防止病毒的 “病毒检测记录 ”。
4.2.2.5 数据传输安全性
测试数据在传输与处理过程中受保护的程度 。数据传输安全性测试包含以下内容 :
a) 校验 :测试是否使用数据校验码算法 ,生成源数据的校验码 ,在传输及处理过程中对重要数据的完整性进行校验 , 防止关键数据被非法篡改 ;
b) 数据加密 :测试是否采用加密技术对重要数据 、隐私信息进行加密 ,实现数据保密性保护 , 防止信息泄露 ;
c) 网络传输安全 :测试是否采取措施保证数据在不同网络之间的传输安全 。
4.2.3 源代码规范性
检查程序 ,发现程序可能存在的异常 。源代码测试包含但不限于以下内容 :
a) 并不存在语句标号 :测试是否存在转向并不存在的语句标号 ;
b) 没有使用的语句标号 :测试是否存在没有使用的语句标号 ;
c) 没有使用的子程序定义 :测试是否存在没有使用的子程序定义 ;
d) 不存在子程序 :测试是否调用并不存在的子程序 ;
e) 无法到达语句 ;测试是否存在从程序入口进入后无法达到的语句 ;
f) 不能达到停止语句的语句 :测试是否存在不能达到停止语句的语句 ;
g) 特殊触发弹窗 :测试是否存在特殊的触发条件并出现弹窗 。
4.2.4 其他
检查软件版本登记 、升级 、变更等记录情况 ,其他测试包含但不限于以下内容 :
a) 登记表 :检查软件是否有版本登记表 、变更和升级记录表(如已变更或升级)等 ;
b) 登记表与软件一致性 :检查版本登记表 、升级(变更)内部审批表 、升级(变更)记录表等 ,几者是否一致 ,是否与实际运行软件符合 ;
c) 关键人员签字 :检查升级(变更)审批是否缺少授权签字人及技术负责人签字 。
软件规范性测试典型缺陷列表见附录 A。
版本登记记录表见附录 B。
5 测试方法
5. 1 通则
采用基于规格说明的测试方法和基于经验的测试方法对功能性测试内容及非功能性测试内容中的规范性 、数据安全性进行测试 ,将实测结果与预期结果相比较 ,判断软件是否存在功能性 、规范性及数据安全性缺陷 ;采用基于结构的测试方法对源代码规范性进行检查 ,发现程序存在的异常情况 。
基于规格说明的测试方法按照 GB/T 38634. 4—2020 中 5. 2 描述的测试技术进行 。基于规格说明的测试方法主要包括等价类划分 、分类树 、边界值分析 、因果图 、状态转移 、场景测试 、随机测试 ,应依据被测功能的特点,合理使用等价类划分 、分类树 、边界值分析 、因果图 、状态转移 、场景测试 、随机测试方法中的一种或多种方法 。
基于结构的测试方法按照 GB/T 38634. 4—2020 中 5. 3 描述的测试技术进行 。基于结构的测试方法主要包括语句测试 、分支测试 、判定测试 、分支条件测试 、分支条件组合测试 、修正条件判定覆盖测试 、数据流测试 。应依据被测源代码语句类别 、测试目的 ,选择使用语句测试 、分支测试 、判定测试 、分支条件测试 、分支条件组合测试 、修正条件判定覆盖测试 、数据流测试等测试方法 。
基于经验的测试方法按照 GB/T 38634. 4—2020 中 5. 4描述的测试技术进行 。实际测试过程中 ,应
5
GB/T 43499—2023
将基于经验的测试方法与基于规格说明的测试方法相结合使用 。
5.2 基于规格说明的测试方法
5.2. 1 等价类划分
等价类划分使用测试项模型将测试项输入和输出划分为等价类(也称为 “分区 ”) ,其中每个等价类都应作为一个测试条件 。这些等价类应从测试依据导出 ,对于每个分区中的所有值 ,都可被测试项类似地处理(即等价类中的值是 “等同的 ”) 。有效的输入输出以及无效的输入输出均可导出等价类划分 。
每个等价类应是一个测试覆盖项(即在等价类划分中 ,测试条件和测试覆盖项是同样的等价类) 。导出的测试用例应实现每个测试覆盖项(即等价类) 。导出测试用例的步骤如下 。
a) 确定选择测试用例所实现测试覆盖项的组合方法 ,下面是两种常见的方法 :
1) 一对一 ,导出的每个测试用例用于覆盖一个特定的等价类 ;
2) 最小化 ,其中等价类由测试用例覆盖 ,使得导出的最小测试用例数至少覆盖所有等价类一次 。
b) 采用步骤 a)中的方法选择包含在当前测试用例中的测试覆盖项 。
c) 确定为执行测试用例所涵盖的测试覆盖项的输入值 , 以及测试用例所需的任何其他输入变量的任意有效值 。
d) 将输入应用于测试依据来确定测试用例的预期结果 。
e) 重复步骤 b) ~ d)直到达到要求的测试覆盖率 。
5.2.2 分类树
分类树方法使用测试项模型将测试项的输入进行划分 ,并且用分类树的方式进行图形化表示 。测试项的输入被分为若干个 “分类 ”,每个划分由若干个独立(不重叠)的 “类 ”和子类组成 , 同时分类集是完整的(被建模测试项的所有输入域都被识别并包括在所有分类内) 。每个分类应是一个测试条件 。根据测试的严格程度 ,通过分解分类得到的 “类 ”可能会进一步分为 “子类 ”。根据要求的测试覆盖程度 ,导出的划分和类可能同时包括有效和无效的输入数据 。将分类 、类和子类之间的层次关系塑造成一棵树 ,测试项的输入域作为树的根节点,分类作为分支节点,类或者子类作为叶节点 。
测试覆盖项应采用所选的组合方法由组合分类来导出 , 导出的测试用例应实现每个测试覆盖项 。导出测试用例的步骤如下 :
a) 导出测试覆盖项 ,为当前测试用例选择一个组合 ,要求该组合没有被测试用例覆盖 ;
b) 确定每个类别中尚未赋值的输入值 ;
c) 通过将输入应用到测试依据中来确定测试用例的预期结果 ;
d) 重复步骤 a) ~ c) ,直到达到要求的测试覆盖率水平 。
5.2.3 边界值分析
边界值分析通过对测试项模型边界值的分析 ,将测试项的输入和输出划分为具有可识别边界的多个有序集和子集(分区和子分区) ,其中每个边界是测试条件 。边界应来自测试依据 。
导出的测试用例应实现每个测试覆盖项 。下面是导出测试用例的步骤 。
a) 确定选择测试用例所实现测试覆盖项的组合方法 ,有两种常见的方法 :
1) 一对一 ,每个测试用例实现一个指定的边界值 ;
2) 最小化 ,导出最小数量的测试用例以覆盖所有边界值至少一次 。
b) 采用步骤 a)中的方法选择当前测试用例包含的测试覆盖项 。
c) 步骤 b)中测试用例没有选择的其他输入变量取任意有效值 。
d) 通过将输入应用到测试依据中来确定测试用例的预期结果 。
e) 重复步骤 b) ~ d) ,直到达到要求的测试覆盖率水平 。
6
GB/T 43499—2023
5.2.4 因果图
因果图法使用以 因 果 图 形 式 表 示 测 试 项 原 因(例 如 输 入) 和 结 果(例 如 输 出) 之 间 的 逻 辑 关 系 模型 ,包括 :
— 测试项的每个布尔原因定义了一对输入等价类 ,一个对应 “真 ”的情况 ,一个对应 “假 ”的情况 ;
— 每个结果定义为测试项的预期结果条件或输出条件组合 ,表示为布尔值 。
测试条件应为原因和结果 。
因果图将原因和结果之间的逻辑关系建模为布尔运算符加权的布尔逻辑网络 ,并根据原因之间的关系和结果之间的关系进行语义和约束建模 。
在因果图中 ,每个判定规则定义了测试项的原因和结果之间唯一的组合关系 ,其可作为一个测试覆盖项 。导出的测试用例应实现对应的测试覆盖项 。可根据因果图产生相应的判定表 ,并用于导出测试用例 。导出测试用例的步骤如下 :
a) 选择当前测试用例需实现的测试覆盖项 ;
b) 确定输入值以执行测试用例所实现的测试覆盖项 , 以及执行测试用例所需的任意其他输入变量的任意有效值 ;
c) 通过将输入应用于因果图和/或判定表来确定测试用例的预期结果 ;
d) 重复步骤 a) ~ c)直到达到要求的测试覆盖率水平 。
5.2.5 状态转移测试
状态转移测试使用测试项的状态模型 ,模型包含测试项可能的状态 、状态间的转移 ,导致转移的实际和转移可能导致的动作 。模型的状态应是离散的 、可识别的和数量有限的 。单个转移可由事件保护进行约束 ,事件保护定义了一组条件 , 当事件发生时 ,该组条件应为真 ,从而发生转移 。在状态转移测试中 ,测试条件可是状态模型的所有状态 、状态模型的所有转移或整个状态模型 ,这取决于测试的覆盖要求 。模型可表示为状态转移图或状态表(也可使用其他表示方式) 。
在状态转移测试中 ,测试覆盖项可依据所选的测试完成准则和测试设计方法而变化 。状态转移测试导出的测试用例应实现测试覆盖项 。导出测试用例的步骤如下 :
a) 选择当前测试用例要包含的测试覆盖项 ;
b) 确定覆盖测试覆盖项的测试用例输入值 ;
c) 通过将输入应用到测试依据中 ,来确定测试用例的预期结果(预期结果可使用输出和状态模型中描述的访问状态来定义) ;
d) 重复步骤 a) ~ c)直到达到要求的测试覆盖率水平 。
5.2.6 场景测试
场景测试使用测试 项 与 其 他 系 统 之 间 的 交 互 序 列 模 型(在 此 周 境 中 , 用 户 通 常 被 认 为 是 其 他 系统) , 以测试所涉及的测试项使用流程 。测试条件应是一个交互序列(即一个场景) 或所有交互序列(即所有场景) 。
场景测试应包括以下场景 :
“主 ”场景是测试项的预期典型动作序列 ,或无典型动作序列时所采取的一个任意选择 ; “备选 ”场景表示测试项可选择的(非主)场景 。
测试覆盖项应是主场景和备选场景(即测试覆盖项与测试条件相同) 。 场景测试导出的测试用例中 ,一个测试用例至少覆盖一个场景(测试覆盖项) 。导出测试用例的步骤如下 :
a) 选择当前测试用例实现的测试覆盖项 ;
b) 确定测试用例覆盖的测试覆盖项的输入值 ;
c) 通过将输入应用到测试依据中 ,来确定测试用例的预期结果 ;
d) 重复步骤 a) ~ c) ,直到达到要求的测试覆盖率水平 。
7
GB/T 43499—2023
5.2.7 随机测试
随机测试使用测试项的输入域模型来定义所有可能输入值的集合 。应选择用于生成随机输入值的输入分布 。整个输入域应是随机测试的测试条件 。
随机测试没有已知的测试覆盖项 , 随机测试的测试用例应根据所选输入分布从测试项的输入域(或如果使用工具生成伪随机)中随机选择输入值而来 。导出测试用例的步骤如下 :
a) 为测试输入选择一种输入分布 ;
b) 根据步骤 a)中的输入分布 ,生成测试输入的随机值 ;
c) 通过将输入应用到测试依据中 ,来确定测试用例的预期结果 ;
d) 重复步骤 b) ~ c)直到完成要求的测试 。
5.3 基于结构的测试方法
5.3. 1 语句测试
语句测试应导出测试项的源代码模型 ,并将语句标识为可执行或不可执行 。 每个执行语句应为 一个测试条件 。
导出测试用例的步骤如下 :
a) 识别能到达一个或多个尚未被执行到测试覆盖项的控制流子路径 ;
b) 确定实现所识别的控制流子路径的测试输入 ;
c) 通过将相应的测试输入应用到测试依据 ,来确定执行控制流子路径的预期结果 ;
d) 重复步骤 a) ~ c)直到达到要求的测试覆盖率水平 。
5.3.2 分支测试
分支测试应导出 识 别 控 制 流 分 支 的 测 试 项 控 制 流 模 型 。 控 制 流 模 型 的 每 个 分 支 是 一 个 测 试 条件 ,分支包括 :
— 从控制流的任一节点到另一节点的条件转移 ;
— 从控制流任一节点到另一节点控制的明确无条件转移 ;
— 当一个测试项有不止一个入口点时 ,到测试项一个入口点的控制转移 。
控制流模型中的每个分支都是一个测试覆盖项(即测试覆盖项和测试条件一样) 。导出测试用例的步骤如下 :
a) 识别能到达一个或多个尚未被执行到测试覆盖项的控制流子路径 ;
b) 确定实现所识别的控制流子路径的测试输入 ;
c) 通过将相应的测试输入应用到测试依据中 ,来确定执行控制流子路径的预期结果 ;
d) 重复步骤 a) ~ c)直到达到要求的测试覆盖率水平 。
5.3.3 判定测试
判定测试应导出识别判定的测试项控制流模型 。判定是测试项中可产生控制流模型两个或多个结果(因此出现子路径)的点 。典型的判定用于简单的选择(例如 ,源代码中的 if-then-else) ,决定何时退出循环(例如 ,源代码中的 while循环) , 以及 case(switch)语句(例如 ,源代码中的 case-1-2-3-.. .-N) 。在判定测试中 ,控制流模型中的每个判定都应是测试条件 。
每个判定得到的判定结果应作为测试覆盖项 。导出测试用例的步骤如下 :
a) 识别能到达一个或多个尚未被执行到测试覆盖项的控制流子路径 ;
b) 确定实现所识别的控制流子路径的测试输入 ;
c) 通过将相应的测试输入应用到测试依据中 ,来确定执行控制流子路径的预期结果 ;
d) 重复步骤 a) ~ c)直到达到要求的测试覆盖率水平 。
5.3.4 分支条件测试
分支条件测试应导出识别判定和判定中条件的测试项控制流模型 。判定是测试项中可产生控制流
8
GB/T 43499—2023
模型两个或多个结果(因此出现子路径)的点 。
在分支条件测试中 ,判定中所有条件的赋值(取值)都是测试覆盖项 。 每个判定的判定结果也作为测试覆盖项 。导出测试用例的步骤如下 :
a) 识别能到达一个或多个尚未被执行到测试覆盖项的控制流子路径 ;
b) 确定实现所识别的控制流子路径的测试输入 ;
c) 识别步骤 b)中的测试输入的子集 , 以覆盖判定中条件的布尔值和判定结果 ;
d) 通过将相应的测试输入应用到测试依据中 ,来确定执行控制流子路径的预期结果 ;
e) 重复步骤 a) ~ d)直到达到要求的测试覆盖率水平 。
5.3.5 分支条件组合测试
分支条件组合测试应导出识别判定和条件的测试项控制流模型 。在分支条件组合测试中 ,每个判定都应是一个测试条件 。
每个判定中条件的布尔值的每个唯一可行组合应被识别为测试覆盖项 。包括简单判定 , 即由两个单一布尔量组合形成一个判定结果 。导出测试用例的步骤如下 :
a) 识别能到达一个或多个尚未被执行到测试覆盖项的控制流子路径 ;
b) 确定实现所识别的控制流子路径的测试输入 ;
c) 识别步骤 b)中的测试输入子集 , 以覆盖判定中包含条件的布尔值选定组合 ;
d) 通过将相应的测试输入应用到测试依据中 ,来确定执行控制流子路径的预期结果 ;
e) 重复步骤 a) ~ d)直到达到要求的测试覆盖率水平 。
5.3.6 修正条件判定覆盖测试
修正条件判定覆盖测试应导出标识判定和条件的测试项控制流模型 。修正条件判定覆盖(MCDC)测试中 ,每个判定应为测试条件 。
由单个布尔条件可独立影响判定结果的判定条件 ,其布尔值的每个唯一可行组合作为测试覆盖项 。通过仅改变一个条件而保持其他可能的条件不变 ,来表明条件是否独立影响一个判定结果 。导出测试用例时应遵循以下步骤 :
a) 识别能到达一个或多个尚未被执行到测试覆盖项的控制流子路径 ;
b) 确定实现所识别的控制流子路径被执行的测试输入 ;
c) 确定步骤 b)中的测试输入子集 , 以覆盖判定中各个布尔值的选定组合 , 每个组合条件能够独立影响判定结果 ,允许单个布尔条件独立地影响判定结果 ;
d) 通过将相应的测试输入应用于测试依据来确定预期结果 ;
e) 重复步骤 a) ~ d) ,直到达到所需的测试覆盖水平 。
5.3.7 数据流测试
5.3.7. 1 全定义测试
测试覆盖项是从每个变量定义到该定义的某种使用(谓词使用或计算使用)的控制流子路径 。每个子路径称为 “定义-使用 ”路径 。“全定义 ”测试要求所有变量定义都覆盖从定义到其谓词使用或者计算使用的至少一个定义到任意类型使用的子路径(与特定变量有关) 。导出测试用例时应遵循以下步骤 :
a) 确定尚未被测试覆盖的定义 ;
b) 确定控制流子路径的测试输入 ,该控制流子路径是从将要执行的定义中获得 ;
c) 通过将相应的测试输入应用于测试依据 ,来确定执行控制流子路径的预期结果 ;
d) 重复步骤 a) ~ c) ,直到达到所需的测试覆盖水平 。
5.3.7.2 全计算使用测试
测试覆盖项是从每个变量定义到该定义的每个计算使用的控制流子路径 。“全计算使用 ”测试要求所有相关变量定义都覆盖从定义到其每个计算使用的至少一个自由定义子路径(与特定变量有关) 。导
9
GB/T 43499—2023
出测试用例时应遵循以下步骤 :
a) 确定从变量定 义 到 该 定 义 计 算 使 用 的 控 制 流 子 路 径(不 包 括 中 间 定 义) , 该 路 径 尚 未 被 测 试覆盖 ;
b) 确定将要执行的控制流子路径的测试输入 ;
c) 通过将相应的输入应用于测试依据中 ,来确定执行控制流子路径的预期结果 ;
d) 重复步骤 a) ~ c) ,直到达到所需的测试覆盖水平 。
5.3.7.3 全谓词使用测试
测试覆盖项是从每个变量定义到该定义的每个谓词使用的控制流子路径 。“全谓词使用 ”测试要求所有相关变量定义都覆盖从定义到其每个谓词使用的至少一个自由定义子路径(与特定变量有关) 。导出测试用例时应遵循以下步骤 :
a) 确定从变量定义到其谓词使用的控制流子路径(不包括中间定义) ,该路径尚未被测试覆盖 ;
b) 确定将要执行的控制流子路径的测试输入 ;
c) 通过将相应的测试输入应用于测试依据中 ,来确定执行控制流子路径的预期结果 ;
d) 重复步骤 a) ~ c) ,直到达到所需的测试覆盖水平 。
5.3.7.4 全使用测试
测试覆盖项是从变量定义到该定义每次使用(包括计算使用和谓词使用) 的控制流子路径 。 “全使用 ”测试要求包括从每个变量定义到它的每个使用的所有子路径(不包括变量的中间定义) 。
导出测试用例时应遵循以下步骤 :
相关推荐
- GB/T 17880.1-1999 平头铆螺母
- GB∕T 2900.36-2021 电工术语 电力牵引
- GB∕T 40740-2021 堆焊工艺评定试验
- GB/T 20173-2013 石油天然气工业 管道输送系统 管道阀门
- GB/T 40800-2021 铸钢件焊接工艺评定规范
- GB/T 20670-2006 统一螺纹 直径与牙数系列
- GB/T 42511-2023 硬质合金 钴粉中钙、铜、铁、钾、镁、锰、钠、镍和锌含量的测定 火焰原子吸收光谱法
- GB/T 42513.1-2023 镍合金化学分析方法 第1部分:铬含量的测定 硫酸亚铁铵电位滴定法
- GB/T 201-2015 铝酸盐水泥
- GB/T 16674.2-2016 六角法兰面螺栓 细牙 小系列

