汽车电子嵌入式开发系列50篇(二)-如何进行集成测试?

举报
格图洛书 发表于 2021/12/24 14:39:37 2021/12/24
【摘要】     软件集成和测试主要对实现的各软件模块进行集成,并验证其嵌入式软件实现是否符合软件架构设计。该阶段的要求和建议如下:软件集成计划应该描述层次化的集成单个软件单元进软件组件中,直到嵌入式软件完全集成,并且应该考虑如下:软件集成功能的相互关系软件集成和软硬件集成的相互关系注意:对于基于模型的开发,可以先集成各模型,然后对集成好的模型进行自动代码生成以完成整体软件的集成。软件集成测试根据IS...

    软件集成和测试主要对实现的各软件模块进行集成,并验证其嵌入式软件实现是否符合软件架构设计。该阶段的要求和建议如下:

  • 软件集成计划应该描述层次化的集成单个软件单元进软件组件中,直到嵌入式软件完全集成,并且应该考虑如下:

  • 软件集成功能的相互关系

  • 软件集成和软硬件集成的相互关系

注意:对于基于模型的开发,可以先集成各模型,然后对集成好的模型进行自动代码生成以完成整体软件的集成。

图片

  • 软件集成测试根据ISO 26262-8:2011,第9章计划,定义并且执行。软件集成测试的测试对象是软件组件。对于基于模型的开发,测试对象可以是和软件组件相关的模型。

  • 软件集成测试需要按照下表的方法进行,以完成以下目标:

  • 检查集成的软件是否和软件架构设计一致

  • 检查集成的软件是否满足软硬件接口规格

  • 验证功能的正确性

  • 检查其鲁棒性,比如:错误检测、错误处理机制的有效性。

  • 检查是否有足够的资源来支持

表1 软件集成测试方法

方法

安全等级(ASIL)

A

B

C

D

1a

基于需求的测试

++

++

++

++

1b

接口测试

++

++

++

++

1c

故障注入测试

+

+

+

++

1d

资源利用率测试

+

+

+

++

1c

模型和代码的比较测试

+

+

++

++

  • 测试案例需要按照下表中的方法进行分析设计。

表2 软件集成测试的测试案例的设计方法

方法

安全等级(ASIL)
A
B
C
D
1a
需求分析
++
++
++
++
1b
等价类划分
+
++
++
++
1c
边界值分析
+
++
++
++
1d
错误推导
+
+
+
+
  • 对于软件架构级别的需求测试覆盖度,可以用来衡量测试的完整性,以及用于证明没有设计之外的功能实现。如果有需要,可以增加新的测试案例,或则提供一个合理的理由说明。

  • 为了评估测试案例的完整性同时确保没有多余的功能,根据下表列出的指标需要衡量出其结构覆盖率。如果覆盖率不够高,要么需要添加额外的测试案例,或则提供一个合理的理由说明。例如,结构覆盖率的分析可以用于发现测试案例的不足、无用代码、无效代码或则多余功能等。

  • 结构覆盖率可以利用工具计算出来。

  • 如果是基于模型的开发,结构覆盖率可以通过模型级别的模型结构覆盖率来统一计算。

表3 集成软件的结构覆盖率的衡量方法

方法

安全等级(ASIL)

A

B

C

D

1a

功能覆盖率

+

+

++

++

1b

函数覆盖率

+

+

++

++

  • 作为产品发布的一部分,嵌入式软件需要被验证其包含设计的所有功能。如果嵌入式软件包含了设计之外的功能(比如用于调试的代码),则这些功能需要被验证是不影响软件的安全需求的。如果这些设计之外的功能在真实产品中保证不会被激活执行,那也是符合这个要求的;否则删除这些功能,也需要按照需求变更流程来统一处理。

  • 软件集成测试需要尽可能的在真实环境中运行,如果不行,则需要评估测试环境与真实环境的差异性,并针对这些差异,在后续的阶段的真实环境的测试中设计专门的案例来执行。

  • 测试环境的不同,会导致源代码或目标代码的不一致,比如不同处理器的位数不一样,会导致编译后的目标代码不一致。

  • 针对各种测试,需要建立合适的测试环境。比如目标处理器的测试环境、仿真处理器的测试环境、开发测试环境等。

  • 软件集成测试可以利用模型在环测试(MIL)、软件在环测试(SIL)、处理器在环测试(PIL)、硬件在环测试(HIL)等测试手段进行测试。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。