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

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

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

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还提供单元测试、代码覆盖率分析及运行时监测等功能,共同构成一个完整的质量保障体系。对于客户而言,这意味着它能有效帮助团队自动化执行编码规范,降低人工审查成本,从根本上提升软件的稳定性、安全性与可维护性,是构建高质量软件的坚实基础。

Read more

终极指南:Python Google Search API - 完全免费的搜索引擎集成方案

终极指南:Python Google Search API - 完全免费的搜索引擎集成方案 【免费下载链接】python-gsearch🔍 Google Search unofficial API for Python with no external dependencies 项目地址: https://gitcode.com/gh_mirrors/py/python-gsearch 问题:开发者的搜索困境 作为一名Python开发者,你是否曾经遇到过这样的问题:想要在应用中集成搜索功能,却发现官方API要么收费昂贵,要么限制重重?🚀 传统的Google搜索API需要API密钥、信用卡信息,并且有严格的调用限制,这让很多个人开发者和初创项目望而却步。 解决方案:无限制的Python Google Search API Python Google Search API正是为解决这一痛点而生。这是一个完全免费的、无需任何外部依赖的谷歌搜索非官方接口,支持Python

By Ne0inhk
Python + AI:打造你的智能害虫识别助手

Python + AI:打造你的智能害虫识别助手

Python + AI:打造你的智能害虫识别助手 在农业生产中,病虫害是影响作物产量和品质的“隐形杀手”。传统的害虫识别依赖人工巡查,不仅耗时耗力,还容易因经验不足导致误判、漏判。而随着智慧农业的普及,AI技术正成为破解这一难题的关键——今天,我们就用Python从零搭建一个智能害虫识别助手,让电脑替你“火眼金睛”辨害虫,轻松搞定农作物病虫害预警! 一、为什么要做这个项目? 智慧农业的核心是“精准、高效、低成本”,而害虫识别正是其中的典型场景: * 对农户:无需专业植保知识,拍照就能识别害虫种类,快速匹配防治方案; * 对开发者:这是一个“小而美”的实战项目,覆盖AI开发全流程,从数据处理到模型部署,学完就能落地; * 技术价值:融合Python、深度学习、Web部署,是入门AI+垂直领域应用的绝佳案例。 这个项目不需要你有深厚的AI功底,只要掌握Python基础,跟着步骤走,就能做出一个能实际使用的智能识别工具。 二、项目核心技术栈 先明确我们要用到的工具,都是行业主流、

By Ne0inhk
2026年Python+AI学习路线完整指南:从零基础到实战专家

2026年Python+AI学习路线完整指南:从零基础到实战专家

✨道路是曲折的,前途是光明的! 📝 专注C/C++、Linux编程与人工智能领域,分享学习笔记! 🌟 感谢各位小伙伴的长期陪伴与支持,欢迎文末添加好友一起交流! 📊 目录 * 为什么选择Python+AI * AI技术领域分布 * 完整学习路径 * 分阶段学习指南 * 实战代码示例 * 学习资源推荐 * 常见问题解答 为什么选择Python+AI? Python已成为人工智能领域最主流的编程语言,根据Stack Overflow 2024年开发者调查,Python在AI/ML领域的使用率超过85%。 Python在AI领域的优势 优势说明🐍 语法简洁上手快,专注算法本身而非语法细节📦 生态丰富NumPy、Pandas、PyTorch等成熟库👥 社区活跃海量教程、开源项目和问题解答🔧 工具完善Jupyter、Colab等优秀开发环境🚀 部署便捷Flask/FastAPI快速构建AI服务 AI技术领域分布 了解AI各领域的占比,帮助你更好地规划学习重点: 35%30%15%12%5%3%2025年AI技术领域市场需求分布机器

By Ne0inhk