半岛外围网上直营

基于Docker与Parasoft C/C++test的代码分析与单元测试实践

原创|使用教程|编辑:张莉|2025-09-18 11:17:55.590|阅读 51 次

概述:通过将Parasoft C/C++test与Docker相结合,我们构建了一个标准化、可复用的代码质量分析环境。这一实践旨在解决因开发环境差异导致的测试结果不一致问题,确保静态分析与单元测试能够在统一、可控的编译工具链中执行。利用Docker的隔离特性,我们将Parasoft的代码采集工具与项目构建流程(如Makefile)集成,通过生成构建数据文件(BDF)为后续深度代码分析提供基础。

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

通过将Parasoft C/C++test与Docker相结合,我们构建了一个标准化、可复用的代码质量分析环境。这一实践旨在解决因开发环境差异导致的测试结果不一致问题,确保静态分析与单元测试能够在统一、可控的编译工具链中执行。利用Docker的隔离特性,我们将Parasoft的代码采集工具与项目构建流程(如Makefile)集成,通过生成构建数据文件(BDF)为后续深度代码分析提供基础。这种方法是实现持续测试与DevOps实践的关键步骤,特别适用于需要符合功能安全标准(如ISO 26262)的嵌入式系统开发。

>>点击获取Parasoft C/C++test试用

准备阶段 Ubuntu 64位,cpptest工具,Docker

1.在创建Docker的脚本中添加以下几个参数

-v /home/u/parasoft/cpptest:/home/u/parasoft/cpptest (c++test安装目录) -v /home/u/parasoft/cpptest/examples/Timer:/home/u/parasoft/cpptest/examples/Timer(项目目录) -v /home/u/workspace/space12.27.2:/home/u/workspace/space12.27.2 (指定工作空间目录) --name gcc9-test-container(指定Docker名字) 注意:保证宿主机目录和Docker中的目录完全一致

2.容器中添加cpptest的环境变量

export PATH=$PATH:/home/u/parasoft/cpptest/bin 验证cpptesttrace命令可不可用 直接输入cpptesttrace来验证

3.生成bdf

进入Docker目录后,切换到项目根目录,执行以下命令: Cpptesttrace -cpptesttraceProjectName=demo -cpptesttraceOutputFile=/home/u/parasoft/cpptest/examples/Timer/demo.bdf make cpptesttraceProjectName=指定项目名 cpptesttraceOutputFile=指定生成bdf的绝对路径以及bdf名字 make是构建命令,可以用其他任何构建命令替代,例如build.sh

4.后台运行Docker

5.将容器名称分配给环境变量

export CPPTEST_CONTAINER_NAME=gcc9-test-container

6.在同一终端启动cpptest

7.导入在容器内生成的.bdf文件

编译器配置如下,需要自定义编译器

编译器的名称和种类可根据自己的需要进行修改

c编译器选择c++test安装目录下的/integration/docker中的remote-gcc C++编译器选择c++test安装目录下的/integration/docker中的remote-g++ 连接器选择c++test安装目录下的/integration/docker中的remote-g++ 如下图所示

以上就基本配置成功啦

8.执行静态分析

可能会遇到如下报错

解决办法:缺少库文件,下载库文件即可

9.单元测试

单元测试相对于静态分析多了一个步骤,在自定义编译器时,最后会告诉自定义编译器 gui.propertie的存放路径,如下所示

在容器中cd 到这个目录下找到gui.propertities文件

然后vim 打开这个文件,修改两个地方

在容器中进行单元测试时在执行单元测试时,不选Run unit tests了选择Run Unit tests in Container然后就这样执行啦。

在成功配置环境的基础上,团队可进一步将该方案集成至CI/CD流水线,实现自动化代码质量门禁。通过Parasoft C/C++test提供的静态分析、单元测试及覆盖率检测能力,结合Docker容器提供的环境一致性保障,开发者能够在早期发现代码缺陷,有效提升软件可靠性并降低合规认证风险。这一技术实践不仅适用于汽车电子领域,也可为其他对代码质量有高要求的行业提供参考。

关于慧都

慧都是一家行业数字化解决方案公司,专注于软件、石油与工业领域,以深入的业务理解和行业经验,帮助企业实现智能化转型与持续竞争优势。在软件工程领域,我们提供开发控件、研发管理、代码开发、部署运维等软件开发全链路所需的产品,提供正版授权采购、技术选型、个性化维保等服务,帮助客户实现技术合规、降本增效与风险可控。

慧都科技作为Parasoft公司在中国区的官方授权合作伙伴,为国内企业提供Parasoft C/C++test产品的正版授权、定制化部署与全生命周期技术支持与服务。我们致力于助力客户精准贯彻功能安全标准、全面提升软件开发效率、有效管控项目风险,最终构建符合国际标准的高质量软件体系。


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@ke049m.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP
利记足球官网(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新) 真人boyu·博鱼滚球网(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新) 最大网上PM娱乐城盘口(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新) 正规雷火竞技官方买球(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新) 雷火竞技权威十大网(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新) boyu·博鱼信誉足球官网(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新) 权威188BET足球网(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新) 正规188BET足球大全(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新)