第4代白盒测试方法实践之“如何在VcTester集成自动构建功能”

来源:互联网 发布:linux执行sql命令 编辑:程序博客网 时间:2024/04/30 17:13

VcTester是一款针与Visual C/C++配套使用的白盒测试工具(包括单元测试、集成测试),它不仅提供在线测试(包括在线脚本驱动、在线脚本桩、在线测试改进),还提供功能强大的集成开发环境(IDEIntegrated Development Environment),集辑辑、调试、测试与一体,该IDE还支持将各式各样的外部命令嵌进来,籍此集成第三方调测辅助工具。其中,VCbuildrebuildclean等构建命令是VcTester日常编程中经常用到的,把这些命令集成到VcTesterIDE环境,对提高工作效率大有帮助.

本文描述如何在VcTesterVcSmith中集成VC的构建功能,以及,如何编写批处理文件实现被测工程的自动构建与自动启动测试,这一步是借助VcTester打造每日构建平台所必须的。本文描述的集成过程同时适用于VcTester的共享版(即VcSmith)与商用版。

自动构建集成的原理

VcSmith&VcTester提供了良好的外部工具嵌入功能,在主界面运行主菜单“View | Option...”,在弹出Option对话框的User Tool页,可以增加、删除、修改客户化定制工具的功能,如下图:

图:集成Notepad.exe命令

我们先看一个简单的扩展命令是如何定义的,在上图界面点Add按钮,弹出一个对话框,我们如下图配置各栏目:

图:增加Notepad.exe外部工具

这个外部命令的显示名称为“Edit current source”,它调用Notepad.exe打开当前工程的当前源文件,其中%CseCurrFile%是本集成平台提供的环境变量,当调用该外部命令时,环境变量%CseCurrFile%会替换成当前IDE正在使用的源文件全路径文件名,VcSmith识别环境变量是不区别大小写的。

上例之所以把CseCurrFile环境变量用双引号括起来,是因为文件名可能带空格,双引号括起来表示把引号内字串整体当作一个命令参数。

环境变量可以在外部命令(Command)、命令参数(Argument)、工作路径(Work dir)、图标文件(Image file)这4个栏目使用,当用户定制Dos shell命令(即调用cmd.exe)时,还可以在CommandArgument使用DOS的环境变量,比如我们在Command输入“cmd.exe”,在Argument输入“/c "echo %path% && pause"”,这里“&&”是多个shell命令的连接符,该命令定制后运行,可以正确打印DOSpath环境变量。

集成步骤

VC提供了命令行形式的build命令,VC6使用msdevVC7VC8使用devenv,比如在VC6中,实现build操作可运行如下命令:

msdev c:/VcSmith22/sample/TestBed6/TestBed6.dsp /MAKE "TestBed6 - Win32 Debug" /build

使用msdevdevenv可实现VC6VC7VC8VC9工程的buildcleanrebuild等操作,详细请查阅微软MSDN文档

在运行msdevdevenv之前,还须设置当前VC的环境配置,调用VC安装路径bin目录下的vcvars32.bat。把这一步与上一步连接起来,命令格式为(以VC6为例):

cmd.exe /c "call "%Vc6Env%" && msdev "%CseProjDir%/TestBed6.dsp" /MAKE "TestBed6 - Win32 Debug" /build"

其中环境变量%Vc6Env%指示全路径的vcvars32.bat%CseProjDir%指示当前工程所在目录。同样,clean操作命令:

cmd.exe /c "call "%Vc6Env%" && msdev "%CseProjDir%/TestBed6.dsp" /MAKE "TestBed6 - Win32 Debug" /clean"

BuildAll操作:

cmd.exe /c "call "%Vc6Env%" && msdev "%CseProjDir%/TestBed6.dsp" /MAKE "TestBed6 - Win32 Debug" /rebuild"

类似的,在VC7VC8VC9中也可以实现被测工程的buildcleanrebuild等操作,这里不再详细举例。

上面build命令中“%Vc6Env%”是用来指示vcvars32.bat位置的环境变量,由VcSmith安装程序设置到CseWin的配置文件中,大家可以从CseWin.ini文件的environment段找到该项配置。

 

参考文献:

1.         ezTester,《VcSmith用户使用手册》

 

 

=========== END ===============================

本专题相关的文章:

 4代白盒测试方法介绍--理论篇

 4代白盒测试方法介绍--VcTester实践篇

 4代白盒测试方法通俗释义

 

 4代白盒测试方法之为什么要做白盒测试

 4代白盒测试方法之企业如何推行白盒测试

 4代白盒测试方法之实施白盒测试的几个误区

 4代白盒测试方法之如何选择嵌入式白盒测试工具

 

 4代白盒测试方法实践之“VcTester持续集成框架的应用价值

 4代白盒测试方法实践之使用VcTester实施持续集成的组织管理模式

 4代白盒测试方法实践之如何在VcTester集成自动构建功能

 4代白盒测试方法实践之使用VcTester构造持续集成及每日构建平台

 4代白盒测试方法实践之内存泄露检查工具VLD如何与VcTester配合使用

 4代白盒测试方法实践之如何将Pclint嵌入到VcTester中使用

 

原创粉丝点击