DSP

常用嵌入式软件白盒测试工具介绍

2019-07-13 16:25发布

一、 VcTester
  • 生产厂商
    深圳市领测科技有限公司
  • 简介
    VcTester由深圳市领测科技有限公司自主研发,专业服务于嵌入式白盒测试领域的测试工具,它遵循第4代白盒测试方法(4GWM,The 4th Generation White-box-testing Methodology),为有效实施针对C语言的单元测试集成测试与协议测试,提供系统化的测试解决方案。VcTester仅支持VC平台下C源代码的白盒测试, 主要应用于通信设备、嵌入式手持终端、医疗器械等实时嵌入式产品的源码级测试。
  • 功能特 {MOD}
    VcTester共享版本的功能特 {MOD}如下:
    1. 脚本化测试驱动
    VcTester使用CSE脚本语言编写测试用例,CSE语言风格与C语言接近,简单易用,很容易上手。编写CSE脚本可读取全局变量、给变量赋值、调用函数等。
    2. 脚本桩
    被测目标机运行后,VcTester允许用户定义一个脚本函数,给被测C函数打桩,使运行中脚本函数替代C函数。脚本桩函数中可编写特定的测试处理,或返回特定数值用于测试。
    3. 在线测试
    运行目标测试程序后,在线设计用例、运行用例,并根据测试结果改进或添加用例,持续在线的进行测试。VcTester这一特性使单元测试过程更加简捷明了,所见即所得,操作过程更富人性化。
    4. 即时调测
    VcTester配合VC中的调试程序,可支持目标代码单步调试,用户可借助VC设置断点,进行单步跟踪,同时,在测试用例设计过程中,测试驱动与脚本桩都可以选中部分或全部来执行。被测代码调试与测试脚本调试都是在线进行,可以即时的交叉着调试。
    5. 测试工程管理
    支持直观的树状测试用例管理,支持单用例、单测试集,或多用例、多测试集批量执行,支持命令行启动全工程自动测试
    VcTester共享版定位于个体测试应用,商用版则定位于企业级应用,为适应团队运作及产品质量保证活动而增加相应功能,商用版具有如下特 {MOD}:
    1. 支持符合第4代白盒测试方法的测试评估体系
    商用版提供LICC与LDCC两种代码覆盖率统计,对测试设计程度也提供评估,评估结果可以在线、直观的方式显示,还支持测试报告自动生成。共享版本没有这些功能。
    2. 调测一体,支持将调试操作自动转化成测试脚本
    商用版的检视器支持调试操作转脚本,该功能可以促进大家养成自发测试的习惯,摆脱不自觉的被动测试状态,检视器还支持更强大的脚本桩功能,如条件桩、PreCheck与PostCheck定义等。共享版没有这些功能。
    3. 提供集成化的工作平台,可大幅提高开发效率
    商用版的源码与测试用例在同一个IDE平台编辑、维护,以相同形式同时支持测试脚本与源码的一体化调试,集成界面支持设置断点,进行单步跟踪。共享版本没有单步调试功能。
    VcTester提供出 {MOD}的IDE编辑器,编辑功能强大,支持提示输入、全文查找与替换、函数调用关系分析,定义与引用跳转、在线查看各行调用覆盖情况。共享版本没有函数调用关系分析与在线查看调用覆盖的功能。
    共享版本与商用版本都支持外部工具集成,如工程构建集成、与版本机自动CheckIn与CheckOut集成。
    4. 支持完善的测试消息构造与解析
    商用版提供用户数据UDT编辑器,可快速构造测试数据。共享版无此功能。商用版还提供通用消息编辑器、消息解析器,可以自定义消息模板。该功能特别适合通信协议测试,其消息解析器与编辑器还可以免费集成到用户产品或相关IT工具上,借助本功能,用户可以将VcTester工具延伸到协议测试、功能测试等领域。共享版本不提供这些功能。
    5. 支持测试设计重构
    当被测代码有大幅调整,经过一次或多次重构时,商用版支持快捷的测试设计重构,该功能可确保持续集成的操作过程不因代码重构而断链。共享版没有这个功能。
    商用版较完整的支持“第4代白盒测试方法”所要求的功能,共享版则有不少欠缺。另外,商用版的测试脚本完全兼容共享版的脚本,用户可以拿共享版评估或试用,在购得商用版本使用权后,所有用例都能无缝的升级到商用版。
  • 价格
    共享版免费,商用版本价格参见其官方网站http://www.eztester.com。
  • 相关网站
    http://www.eztester.com
  • 获取方式
    网上下载地址:http://www.eztester.com
二、 CodeTest
  • 生产厂商
    METROWERKS
  • 简介
    CODETEST是全球第一台专为嵌入式系统软件测试而设计的工具套件,CODETEST为追踪嵌入式应用程序,分析软件性能,测试软件的覆盖率以及存储体的动态分配等提供了一个实时在线的高效率解决方案。CODETEST还是一个可共享的网络工具,它将给整个开发和测试团队带来高品质的测试手段。
  • 功能特 {MOD}
    基本的CODETEST 系统包括以下四个模块:
    1. 性能分析
    CODETEST 能够同时对多达32000个函数进行非采样性测试,精确计算出每个函数或任务(基于RTOS下)的执行时间或间隔,并能够列出其最大和最小的执行时间。对于每两个函数或任务之间的调用也能够计数,从而确认出其中失败的调用。CODETEST的性能分析功能也能够为嵌入式应用程序的优化提供依据,使软件工程师可以有针对性地优化某些关键性地函数或模块,以及改善整个软件地总体性能。
    2. 测试覆盖分析
    CODETEST提供程序总体概况,函数级代码以及源级覆盖趋势等多种模式来观测软件地覆盖情况。由于CODETEST是一种完全地交互式工具,测试者可以在对系统进行操作地同时追踪覆盖情况。
    CODETEST覆盖率信息包括程序实际执行的所有内容,而不是采样的结果,它以不同颜 {MOD}区分运行和未运行的代码,CODETEST可以跟踪超过一百万个分支点,特别适用于测试大型嵌入式软件。
    CODETEST还能够生成一个融合多种测试结果地综合性报告,以使测试者看到整套测试地总体效果。
    3. 动态存储器分配分析
    在CODETEST诞生之前,动态地存储器分配情况是难以追踪观测的。CODETEST的分析能够显示有多少字节的存储器被分配给了程序的哪一个函数。这样就不难发现那些函数占用了较多的存储空间,那些函数没有释放相应的存储空间。测试者甚至还可以观察到存储体分配情况随着程序运行动态的增加和减少,即CODETEST可以统计出所有的内存的分配情况。随着程序的运行,CODETEST能够指出存储体分配的错误,测试者可以同时看到其对应的源程序内容。
    4. 执行追踪分析(TRACE)
    CODETEST可以按源程序,控制流以及高级模式来追踪嵌入式软件。最大追踪深度可达150万条源级程序,其中高级追踪模式显示的是RTOS的事件和函数的进入退出,给测试者一个程序流程的大框图;控制流追踪增加了可执行函数中每一条分支语句的显示;源级追踪则又增加了对被执行的全部语句的显示。在以上三种模式下,均会显示详细的内存分配情况,包括在那个代码文件的那一行,那一个函数调用了内存的分配或释放函数,被分配的内存的大小和指针,被释放的内存的指针,出现的内存错误。
  • 价格
    市场价每套约30万人民币
  • 相关网站
    不详
  • 获取方式
    国内深圳市华唐科技有限公司代理
  • 三、 RTRT(Rational Test RealTime)
  • 生产厂商
    IBM Rational
  • 简介
    IBM Rational Test RealTime帮助开发人员创建测试脚本、执行测试用例和生成测试报告,并提供对被测代码进行静态分析和运行时分析功能。利用该工具,开发人员可以大大提高测试的效率。
  • 功能特 {MOD}
    1. 代码静态分析,功能测试和运行时分析相集成。
    2. 代码编辑、测试和调试相集成。
    3. Test RealTime通过分析源代码,自动生成测试驱动(Test Driver)和桩(Test Stub)模版。开发人员只需要在该测试脚本的基础上指定测试输入数据、期望输出数据以及打桩函数的逻辑。
    4. 测试执行后自动生成测试报告和各种运行时报告。测试报告展示通过或失败的测试用例,而运行时分析报告包括代码覆盖分析报告,内存分析报告、性能分析报告和执行追踪报告。
    5. 通过Target Deployment Port技术同时支持开发机和目标机的测试。
  • 价格
    市场价约 8万人民币
  • 相关网站
    http://www.ibm.com/cn
  • 获取方式
    不详
四、 CppUnit
  • 生产厂商
    开源测试工具
  • 简介
    CppUnit是一个用C++语言实现的单元测试框架,属于XUnit系列中的一员。它的第一个版本是Michael Feathers由JUnit移植而来,目前的版本为1.10.2,源代码可通过网址http://sourceforge.net/projects/cppunit下载得到。该库目前受到GNU LGPL(Lesser General Public License)的保护。
  • 功能特 {MOD}
    1. 提供测试用例设计框架
    2. 提供测试时常用的公共函数比如setUp ()、tearDown()、CPPUNIT_ASSERT等
    3. 用被测代码C++/C编写测试代码
    4. 将测试报告写入Log文件
  • 价格
    开源工具免费获取
  • 相关网站
    http://sourceforge.net/projects/cppunit
  • 获取方式
    网上下载地址:http://sourceforge.net/projects/cppunit
五、 Cantata++
  • 生产厂商
    IPL
  • 简介
    Cantata/Cantata++是面向源代码的测试分析工具,贯穿于整个软件开发过程,包括代码评审、单元测试、集成测试、系统测试、及软件维护等阶段。
  • 功能特 {MOD}
    1. 静态分析
    允许用户加强代码的标准,评估软件的复杂度和可维护性。
    2. 动态测试
    验证软件需求,为测试的说明、执行、归档、重用和重复动态测试提供一个形式上的框架。通过测试产生一个完整的诊断和质量确认的报告。提供大量的覆盖率分析:语句覆盖、条件分支覆盖、数据值覆盖、MC/DC和用户自定义标准。
    3. 软件执行
    测试程序是否满足需求
    4. 数据检查
    检查用户定义的类型
    5. 测试脚本
    根据用户定义的Test Case Definition自动生成
    6. 自动打桩
    使用桩模块模拟被测模块的函数调用。用户可以传递参数给桩模块,并设置桩模块的返回参数
    7. 时间工具
    检测软件的执行时间
    8. Cantata支持C,Cantata++支持C++
  • 价格
    不详
  • 相关网站
    不详
  • 获取方式
    不详
六、 C++Test
  • 生产厂商
    Parasoft
  • 简介
    C++Test是一个功能强大的自动化C/C++单元级测试工具,可以自动测试任何C/C++函数、类,自动生成测试用例、测试驱动函数或桩函数,在自动化的环境下极其容易快速的将单元级的测试覆盖率达到100%。
  • 功能特 {MOD}
    1. 即时测试类/函数
    2. 支持极端编程模式下的代码测试
    3. 自动建立类/函数的测试驱动程序和桩调用
    4. 自动建立和执行类/函数的测试用例
    5. 提供快速加入和执行说明和功能性测试的框架
    6. 执行自动回归测试
    7. 执行部件测试(COM)
  • 价格
    不详
  • 相关网站
    http://www.parasoft.com
  • 获取方式
    不详
七、 PureCoverage
  • 生产厂商
    Rational
  • 简介
    PureCoverage是一个面向VC, VB或者Java开发的测试覆盖程度检测
    工具, 它可以自动检测你的测试完整性和那些无法达到的部分. 作为一个质
    量控制工程, 可以使用PureCoverage在每一个测试阶段生产详尽的测试
    覆盖程度报告.
  • 功能特 {MOD}
    1. 即时代码测试百分比显示
    2. 未测试, 测试不完整的函数, 过程或者方法的状态表示
    3. 在源代码中定位未测试的特定代码行
    4. 为执行效率最大化定制数据采集
    5. 为所需要的焦点细节定制显示方式
    6. 从一个程序的多个执行合成数据覆盖度
    7. 和其他团队成员共享覆盖数据或者产生报表
    8. 在开发环境当中使用PureCoverage集成实施检测代码覆盖程度(Visual Stadio, VB5+)
  • 价格
    不详
  • 相关网站
    不详
  • 获取方式
    不详
八、 VectorCast
  • 生产厂商
    Vector Software
  • 简介
    VectorCAST产品扫描你的Ada, C/C++和嵌入式C++ (EC++)源代码,自动生成测试代码来为主机和嵌入式环境构造可执行的测试架构。使用VectorCAST测试系统,你的部件仿真模型可以经常保持更新。只需要几分钟的时间,它就可以建造起一个独立单个软件部件所需的测试环境。它还提供构造和运行测试范例和生成提供关于实际结果与预测结果之间的统计信息所需的报告的部件.
  • 功能特 {MOD}
    VectorCAST 由下面6个集成的部件组成:
    1. 环境生成器
    2. 测试范例生成器
    3. 运行控制器
    4. 报告生成器
    5. 动态分析-代码覆盖率
    6. 静态分析-代码完整性和基础路径
  • 价格
    不详
  • 相关网站
    不详
  • 获取方式
    不详
九、 Logiscope
  • 生产厂商
    Telelogic
  • 简介
    Telelogic Logiscope? 是一种软件质量保证 (QA) 工具,它可以通过自动进行代码检查和对容易出错的模块的鉴定与检测来帮助扩大测试范围,从而达到保证质量和完成软件测试的目的。可自定义的软件测试功能可帮助您在软件开发过程中及早发现缺陷,这样您就可以做到按时交付,将费用控制在预算内,同时又可以提高软件质量。
  • 功能特 {MOD}
    1. 软件质量分析
    2. 代码规范性检测
    3. 测试覆盖率统计
    4. Logiscope可以对多种语言实现的代码进行分析,比如C、C++、Java、Ada等