软件行业|Parasoft与IAR的嵌入式DevOps测试集成

Parasoft C/C++test 是一款专业的自动化软件测试工具,为嵌入式开发提供高质量的代码保障。覆盖了静态分析、单元测试与运行时错误检测等多个关键环节,能够与 IAR 开发工具有效互补,共同提升代码质量。二者在嵌入式、消费电子及工业控制领域应用很广泛。

IAR Systems于1983年在瑞典乌普萨拉成立,30多年来一直为嵌入式系统提供一的开发工具。这家领先的嵌入式开发软件和服务提供商专门从事C和C++编译器、调试器以及其他工具,用于为8、16、32位和64位处理器开发和调试固件。

挑战

嵌入式软件团队在向DevOps转型、采纳CI/CD的过程中,挑战具体体现在工具链与工作流程的整合上。开发人员在引入现代CI/CD工具链并实施持续集成管道时,主要面临三大困难。

  1. 获取有关代码的反馈。

  2. 及时地、尽早地获得有关代码的反馈。

  3. 源代码质量差,减慢了下游审查和测试的速度。

为了提高开发效率和产品质量,致力于寻求实现CI/CD管道全流程自动化的解决方案。迁移到 CI/CD工作流程是一回事。自动化是另一回事。

方法

通过自动化CI/CD工作流程,开发人员几乎可以即时获得有关代码的反馈。为了将自动化无缝融入到工作流程中,开发人员需要构建工具和自动化软件测试技术。

IAR Systems的工具作为DevOps管道的一部分,集成到绝大多数持续集成构建系统中。除了CI/CD和自动化之外,Linux开发平台、具有动态分支方法的基于Git的工作流程以及docker 化工具链正在成为团队整合到其环境中的关键组件。

一套协同工具是无缝CI/CD管道不可或缺的一部分。比如:

  • 编排
  • 版本控制
  • 构建、分析和测试工具
  • 容器化开发环境

持续集成环境的工具组件。资料来源:IAR Systems

解决方案

为满足嵌入式团队对IAR工具链的自动化需求,IAR Systems与Parasoft通过工具集成,实现了以自动化CI/CD为核心的现代开发工作流程

采用DEVOPS进行嵌入式软件开发

通过IAR Systems和Parasoft的集成,开发和运营可以在整个 SLDC期间进行通信,包括:

  • 开发软件。
  • 查找和修复错误。
  • 添加新功能。

DevOps 理念虽可应用于嵌入式软件开发,但其面临其他软件领域少有的约束。目标硬件资源受限可能影响工具链选型与可执行的测试类别,然而CI/CD流程的基本构成要素保持一致。

将传统的构建系统升级至CI/CD流水线,最佳方法是从简单的目标着手,例如:

  • 将生成系统与业务流程协调程序集成。
  • 通过软件的静态分析开始分析代码质量。
  • 采用自动化单元测试。

持续集成流水线的关键,在于工具链需支持基于命令行的自动化操作,并主要运行于Linux服务器环境。所以IAR Systems 推出了其工具的Linux版本,这对嵌入式团队顺利引入CI/CD工作流具有重要意义。

使用Docker容器开发环境提高生产力

容器化开发环境近年来在软件团队中迅速普及,因其能够提供一套易于部署、版本可控且为所有开发者保持一致的工具链。可通过将适用于Linux的IAR构建工具进行容器化封装,并与Parasoft C/C++test配合使用,从而有效提升开发灵活性与整体效率

使用IAR Systems工具链的容器架构。资料来源:IAR Systems

与典型的CI工作流程集成

IAR Systems 的工具能够实现与典型CI工作流的全面集成。下图以GitHub或Jenkins为例展示了具体流程:集成始于原始生产分支,开发者从中拉取变更,并将生产级代码作为基准导入IAR嵌入式工作平台进行开发

GitHub运行器的典型CI工作流。资料来源:IAR Systems

结果

IAR Systems与CI/CD工作流程的集成为嵌入式开发人员提供了:

  • 代码的即时反馈
  • 更好的整体代码质量
  • 针对高质量代码进行集中的手动测试工作和代码审查
  • 更好的产品更快地出门
  • 显著缩短构建和分析处理时间

Parasoft C/C++test凭借其强大的静态分析、单元测试与运行时错误检测能力,与 IAR 工具链深度集成,为嵌入式软件开发提供端到端的质量保障。该解决方案已广泛应用于金融、医疗、汽车、工业控制等对软件质量有严苛要求的行业,通过覆盖代码静态分析、单元测试、覆盖率分析及运行时检测的全流程测试能力,为企业建立贯穿软件开发全生命周期的自动化质量保障体系,助力企业实现高质量软件的可靠交付与数字化转型。

相关推荐
_运维那些事儿2 天前
skywalking链路追踪
java·运维·ci/cd·软件构建·skywalking·devops
小魏小魏我们去那里呀2 天前
Alibaba Cloud DevOps Integration For JetBrains 插件使用指南
ide·阿里云·devops·jetbrains
测试秃头怪2 天前
面试大厂就靠这份软件测试八股文了【含答案】
自动化测试·软件测试·python·功能测试·面试·职场和发展·单元测试
测试杂货铺2 天前
软件测试面试题大全,你要的都在这。。
自动化测试·软件测试·python·功能测试·面试·职场和发展·测试用例
爬山算法2 天前
Hibernate(84)如何在DevOps流程中使用Hibernate?
oracle·hibernate·devops
程序员小远2 天前
UI自动化测试用例管理平台搭建
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
CodeCraft Studio3 天前
【Parasoft案例分享】在 DO-178C 标准下,如何实现航空嵌入式软件测试自动化
单元测试·自动化·静态分析·代码覆盖率·parasoft·do-178c·软件自动化测试
会写代码的饭桶3 天前
【DevOps实战】使用 GitHub Actions 自动构建镜像并双推至 Docker Hub 和 GHCR
docker·自动化·github·devops
研发小能3 天前
主流DevOps平台对比分析:嘉为蓝鲸 vs GitLab vs Azure DevOps vs Jenkins
devops·devops产品·devops平台·devops厂商·国产devops厂商