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还提供单元测试、代码覆盖率分析及运行时监测等功能,共同构成一个完整的质量保障体系。对于客户而言,这意味着它能有效帮助团队自动化执行编码规范,降低人工审查成本,从根本上提升软件的稳定性、安全性与可维护性,是构建高质量软件的坚实基础。
关于慧都
慧都科技(EVGET)成⽴于2003年,是⼀家⾏业数字化解决⽅案公司,⻓期专注于软件、油⽓与制造⾏业。公司基于深⼊的业务理解与管理洞察,以系统化的业务建模驱动技术落地,帮助企业实现智能化运营与⻓期竞争优势。
慧都科技作为Parasoft公司在中国区的官方授权合作伙伴,为国内企业提供Parasoft C/C++test产品的正版授权、定制化部署与全生命周期技术支持与服务。我们致力于助力客户精准贯彻功能安全标准、全面提升软件开发效率、有效管控项目风险,最终构建符合国际标准的高质量软件体系。
发表评论