(1)概述
如下图所示,ISO26262:2018 Part 6-11是”嵌入式软件测试”。其对应的V模型左边的活动是”Part 6-6软件安全需求规范”。
(2)测试环境
嵌入式软件测试的测试环境需要是在”目标环境”下,具体要求见下表所示:
(3)测试方法
(4)测试用例设计方法
上图的测试用例设计方法中,本文介绍如下两个在之前文章中未提及的方法:
- 功能依赖性分析Analysis of functional dependencies
- 运行场景用例分析Analysis of operational use cases
(5)功能依赖性分析Analysis of functional dependencies
通过分析软件内不同功能间的依赖性关系,以及与其它ECU之间的依赖性关系,来设计测试用例。
例如:
LKA(车道线保持)功能对EPS(电动助力转向)功能是有依赖的。
软件需求中可以定义如下的依赖关系:
- 如果EPS不能正常工作(EPS State = error),需禁止LKA功能(LKA state = disable)
测试用例需要对上述需求中描述的LKA与EPS之间的依赖关系进行测试。
(6)运行场景用例分析Analysis of operational use cases
通过分析软件功能在不同运行场景(如:运行模式)下的表现,来设计测试用例。
例如,安全带报警功能的需求
- 当车处于静止状态(P档、N档)时、不启动安全带报警功能
- 当车处于低速状态(Speed <= 5KM)时、不启动安全带报警功能
- ......
测试用例需要对上述需求中所描述的安全带报警功能在不同运行场景下的表现进行测试。
(7)关于软件需求
测试用例都是基于软件需求设计出来的,软件需求是测试用例的基础。
上述的功能间的依赖关系、功能在不同运行场景下的表现都要在软件需求中有定义才可以。
Automotive SPICE的”SWE.1软件需求分析”中要求在软件需求时考虑运行场景,就是对软件需求中需要包括“功能间依赖关系”以及“功能在不同场景下的表现”的要求。
SWE.1.BP4: 分析对运行环境的影响 / Analyze the impact on the operating environment
分析软件需求对系统元素接口以及运行环境的影响。
Analyze the impact that the software requirements will have on interfaces of system elements and the operating environment.