tag 标签: 汽车电子测试

相关帖子
相关博文
  • 2023-3-6 10:37
    236 次阅读|
    0 个评论
    随着汽车电子软件日益复杂,针对软件质量以及软件交付周期也提出了更高的要求。为了在更早的阶段发现软件问题,尽早修复软件质量问题,进而保证交付周期,就必须在开发阶段引入软件测试。 ISO26262以及ASPICE也都提出了明确的要求,需要按照一定的方法对软件进行测试。 当前,受制于能力以及资源等问题,很多整车厂以及供应商,会采用第三方测试的方式,去完成软件测试,保证软件测试的覆盖度以及完整性,实现软件质量保证。 上海北汇基于目前与主机厂以及供应商的合作,结合自身的经验积累,为国内客户进行软件测试服务。 软件测试范围:针对模型/代码的动态测试(应用层):单元级/组件级/软件级 图1 测试范围 单元测试 :针对子系统(Subsystem)或者函数(Function) 功能 验证 接口 测试 结构 覆盖度 :语句覆盖、分支覆盖、条件覆盖、M CDC MiL - SiL - PiL测试 组件测试 : 模型、代码 功能验证:开环 验证 、闭环验证 接口测试 结构覆盖度:函数覆盖、调用覆盖 MiL - SiL - PiL测试 嵌入式软件测试 :AUTOSAR/非AUTOSAR应用层软件测试 功能验证:开环测试、闭环测试 虚拟E CU : 硬件虚拟化,完成应用层测试 CI/CT持续集成/测试服务 :根据客户需求,定制化实现测试工具的与持续集成/测试的部署工作 测试服务内容: 测试策略制定:结合 I SO26262 、A SPICE 等 要求及客户要求 制定测试策略 能力共建 针对 约定 测试项目,双方 工程师共同参与 北汇方 帮助客户方搭建测试流程 ,培训测试方法 指导 客户方 完成项目测试,帮助 提升测试人员能力 项目制合作 测试“交钥匙”服务 : 测试需求确认:确认测试需求可测性, 明确 测试模糊点,协助完成测试需求 Test Specification开发:根据I SO26262 要求,采用需求分析、等价类、边界值、猜错等方法设计测试用例 自动化测试环境构建 测试脚本开发 测试用例评审:与客户共同评审测试用例,形成评审记录 追溯矩阵:完成测试用例、需求、测试评估之间的双向追溯,形成追溯矩阵 测试用例执行:自动化执行编写的测试用例 测试结果确认:自动化得到测试结果 覆盖度结果统计:采用语句覆盖、分支覆盖、M CDC 覆盖,函数覆盖、调用覆盖等覆盖度指标 问题定位、分析:数据回放,分析问题,给出修改建议 测试报告:自动化可定制的测试报告以及测试结项报告等 部分项目工程 测试形式: 采取驻地和非驻地结合的形式。核心代码驻地测试,非核心代码非驻地测试。 项目案例: 新能源测试: BMS 、V CU 、M CU A DAS 、V 2X 传统领域:车灯控制器、 E PS 、 换挡控制器 北汇优势: 聚焦测试业务,与客户不存在竞争关系,最大化保证客户信息安全,保持独立客观 先进的汽车电子测试工具链 专业于汽车电子软件测试,团队成员拥有多年工作经验,熟悉业内测试规范 专注模型测试, Simulink 模型基础,熟悉 MATLAB/Simulink 以及测试 工具 专注代码测试, C/C++ 代码基础,熟悉主流编译器以及代码测试工具 集成方向:持续测试( CT ),工具集成、定制开发等 专职的项目管理 团队成员通过I STQB 考核认证 借助北汇HiL测试业务经验,加深对各测试对象的理解,形成自主积累,与北汇HiL业务形成补充
  • 热度 1
    2023-2-10 10:40
    110 次阅读|
    0 个评论
    保证 测试 有效性的方法 除了提供嵌入式领域最好的测试工具之一外,我们还 为 汽车行业的客户测试软件产品 ( 包括驾驶辅助功能、驱动组件、充电和电池系统的控制软件 ) 。 随着时间的推移,我们也 遇到 了测试过程中的错误。为了避免 过程 错误,我们制定了各种策略和方法。始终以快速为客户 的开发模型 提供高质量的 报告 为目标。 下面,我们将详细解释其中一种方法。它是由我们的测试工程师开发的,并在日常实践中使用。 此方法的目的是确保测试用例在任何时候都实际测试链接到它的需求。 这里有一个简单的例子来说明为什么这 件事 如此重要。 在用于控制车辆外灯的软件中,当灯开关处于 on 位置时,外灯应始终打开。在最坏的情况下,这个需求只与从未包含条件 “ 灯开关处于 ON 位置 ” 的测试用例相关联。如果这些测试用例成功地测试了另一个方面 ( 例如,灯开关关闭, 外部灯保持 关闭 ) ,那么可以认为链接的需求已经被充分测试了。 错误的链接会以不同的方式出现 : 测试人员在测试用例和需求之间创建了一个错误的链接。 随着时间的推移,由于测试项的更改,现有链接将失去其 意义 有一个简单且可快速实现的解决方案可以解决这个问题。 在我们的方法中,如果每个测试用例没有正确地测试链接的需求,那么它将被报告为 “ 失败 ” 。由于错误链接导致的失败在报告中有详细说明。我们的方法本质上是基于分别定义测试数据和期望值的可能性。 在 TPT 中,测试项的预期结果 ( 在这里我们也说测试预言 ) 可以在 A ssesslet 的帮助下描述。 Assess lets 可以同时用于几个测试用例的评估。 该方法的实现分为 5 个步骤 : 将需求导入 TPT 根据 单个 需求创建 1 个 Assesslet 创建检查脚本 创建 测试用例 测试用例与导入需求的链接 步骤 1: 将需求导入到 TPT 导入 可以通过几种方式完成。对于这种方法,只有需求在 TPT 中可用才是 有意义的 。 步骤 2: 为每个需求创建一个 Assesslet 一个 Assesslet 的目的是在定义的条件下指定测试对象的预期行为。这个单一 数据源的 定义可以用于多个测试用例。 如何做到这一点 ? 在 Assesslet 文件夹中为每个需求创建一个新的脚本 Assesslet ,相应地命名并实现它。 一个 Assesslet 的实现包含以下元素 : 定义条件或情况区别 ( 通常来自需求 ) 定义每个条件的期望值 ( 有些简单,有些复杂 ) 添加一个注释,说明哪个期望值涵盖了哪个需求 对于上面的 灯控制 示例,这里是一个评估 Assess let 的参考实现,它使用 ID 2018 检查需求 “ 如果灯开关是打开的,那么大灯应该立即打开 ”: Assesslet 检查需求 2 018 : 条件 “ 当灯开关位于位置 1(3 号线 )” 。我们的期望值记录在第 4 行 : TPT.CheckAlways () 检查大灯是否 == true 。使用 REQUIREMENTS.checked () ,附加到需求 2018 的属性将 被结果 覆盖 ( 从第 4 行开始 ) 。 其他请求的过程是相同的。 步骤 3: 创建检查脚本 然后使用另一个 Assesslet 脚本检查链接到测试用例的所有需求是否具有定义好的属性。对于 Assesslet ,这是在第 5 行中使用 REQUIREMENTS.checked () 函数完成的。当调用这个函数时,默认值将被更改。 换句话说,对于每个测试用例,对于链接到该测试用例的每个需求,我们检查默认值 的属性 。如果存在默认值,则要么没有测试 Assess let ,要么是需求的测试 A ssess let 不正确。 下面是一个参考实现 : 您需要将该脚本移动到 报告 部分。然后它将在 A ssesslet 之后运行以检查需求。 步骤 4: 创建测试用例 点击链接 查看如何创建一个测试用例 : TPT | Test modeling and design - Automatic test generation (TASMO) (piketec.com) 【北汇信息】TPT | 测试环境搭建及用例编辑_哔哩哔哩_bilibili 【北汇信息】TPT | 状态机测试用例的搭建_哔哩哔哩_bilibili 步骤 5: 将测试用例与导入的需求链接起来 需求与测试之间的链接或者 测试与需求的链接 ,都可以通过拖拽来完成。选择一些测试用例并将它们拖到需求上 即可 。 优点是什么 ? 这个过程的优点是报告中不正确的链接可以立即和容易地看到。在报告中,每个错误链接的测试用例都被标识为失败的测试用例。 因此,该报告为用户提供了一个关于是否为所有需求创建了相关测试用例的快速概述。与此同时,这提高了生产率,因为可以省略对完成度的分析。 在应用这种方法时必须考虑什么 ? 应该检查 Assesslet 的正确性和与需求的一致性。只有当 A ssesslet 是正确的,它们才有意义。这是 测试过程中的 实际工程工作。我们 ( 目前 ) 还不能从你们手中接过这个任务。 进一步的提示和建议 : 在我们的一些项目中,我们没有将脚本 A ssesslet 直接链接到需求。然而,映射是通过命名约定完成的 : 每个 “ 需求 - 测试 ” 脚本 Assesslet 都有以下结构 “Ass_”& 。双向可追溯性的要求 ( 例如来自 A SPICE) 在原则上得到了满足,因为配对可以在任何时候确定。 总结 我们确保测试重要性的方法符合 A SPICE 和 ISO26262 的要求。 在它的应用中,它需要使用测试自动化的基本功能,例如用于刺激的测试数据的分离和测试对象预期行为的单独定义。几年来,我们一直在安全关键型汽车项目中成功地使用这种方法。 我们的工程师被直观的程序所说服,不再想没有它,因为费时的手工检查链接正确性 的工作 可以省略。 编写脚本和检查 Assesslets 及需求 的正确性的工作是可管理的,并且显著低于诸如审查和演练之类的替代 指标。 更多相关信息,欢迎与我们联系获取~
  • 热度 2
    2023-1-3 09:57
    491 次阅读|
    0 个评论
    面包板的朋友们,大家新年好呀! 北汇信息从2022年5月22号入驻面包板以来,已经发布了157篇文章和122篇主题帖,收获了超9万的阅读量,获得了209个点赞,非常感谢大家对北汇信息的支持,2023年我们将继续输出技术干货,为大家带来更多有价值的内容! 现在就盘点一下我们的年度阅读量TOP10的文章吧: TOP 1: MC/DC(修正条件/判定覆盖):与100%覆盖率的斗争 MC/DC(修正条件/判定覆盖):与100%覆盖率的斗争-面包板社区 (eet-china.com) TOP 2: LIN总线帧结构及各场干扰 LIN总线帧结构及各场干扰-面包板社区 (eet-china.com) TOP 3: 鸿蒙系统代码的静态测试 鸿蒙系统代码的静态测试-面包板社区 (eet-china.com) TOP 4: 一键了解汽车OTA技术(二) 一键了解汽车OTA技术(二)-面包板社区 (eet-china.com) TOP 5: python自动化测试攻城记 python自动化测试攻城记-面包板社区 (eet-china.com) TOP 6: 自动驾驶数据采集和分析平台ADAS Logger 自动驾驶数据采集和分析平台ADAS Logger-面包板社区 (eet-china.com) TOP 7: TSN(时间敏感网络)纯干货分享 TSN(时间敏感网络)纯干货分享-面包板社区 (eet-china.com) TOP 8: 通过TPT的FUSION平台实现联合测试 通过TPT的FUSION平台实现联合测试-面包板社区 (eet-china.com) TOP 9: SOA架构/测试阶段接口描述语言转换方案 SOA架构/测试阶段接口描述语言转换方案-面包板社区 (eet-china.com) TOP 10: CANoe教程:如何制作DBC文件 CANoe教程:如何制作DBC文件-面包板社区 (eet-china.com) 以上就是2022年度TOP 10文章,如果大家有想看的内容或主题可以在文章下方评论哦,小编会努力为大家催更的!
  • 2022-12-19 10:01
    136 次阅读|
    0 个评论
    基于 HiL (硬件在环)的新能源三电系统(V CU BMS MCU )测试,对于大家来说已经不是一个陌生的概念。随着基于V模型的开发流程的逐步普及,针对控制器在 HiL 阶段的测试也得到了越来越多的重视。同时,随着测试经验的逐步增多和测试内容的逐步细化,针对 HiL 系统的要求,也慢慢的发生着改变。 越来越多的主机厂和供应 商逐步 开始从追求大而全的 HiL 方案,向小而巧的 HiL 方案转变。下面我们将举一些事例,展示 一下北汇 信息是如何在不同的应用场景下,采用小而巧的 HiL 配置为客户提供便捷的测试方案的。 针对VCU或者BMS 主板,他们有几个共同的特征: 外围硬件IO 资源较少 相对传统的车身域控制器或者发动机控制器,VCU或者BMS需要的外围硬件IO资源就要少了很多,一个便携式的桌面式 HiL 完全能够满足测试需求。 控制策略中大部分是逻辑判断和故障响应 这部 份可能 占了一半甚至更多的测试用例,所以一个方便基于状态制定测试用例的平台和能够集成故障注入功能的板卡极为重要。 功能按照模块划分,不同功能大部分可独立进行测试 这样, HiL 系统就可以进一步细化和简化,用以对某个或某几个功能的开环,或者闭环的测试。 针对上面的分析,我们采用了基于V ector VT系统的 桌面式 桌面式 Hi L 系统 , 用于VCU、BMS主板的测试 ,其具有 低成本,小型化,方便拓展 的优点,受到越来越多客户的青睐。VT系统也能够非常好的满足上面的三点需求。 VectorVT系统 桌面式的 HiL 系统 VT系统采用模块化的设计,板卡覆盖模拟量输入、输出,数字量输入、输出,电阻仿真及负载仿真等。通信仿真可以沿用Vector VN16系列CAN卡。 其板卡资源可以完全覆盖到VCU或者BMS主板的测试,无需外围信号调理。 同时板载的 故障注入功能,无需额外的故障注入板卡,就能进行故障注入测试,这是此 HiL 系统能够桌面化和进行便携式操作的保障。 VT机箱采用12卡槽设计,通常针对VCU或BMS,5~8个卡槽的板卡资源就可以 完全满足测试要求,剩余 卡槽还可用 于后续扩展。板卡配置无缝集成在 CANoe 中,它极大地简化了HIL测试系统的设置,把连接I/O通道所需的所有电路组件集成在一个模块中,可实现被测对象所需信号的仿真、采集和故障注入功能。 北汇信息 也根据不同客户的需求,提供PDU用以电源分配、安全防护,和不同程控电源的集成以及GUI界面开发。 桌面式V CU HIL 测试系统 GUI界面示例 便利的可基于状态跳转的测试用例编辑平台 前面我们分析,VCU或者BMS主板的控制策略中基于状态的逻辑判断可能占了一半或者更多的比重。所以一个能够定义时序和状态的测试用例编辑工具,对于测试用例的设计尤为重要。Vector的 测试用例编辑工具 v TEST studio 正 是 这样一款软件,能够极大 地 提高测试用例的编辑质量与效率。 vTESTstudio 功能 基于表格的测试用例编辑工具适用于基于时间的顺序测试,如各种条件触发及响应,基于图形和状态的测试用例编辑工具,适用于复杂的控制逻辑跳转,如BMS的高压 上下电逻辑 或者故障状态跳转的测试。 高压上电流程编辑示例 可拆分的功能模块测试 测试方案永远对应着测试需求。测试方法可能是开环,可能是闭环,测试范围可能是功能模块,可能是系统。很多客户在提测试需求的时候,往往是想要一个大而全的系统,但是实际测试过程中,却是针对单一功能模块或者简单开环 调试占 了大多数。因此容易造成资源上的浪费。而VT系统的 模块化设计 既可以 建立简单的测试设置 ,又可以 扩展为复杂的测试解决方案 。 以BMS的充电过程测试为例,该功能是BMS中相对独立的一个功能,传统 测试既 需要电池包,有需要充电桩,测试起来十分繁琐,且效率低下。而采用VT的桌面化测试方案,只需要非常少的硬件资源,采用如下图所示的硬件资源模拟充电接口,采用 CANoe O ption .J1939 进行充电过程报文交互仿真,就可以完成针对BMS充电过程完整的功能及故障响应测试。 充电接口模拟举例 这便是 独立的功能模块测试 案例。在此基础上,当我们的测试范围增加,我们也可以通过增加硬件配置的方式实现。如我们可以增加 VT2710 用于基于S PI 的主从通信测试,增加VT1004进行继电器控制测试,增加 keysight 电芯模拟器覆盖从板测试等等, 一 步步满足B MS 集成测试需求。 Keysight 电芯模拟器示意图 GUI界面示例 再比如VCU,可以纯粹开环调试,用于测试基于输入的响应。这种测试场景在 CANoe 中实现极为便捷,所有板卡的配置均以图形化的方式集成在 CANoe 中,用户即使没有任何编程基础,也可以方便的进行操作。当然也可以通过M ATLAB /S imulink将车辆动力学模型编译生成D LL 文件导入到 C ANoe 中,在 实时机 RT-RACK 中运行,和VCU进行闭环测试。此外 CANoe 也针对不同的商业车辆模型提供接口,进而进一步提高仿真精度,完成VCU在特定运行工况的功能测试、协调控制测试、通信测试及各类故障模式下的测试。 以上所有的功能都可以基于桌面化的VT HiL 系统实现。而这样一套系统的成本,往往只有传统机柜式 HiL 的一半甚至更少。 总结 桌面式的VT HiL 系统可谓是麻雀虽小,五脏俱全。针对VCU和BMS的主板测 试,其成本效益更是得到了充分的体现。随着客户针对测试需求的逐步细分,这种简单、便捷,能够满足特定功能需求而又扩展性良好的 HiL 测试方案得到了越来越多客户的认可。 北汇信息 可以为客户提供相应的测试方案和测试系统搭建 ,以及相关测试服务 , 欢迎咨询。 参考文献: Vector China : https://www.vector.com/cn/zh/products/products-a-z/hardware/vt-system/ Keysight Technologies :Secure and Precise Testing of Battery Management Systems Vector China: 基于 CANoe 实现BMS闭环HIL测试系统 文中图片部分来源于V ector 中国和 Keysight 官网。
  • 2022-12-6 10:30
    2 次阅读|
    0 个评论
    Klocwork是一款现代、灵活的静态代码分析器,适用于C、C++、C#、Java、JavaScript、Python和Kotlin的静态检测,可以识别软件中的潜在缺陷,在开发最前期保证代码的安全性和可靠性,帮助软件遵循相应的编码规范。 Klocwork专为企业级DevOps/DevSecOps构建,可拓展到任何规模的项目检测,尤其适用于大型复杂开发环境,可实现不同编译环境的自由切换;支持增量分析;提供Web端管理平台,为项目协作提供极大便利;提供可定制化报告,适应不同项目要求。 Klocwork的主要功能特性: 1. 基于 SAST (静态应用程序安全测试)查找安全漏洞 Klocwork具有内置的检查程序,在DevOps(DevSecOps)流程中自动检查源代码中数百个潜在的安全漏洞,确定必须修复的缺陷,并在Validate端给出详细的指导,帮助开发人员高效修复源码中存在的问题,提高代码的安全性、可靠性和合规性。 2. 支持 DevOps Klocwork工具的设计以持续集成和持续交付为首要思想,这使得将静态代码分析作为CI/CD的一部分变得容易,从而使开发人员能够更早、更频繁地发现代码缺陷。 增量分析 :通过Klocwork Server的系统上下文数据,在整个系统已经分析完成后,可以仅分析已更改的文件,提供差异分析结果。这种方式可以尽可能减少分析耗时。 易于自动化 :Klocwork工具有强大的命令行界面,我们可以基于命令行实现任何静态分析操作,这为实现测试流程自动化提供了极大便利。 容器化构建 :Klocwork可以在容器化和云构建的系统中运行,为能够使用内部云或者外部云服务进行代码静态分析提供最大限度的灵活性和机会。 3. 支持 行业标准要求的 编码规范 Klocwork支持的行业标准:IEC 61508、ISO 26262、EN 50128、DO-178B/C、 IEC 62304、FDA。在相关标准下涉及到的编码规范有MISRA、AUTOSAR、CERT、CWE、OWASP、DISA STIG、PCI DSS、C Secure、JSF AV C++、NASA,针对以上编码规则,Klocwork提供一站式支持,并且您可以根据项目要求定制化编码规范,这使得通过静态分析自动化遵循编码规范变得非常简单。 同时,Klocwork支持通过Klocwork Checker Studio定制化检查规则。开发/测试工程师可以借助Klocwork Abstract Syntax Tree (KAST)抽象语法树快速轻松地创建定制的安全检查,契合不同项目的静态分析要求。 4. 提供网页端集中式 分析 与 管理平台—— Klocwork Validate Klocwork Validate集中执行深度代码静态分析,并提供高度可定制的管理平台,使开发人员、主管和其他项目相关人员能够: 定义全局或特定项目的 QA 、 安全目标以及规则配置。 控制访问权限和审批流程。 查看趋势图和度量数据,掌握项目质量和趋势。 生成合 规 性和安全性报告 ,支持报告的高度定制化 。 根据严重程度、位置和生命周期确定缺陷的优先级。 使用 Smart Rank 帮助开发人员根据缺陷可能性确定修复的优先级,结合问题严重性 ( Critical/Error/ Warning… ) ,提供整体漏洞风险评分。 针对诊断问题提供详细的修改说明。 区分 新问题与遗留代码 问题 将积压问题推送到变更控制系统。 将 Helix QAC 调查结果导入并集成到 Klocwork SAC , 实现 在单个仪表板中查看和管理 合并的分析结果。 5. 支持的 IDEs Supported C/C++ IDEs : CLion 、 Eclipse 、 Wind River Workbench 、 QNX Momentics 、 Microsoft Visual Studio 、 Visual Studio Code Supported C# IDEs : Microsoft Visual Studio 、 Visual Studio Code Supported Java IDEs : Android Studio 、 Eclipse 、 IBM Rational Application Developer for WebSphere 、 JetBrains IntelliJ IDEA 、 Visual Studio Code Supported JavaScript /Kotlin/Python IDEs : Visual Studio Code 6. 支持的编译器 无需用户配置,Klocwork为数百个编译器和交叉编译器提供开箱即用的支持。 7. 支持的操作系统 Amazon Linux 2 、 CentOS 、 Debian 、 Fedora 、 Oracle Linux 、 OpenSUSE 、 SUSE Enterprise 、 Red Hat Enterprise Linux 、 Ubuntu Windows 8.1 、 Windows 10 versions 1809 to 21H2 、 Windows Server 2012 to R2 、 Windows Server 2016 、 Windows Server 2019 资质认证 Klocwork通过了ISO、IEC、EN的TÜV-SÜD合规认证,可用于信息安全、功能安全相关软件的开发测试。针对IEC 61508(工业标准)可达SIL4, ISO 26262(汽车功能安全)可达ASIL D, EN 50128(铁路交通)可满足SW-SIL4等级要求, IEC 62304(医疗)Software Safety Class C)标准,帮助客户用更少的时间完成产品认证。 关于原厂: Perforce是一家DevOps解决方案提供商,其产品覆盖版本控制软件、应用程序生命周期管理平台、敏捷规划软件以及用于静态代码分析的Klockwork等。Perforce有40,000多个客户,涵盖从热门游戏厂商、半导体公司到著名互联网公司、汽车行业、银行及金融公司等各行各业。在静态分析领域,它有30多年软件开发和测试经验,是MISRA编码委员会和AUTOSAR组织的会员,参与编写编码规范,是静态分析领域公认的行业领导和先驱。 客户列表(部分) 技术支持 由通过Klocwork资质认证的专业技术团队提供技术支持。 技术咨询 根据您的行业及项目需求,为您提供最佳静态测试解决方案(Klocwork、Helix QAC),助力提升测试效率。 产品试用 联系北汇信息,根据您项目需要提供试用许可,帮助您部署软件及解决应用问题。