三分钟告诉你为什么选择Parasoft C/C++test?
首先大家可以先看看一下以下这张图片:
关于自动化测试工具(解决方案),相信大家对 Parasoft 这个商家绝对不会陌生:全球领先的软件测试和 SDLC 解决方案专业开发供应商,AEP (自动错误预防)理论的创始者,软件测试领域的领导者;近30年丰富的专业技术积累和行业应用经验,拥有大量软件技术专利,拥有遍布全球的分支机构和合作伙伴网;全球超过10,000家客户,包括财富500强公司中的58% 、财富100强公司中的88%!
小编今天想给大家介绍下 Parasoft 家的金牌产品之一:Parasoft C/C++test。
Parasoft C/C++test 是一个C 和 C++ 集成的开发测试解决方案,他能帮开发人员快速的分析他们的代码,以查找致命缺陷或安全漏洞,并执行高效的单元测试。Parasoft C/C++test 能够帮助团队降低风险,降低成本, 提高生产力,并通过自动化软件测试需求来实现行业遵从性目标。Parasoft C/C++test 可以用于基于主机和基于目标的代码分析和测试流,这对嵌入式和跨平台开发至关重要。
为什么选择 Parasoft C/C++test ?
缩减测试开销
应用一系列全面的最佳实践,以减少测试时间、测试工作量,以及到达QA的缺陷数量。
用少的资源做更多的事
自动审查已知的编码问题,因此更多的时间可以用于完成需要人工智慧的任务。
提高代码质量和安全性
有效地构建、持续执行并有效地维护一个全面的回归测试套件,它可以检测更新是否破坏了现有的功能。
提高代码覆盖率
按需访问目标代码评估,跟踪质量和进度目标的进展。
消除召回
自动进行负面测试覆盖广泛的潜在用户路径,以发现可能仅在“真实世界”中使用的问题。
功能介绍(详细版本)
在不执行软件的情况下识别运行时错误
集成时静态分析模拟可能的应用程序执行路径,并确定这些路径是否会触发特定的运行时错误类型,包括:
- 使用未初始化或无效的内存
- 除零错误
- 空指针引用
- 内存和资源泄漏
- 数组和缓冲区溢出
- 各种各样的死代码
C/C++test 在开发人员的IDE中通过为每个潜在缺陷提供突出显示地一个完整的路径,从而极大地简化了缺陷分析。自动交叉链接到代码帮助用户快速跳转到突出显示的分析路径中的任何代码行。
在三星电子的SW中心,通过将C/C++test 作为编码标准分析工具,三星电子已
将违规代码的数量减少了80%。对他们的开发/测试过程有显著的改进。
监视和清除运行时错误
运行时错误检测会持续检测编码问题,并在测试结束后立即提供测试结果。报告的问题出现在开发人员的IDE中,包括关于如何修复错误的详细信息(包括内存块大小、数组索引、分配/释放堆栈等)。在应用程序执行期间收集覆盖率指标。这些可以用于查看应用程序的哪些部分被测试,并对回归单元测试集进行良好的调优(辅助功能测试)。
自动化代码分析检测
当代码偏离您的编程策略所规定的标准时,C/C++test 可以在开发人员的IDE中直接分析代码和报告错误,从而自动执行您的策略。提供数千条的内置规则集规则集,例如:MISRA,MISRA C++,国军标GJB5369, 国军标GJB8114, FDA, Scott Meyers' Effective C++, Effective STL, 和其他权威来源。以帮助识别缺陷,突出显示未定义的或未指定的C/C++语言用法,强制执行最佳实践,并改进代码的可维护性和可重用性。开发团队负责人可以使用内置规则或为他们的团队或组织创建特定的规则和配置。对于安全和质量攸关的应用程序,如航空电子设备、医疗、汽车、运输和工业自动化,C/C++test在遵从性工作中的完全可见性,能够实现高效的和可审计的质量过程。
单元和集成测试的覆盖率分析
C/C++test 自动为每个函数生成完整的测试,包括测试驱动程序和测试用例,这些测试是类似于 CppUnit的格式的纯C或C++代码。对自动生成的测试稍加修改或不用修改,就可以被用来对代码的功能行为进行初始验证。通过使用边界值条件,测试用例还会检查对意外输入的功能响应,从而暴露出潜在的可靠性问题。 特定的GUI部件简化了测试创建和管理,图形测试用例向导使开发人员能够快速地为所选的功能创建黑盒测试,而不必担心它们的内部工作或嵌入式数据依赖关系。数据源向导帮助对测试用例和桩函数,以最小的努力实现测试范围和覆盖率的大幅提升。桩函数视图允许用户为任何在测试测试用例资源管理器将数据集中起来,以提供一个清晰的通过或失败状态。
自动化回归测试
C/C++test 有助于健壮性回归测试套件的开发,这些测试套件可以检测到增量的代码变更是否破坏了现有的功能。无论团队是有大量的遗留代码库,还是少量刚刚完成的代码,或者介于两者之间的任何东西。C/C++ test 都能够通过自动地记录运行时测试结果而产生的测试断言来生成捕获现有软件行为的测试。随着代码库的发展,C/C++test 重新运行这些测试并将当前的结果与原来捕获的"黄金集合(golden set)"相比较。它可以很容易地被配置为使用不同的执行设置、测试用例和桩函数以支持在不同环境中的测试。这种类型的回归测试对于支持敏捷开发和发布周期短的情况尤为重要,并且确保了持续开发演进和难以测试的应用程序具备延续性的功能。
在主机、模拟器和目标进行测试
C/C++test 自动化测试的执行流,包括测试用例生成、交叉编译、部署、执行和加载结果 (包括覆盖率指标)返回到GUI中。测试可以从GUI或命令行之间进行交互调用,以实现自动化的测试执行或批处理回归测试。在交互式模式中为了方便调试或验证,用户可以单独运行测试,也可以在选择的组中进行简单的调试或验证。除了使用内置的测试配置之外,用户还可以合并自定义的测试脚本和shell命令,以将该工具集成到特定的构建和测试环境中。一个可定制的工作流允许用户在开发的同时测试代码,然后使用相同的测试去确认函数或功能在目标环境中的可靠性。C/C++test的所有的测试产物都是源代码,因此是完全可移植的。
功能介绍(精简版本)
静态代码分析
在开发的各个阶段降低开发风险:
- 集成时静态分析
- 持续性分析
- 编辑时静态分析
- 运行时静态分析
用于创建自定义编码规则的图形规则编辑器。
单元测试
自动生成和执行单元&组件级测试灵活的桩函数框架
全面支持回归测试
运行时错误分析
暴露一些难以发现的错误,比如:内存泄露, 空指针, 未初始化内存和缓冲区溢出
通过在实际的目标环境中执行,提高测试结果的准确性
覆盖率分析
具有高亮显示的代码覆盖率分析,HTML PDF和自定义格式报告
支持环境:
支持主机平台
构建管理
|
支持工具链和环境
|
持续集成
源码控制
|
覆盖率度量指标生成
函数覆盖率,调用覆盖率,行覆盖率,语句覆盖率,块覆盖率,路径覆盖率,判定分支覆盖率,简单条件覆盖率,MCDC覆盖率