没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|使用教程|编辑:张莉|2025-09-19 10:42:52.997|阅读 48 次
概述:Parasoft C/C++test是一款强大的软件测试工具,专门为C和C++语言开发提供全面的代码质量保障解决方案,对于使用CMake构建系统的项目,C/C++test从2020.1版本开始提供了专门的支持,简化了测试配置流程,使开发人员能够更高效地集成自动化测试到他们的开发工作流中。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
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@ke049m.cn
在使用Parasoft C/C++test执行BugDetective数据流分析时,可能会遇到用户自定义的资源API,那在这种情况下,若要判断是否存在资源问题,如资源泄露等,则需要手动配置测试配置。
大型SaaS系统的自动化测试常常受制于界面变化快、结构复杂、加载机制多变等因素。从元素识别到脚本管理,SmartBear TestComplete帮助Salesforce建了可靠的自动化测试体系。
BarTender 标签管理系统,正是帮助企业轻松实现 GS1 标准化标签设计、编码生成与信息联动的强大工具。
Parasoft C/C++test 是一款功能强大的 C/C++ 软件测试工具,集成了静态代码分析、单元测试、集成测试和覆盖率分析等功能,单元测试作为其关键功能之一,为了适配多样化的目标部署环境,C/C++test 设计了灵活的测试结果收集机制。通过Socket通讯方式来收集单元测试结果,从而扩展其测试覆盖范围与应用场景。
针对 C/C++ 软件开发提供统一、完全集成的测试解决方案。
Parasoft Jtest用于应用软件开发的集成Java测试工具
Parasoft dotTEST降低C#和VB.NET开发风险,有效地实现符合C#和.NET开发的测试工具的要求
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@ke049m.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢