提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:李显亮|2021-07-13 10:15:35.740|阅读 507 次
概述:Parasoft C++testC++test 可以进行静态分析,全面代码审查,运行时错误检测,并在单元测试和组件测试中集成覆盖率分析。本系列文章将为自动化用户提供基础操作指南,本文将介绍parasoft中如何运行静态分析。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
Parasoft C/C++test针对C/C++开发的专业白盒自动化测试方案,能有效提高软件开发效率和代码质量。C++test 可以进行静态分析,全面代码审查,运行时错误检测,并在单元测试和组件测试中集成覆盖率分析。
先决条件
在分析代码之前,必须将 C/C++test 配置为与特定的 C 和 C++ 编译器和版本一起使用。配置应反映用于构建被测代码的原始编译器和版本。原始编译器可执行文件必须在 $PATH 上可用(除非使用完整路径指定)。
使用-compiler开关指定编译器配置标识符:
cpptestcli -config "builtin://Recommended Rules" -compiler gcc_4_5 -input cpptest.bdf
或者,您可以cpptest.compiler.family在自定义配置文件中配置该属性:
cpptest.compiler.family=gcc_4_5
如果您使用单个编译器和版本进行所有测试,则cpptestcli.properties 可以在 [INSTALL_DIR] 或 [USER_HOME] 目录中的全局配置文件中指定编译器标识符。
执行以下操作之一以查找编译器的配置:
cpptestcli -detect-compiler gcc
cpptestcli -list-compilers
分析单个文件
运行分析并使用--开关(分隔符)指定原始编译器命令。
cpptestcli -config "builtin://Recommended Rules" -compiler gcc_4_5 -- gcc -I include Bank.cxx
C/C++test 将使用原始编译器可执行文件和编译器选项分析 Bank.cxx 文件,并向输出控制台报告检测到的违规。
只会分析指定的源文件。源文件中包含的头文件将被排除在分析之外。要扩大测试文件的范围,包括头文件。
您还可以使用该-fail选项在分析报告静态分析结果时生成非零退出代码。
分析基于 Makefile 的项目
运行代码分析和指定原始构建命令与-trace开关。
cpptestcli -config "builtin://Recommended Rules" -compiler gcc_4_5 -trace make clean all
C/C++test 将执行以下任务:
只有在运行构建命令时编译了该文件,C/C++test 才会检测用于测试的源文件。只会分析来自 Makefile 的源文件。源文件中包含的头文件将被排除在分析之外。
关于构建数据文件
构建数据文件存储构建信息,例如工作目录、编译的命令行选项以及原始构建的链接过程。指定 .bdf 文件的路径使您无需重新构建即可分析项目。
您可以使用 -trace开关创建 .bdf 或使用位于. 中的独立cpptestscan或cpptesttrace实用程序[INSTALL_DIR]/bin directory。
以下示例是来自构建数据文件的片段:
working_dir=/home/place/project/hypnos/pscom project_name=pscom arg=g++ arg=-c arg=src/io/Path.cc arg=-Iinclude arg=-I. arg=-o arg=/home/place/project/hypnos/product/pscom/shared/io/Path.o
使用 cpptestscan和cpptesttrace实用程序
该cpptestscan实用程序在正常构建期间用作编译器和/或链接器的包装器。要cpptestscan与现有构建一起使用,请cpptestscan在构建代码库时为编译器/链接器可执行文件添加前缀。这可以通过两种方式完成:
要cpptesttrace与现有构建一起使用,请cpptesttrace在构建代码库时为整个构建命令添加前缀。cpptesttrace将跟踪构建期间执行的编译器和链接器进程,并将它们存储在构建数据文件中。
在这两种情况下,您都必须在 PATH 环境变量中指定任一实用程序的完整路径。下表总结了cpptestscan和 的其他选项cpptesttrace。可以直接为cpptestscan命令或通过环境变量设置选项。大多数选项都可以应用于cpptestscan或cpptesttrace 通过更改命令行中的前缀。
cpptestscan 的基本用法:
基本的 cpptesttrace 用法:
选项
|
环境变量
|
描述
|
默认
|
---|---|---|---|
--cpptestscanOutput-File=<OUTPUT_FILE> --cpptesttraceOutput-File=<OUTPUT_FILE> |
CPPTEST_SCAN_OUTPUT_FILE | 定义要附加构建信息的文件。 | cpptestscan.bdf |
--cpptestscanProject-Name=<PROJECT_NAME> --cpptesttraceProject-Name=<PROJECT_NAME> |
CPPTEST_SCAN_PROJECT_NAME | 定义 C++test 项目的建议名称。 | 当前工作目录的名称 |
--cpptestscanRun-OrigCmd=[yes|no] --cpptesttraceRun-OrigCmd=[yes|no] |
CPPTEST_SCAN_RUN_ORIG_CMD | 如果设置为“是”,将执行原始命令行。 | 是的 |
--cpptestscanQuoteCmdLineMode=[all|sq|none] --cpptesttraceQuoteCmdLineMode=[all|sq|none] |
CPPTEST_SCAN_QUOTE_CMD_LINE_MODE |
确定在准备 cmd 行运行时 C++test 引用参数的方式。 all: 所有参数都将被引用 none: 不会引用任何参数 sq: 只有带有空格或引号字符的参数才会被引用 Linux 不支持 cpptestscanQuoteCmdLineMode |
全部 |
--cpptestscanCmd-LinePrefix=<PREFIX> |
CPPTEST_SCAN_CMD_LINE_PREFIX | 如果非空且正在运行的原始可执行文件被打开,则指定的命令将作为原始命令行的前缀。 | [空的] |
--cpptestscanEnvInOutput=[yes|no] --cpptesttraceEnvInOutput=[yes|no] |
CPPTEST_SCAN_ENV_IN_OUTPUT | 启用会转储选定的环境变量和输出文件的命令行参数。对于高级设置,请使用 --cpptestscanEnvFile 和 --cpptestscanEnvars 选项 | 不 |
--cpptestscanEnv-File=<ENV_FILE> --cpptesttraceEnv-File=<ENV_FILE> |
CPPTEST_SCAN_ENV_FILE | 如果启用,指定的文件会保留所有构建命令的公共环境变量;主输出文件只会保留差异。使用此选项可减小主输出文件的大小。在启用 --cpptestscanEnvInOutput 的情况下使用此选项 | [空的] |
在不重新构建的情况下重新分析项目
运行代码分析并使用-input开关指定现有构建数据文件的路径。例如:
cpptestcli -config "builtin://Recommended Rules" -compiler gcc_4_5 -input cpptest.bdf
C/C++test 将执行以下任务:
不会执行原来的构建命令。
您可以使用多个-input开关指定多个文件:
cpptestcli -config "builtin://Recommended Rules" -compiler gcc_4_5 -input project1.bdf -input project2.bdf
分析基于 CMake 的项目
分析基于 CMake 的项目:
更新 C/C++test 命令行以包含-input <PATH_TO_COMPILE_COMMANDS_JSON>传递编译命令文件的位置。您的命令行可能类似于以下内容:
cpptestcli -config "builtin://Recommended Rules" -compiler gcc_4_5 -input compile_commands.json
C/C++test 将执行以下任务:
C/C++test 只会分析编译命令文件中定义的源文件。源文件中包含的头文件将被排除在分析之外。
分析 Microsoft Visual Studio 项目或解决方案
C/C++test 可以读取 Visual Studio 项目和解决方案文件,并分析项目或解决方案中的所有源文件和包含的头文件。使用-input开关指定 Visual Studio 项目或解决方案文件:
cpptestcli -config "builtin://Recommended Rules" -input MyProject.vcproj
您可以指定在分析项目或解决方案期间要使用的构建配置和平台。将配置和平台名称附加到解决方案或项目文件名。您的命令可能类似于以下内容:
cpptestcli -config "builtin://Recommended Rules" -input MyProject.vcproj@Debug|x64
或者,您可以使用以下属性来指定在分析所有 Visual Studio 解决方案和项目期间要使用的构建配置和平台:
cpptest.input.msvc.config=Debug cpptest.input.msvc.platform=x64
指定 C/C++test 数据位置
.cpptest需要对该目录的独占访问权限。默认情况下,该目录在当前工作目录中创建,该目录是存储某些特定于运行的数据的位置。因此,一次只能在一个目录中运行一个 C/C++test 实例。您可以使用该-workspace开关更改 .cpptest 目录的位置。
-workspace <WORKSPACE_LOCATION>
Parasoft是一家专门提供软件测试解决方案的公司,帮助企业打造无缺陷的软件。
从开发到质量检查,Parasoft的技术通过集成静态和运行时分析,单元、功能和API测试,以及服务虚拟化,在不牺牲质量和安全性的情况下加快软件交付,节约交付成本。
强大的报告和分析功能可帮助用户快速查明有风险的代码区域,并了解新代码更改如何影响其软件质量,而突破性的技术将人工智能和机器学习添加到软件测试中,使组织更容易采用和扩展跨开发和测试团队的有效的软件测试实践。
Parasoft针对C/C++、Java、.NET和嵌入式的开发测试都有着30多年的深入研究,很多全国500强企业使用Parasoft的产品实现了软件快速、高质量的交付。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢