主要内容

评估ISO 26262基于需求的测试

您可以使用模型测试仪表板来根据ISO 26262-6:2018评估基于需求的测试活动的质量和完整性。仪表板通过监视需求、测试和测试结果之间的可追溯性,以及通过提供测试完整性和结构覆盖率的摘要,促进了这一活动。仪表板分析项目中的实现和验证工件,并提供:

  • 基于需求的测试用例的完整性和质量度量,符合ISO 26262- 6:18,第9.4.3条

  • 根据ISO 26262-6:2018,第9.4.4条,基于需求的测试结果的完整性和质量度量

  • 项目中工件的列表,由单元组织

要评估您基于需求的测试活动的完整性,请使用模型测试仪表板遵循这些自动和手动的评审步骤。

打开模型测试仪表板并收集度量结果

要使用模型测试仪表板分析测试工件:

  1. 打开一个包含模型和测试工件的项目。或者在MATLAB中为仪表板加载一个示例项目®命令窗口,输入:

    dashboardCCProjectStart (“不完整”

  2. 打开仪表板。要打开模型测试仪表板,请使用以下方法之一:

    • 项目选项卡上,单击模型测试仪表板

    • 在MATLAB命令行输入:

      modelTestingDashboard

  3. 工件面板中,仪表板将需求、测试用例和测试结果等工件组织在它们所追踪到的单元下。查看单位的度量结果db_DriverSwRequest在示例项目中,在项目面板中,单击db_DriverSwRequest。仪表板收集度量结果,并用单元的度量数据填充小部件。

    请注意

    如果您没有指定被认为是单元的模型,那么如果模型测试仪表板没有引用其他模型,它就会将模型视为单元。您可以通过在项目中标记它们并配置Model Testing Dashboard以识别这些标签来控制哪些模型作为单元和组件出现。有关更多信息,请参见将模型指定为组件和单元

模型测试仪表板显示单元db_DriverSwRequest的结果

仪表板小部件总结了每个单元的测试工件的可追溯性和完整性度量。度量结果以红色显示不一致的覆盖图标指出您可能需要解决的问题,以完成单元的基于需求的测试。如果结果显示了完全的可追溯性、测试完成或模型覆盖,那么它们就是兼容的。要查看度量的遵从性阈值,请指向覆盖图标。要更详细地查看数据,请单击单个度量小部件。对于选择的度量,一个表显示工件和每个工件的度量值。该表提供了打开工件的超链接,以便您可以获得详细的度量结果并修复有问题的工件。有关使用模型测试仪表板的更多信息,请参见使用模型测试仪表板探索测试活动的状态和质量

测试用例评审

为了验证单元是否满足其需求,您可以基于需求为单元创建测试用例。ISO 26262-6,第9.4.3条要求单元的测试用例是根据要求推导出来的。当您为一个需求创建一个测试用例时,您可以在测试用例和需求之间添加一个可追溯性链接,如中所述将需求链接到测试(需求工具箱)而在为测试建立需求可追溯性(万博1manbetx仿真软件测试)。可追溯性允许您跟踪您的测试验证了哪些需求,并确定模型不满足的需求。条款9.4.3要求需求和测试用例之间的可追溯性,以及对测试用例正确性和完整性的评审。要评估单元测试用例的正确性和完整性,请使用测试用例分析部分的模型测试仪表板。

以下是一个示例检查表,用于帮助您审查与ISO 26262-6相关的测试用例正确性和完整性。对于每个问题,使用相应的仪表板指标执行审查活动,并应用相应的修复。此检查表是作为示例提供的,应该对其进行检查和修改以满足您的应用程序需求。

清单项目 评审活动 仪表盘指标 修复
1 -每个测试用例都追踪到一个需求吗?

中的小部件,以检查单元100%的测试用例是否链接到需求链接到需求的测试部分。

链接到需求的测试

度量小部件,指示满足需求的测试的百分比,计数小部件,指示一个未链接的测试

度量ID -TestCaseWithRequirementPercentage

有关更多信息,请参见测试链接到需求百分比

对于每个未链接的测试用例,向测试用例验证的需求添加一个链接,如中所述修复基于需求的测试问题

2 -每个测试用例都能追踪到正确的需求吗?

对于每个测试用例,手动验证它所链接到的需求是正确的。单击带需求的测试小部件以查看测试用例的表。中查看测试用例所追踪到的需求工件列中,单击测试用例名称左侧的箭头。

链接到需求的测试

测试用例和连接需求的表

度量ID -TestCaseWithRequirement

有关更多信息,请参见与需求链接的测试

对于每个指向不正确需求的链接,删除该链接。如果测试用例缺少到正确需求的链接,添加正确的链接。

测试用例是否覆盖了所有的需求?

中的小部件,以检查单元的100%需求是否链接到测试用例与测试关联的需求部分。

与测试关联的需求

度量小部件,指示测试用例的需求百分比,计数小部件,指示未链接的需求

度量ID -RequirementWithTestCasePercentage

有关更多信息,请参见测试用例的百分比需求

对于每个未链接的需求,添加一个链接到验证它的测试用例,如中所述修复基于需求的测试问题

测试用例是否定义了包括通过/失败标准在内的预期结果? 手动检查每种类型的测试用例。中的小部件按类型测试节查看每种类型的测试用例表:模拟等价,基线。中的超链接在测试管理器中打开每个测试用例工件列。基线测试用例必须定义基线标准。对于模拟测试用例,回顾每个测试用例通过使用评估定义通过/失败标准,如中所述评估模拟和比较输出数据(万博1manbetx仿真软件测试)

按类型测试

表中列出了每个测试用例及其类型

度量ID -TestCaseType

有关更多信息,请参见测试用例类型

对于未定义预期结果的每个测试用例,单击工件列,在test Manager中打开测试用例,然后添加预期的测试定义和通过/失败标准。
每个测试用例是否正确地测试了它所追踪到的需求?

手动检查每个测试用例的需求链接和内容。单击带需求的测试小部件以查看测试用例的表。中查看测试用例所追踪到的需求工件列中,单击测试用例名称左侧的箭头。使用超链接打开测试用例和需求,并检查测试用例是否正确地测试了需求。

链接到需求的测试

测试用例和连接需求的表

度量ID -TestCaseWithRequirement

有关更多信息,请参见与需求链接的测试

对于每个没有正确测试它所追踪到的需求的测试用例,单击工件列中打开测试管理器中的测试用例,然后更新测试用例。或者,添加进一步测试需求的测试用例。

测试结果回顾

在单元上运行测试后,必须检查结果,以检查单元是否已执行、通过和充分测试了测试。ISO 26262- 6:19 18中的第9.4.4条要求您分析每个单元的要求覆盖范围。检查每个测试用例是否测试了预期的模型并通过了测试。此外,通过收集测试中的模型覆盖率结果来测量单元的覆盖率。为了评估单元需求的测试覆盖率,请使用模拟试验结果分析部分的模型测试仪表板。

下面提供了检查清单,以方便使用仪表板分析和检查测试结果。对于每个问题,使用相应的仪表板指标执行审查活动,并应用相应的修复。此检查表是作为示例提供的,应该对其进行检查和修改以满足您的应用程序需求。

清单项目 评审活动 仪表盘指标 修复
每个测试结果都可以追溯到一个测试用例吗? 只使用显示在仪表板中的测试结果。不追踪到测试用例的测试结果不会出现在仪表板中。中的小部件单击模型试验状态节查看测试用例的表以及追踪到它们的结果。

模型试验状态

失败的测试用例表

度量ID -TestCaseStatusDistribution

有关更多信息,请参见测试用例状态分布

打开度量详细信息并单击工件列中打开测试管理器中的测试用例。重新运行结果应该追溯到的测试,并导出新的结果。
每个测试用例都可以追溯到一个测试结果吗? 检查是否有零个测试用例未测试,并且零个测试用例已禁用。

模型试验状态

显示未测试和禁用测试用例计数的小部件

度量ID -TestCaseStatusDistribution

有关更多信息,请参见测试用例状态分布

对于每个禁用或未测试的测试用例,在测试管理器中,启用并运行测试。
是否执行了所有的测试用例? 检查是否有零个测试用例未测试,并且零个测试用例已禁用。

模型试验状态

显示未测试和禁用测试用例计数的小部件

度量ID -TestCaseStatusDistribution

有关更多信息,请参见测试用例状态分布

对于每个禁用或未测试的测试用例,在测试管理器中,启用并运行测试。
4 -所有测试用例都通过了吗?

检查单元100%的测试用例通过。

模型试验状态

度量小部件指示通过测试用例的百分比

度量ID -TestCaseStatusPercentage

有关更多信息,请参见测试用例状态百分比

对于每个测试失败,在test Manager中检查失败,并在模型中修复相应的测试用例或设计元素。
所有测试结果是否包括覆盖率结果? 在test Manager中手动检查每个测试结果,以检查它是否包含覆盖率结果。 不适用 对于每个不包括覆盖率的测试结果,在test Manager中打开测试用例,然后启用覆盖率收集。再次运行测试用例。
每个单元是否达到要求的结构覆盖目标? 检查测试是否实现了单元测试所需的覆盖类型的100%模型覆盖。要确定所需的覆盖类型,请考虑软件单元的安全级别,并使用ISO 26262- 6:19 18第9.4.4条中的表9。

模型覆盖

模型覆盖结果图

度量ID -ExecutionCoverageBreakdown

度量ID -ConditionCoverageBreakdown

度量ID -DecisionCoverageBreakdown

度量ID -MCDCCoverageBreakdown

有关更多信息,请参见:

对于每个未覆盖的设计元素,分析以确定错过覆盖的原因。分析可以揭示测试、需求或实现中的缺陷。如果合适,添加测试以覆盖该元素。或者,添加一个验证过滤器来验证错过的覆盖,如中所述创建、编辑和查看覆盖筛选规则(万博1manbetx仿真软件覆盖)
7 -所有实现的覆盖都来自基于需求的测试吗? 检查100%实现的总体覆盖率来自基于需求的测试。

中查看度量结果实现覆盖率仪表板的分段。单击下面的小部件基于需求的测试有关每种覆盖类型的总体实现覆盖的来源的信息。

基于需求的测试图表

有关相关的度量id,请参见单元基于需求测试的度量

对于任何不是来自基于需求的测试的总体覆盖率,添加到测试用例验证的需求的链接。

总体实现的覆盖率是否来自正确测试单元的测试用例? 手动检查每个测试用例的内容。检查来自单元边界测试的总体已实现覆盖率的百分比。

中查看度量结果实现覆盖率仪表板的分段。单击下面的小部件Unit-Boundary测试有关每种覆盖类型的总体实现覆盖的来源的信息。

单元边界测试图

有关相关的度量id,请参见单元边界测试的度量

对于任何不是来自单元边界测试的总体覆盖率,要么添加一个测试整个单元的测试,要么重新考虑单元模型定义。
9 -缺点是否合理?

手动审查覆盖范围的理由。工具中的条模型覆盖节查看对应覆盖类型的结果表。要在测试管理器中打开测试结果以进行进一步检查,请单击工件列。

模型覆盖

决策覆盖结果表

度量ID -ExecutionCoverageBreakdown

度量ID -ConditionCoverageBreakdown

度量ID -DecisionCoverageBreakdown

度量ID -MCDCCoverageBreakdown

有关更多信息,请参见:

对于每一个不合理的覆盖缺口,更新缺失覆盖的理由。或者,添加测试用例来填补空白。

符合ISO 26262的单位验证

模型测试仪表板提供了关于基于单元需求的测试活动的质量和完整性的信息。为了符合ISO 26262- 6:18,您还必须在其他架构级别测试您的软件。ISO 26262- 6:19 18描述了这些测试级别的合规性要求:

  • 表7中软件单元测试,方法1j

  • 表10中的软件集成测试,方法1a

  • 嵌入式软件测试见表14,方法1a

ISO 26262- 8:8 2018中详细描述的通用验证过程,第9条包含了关于如何通过使用测试的计划、规范、执行、评估和文档,系统地实现这些级别的每个测试的附加信息。此表显示了模型测试仪表板如何应用于ISO 26262- 8:8 2018中的要求,单元测试级别的第9条,以及执行以显示合规性所需的补充活动。

要求 合规的论点 互补的活动
9.4.1 -验证活动的范围 模型测试仪表板适用于所有安全相关和非安全相关的软件单元。 不适用
9.4.2 -验证方法 模型测试仪表板提供了基于需求的测试完成的总结(表7,方法1j),包括测试结果的视图。

在适用的情况下,应用一种或多种其他验证方法:

  • 手工评审和分析检查表

  • 应用其他工具,如静态代码分析、控制流分析和数据流分析

  • 开发额外的测试,例如接口测试、故障注入测试和背靠背比较

9.4.3 -派生测试用例的方法 模型测试仪表板提供了几种遍历软件单元需求和相关测试的方法,这有助于您从需求中获得测试用例。 您还可以通过使用其他工具来派生测试用例,例如万博1manbetx®设计验证器™
9.4.4 -要求和结构覆盖

模型测试仪表板有助于显示:

  • 需求覆盖的完整性

  • 通过测试实现的分支/语句和MCDC模型覆盖

  • 已实现的覆盖的充分性的理由

仪表板仅在模型级别提供结构覆盖。您可以使用其他工具在代码级别跟踪结构覆盖率。
9.4.5 -测试环境 模型测试仪表板有助于在模型级别进行基于需求的测试。 应用背靠背比较测试来验证模型的行为是否等同于生成的代码。

引用:

  • ISO 26262-4:2018(en)道路车辆-功能安全-第4部分:系统级产品开发,国际标准化组织

  • ISO 26262-6:2018(en)道路车辆-功能安全-第6部分:软件级产品开发,国际标准化组织

  • ISO 26262-8:2018(en)道路车辆-功能安全-第8部分:支持过程,国际标准化组织万博1manbetx

另请参阅

相关的话题