UML软件工程组织

 

 

第4代白盒测试方法实践之“如何将Pclint嵌入到VcTester中使用”
 
作者:wayne_chan 来源:CSDN
 

VcTester工具提供了强大的外部命令嵌入功能,本文描述如何将Pclint嵌入到VcTester的集成开发平台中。

首先我们简单认识一下PclintVcTester这两个工具,PC-LintC/C++软件代码静态分析工具,你可以把它看作是一种更加严格的编译器。它不仅可以检查出一般的语法错误,还可以检查出那些虽然符合语法要求但不易发现的潜在错误。VcTesterezTester公司开发的针对C语言的白盒测试工具,它的共享版就已经提供强大的功能,在线测试驱动与在线脚本桩,以及遵循第4代白盒测试方法是它的典型特征。

C语言的灵活性带来了代码效率的提升,但相应带来了代码编写的随意性,另外C编译器不进行强制类型检查,也带来了代码编写的隐患。Pclint识别并报告C语言中的编程陷阱和格式缺陷的发生。它进行程序的全局分析,能识别没有被适当检验的数组下标,报告未被初始化的变量,警告使用空指针,冗余的代码,等等。PClint能够帮你在程序动态测试之前发现编码错误,VcTester的在线白盒测试随即跟进,两者都在研发前期查找并定位软件BUG,其除错效率更高、付出成本更低。

在代码走读和白盒测试经常交叉进行的,将Pclint嵌入VcTester平台可大幅提高日常编程的工作效率,VcTester的在线编码与在线调测特性,若融入PClint检查,可提前发现程序隐藏错误,提高代码质量,另外还提供编码规则检查,规范软件人员的编码行为。使用这两者可打造低成本的代码质量保证体系。

第一步:安装PclintVcTester

建议购买正版Pclint软件(大约要200多美元,当然网上也有不少破解版本),我们假定pclint安装在C:\pclint目录下。

接着到www.ezTester.com下载VcTester安装包,先安装CSE脚本语言(VcTester用它写测试脚本),然后安装VcTester软件,共享版本是免费的,已经很好用了。

第二步:配置运行环境

运行pclint需要配置文件,为简化起见我们把配置项集中到VcTester.lnt文件(如何编写这个文件可参考pclint用户手册),把这个文件存放到PCLINT安装目录下,在该配置文件中使用-i指令正确配置VC的include头路径。之后,DOS窗口应能正确运行如下命令:

图:集成pclint-one

C:\pclint\lint-nt.exe –u c:\pclint\VcTester.lnt "example.c"

其中,example.c是某个待检查的C源文件,可以是全路径文件名,加引号后可防止文件名带空格。

接下来我们把上述命令行集成到VcTester的集成开发环境中,在VcTester中添加两个命令“pclint-one”与“pclint-all”,分别用于检查当前打开的C文件及当前工程下全部C文件。在VcTester的集成界面运行主菜单“view | option…”,在弹出对话框的UserTool页面点Add按纽添加pclint-one外部命令,各项配置如下图:

这里,-os用于指定输出文件名,打印信息被保存到由环境变量CseLogFile指示的Log文件中,这个Log文件名由VcTester集成环境自动生成,另一个环境变量CseCurrFile用于指示当前在VcTester集成环境打开的C文件,该环境变量也由集成环境自动设定。注意,必需将“Catch output”选项置上,为了使用方便,用户还可以为本外部命令指定一个快捷键(在Hotkey一栏设置)。点OK按纽关闭本对话框,Pclint-One命令即集成完毕。

接着集成pclint-all命令,在Option对话框的UserTool页面点Add按纽添加外部命令,各项配置如下图:

图:pclint-all

这里,环境变量*.c指示当前集成环境中的每个后缀为“.c”的文件,也要把“Catch output”选项置上。

这两个命令集成后,在IDE界面的主界菜单Tools下应能找到“pclint-one”与“pclint-all”两个命令。

第三步:在VcTester集成环境下使用Pclint

编写C代码中,以常运行“pclint-one”命令,最好给这个命令定义一个快捷操作(比如F12)。每次编码告一段落就按一次快捷键进行lint检查,报告信息被截获到集成平台打印,如下图:

图:pclint jump

在打印输出区可浏览各个告警输出,还可以运行弹出菜单“Jump to source line”(或按快捷键Alt+Down)跳转到对应源码行。

若想全工程检查所有C文件,运行“pclint-all”命令即可。另外,本文给出的VcTester.lnt文件去掉了不少无用的警告,以免用起来太费劲,用户也可以手工修改相关的配置项。

参考文献:

1.Gimpel Software 3207 Hogarth Lane Collegeville, “Reference Manual for PC-lint”

2. CSE Shareware Foundation,《CSE集成开发环境使用手册》。

 

组织简介 | 联系我们 |   Copyright 2002 ®  UML软件工程组织 京ICP备10020922号

京公海网安备110108001071号