您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件测试技术 > 嵌入式测试 > 正文

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

发表于:2017-01-09 作者:网络转载 来源:

   一、 VcTester

  功能特色

  VcTester共享版本的功能特色如下:

  1. 脚本化测试驱动

  VcTester使用CSE脚本语言编写测试用例,CSE语言风格与C语言接近,简单易用,很容易上手。编写CSE脚本可读取全局变量、给变量赋值、调用函数等。

  2. 脚本桩

  被测目标机运行后,VcTester允许用户定义一个脚本函数,给被测C函数打桩,使运行中脚本函数替代C函数。脚本桩函数中可编写特定的测试处理,或返回特定数值用于测试。

  3. 在线测试

  运行目标测试程序后,在线设计用例、运行用例,并根据测试结果改进或添加用例,持续在线的进行测试。VcTester这一特性使单元测试过程更加简捷明了,所见即所得,操作过程更富人性化。

  4. 即时调测

  VcTester配合VC中的调试程序,可支持目标代码单步调试,用户可借助VC设置断点,进行单步跟踪,同时,在测试用例设计过程中,测试驱动与脚本桩都可以选中部分或全部来执行。被测代码调试与测试脚本调试都是在线进行,可以即时的交叉着调试。

  5. 测试工程管理

  支持直观的树状测试用例管理,支持单用例、单测试集,或多用例、多测试集批量执行,支持命令行启动全工程自动测试。

  VcTester共享版定位于个体测试应用,商用版则定位于企业级应用,为适应团队运作及产品质量保证活动而增加相应功能,商用版具有如下特色:

  1. 支持符合第4代白盒测试方法的测试评估体系

  商用版提供LICC与LDCC两种代码覆盖率统计,对测试设计程度也提供评估,评估结果可以在线、直观的方式显示,还支持测试报告自动生成。共享版本没有这些功能。

  2. 调测一体,支持将调试操作自动转化成测试脚本

  商用版的检视器支持调试操作转脚本,该功能可以促进大家养成自发测试的习惯,摆脱不自觉的被动测试状态,检视器还支持更强大的脚本桩功能,如条件桩、PreCheck与PostCheck定义等。共享版没有这些功能。

  3. 提供集成化的工作平台,可大幅提高开发效率

  商用版的源码与测试用例在同一个IDE平台编辑、维护,以相同形式同时支持测试脚本与源码的一体化调试,集成界面支持设置断点,进行单步跟踪。共享版本没有单步调试功能。

  VcTester提供出色的IDE编辑器,编辑功能强大,支持提示输入、全文查找与替换、函数调用关系分析,定义与引用跳转、在线查看各行调用覆盖情况。共享版本没有函数调用关系分析与在线查看调用覆盖的功能。

  共享版本与商用版本都支持外部工具集成,如工程构建集成、与版本机自动CheckIn与CheckOut集成。

  4. 支持完善的测试消息构造与解析

  商用版提供用户数据UDT编辑器,可快速构造测试数据。共享版无此功能。商用版还提供通用消息编辑器、消息解析器,可以自定义消息模板。该功能特别适合通信协议测试,其消息解析器与编辑器还可以免费集成到用户产品或相关IT工具上,借助本功能,用户可以将VcTester工具延伸到协议测试、功能测试等领域。共享版本不提供这些功能。

  5. 支持测试设计重构

  当被测代码有大幅调整,经过一次或多次重构时,商用版支持快捷的测试设计重构,该功能可确保持续集成的操作过程不因代码重构而断链。共享版没有这个功能。

  商用版较完整的支持“第4代白盒测试方法”所要求的功能,共享版则有不少欠缺。另外,商用版的测试脚本完全兼容共享版的脚本,用户可以拿共享版评估或试用,在购得商用版本使用权后,所有用例都能无缝的升级到商用版。

   二、 CodeTest

  功能特色

  基本的CODETEST 系统包括以下四个模块:

  1. 性能分析

  CODETEST 能够同时对多达32000个函数进行非采样性测试,精确计算出每个函数或任务(基于RTOS下)的执行时间或间隔,并能够列出其最大和最小的执行时间。对于每两个函数或任务之间的调用也能够计数,从而确认出其中失败的调用。CODETEST的性能分析功能也能够为嵌入式应用程序的优化提供依据,使软件工程师可以有针对性地优化某些关键性地函数或模块,以及改善整个软件地总体性能。

  2. 测试覆盖分析

  CODETEST提供程序总体概况,函数级代码以及源级覆盖趋势等多种模式来观测软件地覆盖情况。由于CODETEST是一种完全地交互式工具,测试者可以在对系统进行操作地同时追踪覆盖情况。

  CODETEST覆盖率信息包括程序实际执行的所有内容,而不是采样的结果,它以不同颜色区分运行和未运行的代码,CODETEST可以跟踪超过一百万个分支点,特别适用于测试大型嵌入式软件。

  CODETEST还能够生成一个融合多种测试结果地综合性报告,以使测试者看到整套测试地总体效果。

  3. 动态存储器分配分析

   在CODETEST诞生之前,动态地存储器分配情况是难以追踪观测的。CODETEST的分析能够显示有多少字节的存储器被分配给了程序的哪一个函数。这样就不难发现那些函数占用了较多的存储空间,那些函数没有释放相应的存储空间。测试者甚至还可以观察到存储体分配情况随着程序运行动态的增加和减少,即CODETEST可以统计出所有的内存的分配情况。随着程序的运行,CODETEST能够指出存储体分配的错误,测试者可以同时看到其对应的源程序内容。

  4. 执行追踪分析(TRACE)

  CODETEST可以按源程序,控制流以及高级模式来追踪嵌入式软件。最大追踪深度可达150万条源级程序,其中高级追踪模式显示的是RTOS的事件和函数的进入退出,给测试者一个程序流程的大框图;控制流追踪增加了可执行函数中每一条分支语句的显示;源级追踪则又增加了对被执行的全部语句的显示。在以上三种模式下,均会显示详细的内存分配情况,包括在那个代码文件的那一行,那一个函数调用了内存的分配或释放函数,被分配的内存的大小和指针,被释放的内存的指针,出现的内存错误。

   三、 RTRT(Rational Test RealTime)

  功能特色

  1. 代码静态分析,功能测试和运行时分析相集成。

  2. 代码编辑、测试和调试相集成。

  3. Test RealTime通过分析源代码,自动生成测试驱动(Test Driver)和桩(Test Stub)模版。开发人员只需要在该测试脚本的基础上指定测试输入数据、期望输出数据以及打桩函数的逻辑。

  4. 测试执行后自动生成测试报告和各种运行时报告。测试报告展示通过或失败的测试用例,而运行时分析报告包括代码覆盖分析报告,内存分析报告、性能分析报告和执行追踪报告。

  5. 通过Target Deployment Port技术同时支持开发机和目标机的测试。

  四、 CppUnit

  功能特色

  1. 提供测试用例设计框架

  2. 提供测试时常用的公共函数比如setUp ()、tearDown()、CPPUNIT_ASSERT等

  3. 用被测代码C++/C编写测试代码

  4. 将测试报告写入Log文件

  价格

  开源工具免费获取

  获取方式

  网上下载地址:http://sourceforge.net/projects/cppunit

  五、 Cantata++

  功能特色

  1. 静态分析

  允许用户加强代码的标准,评估软件的复杂度和可维护性。

  2. 动态测试

  验证软件需求,为测试的说明、执行、归档、重用和重复动态测试提供一个形式上的框架。通过测试产生一个完整的诊断和质量确认的报告。提供大量的覆盖率分析:语句覆盖、条件分支覆盖、数据值覆盖、MC/DC和用户自定义标准。

  3. 软件执行

  测试程序是否满足需求

  4. 数据检查

  检查用户定义的类型

  5. 测试脚本

  根据用户定义的Test Case Definition自动生成

  6. 自动打桩

  使用桩模块模拟被测模块的函数调用。用户可以传递参数给桩模块,并设置桩模块的返回参数

  7. 时间工具

  检测软件的执行时间

  8. Cantata支持C,Cantata++支持C++

  六、 C++Test

  功能特色

  1. 即时测试类/函数

  2. 支持极端编程模式下的代码测试

  3. 自动建立类/函数的测试驱动程序和桩调用

  4. 自动建立和执行类/函数的测试用例

  5. 提供快速加入和执行说明和功能性测试的框架

  6. 执行自动回归测试

  7. 执行部件测试(COM)

  七、 PureCoverage

  功能特色

  1. 即时代码测试百分比显示

  2. 未测试, 测试不完整的函数, 过程或者方法的状态表示

  3. 在源代码中定位未测试的特定代码行

  4. 为执行效率最大化定制数据采集

  5. 为所需要的焦点细节定制显示方式

  6. 从一个程序的多个执行合成数据覆盖度

  7. 和其他团队成员共享覆盖数据或者产生报表

  8. 在开发环境当中使用PureCoverage集成实施检测代码覆盖程度(Visual Stadio, VB5+)

  八、 VectorCast

  功能特色

  VectorCAST 由下面6个集成的部件组成:

  1. 环境生成器

  2. 测试范例生成器

  3. 运行控制器

  4. 报告生成器

  5. 动态分析-代码覆盖率

  6. 静态分析-代码完整性和基础路径

  九、 Logiscope

  功能特色

  1. 软件质量分析

  2. 代码规范性检测

  3. 测试覆盖率统计

  4. Logiscope可以对多种语言实现的代码进行分析,比如C、C++、Java、Ada等等.