在嵌入式软件开发中,集成专业的自动化测试工具对于提升代码质量和验证效率至关重要。Parasoft C/C++test作为一款支持多种编译环境的测试平台,能够通过构建数据文件(BDF)方式无缝导入第三方工程,实现对嵌入式项目的静态分析、单元测试及覆盖率验证。
>>点击获取Parasoft C/C++test试用
下面将介绍如何通过bdf方式导入项目到C++test工具中,以IAR ARM 6.5版本为例。C++test版本为9.6.1.
环境变量配置
请注意:如果之前没有在系统环境变量中添加如下内容。


则需要每次启动命令行窗口和C++test工具之前都要运行如下的内容设置环境变量。
SET PATH=C:\Program Files (x86)\IAR Systems\Embedded Workbench 6.5\arm\bin;C:\Program Files (x86)\IAR Systems\Embedded Workbench 6.5\common\bin;C:\Program Files\Parasoft\C++test\9.6;%PATH%
SET EW_DIR=C:\Program Files (x86)\IAR Systems\Embedded Workbench 6.5

如果IAR版本是固定确定不变的,建议在系统环境变量中写死,就不需要每次都执行Set命令去设置环境变量了。以下是没有在系统中设置环境变量为例,则在执行操作之前需要通过SET命令设置环境变量。
1. 启动命令行窗口。

2. 通过Set设置环境变量,将IAR的两个路径(arm\bin;common\bin)添加到PATH变量中,同时将C++test安装目录也设置到PATH中,最好在设置一个EW_DIR变量。

3. cd命令到项目文件所在位置。如果在非C盘,必须要先切换盘符(比如在D盘,运行D:回车)。

4. 运行如下命令生成bdf。


这里稍微解释一下这个命令构成。命令名称是cpptesttrace(位置在C++test安装目录下),参数如下:
- --cpptesttraceProjectName用来指定导入到C++test后项目显示名称;
- --cpptesttraceOutputFile用来指定生成的bdf文件位置,请注意这里一定要写完整路径的文件名称。(这里非常重要)
- IarBuild 是IAR的构建命令。
- Sensor.ewp 是指当前位置的项目文件名称。
- -build 后面跟的是项目的构建方式。比如Debug、Release等。
所以针对示例项目,可以使用如下的命令:
cpptesttrace --cpptesttraceProjectName=Sensor --cpptesttraceOutputFile=C:\Examples\Embedded\IAR-EWARM\Sensor\Sensor.bdf IarBuild Sensor.ewp -build Debug

如上图所示,项目静默方式在命令行中重新构建,同时在项目目录下生成了一个名为Sensor.bdf的文件。
5. 此时就可以启动C++test了,但是之前有说过启动C++test的时候需要设置那几个环境变量,所以如果没有在系统环境变量界面中设置,双击桌面是不正确的。这里直接在那个命令行中启动C++test,因为之前在同一个命令行中已经在第2步的时候设置过了。所以没有问题。(或者可以在本地为启动创建一个bat脚本,里面内容包含set环境变量的,然后双击bat脚本启动。如下图所示)

这里直接在刚刚同一个命令窗口中输入cpptest.exe启动。

这里还需要注意,如果之前在C++test中已经创建了该项目(通过IAR导入向导),那么最好是先删除,不然会有重复项目,或者在这里启动C++test的时候,通过-data选项指定另外的工作空间。这样就不冲突了。比如

6. 通过新建项目按钮,选择C++test创建来自构建数据文件(bdf)的项目。

7. 下一步指定项目下生成的Sensor.bdf文件。同时在下面编译器上选择合适的编译器,这里选择IAR 6.3X

8. 点击完成按钮,结束项目导入。此时项目已经成功导入C++test。
9. 选择某些源文件执行静态测试,验证导入正常,项目没有问题。

10. 生成测试用例。
11. 在测试配置面板中,修改一个符合要求的测试配置(从内建的里面复制一个Run IAR ARM Tests)。

将${cpptestproperty:arch}sim.dll改为${cpptestproperty:arch}sim2.dll 将--cpu=Cortex-M3改为自己实际的值,比如--cpu=Cortex-M4
12. 选择某个测试用例运行这个修改后的测试配置。
通过上述步骤,利用BDF导入方式可有效将IAR嵌入式项目接入Parasoft C/C++test测试平台,为后续开展静态分析、单元测试及覆盖率统计提供支持。除此之外,C++test还提供策略驱动的测试流程、运行时内存检测、回归测试自动化等功能,能够帮助客户在持续集成与代码演进过程中系统性地保障软件质量,降低测试成本,加速产品迭代。
关于慧都
慧都科技(EVGET)成⽴于2003年,是⼀家⾏业数字化解决⽅案公司,⻓期专注于软件、油⽓与制造⾏业。公司基于深⼊的业务理解与管理洞察,以系统化的业务建模驱动技术落地,帮助企业实现智能化运营与⻓期竞争优势。
慧都科技作为Parasoft公司在中国区的官方授权合作伙伴,为国内企业提供Parasoft C/C++test产品的正版授权、定制化部署与全生命周期技术支持与服务。我们致力于助力客户精准贯彻功能安全标准、全面提升软件开发效率、有效管控项目风险,最终构建符合国际标准的高质量软件体系。
023-68661681
返回
发表评论