Loading
0

Parasoft C/C++test如何在CCS3环境下进行F2812项目的单元测试

Parasoft C/C++test作为一款功能强大的自动化测试工具,为嵌入式开发提供了全面的测试解决方案。特别是在CCS开发环境中,C++test能够无缝集成,为F2812等DSP项目提供专业的单元测试支持。下面将介绍如何在CCS3环境下配置和使用C++test进行F2812项目的单元测试。

>>点击获取Parasoft C/C++test试用

启动C++test

修改bat文件:

在CCS安装目录下,存在一个DosRun.bat文件,该文件配置了CCS3的编译和运行环境。如果需要使用C++test测试,则需要保证C++test能在该正确环境下启动并执行单元测试。

Bat文件内容如下:

call "c:\CCStudio_v3.3PLA\DosRun.bat"
set PATH=C:\Program Files\Parasoft\Test\9.4;C:\Program Files\Parasoft\C++test\9.4;%PATH%
cpptest
pause

双击CCS_C++test.bat 文件,启动C++test。

导入项目

点击菜单“文件”,选择“新建”,展开”C++test”,找到“导入Code Composer Studio 项目”,点击“下一步”。


点击“浏览”,找到CCS3示例项目导入进C++test,点击“下一步”,在“已导入项目的位置”,选择“使用原来.pjt文件的位置”,然后点击“完成”。

生成测试用例

在“导航器”窗口,选中所导入的项目,如此例子中的“mytest”,点击菜单“Parasoft”,选择“测试执行”->“内建”->“Unit Testing”->“7 Generate Unit Tests”。

这样会在项目树结构下,自动生成tests目录,展开后其中包含了自动生成的测试套件。

打桩

在“导航器”窗口,选中所导入的项目,如此例子中的“mytest”,点击菜单“Parasoft”,选择“测试执行”->“内建”->“Unit Testing”->“5 Generate Stubs”。

如果存在C++test找不到的未定义函数,会在项目树结构下,自动生成stubs目录。

运行单元测试

A. 配置“Run TI CCS3.x Tests”

在运行单元测试前,需手动配置修改测试配置。具体操作步骤如下:

1) 选择菜单“Parasoft”-> “测试配置”,打开测试配置对话框,如下所示,展开 “内建”下的 “Embedded Systems”-> “Texas Instruments”,右键测试配置“Run TI CCS3.x Tests”,选择“复制”。

2) 选择刚复制到“用户自定义”下的测试配置“Run TI CCS3.x Tests”,切换到选项卡“执行”,在其中修改target name为“F2812 Device Simulator” (注意:该名称应与Code Composer Studio Setup中模拟器的配置一致)。修改后,点击“应用”-> “关闭”。

原本项目Code Composer Studio Setup设置如下,C++test需与其保持一致:

B. 运行单元测试

打开“测试用例浏览器”,选择希望执行的测试用例,选择菜单“Parasoft”-> “测试执行”-> “用户自定义”-> “Run TI CCS3.x Tests” 。

运行完毕后,可点击菜单“Parasoft”-> “视图” –> “测试用例浏览器”,在该视图中查看各测试用例的执行结果;也可打开覆盖率视图查看具体函数的覆盖度量值;还可以双击源代码文件,打开具体文件,查看颜色区分显示的代码覆盖率结果。

常见问题及解决方案

1) 运行单元测试时,报告错误:

TIC libdetector: linker XML log file not found! 进程由于代码: 21 (错误)退出。

解决方案:

一般这种提示错误,需要检查项目设置的编译器是否正确,是否与原项目保持一致。

步骤:选中待测项目,点击菜单“项目”-> “属性”,将打开项目设置属性对话框。展开“Parasoft” -> “C++test” -> “构建设置”, 在右边配置框中,找到“编译器设置”,在 “种类”中需要注意该编译器是否与原本项目编译是匹配的?如果不匹配,请手动将该编译器设置为与原项目相同的编译器。比如:如果你是F28项目,此处的编译器应该是cl2000,但可能C++test自动检测到的是cl6x,这时请手动修改。点击 “种类”右边的下拉菜单,找到对应的编译器,如“TI TMS320C2000 C/C++ Compiler v5.2”。

2) 运行单元测试时,链接报错:

解决方案:

该错误是因为cmd文件设置的存储空间问题。我们知道CCS3中会提供如config.cmd 这种类型的文件进行存储空间的配置。那么使用C++test进行测试时,因为生成了测试用例和一些测试驱动以及链接了C++test提供的运行时库等必要文件,必然导致存储空间增加,那么这时候需要修改这个cmd文件,按照提示,增大相应部分存储空间大小,如下所示:

MEMORY
{
   PAGE 0 : BOOT(R)     : origin = 0x3f8000, length = 0x80
   PAGE 0 : PROG(R)     : origin = 0x3d8000, length = 0x20000 //增大后
   //PAGE 0 : PROG(R)  : origin = 0x3f8080, length = 0x1f80 //原本设置
   PAGE 0 : RESET(R)    : origin = 0x3fffc0, length = 0x2

   /*PAGE 1 : M0RAM(RW)   : origin = 0x000000, length = 0x400
   PAGE 1 : M1RAM(RW)   : origin = 0x000400, length = 0x400*/
   PAGE 1 : M0RAM(RW)   : origin = 0x000000, length = 0x400
   PAGE 1 : M1RAM(RW)   : origin = 0x000400, length = 0x400
   PAGE 1 : L0L1RAM(RW) : origin = 0x008000, length = 0x2000
}

修改后,重新执行测试。

Parasoft C/C++testCCS3环境下的F2812项目提供了完整的单元测试解决方案,涵盖环境配置、测试用例生成、桩函数创建到测试执行与结果分析的全流程。除了单元测试,Parasoft C/C++test还支持静态代码分析、覆盖率分析等全方位质量保障手段,帮助团队提升代码质量,确保符合功能安全标准,降低项目风险,为嵌入式软件开发提供全面可靠的质量保障。

关于慧都

慧都科技(EVGET)成⽴于2003年,是⼀家⾏业数字化解决⽅案公司,⻓期专注于软件、油⽓与制造⾏业。公司基于深⼊的业务理解与管理洞察,以系统化的业务建模驱动技术落地,帮助企业实现智能化运营与⻓期竞争优势。

慧都科技作为Parasoft公司在中国区的官方授权合作伙伴,为国内企业提供Parasoft C/C++test产品的正版授权、定制化部署与全生命周期技术支持与服务。我们致力于助力客户精准贯彻功能安全标准、全面提升软件开发效率、有效管控项目风险,最终构建符合国际标准的高质量软件体系。