行业认证标准:ISO 26262-汽车软件功能安全标准
什么是ISO 26262?
ISO 26262“道路车辆–功能安全”是一项功能安全标准,涵盖了电气和电子汽车系统及其开发过程,包括需求规范、设计、实施、集成、验证、确认和配置。该标准通过在软件和硬件级别上指定要求来提供有关汽车安全生命周期活动的指南。

通过源代码分析和单元测试来增强ISO 26262的合规性
Parasoft用户可以利用Parasoft C/C++test通过自动执行标准所需的多种测试方法来降低达到ISO 26262法规遵从性的成本。该标准的第6部分专门针对软件级别的产品开发,Parasoft用户可以节省遵循该标准这一部分的时间和精力。
ISO 26262合规要求
了解如何遵守ASIL风险等级
对于软件级别的系统开发,用户需要部署一系列软件测试技术。需要哪种特定的测试方法取决于系统的ASIL等级分类。例如,开发归类为ASIL A的系统的用户仅需要证明语句覆盖范围即可证明足够的软件测试水平,而开发ASIL D系统的用户将需要投入更多的工作来确保适当水平的MC/DC覆盖范围。
实施静态分析和单元测试
为了符合ISO 26262,组织必须实施多个流程和要求,并且使软件开发活动自动化的静态分析和单元测试等技术可以极大地帮助组织满足ISO 26262的要求。软件工具资格证明该工具适合开发与安全相关的项目或元素。
确保您的工具具有使用资格
Parasoft C/C++test已通过TÜVSÜD认证,适合在开发安全关键系统时使用。我们的TÜV认证涵盖了所有ASIL等级的C/C++test资格。为了支持其他行业标准,Parasoft提供了一个资格认证套件,该套件可自动执行工具资格认证流程的重要部分,从而减少了手工工作量,并消除了软件团队的分心。
Parasoft如何帮助实现ISO 26262合规性
Parasoft用户可以通过自动执行标准所需的多种测试方法来节省时间和精力,从而利用Parasoft C/C++test降低符合ISO 26262要求的成本。自动生成的报告和仪表板为团队提供了一种实用的方法来防止、暴露和纠正软件中的错误,并准备审核所需的文档。

Parasoft帮助组织执行静态分析、单元测试、结构代码覆盖率、需求可追溯性和标准推荐的其他测试方法。
Parasoft C/C++test促进并自动执行ISO 26262中指定的软件测试方法,该方法的第6部分专门用于软件级别的产品开发。规定了以下开发活动的要求:
- 初始化产品开发
 - 软件安全要求规范
 - 软件架构设计
 - 单元设计与实施
 - 单元测试
 - 软件集成和测试
 - 验证软件安全要求
 
以下各节中列出的表格将ISO 26262中的关键软件测试方法与Parasoft C/C++test相匹配。(这些表旨在提供Parasoft功能的示例,并且绝不完整。)
在软件级别初始化产品开发
ISO 26262(第6部分)的此部分定义有关软件开发和验证过程的一般信息。详见下表。
5.4.6实现软件设计和实现正确性的要求。此处描述的方法适用于建模和编程语言。
| 要求 | Parasoft C/C++test****功能 | 
|---|---|
| 低复杂度的执行 | 报告循环复杂度、基本复杂度、Halstead复杂度和其他代码指标 | 
| 使用语言子集 | 编码标准强制措施,例如检测不安全的语言构造 | 
| 实施强类型 | 编码标准实施、隐式转换检测 | 
| 防御性实现技术的使用 | 针对适当的编码标准规则执行防御性编程,例如,检查malloc的返回值,检查被调用函数返回的错误代码值等。 | 
| 使用既定的设计原则 | 实施行业编码标准规则集,例如MISRA C/C++,JSF,HIS源代码指标等。 | 
| 使用明确的图形表示 | 实施特定的格式约定 | 
| 样式指南的使用 | 强制执行特定的编码约定 | 
| 命名约定的使用 | 特定命名约定的执行 | 
软件单元****设计与实现
本节定义了指定和实现软件单元的过程,以及对设计和实现的验证。
8.4.5指定用于检查软件单元设计和实施的验证方法。
| 要求 | Parasoft C/C**++test****功能** | 
|---|---|
| 控制流分析 | 控制流分析 | 
| 数据流分析 | 数据流分析 | 
| 静态代码分析 | 编码标准执行 | 
软件单元测试
本节定义了计划、定义和执行软件单元测试的过程。
9.4.1描述有关单元测试执行的一般信息
| 要求 | Parasoft C/C**++test****功能** | 
|---|---|
| 单元测试执行 | 
- 单元测试执行模块
 - 报告模块,用于显示结果
 
- 可配置的单元测试生成模块根据定义的规范创建测试
 - 测试用例浏览器模块显示所有已定义测试用例的列表,以及通过/失败状态
 
||
9.4.2描述用于指定和执行单元测试的方法
| 要求 | Parasoft C/C**++test****功能** | 
|---|---|
| 基于需求的测试 | 
- 用户可以根据需求使用Parasoft C/C++test设计单元测试用例
 - 单元测试用例可以带有需求ID
 - Parasoft C/C++test报告框架与需求管理系统集成,并生成报告以在特定需求的上下文中显示测试结果
 
- 与协奏曲一起映射具有需求和/或缺陷的测试用例
 - 支持手动创建的用户定义的测试用例以及使用“测试用例编辑器”创建的测试
 
- 可以创建单元测试用例
 - 使用功能存根和数据源来模拟外部组件的行为以自动执行单元测试
 
- 使用功能存根执行故障条件
 - 使用不同的前提条件自动生成单元测试(例如,最小、最大、启发式值)
 
||
9.4.3定义用于创建测试用例的方法
| 要求 | Parasoft C/C**++test****功能** | 
|---|---|
| 语句覆盖率 | 代码覆盖率模块 | 
| 分支机构覆盖 | 代码覆盖率模块 | 
| MC/DC(修改的条件/决策范围) | 代码覆盖率模块 | 
9.4.5定义测试环境的要求。
| 要求 | Parasoft C/C**++test****功能** | 
|---|---|
| 单元测试的测试环境应尽可能与目标环境相对应 | 可以在目标设备和模拟器上执行单元测试,以在不同的环境中执行测试(例如,软件在环,处理器在环,硬件在环) | 
软件集成与测试
10.4.2描述有关执行软件集成测试的一般信息。
| 要求 | Parasoft C/C**++test****功能** | 
|---|---|
| 集成测试 | 灵活配置测试软件范围(从单个功能到整个应用程序) | 
10.4.5定义用于证明集成测试完整性的方法。
| 要求 | Parasoft C/C**++test****功能** | 
|---|---|
| 功能覆盖率 | 代码覆盖率模块 | 
| 功能呼叫覆盖范围 | 代码覆盖率模块 | 
10.4.7定义集成测试环境的要求。
| 要求 | Parasoft C/C**++test****功能** | 
|---|---|
| 用于软件集成测试的测试环境应尽可能与目标环境相对应 | 
- 可以在目标设备和模拟器上执行集成测试,以在不同的环境中执行测试(例如,软件在环,处理器在环,硬件在环)
 - 灵活的存根框架
 
||
白皮书
符合Parasoft的ISO 26262****软件合规性
为汽车的E/E系统开发符合ISO 26262的软件并非易事,但是Parasoft通过提供广泛的分析工具来减轻负担,并使您能够自动监视对开发策略的遵守情况,从而缩小了开发活动与业务流程之间的差距。有关映射的完整列表,请下载此资源进行查看。
