Parasoft C/C++ test 自动化用户指南(十三):内置测试配置
Parasoft C/C++test针对C/C++开发的专业白盒自动化测试方案,能有效提高软件开发效率和代码质量。C++test 可以进行静态分析,全面代码审查,运行时错误检测,并在单元测试和组件测试中集成覆盖率分析。
以下列表包括 [INSTALL]/configs/builtin 目录中提供的测试配置。
静态分析
该组包括通用静态分析测试配置。
内置测试配置 | 描述 |
Global Analysis | 检查全局静态分析规则。 |
The Power of Ten | 检查基于 Gerard J. Holzmann 的文章“十的力量 - 开发安全关键代码的规则”的规则。 |
Metrics | 计算多个代码指标的值。 |
Recommended Rules | 推荐规则的默认配置。涵盖大多数严重性 1 和严重性 2 规则。包括 Flow Analysis Fast 配置中的规则。 |
Effective C++ | 检查 Scott Meyers 的“Effective C++”一书中的规则。这些规则检查 C++ 程序的效率。 |
Effective STL | 检查 Scott Meyers 的“Effective STL”一书中的规则。 |
Find Unused Code | 包括用于识别未使用/死代码的规则。 |
Find Duplicated Code | 应用报告重复代码的静态代码分析规则。重复的代码可能表明应用程序设计不佳并导致可维护性问题。 |
Flow Analysis Aggressive | 包括代码深度流分析的规则。运行此配置可能需要大量时间。 |
Flow Analysis Fast | 包括浅层流动分析的规则,这限制了报告的潜在可接受缺陷的数量。 |
Flow Analysis Standard | 无需测试用例或应用程序执行即可检测复杂的运行时错误。检测到的缺陷包括使用未初始化或无效的内存、空指针取消引用、数组和缓冲区溢出、被零除、内存和资源泄漏以及死代码。这需要一个特殊的 Flow Analysis 许可选项。 |
Modern C++ (11, 14 and 17) | 检查强制执行现代 C++ 标准(C++11、C++14、C++17)最佳实践的规则。 |
Sutter-Alexandrescu | 根据 Herb Sutter 和 Andrei Alexandrescu 所著的“C++ 编码标准”一书检查规则。 |
合规包
合规性包包括为特定合规性领域量身定制的测试配置,以帮助您执行特定于行业的合规性标准和实践。
在 DTP 上显示合规性结果:此类别中的某些测试配置在 DTP 上具有相应的“合规性”扩展,可让您查看安全合规性状态、生成合规性报告并监控实现安全合规性目标的进度。这些测试配置需要激活专用许可证功能。
航空航天包
内置测试配置 | 描述 |
Joint Strike Fighter | 检查执行联合攻击战斗机 (JSF) 程序编码标准的规则。 |
汽车包
内置测试配置 | 描述 |
AUTOSAR C ++ 14 编码指南 | 检查强制执行 AUTOSAR C++ 编码指南(自适应平台,版本 19.03)的规则。此测试配置是 Parasoft 合规性包解决方案的一部分,允许您使用 DTP 上的“合规性”扩展来监控行业标准的合规性。它需要激活专用许可证功能。 |
HIS Source Code Metrics | 检查 Herstellerinitiative Software (HIS) 组所需的指标。 |
High Integrity C++ | 检查强制执行高完整性 C++ 编码标准的规则。 |
MISRA C 1998 | 检查强制执行 MISRA C 编码标准的规则 |
MISRA C 2004 | 检查强制执行 MISRA C 2004 编码标准的规则。 |
MISRA C 2012 | 检查强制执行 MISRA C 2012 编码标准的规则。 |
MISRA C++ 2008 | 检查强制执行 MISRA C++ 2008 编码标准的规则。 |
医疗器械包
内置测试配置 | 描述 |
Recommended Rules for FDA (C) | 检查为遵守 FDA 软件验证通用原则(C 语言的测试配置)而推荐的规则。 |
Recommended Rules for FDA (C++) | 检查为遵守 FDA 软件验证通用原则(C++ 语言的测试配置)而推荐的规则。 |
安全包
内置测试配置 | 描述 |
CWE Top 25 2019 | 包括查找归类为 CWE 标准的前 25 个最危险编程错误的问题的规则。 |
CWE Top 25 2019 + On the Cusp | 包括查找归类为 CWE 标准的前 25 个最危险编程错误或包含在 CWE Weaknesses On the Cusp 列表中的问题的规则。 |
DISA-ASD-STIG | 包括查找由国防信息系统局提供的应用程序安全和开发 STIG(安全技术实施指南)中确定的问题的规则。 |
OWASP API Security Top 10 2019 | 包括发现在 OWASP 的 API 安全前 10 名标准中发现的问题的规则。 |
OWASP Top 10 2017 | 包括发现在 OWASP 的 Top 10 标准中发现的问题的规则 |
Payment Card Industry Data Security Standard | 包括发现 PCI 数据安全标准中发现的问题的规则。 |
SEI CERT C Guidelines | 检查 SEI CERT C 编码标准的规则和建议。该标准提供了安全编码的指南。目标是通过例如消除可能导致未定义程序行为和可利用漏洞的未定义行为来促进安全、可靠和安全系统的开发。 |
SEI CERT C Rules | 检查 SEI CERT C 编码标准的规则。该标准提供了安全编码的指南。目标是通过例如消除可能导致未定义程序行为和可利用漏洞的未定义行为来促进安全、可靠和安全系统的开发。 |
SEI CERT C++ Rules | 检查 SEI CERT C++ 编码标准的规则。该标准提供了安全编码的指南。目标是通过例如消除可能导致未定义程序行为和可利用漏洞的未定义行为来促进安全、可靠和安全系统的开发。 |
Security Rules | 发现安全问题的通用测试配置 |
UL 2900 | 包括发现UL-2900 标准中确定的问题的规则。 |
运行时分析
内置测试配置 | 描述 |
覆盖范围 | 生成代码覆盖率报告。 |
单元测试 | 分析使用 C/C++test 的连接器收集的 CppUnit 或 CppUTest 测试结果。 |
合规性包规则映射
本节包括 CWE 标准的规则映射。其他标准的映射信息可在 Compliance Packs 附带的 PDF 规则映射文件中找到。
CWE ID |
CWE名称 |
Parasoft 规则 ID |
---|---|---|
CWE-119 |
内存缓冲区范围内的操作限制不当 |
|
CWE-79 |
网页生成期间输入的不当中和(“跨站点脚本”) |
不适用 |
CWE-20 |
不正确的输入验证 |
|
CWE-200 |
信息曝光 |
|
CWE-125 |
越界读取 |
|
CWE-89 |
SQL 命令中使用的特殊元素的不当中和(“SQL 注入”) |
|
CWE-416 |
免费使用 |
|
CWE-190 |
整数溢出或环绕 |
|
CWE-352 |
跨站请求伪造 (CSRF) |
不适用 |
CWE-22 |
对受限目录的路径名限制不当(“路径遍历”) |
|
CWE-78 |
操作系统命令中使用的特殊元素的不当中和(“操作系统命令注入”) |
|
CWE-787 |
越界写入 |
|
CWE-287 |
不正确的认证 |
|
CWE-476 |
空指针解引用 |
|
CWE-732 |
关键资源的权限分配不正确 |
|
CWE-434 |
无限制上传危险类型文件 |
不适用 |
CWE-611 |
XML 外部实体引用的不当限制 |
|
CWE-94 |
代码生成控制不当(“代码注入”) |
不适用 |
CWE-798 |
硬编码凭证的使用 |
|
CWE-400 |
不受控制的资源消耗 |
|
CWE-772 |
有效生命周期后缺少资源释放 |
|
CWE-426 |
不受信任的搜索路径 |
|
CWE-502 |
不可信数据的反序列化 |
不适用 |
CWE-269 |
权限管理不当 |
|
CWE-295 |
不正确的证书验证 |
不适用 |
Parasoft——领先的自动化测试工具,满足绝大多数行业标准
Parasoft是一家专门提供软件测试解决方案的公司,帮助企业打造无缺陷的软件。
从开发到质量检查,Parasoft的技术通过集成静态和运行时分析,单元、功能和API测试,以及服务虚拟化,在不牺牲质量和安全性的情况下加快软件交付,节约交付成本。
强大的报告和分析功能可帮助用户快速查明有风险的代码区域,并了解新代码更改如何影响其软件质量,而突破性的技术将人工智能和机器学习添加到软件测试中,使组织更容易采用和扩展跨开发和测试团队的有效的软件测试实践。
Parasoft针对C/C++、Java、.NET和嵌入式的开发测试都有着30多年的深入研究,很多全国500强企业使用Parasoft的产品实现了软件快速、高质量的交付。