提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|使用教程|编辑:张莉|2025-09-19 10:42:52.997|阅读 65 次
概述:Parasoft C/C++test是一款强大的软件测试工具,专门为C和C++语言开发提供全面的代码质量保障解决方案,对于使用CMake构建系统的项目,C/C++test从2020.1版本开始提供了专门的支持,简化了测试配置流程,使开发人员能够更高效地集成自动化测试到他们的开发工作流中。
#慧都22周年庆大促·界面/图表报表/文档/IDE/IOT/测试等千款热门软控件火热促销中>>
Parasoft C/C++test是一款强大的软件测试工具,专门为C和C++语言开发提供全面的代码质量保障解决方案。它集成了静态分析、单元测试、覆盖率分析等多种测试技术,帮助开发团队在软件开发早期发现和修复缺陷,提高代码质量和可靠性。对于使用CMake构建系统的项目,C/C++test从2020.1版本开始提供了专门的支持,简化了测试配置流程,使开发人员能够更高效地集成自动化测试到他们的开发工作流中。
在之前,我们都是使用的CMake自带的命令,先生成Makefile文件,然后使用cpptesttrace.exe跟着make命令生成BDF文件。但是这样生成的BDF文件里不仅包含项目中的文件,还包含CMake自动生成的文件,有时还会出现文件重复的问题(一般因为项目编译时,文件被拷贝到build文件夹下)。
使用条件
C/C++test2020.1版本以上。
具体使用
具体使用只有导入项目方式跟其他项目有些区别,导入项目有两种方式:
前者使用简单,仅适用于静态分析,因为生成的json文件中没有包含link信息,而这是所单元测试需要的。后者相对要麻烦,但是支持单元测试。
生成json文件方式
这种方式使用的是CMake自带的功能,主要方式是修改CMAKE_EXPORT_COMPILE_COMMANDS选项。两种方式:
1.在CMakeLists.txt文件中将CMAKE_EXPORT_COMPILE_COMMANDS选项设置为ON;
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
2.生成构建脚本时,将其添加到cmake的命令行调用中。
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1 <path_to_src>
修改CMakeLists.txt文件方式
1.修改主CMakeLists.txt文件,将<INSTALL_DIR>/integration/cmake/cpptest-project.cmakeinclude进来(大部分情况下,其实不需要修改这个cpptest-project.cmake文件);
2.根据情况加上cpptest_add_executable(),具体下面说明;
3.运行CMake的时候设置CPPTEST_PROJECT=ON,实际命令可能是cmake -DCPPTEST_PROJECT=ON ..;
4.使用import projects的方式,将项目导入到workspace中,命令行就使用-import参数替代-bdf参数,这里导入项目的文件地址一般就是项目文件夹,如果找不到,可以在项目下搜索 .parasoft文件;
5.后面就是基本的静态分析和单元测试的步骤了。
cpptest_add_executable()的详细说明
其实这个部分,我们不仅仅是要添加cpptest_add_executable(),如果有需要,我们还需要添加target_include_directories()和target_link_libraries(),否则可能缺少链接信息等。
添加的原则是遇到add_executable()添加cpptest_add_executable(),遇到target_include_directories()添加target_include_directories(),遇到target_link_libraries()添加target_link_libraries()。一般情况下,这些都在各个模块的CMakeLists.txt文件中出现。
cpptest_add_executable部分
按照用户手册中提到的,cpptest_add_executable部分组成如下:
cpptest_add_executable( <target_name> [CPPTEST_COMPILER_ID <compiler_id>] [CPPTEST_PROJECT_NAME <test_project_name>] [CPPTEST_PROJECT_LOC <test_project_location>] [CPPTEST_PROJECT_FOLDERS <name1=location1> <name2=location2> ...] [EXCLUDE_FROM_ALL] SOURCES <src1.cpp> <src2.cpp> ... | TARGETS <target1> <target2> ... )
这里详细说明一下几个必需要设置的参数:
<target_name>:这个必需要设置,内容随意,推荐在原项目名后加_cpptest,但是这个参数会关系到其他地方的设置。另外如果是一个大项目下面包含的多个模块,那么各个模块的<target_name>需要设置成不同的;
SOURCES:这个与TARGETS是二选一,后面跟需要跟踪编译信息的文件,有的时候,我们能够从CMakeLists.txt文件中找到相关的变量,而不需要将涉及的源文件一一列出来;
TARGETS:推荐使用TARGETS,比如CMakeLists.txt文件中有project(xxx),那么我们就可以设置TARGETS xxx;
target_link_libraries/target_link_libraries部分
这部分的设置参照原本的target_link_libraries就行,但是其中的<target_name>需要跟上面的对应起来。
比如,原本的是
target_link_libraries(main mod1 mod2 mod3)
那么我们就需要再添加
target_link_libraries(main_cpptest mod1 mod2 mod3)
通过Parasoft C/C++test对CMake项目的针对性支持,开发团队能够更加高效地实施全面的软件质量保障策略。这一集成不仅帮助实现了早期缺陷检测、代码规范符合性验证以及单元测试自动化,还支持持续集成环境的无缝集成。
Parasoft C/C++test特别适用于航空航天、汽车电子、医疗设备、工业控制等高可靠性要求的行业,帮助这些行业解决功能安全标准合规性问题,确保软件系统的高度可靠性和安全性。通过将质量保障左移,C/C++test使团队能够在开发初期发现和修复问题,大幅降低后期修复成本,加速产品上市时间,同时确保交付高质量的软件产品。
关于慧都
慧都是一家行业数字化解决方案公司,专注于软件、石油与工业领域,以深入的业务理解和行业经验,帮助企业实现智能化转型与持续竞争优势。在软件工程领域,我们提供开发控件、研发管理、代码开发、部署运维等软件开发全链路所需的产品,提供正版授权采购、技术选型、个性化维保等服务,帮助客户实现技术合规、降本增效与风险可控。
慧都科技作为Parasoft公司在中国区的官方授权合作伙伴,为国内企业提供Parasoft C/C++test产品的正版授权、定制化部署与全生命周期技术支持与服务。我们致力于助力客户精准贯彻功能安全标准、全面提升软件开发效率、有效管控项目风险,最终构建符合国际标准的高质量软件体系。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@hmdbvip.cn




在嵌入式软件测试领域,对交叉编译代码进行单元测试是一大挑战。Parasoft C/C++test作为专业的C/C++测试工具,能够与劳特巴赫Trace32调试器深度集成。下面会详细介绍如何在C++test中配置Trace32调试器,实现对PowerPC架构程序的单元测试,涵盖环境设置、项目导入到测试执行的全过程。
本文将为大家介绍如何使用DevExpress WinForms数据网格控件实现摘要文本的格式化,欢迎下载最新版组件体验!
Parasoft C/C++test作为一款功能强大的自动化测试工具,为嵌入式开发提供了全面的测试解决方案。特别是在CCS开发环境中,C++test能够无缝集成,为F2812等DSP项目提供专业的单元测试支持。下面将介绍如何在CCS3环境下配置和使用C++test进行F2812项目的单元测试。
在嵌入式开发中,尤其是基于ARM架构的安全关键领域,单元测试是验证代码在目标硬件上运行时行为正确性的关键环节,对于保障最终产品的可靠性至关重要。下面将介绍如何利用Parasoft C/C++test开展单元测试,包括配置、执行及解决可能遇到的许可证问题,完成从静态检查到动态运行的完整测试闭环。
相关产品
针对 C/C++ 软件开发提供统一、完全集成的测试解决方案。
Parasoft Jtest用于应用软件开发的集成Java测试工具
Parasoft dotTEST降低C#和VB.NET开发风险,有效地实现符合C#和.NET开发的测试工具的要求
最新文章 MORE
永利最大(官方)网站相关的文章 MORE
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@hmdbvip.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
永利最大(官方)网站