Parasoft C/C++test自动化测试平台应用教程:安装部署与静态分析配置

一款专业的自动化软件测试工具,致力于帮助C和C++开发团队提升代码质量与可靠性。Parasoft C/C++test通过执行静态代码分析、单元测试等多种方法,能够高效地在编写早期识别出潜在缺陷与安全漏洞,并确保代码符合如MISRA在内的行业核心安全编码标准。下面将一步步完成从安装部署到使用它对示例任务进行静态分析的完整流程,展示其强大的代码质量保障能力。就是Parasoft C/C++test

1、安装

从parasoft官方获取安装包

​

直接解压即可:

​

​

2、部署许可证

打开cpptest.exe。

按照下图找到机器码,将机器码发送给parasoft官方人员,获取许可证,将许可证粘贴到 密码 框中。

​

​

3、使用demo项目中的Sensor项目进行测试

3.1 项目位置

使⽤C/C++test安装⽬录下,\<cpptest_dir>/examples/Sensor,这个Sensor项⽬。

​

3.2 提前准备

要保证Sensor项目在windows上面编译,必须要提前安装gcc,g++,make等这些程序,通过MinGW或者Cygwin能够一键安装这些程序。

3.3 配置环境变量

将cpptest目录和bin目录配置在path环境变量中:

​

3.4 获取bdf文件

使⽤cpptesttrace命令追踪Sensor项⽬的编译过程,获取 bdf⽂件。

​

cpptesttrace make

可以观察到,执⾏完命令后不仅仅⽣成了make原来编译过后的.exe程序,还多了⼀个cpptest.bdf⽂件。需要通过这个⽂件,将Sensor项⽬导⼊到C/C++test(cpptest)中进⾏测试。

3.5 导入项目

打开cpptest,点击 Create a project..., 再点击 创建来⾃构建数据⽂件(.bdf/ .json)的项⽬。点击 下⼀步。

​

选择获取到的bdf文件。点击完成。

​

项目就被导入成功了。

​

4、静态分析

4.1 选择测试集

选择 Parasoft,点击 测试配置(C)...。

​

在 Automatiive Pack中找到MISRA C 2012这个测试集,右键 选择复制。

​

复制后,可以在 ⽤⼾⾃定义 下⾯找到复制过来的 MISRA C 2012,但是前⾯的icon是⼀个“人”,这代表该测试集是复制过来的。大家可以裁剪这个规则集,⽐如说我们需要去掉⼀些不想要的规则。

​

4.2 处理测试集

点击我们复制过来的测试集,然后再点击右边的窗⼝静态,在右下⽅的窗⼝中许可找到打上勾的测试集,这个证明是我们启⽤的规则,如果需要不启⽤某些规则,只要找到它,然后去掉前⾯的√就可以了。做完这些管理后,点击右下⻆的应⽤,我们的规则集就准备好了。

​

4.3 开始静态测试

选择测试⽬标。大家允许通过左键点击,选择整个项⽬,单个⽂件夹,或者单个.c⽂件。

​

选中后,我们再右键,找到Parasoft->测试执⾏->⽤⼾⾃定义->Compliance Packs->AutomotivePack->MISRA C 2012。点击,进⾏测试。

​

观察下⾯的这个窗⼝,出现进度条,证明正在测试。

​

1/1,证明测试结束,检查出113个缺陷。

​

4.4 查看结果

点击这个放大镜图标,可以跳转到 测试结果 详细窗口。

​

质量任务视图当中就是所有的测试结果了。

​

双击违规,就可能定位到源码了。

​

4.5 实操修改违规

定位源码后,可能借助 规则文档 理解规则,也可查看相关示例代码。

左键违规,再右键,点击 查看规则文档

​

浏览器会打开对应的文档。

​

通过阅读文档,可能知道这条规则要求的是对基础数据类型要进行重新命名,采用到对应数据类型的地方,要进行别名替换。

按照如下图片,进行代码修改,保存后,再次进行扫描。

​

从扫描结果看,第7行已不再出现 “不应使用基本数据类型..”违规。

​

4.6 生成报告

生成报告前,可能进行报告的相关设置。

在首选项的报告设置中,可以进行报告内容板块和报告格式的设置。

​

在下图的配置功能中许可配置报告生成的路径。

​

点击处理或者记事本图标都可以生成报告。

​

通过以上步骤,成功利用Parasoft C/C++test完成了对示例项目的静态代码分析与缺陷修复,这只是其强大测试能力的一部分。Parasoft C/C++test还提供单元测试、代码覆盖率分析及运行时监测等功能,共同构成一个完整的质量保障体系。对于客户而言,这意味着它能有效帮忙团队自动化执行编码规范,降低人工审查成本,从根本上提升软件的稳定性、安全性与可维护性,是构建高质量软件的坚实基础。

---

推荐阅读

本文涉及的技术,这些课程讲得更深入:

  1. 软件测试52讲
    ‍ 茹炳晟 | 全面掌握软件测试核心技能
posted @ 2025-11-19 12:41  clnchanpin  阅读(1059)  评论(0)    收藏  举报