我中心拥有嵌入式测试平台CodeTest,平台的硬件配合主机上运行的软件,能够同时测试出软件的性能、代码覆盖率以及存储器动态分配,捕获函数的每一次运行,无论是在检测一个局部的软件模块还是整个软件系统测试,工程师只须简单地将硬件的仿真探头(probe)连接到目标系统的处理器、总线或接头上,预处理待测的源程序,启动主机上的软件,运行测试处理软件,测试结果即可在测试进行过程中或在测试结束后随时翻阅。 主机上的软件可同时监视整个应用程序,避免了选择程序的哪部分来进行观测以及如何配置相应工具对各部分进行测试时而带来的麻烦,即便是在程序超出高速缓存(cache)或被动态再分配时,仍能生成可靠的追踪及测试结果。 1) 性能分析(Performance) 能够同时对多个函数进行非采样性测试,精确计算出每个函数或任务(基于RTOS下)的执行时间或间隔,并能够列出其最大和最小的执行时间。对于每两个函数或任务之间的调用能够计数,从而确认出其中失败的调用和调用次数。性能分析功能能够为嵌入式应用程序的优化提供依据,使软件工程师可以有针对性地优化某些关键性的函数或模块,以及改善整个软件的总体性能。 2) 测试覆盖分析(Coverage) 提供程序总体概况,函数级代码以及源级覆盖趋势等多种模式来观测软件的覆盖情况。测试者可以在对系统进行操作的同时追踪覆盖情况。通过确认高隐患的代码段,显示哪些函数、代码块、语句、决策条件和条件已执行过或未执行过,来提高产品的质量。高级覆盖工具完全符合高要求的软件测试标准(如:RCTA/DO-178B,A级标准),可以实现语句覆盖(SC级)、决策覆盖(DC级)和可变条件的决策覆盖(MC/DC)。 3) 动态内存分配分析(Memory) 能够显示有多少字节的内存被分配给了程序的哪一个函数。这样就不难发现哪些函数占用了较多的存储空间,哪些函数没有释放相应的存储空间。测试者甚至还可以观察到内存分配情况随着程序运行动态的增加和减少,测试者可以同时看到其对应的源程序内容。 4) 执行追踪分析(Trace) 按源程序,控制流以及高级模式来追踪嵌入式软件。给测试者一个程序流程的大框图,追踪执行函数中每一条分支语句的显示;显示被执行的全部语句。显示详细的内存分配情况,包括在哪个代码文件的哪一行,哪一个函数调用了内存的分配或释放函数,被分配的内存的大小和指针,被释放的内存的指针,出现的内存错误。
|