Parasoft C / C ++test:嵌入式单元测试实践(三)

原创|使用教程|编辑:龚雪|2015-12-09 11:19:22.000|阅读 505 次

概述:关于Parasoft C / C ++test的嵌入式单元测试实践,本文主要介绍了单元测试的项目导入和配置。

相关链接:

<Parasoft C / C ++test产品详情>

导入uVision项目

如果你使用的CppUnit或其他类似的框架,你可以把它作为项目的一部分,从IDE内部进行测试(这里是uVision)。这时,你有很多工作需要去做了。例如,设置独立的测试构建目标。在C++test中,您只需要提供您的项目设置。在这种情况下,配置不需要很大的工作量。你只要将C++test指向uVision项目文件,就可以自动进行导入。一旦导入完成,C++test将与原项目自动同步。

C++test中提供了一个项目导入的向导。你可以根据向导导入单个或多个项目。自动导入可以支持GUI模式和命令行模式。最简单的方法是,我们提供一个uVision项目的路径,并将路径输入到第一个向导屏幕中(在左侧)。接下来,向导会提示我们指定有关导入项目的一些细节:

  • C++test安装在哪
  • 变量是否被用来引用初始源代码位置(便于共享)
  • 获取编译器/连接器flag属性用于C++test分析,uVision项目目标的名称是什么

C++test使用构建的bat文件(由uVision IDE生成)获取编译器/链接flag属性。若uVision中的bat文件没有启用,则项目导入向导会发出警告并阻止该项目的导入。启动bat文件,只需在uVision项目属性复选框标注,如下图:

向导设置确认之后,C++test继续进行项目导入:最后新的C++test 项目与uVision项目同步。所有的基本设置会自动设置,因此无需额外的配置即可开始静态分析。然后选择静态分析的背景,再选择一个C++test提供的测试配置方案:

从分析结果确认uVision项目是否被正确导入。

配置C++test的单元测试

安装过程很简单,因为运行静态分析不需要执行代码:所有需要的设置都可以从uVision项目中得到。单元测试就有些复杂了。要想在目标上成功运行单元测试,C++test需要:

  • 准备测试组件(C/ C ++源文件)
  • 构建基于测试组件的可执行测试文件
  • 为了让uVision执行自动化测试,编写一个调试脚本
  • 启动uVision并执行调试脚本
  • 收集执行过程的数据并提供给用户

这些事情的工作量很大。对于不标准的项目来说,工作量会更大。例如,你可能需要生成特殊资源以便执行(包括到生成图像),或转换执行文件格式以便在目标上部署,等等。

C++test可以大量减少工作时间。所有的测试工作(无论是标准步骤还是自定义操作),都可以由“测试配置(test configurations)”完成。C++test内置了大量的测试配置。为了测试uVision4项目的ULINKPro调试和跟踪适配器,选择“Test Configurations> Builtin> Embedded Systems> Keil uVision> Run Keil uVision Tests- ULINKPro”。为单元测试配置C++test项目往往需要改变测试流程定义的参数,有时还需引入包含预定义的测试配置内部的测试流程。

引入自定义测试流程,用户将为“Userdefined”的内置配置创建一个副本,它是可编辑的。“Execution> General” 选项卡中包含了相关的测试流程的重要设置。该设置提供了执行流程的形式。用户可以为执行流程变量指定值。如同之前的步骤,C++test将把它们用于定义测试流程中。

购买最新正版授权Parasoft赠送Macbook!"咨询在线客服"

慧都年终盛典火爆开启,一年仅一次的最强促销,破冰钜惠不容错过(12.01~12.31)!!优惠详情点击查看>>



标签:测试C/C++

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果

登录慧都网发表评论登录


慧都网友 2015-12-09 11:26:58.000
0

挺好的


慧都网友 2015-12-09 11:22:34.000
0

很明白了


yuyi 2015-12-09 11:22:02.000
0

步骤讲解很详细


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关厂商
相关产品
Parasoft C/C++test

Parasoft C/C++test – 针对 C/C++ 开发的综合性代码质量保障工具,有效提高开发团队工作效率和软件质量。

在线客服 在线QQ 电话咨询
400-700-1020
反馈
在线客服系统
live chat