Cantata++是围绕C/C++语言的特点而设计的,能够满足开发者进行高效的单元和集成测试的需求。该产品具有一整套包含测试、基线测试、覆盖率分析和静态分析的功能,能帮助提高生产率。
单元和集成测试
☆ 测试脚本自动生成
工具通过分析源代码得到参数和数据信息,连同自动产生的桩函数和封装函数,合并到测试脚本中。
☆ 测试脚本管理器
简化了测试脚本的导航浏览、测试用例的扩展以及运行仿真。
☆ 表驱动测试用例
具有多个输入值范围和CSV导入/导出的表驱动测试用例,用于测试的健壮性和验证。
☆ 灵活的测试构建/运行
◇ 在Cantata++工具内部
◇ 通过开发者的Build系统
☆ 交叉平台支持
◇ 支持从开发环境到目标的交叉平台执行。
☆ 直观的测试指令
◇ 帮助设计结构化的、可重用的并能得出清晰明确结果的测试。
☆ 自动打桩
◇ 提供可编程的外部函数的替代版本。
◇ 对C++,自动产生抽象基类的桩函数。
☆ 自动封装
◇ 截取真实外部软件、可编程接口。
◇ 提供对接口的控制,比打桩方法更有力更灵活。
◇ 支持对可变参数函数的封装。
☆ 调用序列验证
对每个测试用例中的调用序列和桩与封装的实例提供全部控制。
☆ 数据检查
检查所有标准的和用户定义的数据类型。
☆ 异常检查
对期望的和不期望的异常进行检查。
☆ 测试用例重用
◇ 对继承类和模板实例的测试用例重用。
◇ 自动产生完整的C++测试的继承结构。
☆ 工程树形图
提供测试通过/失败结果,用树形结构表示,可以展开深入到个别测试。
☆ 测试分析
为所有预期结果和实际结果的检查进行详细的测试分析。
☆ 白盒与黑盒
完全支持白盒测试和黑盒测试技术。
基线测试(Baseline Testing)
在测试人员面对大量设计文档质量不高的代码,希望降低对手工的函数级测试的依赖时,或者在研发人员做单元测试希望减轻工作量时,都可使用Cantata++的基线测试功能。作为基于需求的测试的补充手段,基线测试能获得非常高的代码覆盖率。它自动产生能够执行到所有代码路径的Cantata++测试用例向量,从而形成完善的测试脚本,“所有代码路径”的含义取决于所选择的覆盖率指标。基线测试也产生相应的代码可测试性问题报告。基线测试是通过Cantata++ Makefile控制的。
☆ 自动弥补功能测试在代码覆盖方面的不足
☆ 对C代码,自动产生回归测试集合基线
☆ 由配置文件统一工作空间内所有基线测试脚本的风格和细节
☆ 突出显示代码中的可测试性问题
Cantata++ Makefile
☆ 自动化回归测试
☆ 允许在Cantata++和CLI中开发和运行所有测试
☆ 报告新的测试集合
覆盖率分析
覆盖率分析客观地度量在执行源代码时运行测试的效率。
☆ 代码覆盖度量
◇ 入口点
◇ 调用-返回
◇ 语句
◇ 基本块
◇ 判定(分支)
◇ 条件
◇ MC/DC(DO-178B)
☆ 可配置的覆盖率
能够非常简便地在规则集合中定义。
☆ 覆盖率检查
能集成到动态测试中,针对覆盖率需求得出通过/失败的测试结果。
☆ 代码覆盖树
带有覆盖类型/完全覆盖的代码等过滤条件,可以展开深入到带有注释的源代码。
☆ 测试用例/文件/工程覆盖
在有注释的源代码视图中提供对测试用例/文件/工程覆盖的细节,突出显示个别语法。
☆ 测试用例优化
对覆盖率没有贡献的测试用例,可以优化或使其失效。
Java覆盖(Java 1.5)
☆ 代码覆盖度量
入口点、语句、判定
☆ JUnit和ANT集成
支持包含覆盖率分析的JUnit测试用例的重用,以及使用ANT建立(在Eclipse内部或外部)。
静态分析
静态分析产生超过300种源代码度量,这些度量能够很简单地应用,帮助执行代码质量标准。
☆ 度量报告
以.csv格式保存,能够导入成电子数据表格形式,为进一步的图形化和数值化分析提供资源。
☆ 程序级度量
代码行、注释、函数、大多数代码结构的数量。
☆ 度量集
Myers、MOOSE、McCabe、MOOD、Halstead、QMOOD、Hansen、Robert Martin、McCabe Object Oriented、Bansiya’s Class Entropy
报告
☆ 可配置的XML报告提供总体和细节测试报告
☆ 可打印的视图用于Cantata++所有结果显示
☆ ASCII测试追踪报告
.ctr追踪文件有助于在Cantata++中对测试通过和失败进行高亮显示,或者作为外部验证的测试结果文件。
☆ 多工程报告
巩固多项目间的结果。
平台
☆ Cantata++适用于Windows、Linux和Solaris主机平台和相应的编译器版本,也可以根据需要快速部署到非标准目标平台。
☆ Cantata++ Builder
允许最终用户快速配置任意嵌入式目标环境。
☆ IDE集成
建立在Eclipse 3.5平台上,可作为Eclipse的无缝插件。也能作为可加载的工具集成到IDE环境中。
☆ 参考《Cantata++平台指南》
嵌入式系统测试
嵌入式系统综合测试
嵌入式系统仿真测试
嵌入式软件测试


