tag 标签: 代码覆盖度

相关帖子
相关博文
  • 热度 9
    2023-8-1 11:10
    613 次阅读|
    0 个评论
    Helix QAC 2023.2 提供 100% 的 MISRA C:2012 和 MISRA C:2023 规则覆盖率,并更新相应的合规性模块以支持 MISRA C:2023。 此外,此版本还包括改进的 C23 语言支持、对Validate平台的改进以及 Helix QAC 和 Validate 的集成,以及其他功能改进。 编码标准覆盖范围(MISRA C:2012、MISRA C:2023 和 CWE) MISRA C:2012, 2023 Helix QAC为MISRA C:2012 AMD 4和MISRA C:2023提供100%的覆盖,将指南先前的revisions、amendments和技术勘误合并为一个单一、全面的版本。MISRA C:2023最近于今年出版。 • M3CM合规模块已更新,以参考MISRA C:2023。 CWE CWE C 和 C++ 合规性模块与最新版本的 CWE 4.11 保持一致。 Perforce Validate 持续的安全和代码合规性平台为嵌入式和任务关键型应用程序提供功能安全性、安全性、可靠性和质量保证。 Validate平台为整个组织的代码库提供分析数据、趋势和配置的集中存储,为所有 Perforce 静态分析产品提供单一管理平台。 2023.2 提供: • 支持Validate中的 Helix QAC 指标。 • 更新了Helix QAC Visual Studio插件,支持与Validate集成。 • 完全支持Validate中的 Helix QAC 自定义消息。 C23 / C++23 语言支持 此版本增加了对以下各项的语言功能支持: • C23 数字分隔符 • C23 / C++23 #elifdef,#enlifndef和#warning指令 产品体验改善 命令行界面 • 允许启用/禁用诊断消息和抑制的同步 • 输出规则组名称和规则ID的新格式说明符%M 图形用户界面 • 允许自定义 RCF 名称和版本 • 允许启用/禁用诊断消息和抑制的同步 HIS指标 • 此版本具有 Helix QAC 增强功能,可直接生成复合 HIS 指标(以前在报告脚本中计算)。 Helix QAC 2023.2 的重要变化 许可证管理更改 RLM v15 服务器的新安装程序与 Helix QAC 2023.2 版本一起提供。 如果将 Helix QAC 与Validate 2023.2 一起使用,则此服务器版本是必需的,否则是可选的。 MISRA C++ 2023 — 新合规模块的早期版本可供预览 MISRA联盟预计将在今年晚些时候发布MISRA C++ 2023编码指南。新标准发布后,将引入新的合规模块以实施执行。在 2023.2 中,合规性模块的早期版本可根据请求提供预览,该模块迄今为止已完成对规则的98% 覆盖。请联系北汇信息以了解更多信息。
  • 热度 9
    2023-3-10 11:30
    1317 次阅读|
    0 个评论
    对于一名汽车软件测试工程师,最关心的问题是如何高效完成产品测试。目前提高测试效率的方法主要有以下两个方向:一、提高测试建模的效率,最好能够实现“自动化”,并且测试用例能够复用于后续的SiL、PiL以至于HiL测试阶段。二、快速完成模型\代码覆盖度统计,并提升模型\代码结构覆盖度。TPT-TASMO,一款能够完美满足上述需求的神奇工具箱来了! TASMO 的特性 TASMO 是T PT 中一个独立的 工具箱 ,能够 针对Simulink/Stateflow 、 TargetLink模型或C代码,基于 CC、DC、MC/DC 原则自动生成测试用例 、 进行 结构 覆盖度 统计 。 图1 TASMO测试用例自动生成 针对Simulink/Stateflow 、 TargetLink模型 、 C代码,自动进行模型或C代码 的结构 分析 ,确保测试完整性 自动生成测试用例,帮助 用 户节约大量时间和成本 用户可自定义测试用例的创建准则 提供详细的覆盖范围报告,包括测试集覆盖的以及未覆盖的 结构 支持 CC、DC、MC/DC 准则 应用一:自动生成测试用例 以灯控模型为例,在Simulink子系统中,分别有两个输入信号和一个输出信号,当开关处于ON或OFF状态时,头灯也随之打开或关闭;当开关处于AUTO状态时,头灯受到光照条件的影响打开或关闭。 图2 灯控模型 功能安全要求软件单元测试要进行基于需求的测试和接口测试,同时为了保证测试的完整性,还需尽可能满足结构覆盖度。TASMO的用例生成算法不断精进,同时利用静态分析技术,自动生成最少数量的测试用例来最大化遍历模型,满足上述要求的前提下还实现了“自动化”。用户只需要进行以下步骤: 点击 Generate Test Cases - for MATLAB/Simulink Models (TASMO) ,启动T ASMO 工具箱,选择当前测试的模型; 图3 TASMO界面-模型分析 点击 Input Specification , 对输入 接口 的最大最小值、 步进长度、 信号组成方式进行配置 ,自动生成的用例会在配置的数值范围内实现遍历,覆盖接口测试; 图 4 输入信号配置 点击Coverage Goals Selection,选择生成用例的结构覆盖度目标,可选择CC、DC、MC/DC 准则 。以模型中的 O R 模块为例,如须满足 MC / DC准则 ,须包含如下情况: ①两个输入为false;②一个输入为true,另一个输入为false。T ASMO 可以分析出如下结构: 图5 灯控OR结构分析 图6 生成测试用例准则选择 点击 Generate,基于之前的配置一键生成测试用例。 图7 自动生成测试用例 测试用例生成完成后,只需根据功能需求逐条编写GUI评估,便可实现基于需求的测试。相比传统的测试方式,使用TASMO工具箱,不仅验证了模型设计符合功能需求设计,在测试建模效率上也得到了极大的提高。同时TASMO自动生成的测试用例也可以复用于后续的SiL测试,验证模型生成的代码是否符合功能预期。 应用二:模型覆盖度统计 TPT在统计结构覆盖度时提供了多种选择,对于模型测试,可以调用TargetLink、CTC++ for TargetLink和Simulink V&V工具统计结构覆盖度。除此之外,TASMO也具有统计结构覆盖度的功能 。 我们可 在MATLAB/Simulink平台配置中的TASMO Coverage Analysis选择覆盖度统计准则,无 需 集成 外部测试覆盖 度 工具,从而节省测试成本。 图8 覆盖度准则选择 TASMO会自动根据覆盖准则去分析模型结构,列出相应子层级下的关系运算符或逻辑块的输入和输出的组成情况,最后统计出当前运行的测试用例或测试用例集的覆盖情况,并在测试报告中展示出覆盖度详情页。 图9 模型覆盖度报告 应用三: C 代码覆盖度统计 TASMO工具箱不仅可以统计模型的结构覆盖度,对于C代码也同样适用。 在C/C++ Platform选择TPT Coverage,即可使用TASMO生成C代码的测试数据,统计当前测试用例或测试用例集的结构覆盖度。同样地,可选择CC、DC、MC/DC准则作为统计标准。 图10 C Platform覆盖度准则选择 如下图所示,测试报告展示了覆盖度详情页。点击link查看C代码的具体覆盖情况,对未覆盖的代码语句进行标红高亮显示,包括语句true和false的覆盖次数,帮助定位问题和基于覆盖度结果补充测试用例。 图 11 C代码覆盖度报告 图12 C代码覆盖度报告详情页 小结 本文介绍了TPT-TASMO在自动生成测试用例和统计模型/代码覆盖度方向的应用,帮助我们更高效、更完整地完成软件测试,节约测试成本。同时随着越来越多的小伙伴开始关注形式化需求,在TPT19中即将推出基于TASMO生成形式化需求的测试用例,我们诚邀您一起来体验TPT19强大的测试功能,敬请期待!
  • 热度 4
    2023-2-1 14:18
    1058 次阅读|
    0 个评论
    ASCET 软件 是 德国 ETAS 集团 研发 的 用于汽车行业ECU 基于模型 开发 的 建模软件,是MATLAB/Simulink 之外的最为知名的 软件 开发 工具 ,在汽车行业同样得到了广泛应用,尤其是BOSCH集团 。 ASCET提供了ASCET-MD(建模与仿真)、 ASCET-RP (快速原型)以及ASCET-SE(代码生成)等模块 来实现 对 ECU 软件开发过程的无缝整合 。 德国PIKETEC公司的 TPT 软件作为汽车行业著名的针对嵌入式系统基于模型的测试工具,几乎包含了所有常见嵌入式软件的支持平台,适用于整个电控开发测试过程,可以实现测试用例的复用,并且实现了测试执行、测试评估和测试报告生成的整个过程自动化。针对 MATLAB/Simulink/Stateflow 、ASCET以及 TargetLink 等, TPT 提供了全方位的支持进行模型测试。 北汇信息作为P I KETEC公司的伙伴,将为客户提供相应的产品支持和测试服务。 ASCET 平台功能 介绍 : 针对ASCET的模型测试,TPT中有两种方式执行。一种是 专门的ASCET测试平台, 真实运行ASCET模型,将TPT-VM嵌入到ASCET环境中;另一种是不运行ASCET模型,通过ASCET生成DLL文件,在TPT的FUSION平台中进行测试。 以ASCET平台为例, TPT-VM 通过 ASCET 仿真环境 执行测试 , TPT 可以收发信息,改变变量和参数,并且所有的参数 可 在 TPT 中被测量和评估。 ASCET 平台特性 : 自动化分析被测对象及其参数 自动生成测试用例 支持物理和应用模型的背靠背测试 支持模型测试和集成测试 支持基于周期和非周期任务执行测试 支持数据读写 支持局部变量测试 支持改变参数、系统常量 支持使用 ASCET 测试环境进行故障排除 TPT测试ASCET模型的工作流程 TPT 从 ASCET 数据库或者工作空间中 选择 被测 工程 (SUT) , 可以 测试ASCET工程 中 的某个 单独模块或 完整的模块组(集成测试)。 测试过程中, TPT 通过A2L / DCM信息来分析SUT的接口信息,比如 通过 DCM文件导入缺省值 来 实现默认配置。 通过 分析 ASCET模型来确定模型的输入输出接口值以及本地测量值。 完成上述步骤后,TPT 会自动生成 由 ASCET 初始 模型 、TPT 测试驱动 以 及 相关 任务 组成 的测试 环境 。 除了 可 基于 需求 测试 ASCET 模型 ,TPT还支持回归 /背靠背 测试, 通过设置评估条件来 评估 测试结果。 在 ASCET 中 执行 测试 TPT在整个测试执行过程中, 可以实现 完 全自动化。 TPT 可以 自动打开 ASCET 软件 , 加载 被测项目 , 在 特定的 ASCET测试环境下 进行 编译 。 测试结果会根据记录的所有数据自动进行评估,并生成测试报告。复杂的测试或测试集可以在无人看管的情况下批处理执行,可以 减少人力 。 TPT 测试ASCET代码覆盖度: TPT还可以对ASCET的代码进行覆盖度测试,这需要调用专门的测试代码覆盖度的工具(CTC++软件)。可以直接通过ASCET平台或者FUSION平台来完成配置及调用测试的过程,以FUSION平台为例 如下 。 在TPT生成的测试报告中,将自动包含代码覆盖度测试的报告汇总,点击可以获取更详细的CTC++报告细节。