转载自 http://www.shangxueba.com/jingyan/97515.html

1.CodeTest 概述

CodeTest是嵌入式系统测试工具,同时也能做嵌入式部分模块测试。要求:目标板和操作系统能正确运行

2.CodeTest 的4大功能

(1) 性能分析:CodeTest 能同时对128000 个函数和1000 个任务同时进行性能分析,可以精确的得出每个函数或任务执行的最大时间 、最小时间和平均时间,精确度达到50ns;能够精确的显示各函数或任务之间的调用情况,帮助你发现系统瓶颈、优化系统和提升你的系统性能。

  

(2) 测试覆盖率分析 :CodeTest  提供程序总体概况,函数级代码以及源级覆盖趋势等多种模式来观测软件地覆盖情况。由于 CodeTest 是一种完全地交互式工具,测试者可以在对系统进行操作地同时追踪覆盖情况。并可以在实时的系统环境下,进行SC、DC 和MC/DC 级别的代码覆盖率测试,帮助测试工程师掌握当前的代码测试覆盖情况,指导测试用例的编写,加速测试进程和产品风险评估过程。

(3) 动态内存分配分析:在 CodeTest 诞生之前,动态地存储器分配情况是难以追踪观测的。CodeTest 的分析能够显示有多少字节的存储器被分配给了程序的哪一个函数。这样就不难发现那些函数占用了较多的存储空间,那些函数没有释放相应的存储空间。测试者甚至还可以观察到存储体分配情况随着程序运行动态的增加和减少,即 CodeTest 可以统计出所有的内存的分配情况。随着程序的运行,CodeTest 能够指出20 多种内存分配的错误。例如:CodeTest 可以捕捉“释放空指针(freeing a null pointer)” 这种常见的程序错误,报告发生错误的函数和代码行,帮助你尽早发现动态内纯泄漏 ,而无需到系统崩溃时。

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

我们可以设置软硬件触发器来追踪自己感兴趣的事件,可以显示运行过程中程序运行的实际情况,帮助你查找程序的BUG所在。

 

3.探头连接

连接方式

--- 标准总线

CPCI    PCI    PMC    VME

---标准连接插座

mictor38    mictor190    双列直插

---飞线

---专用适配器

PPC860    PPC750    PPC603E    M68040

封装方式

双列直插

PLCC   PGA   QFP   BGA   BGA to PGA   QFP to PGAi8c 99

---支持的CPU:

PowerPC,ColdFire,ARM,x86,MIPS,DSP (TI, ADI, Starcore)等。

---支持的OS:

VxWorks,AE,OSE,QNX,pSOS,Chorus,Linux,Lynux,Win CE等。

4.处理 流程

1)先软件预处理,然后CodeTest 插桩,最后编译生成.out 文件和.idb

2)下载到目标板上运行,probe 开始从总线上采集数据

3)CodeTest IDE 得到数据,然后结合.idb 中数据,得到分析结果

5.实现原理

1) 原理:

程序员编写的源代码首先会通过CodeTEST 的编译驱动器调用原编译器对进行预编译,然后CodeTEST 的插桩器(源代码分析程序)对预编译好的源代码进行自动的插桩,即在需要插桩的关键位置写入一条赋值语句(如:amc_ctrt=0x74100009),并把插入的标记送入一个数据 库文件中生成一个符号数据库暂存起来,以备为以后分析时调用。然后,CodeTEST的编译驱动器又会调用原编译器对插桩后的代码进行编译生成可执行目标代码送到目标板上运行。当程序在目标系统运行到插桩点的位置时,目标板的控制总线和地址总线上会出现相应的控制信号和地址信号。当 CodeTEST 的辅助硬件(信号捕获探头)从控制总线和地址总线上监视到符合以上条件的信号时, CodeTEST 会主动地从数据总线上把数据捕获回来送到CodeTEST 的内存中暂存并对这些数据进行预处理 ,然后将预处理后的数据通过局域网送到工作平台上。通过与前面生成的符号数据库中的数据进 行比较,我们就此得知当前程序的运行状态,借此完成对嵌入式软件的性能分析,高级覆盖率分析,内存分析和大容量的代码跟踪。

2) 优点:

CodeTEST 是一个硬件辅助软件的在线测试与分析 工具,它一方面吸取软件打点技术,并对这种技术进行了改善,纯软件测试工具插入的是一个函数,而 CodeTEST 插入的是一条赋值语句, 它在汇编级也是一条语句,所以它执行的时间非常短,同时避免了被其它的中断所中断,它不需要在目标板上存放测试数据,不需要运行额外的预处理任务,所以它对目 标系统的影响非常小(1%-15%)。另一方面,CodeTEST 从纯硬件的测试工具那里吸取了从总线捕获数据 的技术并且对它进行了改善 CodeTEST 不再是采样的方式,它是通过实时监视系统总线,当程序运行到插入的特殊的点的时候才会主动的到数据总线上把数据捕获回来,借此,在同样的处理能力下 ,CodeTEST 可以做到精确的数据观察。

白盒测试工具CodeTest相关推荐

  1. 白盒测试工具_别再头疼工作效率低!这些超实用的黑盒、白盒测试方法你都用上了吗?...

    在软件测试工作中,为充分利用现有的时间和资源条件,提高测试效率和测试充分性,当前有多种方法辅助测试人员完成测试工作,推进项目进度,其中最普遍的莫过于白盒测试和黑盒测试,白盒测试和黑盒测试的概念和常用方 ...

  2. C/C++白盒测试工具之codeviz安装使用(续)

    为什么说CodeViz是白盒测试工具? 可能有些人对博文的标题会提出些异议,没错,CodeViz这款软件的确是用来进行代码分析的一款利器,能够根据需要获取到整个程序中的所有的函数调用关系,为程序员阅读 ...

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

    一. VcTester 生产厂商 深圳市领测科技有限公司 简介 VcTester由深圳市领测科技有限公司自主研发,专业服务于嵌入式白盒测试领域的测试工具,它遵循第4代白盒测试方法(4GWM,The 4 ...

  4. 使用inetaddress测试目标可达性_白盒测试工具―Winams介绍

    CoverageMaster winAMS : 适用于嵌入式目标机代码的单元测试工具 全面支持嵌入式微机!验证嵌入式C/C++软件 实施以模块为单位的自动化单元测试工具 不需要HookCode 直接使 ...

  5. eclipse+tomcat开发环境 java白盒测试工具

    java基础,三大主流数据库mysql,orcale,sql server:然后是j2ee的相关知识,也就是java开发框架. Spring Framework Spring是一个解决了许多在J2EE ...

  6. 白盒测试工具 - sonar的安装、配置与使用入门手册,用sonar检查代码质量实战演示

    sonar 检测代码质量实战演示 第一章:sonarqube 的安装与启用 ① sonarqube 获取 ② sonarqube 配置 ③ sonarqube 驱动放置 ④ sonarqube 的启动 ...

  7. 白盒测试工具 - sonar报告常见示例分析,sonar代码质量问题分析演示

    sonar 问题分析 第一章:bug分析 ① 操作符两边使用相同的值 ② 变量.类或函数没有被定义就使用 ③ html一些不推荐使用的元素,并提供用哪些来代替 ④ html 元素没有包含 lang 属 ...

  8. 性能测试工具SilkPerformer介绍

    SilkPerformer® 是业界最强大,且最易用的企业级负载和强度测试解决方案,用于对关键任务应用的质量进行优化.SilkPerformer®使用可视化脚本生成技术和对存在成千上万的并发用户的多个 ...

  9. 白盒测试基础知识(概念、目的、方法、工具)

    目录 1 白盒测试的概念 2 白盒测试的主要目的 3 测试覆盖标准 4 白盒测试的主要方法 4.1 逻辑驱动测试 4.1.1 语句覆盖 4.1.2 判定覆盖(分支覆盖) 4.1.3 条件覆盖 4.1. ...

  10. 相对最完整的软件测试工具手册

    http://xuwenyan.cnblogs.com/articles/418444.html 1. 从测试功能上分 (1) 单元测试 针对不同语言,如JUNIT (2) 功级测试 E-Test:功 ...

最新文章

  1. ElasticSearch(六) Update API
  2. Websphere: security-constraint in web.xml doesn't
  3. python从事哪些职业好玩_Python就业可选方向有哪些?带你了解Python主流职业选择!...
  4. ES6 学习笔记(基础)
  5. case when条件表达式
  6. 计算机关闭窗口可以使用alt,禁止使用Alt+F4关闭窗口完整代码
  7. linux addr2line
  8. Deploy简单配置记录
  9. mysql桦仔_Microsoft SQL Server 2005技术内幕:T-SQL查询笔记
  10. 信息系统项目管理04——项目整体管理
  11. WIN7系统旗舰版安装
  12. dcn网络与公网_DCN网络安全分析
  13. java报错NoClassDefFoundError: Could not initialize class
  14. windows防火墙是干什么的_请教个人防火墙是做什么用的,
  15. 简:webservice服务端及客户端开发
  16. 做数据分析的女孩子,职业发展前景在哪里?数据分析枯燥吗?
  17. 【mysql】设置mysql默认密码
  18. 中国人身材测试小软件编码,测试 || 我怀疑你是假中国人,不信你来试试
  19. kali linux 2022更改国内软件源 WSL适用
  20. 前端实习生应该掌握什么技能?

热门文章

  1. vs2010操作office2010
  2. 怎样测试通达信软件,最全图文讲解——通达信电脑版和手机版指标安装方法
  3. Android开发,MapBox地图详细介绍、使用、部分功能实现(初始化、标记、定位、styleurl)
  4. 尚硅谷JavaWeb视频教程,新版升级
  5. Adobe国际认证|发布 Adob​e Photoshop全部教程
  6. opencv c++讲解jzg mxy tyd_python看代码就行
  7. 元胞自动机在交通系统中的应用之二【单车道NaSch元胞自动机模型】
  8. 职业教育计算机专业宣传,计算机专业介绍.ppt
  9. Mac无法正常使用共享屏幕功能的解决办法
  10. 【JDK】Mac版安装JDK并配置环境