tag 标签: 代码测试

相关博文
  • 热度 2
    2024-8-14 10:17
    273 次阅读|
    0 个评论
    质量闸门正如其名:它们通过在软件开发生命周期(SDLC)的各个阶段作为质量里程碑(或“闸门”),确保软件的高质量交付,防止不良代码通过。在这里,我们解释了什么是质量闸门,它们如何工作,以及如何使用静态分析来实现它们。 质量闸门是什么? 质量闸门是在 IT 或开发项目中实施的检查点,要求在进入下一个开发阶段之前达到最低阈值。质量闸门阻止了不符合标准的代码部署,有助于确保更高质量的产品。 有了质量闸门,您可以根据您为代码设置的指标和条件强制执行质量和其他评级。这是识别瓶颈和问题区域的好方法,这样您就不会在后期遇到它们。 质量闸门在 DevOps 中用于衡量开发或质量保证过程中的质量,并识别防止后期延误和返工的漏洞。它们是在重要关头实施的项目管理措施,以便团队可以有信心地向前迈进,了解他们的代码已经满足了该阶段所需的质量标准。 为什么质量闸门在 DevOps 流水线中很重要? 质量闸门有助于确保软件的稳定性和可靠性。质量闸门的迭代性质有助于质量保证工程师和开发人员跟踪错误并尽快解决问题,从而提高质量和投资回报率。由于团队设置了通过闸门的条件,质量闸门可以根据项目的需求随时定制。 将质量闸门构建到您的开发流水线中有许多好处: 提高整体质量和维护安全 :策略性地放置的质量闸门作为 SDLC 中质量的基准,并通过对代码的早期和频繁指出弱点来维护安全。它们可以作为左移方法的一部分,在 SDLC 的早期检测问题,并且可以有效地高效地集成到 CI/CD 流水线中。 节省代码审查时间 :质量闸门可以作为清单,跟踪您迄今为止实现的要求,其他开发人员在评估代码时可以快速审查。 优化软件性能 :理想情况下,代码是简洁、可维护和可复用的。质量闸门提供了帮助分析代码性能并移除冗余或拖累系统的代码的测量方法。您可以为质量闸门设置软件指标,例如圈复杂度。 持续监控代码库 :质量闸门持续监控源代码的质量,提供组织设定的关键指标的一致反馈。 合规性验证 :质量闸门可以设置,以确保和验证代码符合既定的编码、安全和安全标准。 质量闸门如何工作 作为持续集成的一部分,流水线质量闸门确保项目满足预定义的标准,这意味着它可以进入开发的下一个阶段。代码在满足要求前会进入一个暂存库。 质量闸门的状态有: 通过:满足要求,可以继续生产。 警告:要求可能接近满足,或者勉强通过,因此在允许代码进入下一个阶段之前应该进行验证。 失败:未满足要求。在生产可以继续之前,应该解决标记的问题。 质量闸门的最佳实践是在开发的每个关键阶段实施它们: 计划 编码 构建 测试 版本发布 部署 关键是限制它们到这些主要阶段,因为您添加的闸门越多,测试就越复杂,这可能导致昂贵成本的延误。在 CI/CD 流水线中策略性地设置质量闸门也意味着您不必按顺序设置它们,而是可以拥有多个并行流水线和并行测试或重叠测试。 使用 Klocwork 和 Helix QAC 作为质量闸门 无论您是执行增量分析、差异分析还是集成分析,静态分析/SAST 工具都旨在优化 DevOps 和 DevSecOps 流程,并且可以作为检查代码质量和安全问题的一种质量闸门类型 —— 而不会放慢开发速度。 一些静态分析工具 —— 像 Klocwork 和 Helix QAC —— 可以在新代码进入时执行合并请求分析。质量闸门防止您的提交合并到受保护的分支,直到满足设定条件。例如,您可以使用 Klocwork 作为 GitLab 或类似 CI 环境中的质量闸门。 虽然实施质量闸门需要一些初步规划,但它可以帮助简化您的 DevOps 流程。使用正确的工具构建质量闸门可以加速您的流水线,并确保您的代码质量最高。 免费试用Klocwork/Helix QAC ⏩marketing@polelink.com
  • 热度 1
    2024-6-26 09:57
    535 次阅读|
    0 个评论
    Helix QAC 2024.1改进了对C++20和C23语言特性的支持,并增加了分析使用多个编译器的项目的新功能。此外,Validate增强了对于搜索功能和角色权限的用户体验,并且包括一个新的问题列表的CSV下载选项。 此版本还包括对于C/C++的CWE、C的HKMC和MISRA C++:2023®合规模块的扩展执行,以及许多常规产品质量提升。 语言增强 C++20 此版本增加了对以下语言功能的改进支持: • C++20的概念 • C++20简化函数模板 C23 此版本增加了对以下语言特性的初始支持: • 当设置 -c23constexpr 时支持应用C23 constexpr 除了扩展的语言功能支持外,对于GCC 12/13版本以及MSVC 2022版本的用户体验也得到了改进。 多编译器项目支持 Helix QAC现在能够为使用多个编译器的项目提供配置分析设置。 • 支持一个项目中每种语言可以使用多个CCT。 • 提供一致的分析结果,降低在各种编译器环境中出现误报或漏报的可能性。 • 允许需要静态分析的跨平台开发项目具有更大的灵活性。 • 帮助识别编译器特定问题。 • 允许开发人员在为项目选择编译器时拥有更大的工具链的灵活性。 Validate新的提升和功能 以CSV格式下载问题列表 新的CSV下载按钮位于Validate的Issues页面顶部,根据当前的搜索查询下载缺陷列表。如需额外的问题信息,例如行号、评论和理由,需要订阅Validate高级合规报告包。 扩展搜索 Validate模块的正则表达式(RegEx)搜索功能提供了对*和**通配符字符的支持,以便在指定文件系统路径时使用。有关更多信息,请参阅modules 文档。 新角色权限 添加了“变更问题所有者(change issue owner )”权限,该权限允许用户更改问题的所有者,而无需更改问题状态。 出于审查目的保留许可证日志 现在,您可以将日志保留在许可证服务器的license.report.log文件中,以便达到审查的目的。这样,在服务器重启后,不会覆盖该文件。要了解append.license.logging的设置,请参阅validate service.。 编码标准的覆盖范围(CWE、HKMC、MISRA C++:2023®) 对于以下合规模块,改进了规则和指令的执行: 与NIST 500-268要求相关的C/C++的CWE模块 • CWE-259、CWE-412、CWE-367、CWE-99、CWE-321 C的HKMC模块 • C-MSC-011 MISRA C++:2023模块 • Dir 0.3.2 产品质量的提升 改进了对CCT自动生成的额外编译器的支持 • Keil armcc • 改进了对Clang 12的支持 • GCC 12/13 • MSVC 2022 • ‘qainject’现在是默认的同步方法 表现 • 对于涉及大量分支的结构,分析时间总体上有所减少。 libc++ 增强了对libc++标准库的支持。 • 增加了-iso646keywords的选项,以匹配-fno-operator-names行为。 • 启用时,不使用操作符的替代关键字名称。 编译器扩展 • C语言的"复合字面量"特性现在作为QAC++的扩展得到支持。 符号引用 • 改进了对VCS和非VCS创建的符号链接的支持。 Visual Studio和Eclipse IDE插件 • 总体稳定性提高 CLI • “qacli project”的新命令支持: • 创建、修改、升级、配置文件 操作系统 • 支持Ubuntu Linux 22.04 Helix QAC 2024.1的重要变化 QACLI Admin命令被弃用 对于“qacli admin”,以下命令已被弃用,并将在未来版本中删除: • --qaf-project-config, --upgrade, --create-config-file, --edit-config-file, --list-config-files 合规模块目录更改 提醒:自Helix QAC 2023.4起,Helix QAC不再从旧的“PRQA”目录中读取合规模块。合规性模块只能从“Perforce”文件目录中读取。 以下是现已过时的文件目录: • %LOCALAPPDATA%\PRQA\installed_components.ini • %PROGRAMDATA%\PRQA\installed_components.ini • ${HOME}/.config/PRQA/installed_components.ini • /etc/prqa.d/installed_components.ini 许可证管理的变更 随着Helix QAC 2024.1版本的发布,为RLM v15.1服务器提供了一个新的安装程序。如果使用Validate 2024.1与Helix QAC搭配,则此服务器版本是必需的;否则是可选的。 免费新版试用欢迎私信北汇获取
  • 热度 5
    2024-3-14 09:41
    634 次阅读|
    0 个评论
    静态分析可帮助面临压力的开发团队。高质量的版本需要按时交付。需要满足编码和合规性标准。错误不是一种选择。 这就是开发团队使用静态分析工具/源代码分析工具的原因。在这里,我们将讨论静态分析和使用静态代码分析器的好处,以及静态分析的局限性。 什么是静态分析? 静态分析是一种调试方法,通过自动检查源代码来完成,而无需执行程序。这使开发人员能够了解他们的代码库,并有助于确保其合规性和安全可靠性。 什么是静态代码分析? 静态代码分析是指静态分析工具执行的操作,即根据一组(或多组)编码规则分析一组代码。 静态代码分析和静态分析通常与源代码分析一起互换使用。 静态代码分析解决了源代码中可能导致漏洞的弱点。当然,这也可以通过手动源代码审查来实现。但是使用自动化工具要有效得多。 静态分析通常用于遵守编码准则,例如 MISRA。 它通常用于遵守行业标准,例如 ISO 26262 。 什么时候使用静态代码分析器/源代码分析工具执行静态分析? 静态代码分析是在软件测试开始之前的开发早期进行的。对于实践DevOps的组织来说,静态代码分析发生在“创建”阶段。 静态代码分析还通过创建自动反馈循环来支持 DevOps。开发人员会很早就知道他们的代码中是否存在任何问题,解决这些问题会更容易。 静态分析与动态分析 那么, 静态分析和动态分析有什么区别 呢? 这两种类型的代码分析都可以检测缺陷。最大的区别在于 他们在开发生命周期中发现缺陷的地方。 静态分析在运行程序之前(例如,在编码和单元测试之间)识别缺陷。 动态代码分析在运行程序后(例如,在单元测试期间)识别缺陷。然而,一些编码错误可能不会在单元测试期间出现。因此,动态测试可能会遗漏一些静态代码分析所能发现的缺陷。 静态代码分析器/静态分析工具的局限性是什么? 静态代码分析用于开发特定阶段的特定目的。但是静态代码分析工具存在一些局限性。 不了解开发人员的意图 静态分析工具可以在该计算中检测到可能的溢出。但它不能确定功能根本不起预期的作用! 不可静态执行的规则 一些编码规则依赖于外部文档。或者它们可以接受主观解释。 例如: CERT-C MSC04:以可读的方式始终如一地使用注释。 可能的缺陷会导致假阳性和假阴性 在某些情况下,工具只能报告可能存在缺陷。 如果我们对 foo() 一无所知,我们就不知道x的值是多少。 结果是不可判定的。这意味着工具可能会报告实际上不存在的缺陷(假阳性)。或者他们可能无法报告真正的缺陷(假阴性)。 静态代码分析器有哪些优势? 静态分析工具有几个好处,尤其是当您需要遵守行业标准时。 最好的静态代码分析工具提供了速度、深度和准确性。 速度 开发人员进行手动代码审查需要时间。自动化工具要快得多。 静态代码检查解决了早期的问题,并准确地指出了代码中的错误所在。因此,您将能够更快地修复这些错误。此外,早期发现的编码错误修复成本更低。 深度 测试不能覆盖所有可能的代码执行路径。但是静态 代码分析器 可以。 在构建过程中,静态代码分析器会检查代码。您将根据所应用的规则深入分析代码中可能存在的潜在问题。 下面是 Helix QAC中深入代码分析的示例 。 Helix QAC 中的代码分析示例 准确性 手动源代码审查容易出现人为错误。自动化工具不是。 他们扫描每一行代码以识别潜在问题。这有助于您确保在测试开始之前就有最高质量的代码。毕竟,当您遵守编码标准时,质量是至关重要的。 静态分析和静态代码分析器如何帮助开发人员左移? 静态分析是确保软件应用程序可靠性、安全性和可维护性的重要技术。它帮助开发人员及早发现和解决问题,提高代码质量,增强安全性,确保法规遵从性,并提高效率。使用静态分析工具,开发人员可以构建质量更好的软件,降低安全漏洞的风险,并最大限度地减少调试和修复问题所花费的时间和精力。 术语“左移”是指在软件开发生命周期(SDLC)的早期集成自动化软件测试和分析工具的做法。传统上,测试和分析通常是在编写代码后进行的,这导致了解决问题的被动方法。通过左移,开发人员可以在问题变成问题之前发现问题,从而减少调试和维护所需的时间和精力。这在敏捷开发中尤其重要,因为频繁的代码更改和更新可能会导致许多需要解决的问题。 静态分析的一个关键好处是,它可以节省调试和测试的时间和精力。通过在开发过程的早期识别潜在问题,您可以在任何问题变得更加难以修复(且成本高昂)之前解决它们。随着时间的推移,您还将获得更高质量的应用程序,这些应用程序更可靠、更容易维护,并防止问题在整个代码库中传播,从而使以后更难识别和修复。 使用静态分析左移的好处包括: 及早发现问题。 通过将静态分析集成到开发过程中,开发人员可以尽早发现问题,使其在成为更大的问题之前得到解决。这减少了调试和维护所需的时间和精力,并有助于确保代码的可靠性和安全性。 降低成本。 在SDLC中较早地解决问题可以降低后期修复bug和其他问题的成本。这可以节省时间和资源,并降低可能影响项目时间表的延误或其他问题的风险。 提高代码质量。 静态分析有助于识别编码标准违规和其他可能影响代码质量的问题。通过尽早解决这些问题,开发人员可以确保代码编写良好、可维护且易于调试。 增强的安全性。 静态分析工具可以识别代码中的安全漏洞,允许开发人员在代码发布到生产环境之前解决这些问题。这可以降低安全漏洞和其他可能影响应用程序安全性的问题的风险。 使用静态分析左移如何帮助提高利润 通过静态分析左移还可以提高组织的估计投资回报率 (ROI) 和成本节约。 静态分析的主要优点之一是它能够在SDLC早期发现缺陷和漏洞。从长远来看,早期检测可以节省您的公司时间和金钱。根据 美国国家标准与技术研究院(NIST) 的一项研究,修复缺陷的成本随着开发周期的进展而显着增加。在需求阶段检测到的缺陷修复成本可能约为 60 美元,而在生产中检测到的缺陷可能高达 10000 美元!通过采用静态分析,组织可以减少进入生产阶段的缺陷数量,并显著降低修复缺陷的总体成本。 除了降低修复缺陷的成本外,静态分析还可以提高代码质量,从而进一步节省成本。改进的代码质量可以减少测试、调试和维护所需的时间和精力。 IBM 的一项研究发现 ,通过提高代码质量,修复缺陷的成本最多可降低 75%。 安全性是静态分析可以帮助降低成本的另一个领域,尤其是与安全漏洞和负面品牌状态相关的成本。 IBM的一项研究发现,数据泄露的成本可能在125万至819万美元之间。静态分析可以在SDLC的早期发现安全漏洞,使组织能够在部署软件之前修复这些漏洞。通过这样做,组织可以显著降低安全漏洞的风险和成本,并保护其声誉。 除了节省成本外,静态分析还可以提高生产力。通过在开发周期的早期发现缺陷,开发人员可以减少日后调试和修复缺陷所需的时间和精力。这可以为其他开发活动(如功能开发或测试)腾出时间。通过提高生产力,组织可以减少软件开发的时间和成本,并提高更快地交付软件的能力。 在软件开发中采用左移方法可以为组织带来显着的成本节约和投资回报率。通过及早发现缺陷和漏洞,公司可以显著降低修复缺陷的成本,提高代码质量和安全性,并提高生产力。这些好处可以提高客户满意度、提高软件质量并降低开发成本。 如何选择静态代码分析器? 在决定哪种工具适合您时,需要考虑以下几点。 程序设计语言 分析器是为许多不同的编程语言设计的。因此,选择一个支持你的语言的工具是很重要的。 标准 静态分析器的主要用途之一是符合标准。因此,如果你所在的行业需要编码标准,你需要确保你的工具支持该标准。 为什么选择 Perforce 静态代码分析器工具进行静态分析? 30多年来,Perforce静态分析解决方案一直备受信赖,能够为各行各业的关键任务项目团队提供最准确的结果。 Helix QAC 和 Klocwork 经过认证,符合编码标准和合规要求。而且它们提供的假阳性和假阴性更少。 亲身体验 Perforce 静态代码分析工具对软件质量的影响。立即注册免费试用。
  • 2024-3-7 09:47
    3 次阅读|
    0 个评论
    如今,新车购买者的关注点更多地集中在“数字驾驶舱生态系统体验”上,而不是传统功能,如马力和燃油经济性。汽车行业已将提供这种体验作为优先事项,包括全连接的车载信息娱乐 (IVI) 系统,包括触摸屏显示器、语音命令以及集成的信息和娱乐功能。 什么是车载信息娱乐系统? 越来越多的终端消费者希望能够完全连接到他们的“数字生态系统”体验。“智能座舱”是车载信息娱乐系统的核心,其正在成为原始设备制造商及其汽车品牌的关键差异化优势。 车载信息娱乐(IVI)是一种车辆系统的组合,用于向车辆乘客提供音频/视频接口和控制元件——触摸屏显示器、按钮面板、语音命令等。 以下是构成“智能驾驶舱”的组件或模块的快照: 用户界面: 驾驶员和乘客通过触摸或旋钮和转盘在屏幕上看到的内容和互动的内容。 主机: 包括显示器、外壳、电路板、CD/DVD 播放器、收音机和多个处理器(统称为车辆的主机)。它也是车辆所有物理输入的接口,例如音响系统和/或外部摄像头。 操作系统 (OS): 作为信息娱乐系统的核心,操作系统控制对主机中的处理器、内存、存储和显示器的访问。 应用程序框架模块 :管理从 Spotify 应用程序到导航和与系统交互的所有内容,例如文本转语音和语音命令。它控制所有应用程序功能以及哪些应用程序可以出现在主机中。 移动集成: 使车辆能够连接各种智能手机和设备。支持 Wi-Fi、蓝牙和即插即用程序,例如 Google Play 的 Mirror Link、Apple CarPlay 和 Android Auto,可将手机媒体和应用程序的修改版本导入屏幕。 汽车平台: 应用程序框架和操作系统之间的软件桥梁,支持多媒体、视频、导航、音频、广播、声学、软件更新、云服务等。 根据行业研究公司Frost&Sullivan最近的一份分析报告,到2025年,“车联网”将构成全球汽车市场近86%的份额。同年,IVI市场预计将达到427亿美元。 但是,IVI系统本身以及第三方应用程序也为网络犯罪分子创造了许多漏洞威胁点。汽车行业IVI系统的原始设备制造商和一级供应商必须努力确保这些系统中的嵌入式代码符合安全和安保关键标准。这样做有助于避免召回成本和对商业声誉的影响。 网络攻击给车载信息娱乐系统带来严重风险 车载信息娱乐系统在短短几年内取得了长足的发展,随着AI、ML和AR等新兴技术进入汽车领域,成为这些嵌入式“数字驾驶舱”系统的标准集成,预计该系统将进一步快速发展。虽然IVI系统目前用于提供信息和娱乐,但它们很快就会作为车辆内所有功能的主要通信部件发挥更大的作用。用户可以通过 AR 和 3D 导航和警报、交互式交通和危险警告以及与道路上其他车辆的通信方式看到更多信息。 随着IVI系统每年增加更多的功能和连接性,管理无线软件更新的开发人员必须考虑到车载网络的无数攻击面和潜在漏洞。 由于 IVI 系统连接到互联网并使用 Android、RTOS、Linux、QNX 和 Windows Embedded Automotive 以及 USB 连接、蓝牙和 Wi-Fi 运行操作系统,因此黑客可以通过多种方式找到这些入口点并利用代码中的漏洞,这可能会影响用户隐私和安全。 高达 90% 的软件安全问题是由编码错误引起的。这就是为什么确保不会发生故障的情况很重要的原因。然而,代码质量仍然没有达到许多IVI系统应有的水平,导致新车出现故障和繁琐的IVI。希望提高代码质量和车载信息娱乐网络安全的开发人员应使用编码标准和静态分析工具,作为网络安全和质量优先最佳实践的一部分。 车载信息娱乐系统编码标准的重要性 可以说,联网车辆是通过其IVI系统连接到互联网的四轮计算机。由于IVI系统是车内网络的一部分,它可能为黑客创造许多易受攻击的威胁点,他们可能能够控制驾驶员的智能手机并访问个人数据,操纵车辆安全关键系统功能,或制造系统更新程序。因此,IVI 系统开发实践必须遵守编码标准和指南。 最近还有两项有望使IVI系统受益的举措是ISO/SAE 21434标准和联合国欧洲经济委员会(UNECE) WP.29法规 。这些标准相辅相成,为汽车行业确保新一代互联汽车的安全做好准备。 ISO /SAE 21434 标准 建立在其前身 ISO 26262 的基础上 ,该标准不包括软件开发或子系统。ISO/SAE 21434 侧重于汽车电子设计和开发中固有的网络安全风险。汽车软件安全标准提供了一个结构化的流程,以确保在汽车产品的整个生命周期内将网络安全考虑因素纳入其中。 与 ISO/SAE 21434 不同,WP.29 法规要求 OEM 负责管理整个供应链的网络安全风险。 IVI 网络安全漏洞如何影响 OEM 原始设备制造商及其一级供应商需要采取措施避免其IVI嵌入式软件漏洞的负面影响,因为攻击可能会威胁到驾驶员及其乘客的隐私和安全。网络安全事件可能代价高昂且耗时,并可能导致车辆召回,最终影响利润、声誉损失和组织生产力。 IVI系统中的软件故障经常导致召回。MSN.com最近对最不可靠的家用汽车进行的一项调查显示,最新一代的汽车位居榜首,57% 的车辆出现故障,其中33%的汽车受到IVI问题的影响。 由于安全和安保问题,信息娱乐系统中的软件故障可能会导致召回。例如,故障可能允许驾驶员在驾驶时浏览互联网和看电视。软件故障也可能导致汽车屏幕在寒冷天气下熄灭。 即使故障不是很明显,恶意行为者也可能利用软件中的这种类型的漏洞,关闭影响安全和安保的关键功能。 确保IVI系统中的代码符合必要的标准和合规性要求,有助于避免召回成本以及对商业声誉和盈利能力的影响。 为什么SAST对于车载信息娱乐系统软件代码至关重要 静态应用程序安全测试 ( SAST ) 软件测试方法检查和分析应用程序源代码、字节码和二进制文件的编码和设计条件,以发现 IVI 系统软件中的安全漏洞。SAST背后的工作机制是一个静态分析工具,用于检查设计和编码缺陷。 Klocwork 是 企业 DevOps 和 DevSecOps 的理想选择 , 是行业领先的 静态分析和 SAST 工具,适用于 C、C++、C#、Java、JavaScript、Python 和 Kotlin 设计的源代码。此外,10 家顶级汽车零部件制造商中有 9 家依靠 Perforce 静态分析工具来帮助确保其汽车软件的安全性和合规性。 亲眼看看 Klocwork 如何帮助确保嵌入式软件的质量。立即申请 7 天免费试用⏩⏩⏩ marketing@polelink.com
  • 热度 3
    2024-2-21 13:57
    497 次阅读|
    0 个评论
    软件改变汽车进行时,VectorCAST助你一臂之力
    一百三十多年前,奔驰夫人贝尔塔为了回击社会舆论对奔驰一号的质疑,驾驶着奔驰汽车从曼海姆出发,直驶104公里外的位于普福尔茨海姆的娘家,全程虽开的磕磕绊绊,但却为汽车的宣传起到了极佳的作用。直至今日,汽车领域新技术的应用依旧会伴随着各种质疑,软件定义汽车的新趋势不断发展,对其的质疑,要求行业对汽车软件要更加严格把控,汽车软件测试日益成为汽车电子开发领域不可忽视的一环。 面对当前汽车软件测试的高要求,针对汽车软件代码的测试,会成为软件定义汽车时代势必要关注的内容。而VectorCAST作为汽车电子行业佼佼者Vector旗下产品,或许能在未来助你一臂之力。 我们从宏大的软件定义汽车出发,着眼于汽车软件代码测试一隅,立足于低成本减小风险的测试早期(单元、集成测试阶段),致力于为未来软件定义汽车的实现添砖加瓦。 那么VectorCAST在助力软件定义汽车的实现上有哪些优势点呢? Jenkins持续集成+自动回归测试顺应OTA趋势 软件定义汽车概念中最重要的一个概念就是OTA,OTA可实现汽车系统技术迭代升级和附加体验价值提升,是实现软件定义汽车的一条重要路径。而如今,OTA的“硬件预埋,软件升级”已逐渐成为车企主流策略,未来汽车软件、算法优化空间巨大。 软件算法不断更新,软件测试阶段中实现对嵌入式软件的高效 持续集成 和 回归测试 就是当务之急。VectorCAST的自动回归测试和持续集成功能,可能会为OTA的完整实现提供一些思路。 VectorCAST能够与Jenkins完美联调,实现持续集成 可以实时查看VectorCAST工程的变更情况,包括构建结果、测试结果趋势、测试覆盖度趋势等。 并可通过Jenkins Pipeline并行执行具有多个测试环境的VectorCAST工程,并且自动生成Jenkins Pipeline的脚本,无需额外编写脚本集成。 VectorCAST还提供工具内的 自动回归测试 ,GUI界面Incremental一键自动回归测试,也可通过命令行实现自动回归测试。 并且VectorCAST在自动回归测试完成后也会提供相关回归测试的报告。 针对OTA这种类似“云端软件”的更新,自动回归测试功能能够大幅度提升更新软件代码后的测试效率,避免繁杂的重复手工劳动;而Jenkins持续集成可以助力软件的可持续集成,助力软件快速高效迭代。 C++完美解析助力SDV变革 软件定义汽车(Software Defined Vehicles,SDV)时代到来的其中一个表征就是, 代码量的骤增 。大量互联网行业从业人员的涌入、智能驾驶算法的发展,使得基于代码开发的趋势并未式微。这样的形式也促使C++语言被大量使用,对相应的软件测试工具的C++能力要求也在提高。 VectorCAST拥有着强大的C++解析能力,能够完美解析C++11&14&17新特性,针对大部分C++数据类型可实现直接在GUI界面赋值,省去编写代码测试的繁琐性。 例如,VectorCAST可实现类的实例化,自主解析类的所有构造函数,且列出可供选择的构造函数。 还支持解析智能指针,例如shared_ptr,unique_ptr等。 支持对模板函数自动插桩,实现对模板类或者模板函数进行测试。 对STL容器类型数据也可便捷测试,支持对标准容器(string/vector/list/set/map等)及迭代器进行解析。 VectorCAST对C/C++语言的高度支持,基本上可以实现0代码编写测试用例。保证代码测试完善的同时提升测试便利性,极大程度地提升测试效率。 多频次更新支持多领域标准认证 不同于传统互联网软件,汽车电子软件的故障牵扯着安全问题,为应对层出不穷的汽车软件故障安全问题,功能安全、ASPICE等标准新趋势逐步发展,汽车电子软件需通过相关标准认证已逐渐成为汽车电子软件行业的共识。因此,相关的汽车嵌入式软件测试工具能否支持各种标准,已经成为汽车电子行业部署支持实现软件定义汽车工具链的重要要求。 VectorCAST工具取得了南德TÜV认证,遵循相关的行业认证标准。比如,汽车电子行业内熟知的功能安全ISO 26262,工业标准IEC 61508,轨道交通行业标准EN 50126等等。VectorCAST功能更新迭代顺应技术趋势,支持对所有大/小版本进行认证,并免费提供给用户《Safety Manual》协助认证。VectorCAST在以下专业领域具有丰富的应用经验和案例,被广大用户和第三方认证机构所认可,可以作为项目测试有效性的有力背书。 总结 针对日益崛起的智能驾驶领域,VectorCAST提供强大的C++解析支持;面对OTA等新概念的发展,VectorCAST具有Jenkins集成和自动的回归测试功能,可帮助软件实现高效的在线迭代更新;针对逐步完善的安全标准新趋势,VectorCAST及时更新迭代,协助认证。 软件定义汽车的新时代到来,VectorCAST秉承着术业有专攻的理念,坚定耕耘着汽车软件代码动态测试的这一片田地,致力于为软件定义汽车的实现添砖加瓦。 北汇信息作为Vector在中国的重要合作伙伴,坚守让中国的汽车变得越来越安全、越来越舒适、越来越智能的使命,建立了专业的汽车电子测试团队,为客户提供完整的软件生命周期的软件测试服务、专业的汽车电子测试系统搭建及测试咨询服务、提供完整的汽车新能源测试服务等,致力于帮助客户提升软件质量,提高测试效率,实现能力共建。