【delphi开源代码栏目提醒】:网学会员--在 delphi开源代码编辑为广大网友搜集整理了:VcTester 持续集成框架的应用价值 - 计算机教材绩等信息,祝愿广大网友取得需要的信息,参考学习。
www.ezTester.com Page 1 of 5 VcTester持续集成框架的应用价值 密级:公开 Copy right 2006-2007 ezTester technologies co.LTD 版本:V1.0 VcTester持续集成框架的应用价值 2006-10-20 VcTester是一款针对Visual C/C工程中C代码的白盒测试工具,它除了支持常规的覆盖率测试之外,还提供功能强大的编辑、调试等功能,该工具遵循第4代白盒测试方法,调测理念较为先进。
尤其更为难得的是,VcTester是一个高度开放的IT工具,本文着重介绍VcTester工具在支撑持续集成开发模式的应用情况,重点讲解VcTester共享版在这方面的应用价值。
如果你还不熟悉VcTester,请到www.ezTester.com网站下载最新安装包,根据指示安装VcTester后请阅读帮助文档先了解VcTester基本功能。
持续集成是极限编程中一项重要实践,采用持续集成开发模式可大幅提高软件生产率,提升产品质量,但目前较成功的持续集成实践主要集中于java与C项目,在嵌入式领域软件主要用C语言开发,开展持续集成的难度要高一些,VcTester的应用价值很大程度上体现在这里:它克服了编程语言的差异性,让持续集成实践在嵌入式软件开发中也能很好的应用起来。
IT 通俗一点讲,持续集成是“代码写一点测一点”的开发模式,“实现—验证—优化”的迭代循环过程加速了,即:为实现功能进行编码,编码后做测试,然后根据测试通过情况,进行改错或优化功能,之后进入下一轮编码与测试,这种递增循环过程在持续集成方式下,迭代更频繁,编码与测试的切换更快速,这对IT工具提出了较高要求: 1. 编辑、调试、测试一体化平台 持续集成模式下,代码写一点点就进入测试的循环迭代了,依据经验,嵌入式C语言开发环境下,一次功能迭代编写的代码量宜控制在20200行范围,每写数十行代码调测应随即跟进。
这种情况下,IT工具需支持编辑、调试、测试这3项操作之间能快速切换,三者应集成到一个IDE环境中。
2. 提高调测效率 不少商用的第2代白盒测试工具对一次性测试支持很好,工作效率能基本满足要求,但一换到持续集成模式下,暴露的问题就很严重,主要是测试效率跟不上,比如在RTRT环境下,编码、调试、测试与评估改进既不在同一平台进行,也没支持在线操作,被测程序要反复重起,编写的脚本不能在线的看到执行效果,并在线改进,迭代循环的效率自然大打折扣。
第4代白盒测试方法为提高测试效率提出两点建议,一是采用在线测试,二是重用调试过程,将调试操作自动转化为测试脚本,测试效率会提高不少。
3. 保证持续集成过程能平稳、可持续的推进 代码写一点测一点后,组织运作很容易失去控制,自觉些的会认真跟进测试设计,不 www.ezTester.com Page 2 of 5 VcTester持续集成框架的应用价值 密级:公开 Copy right 2006-2007 ezTester technologies co.LTD 版本:V1.0 觉得的可能退回到一次性测试模式,或者某些员也很想把持续集成规范的实施好,但操作中很难控制当前要测到什么程度才进入下一步功能迭代。
IT工具应提供机制来评估当前测试程度,评估结果应以简单明了的方式告诉用户,比如当前测试是否通过,覆盖率有没有合乎要求,测试充分程度有没有合乎要求。
凡测试跟进滞后或实施欠充分的,应先改善测试然后才进入下一步迭代。
另外,评估机制还应尽量消除操作中出现的噪声,比如:测试评估范围可指定,非测试关注范围的源码不纳入测试程度评估,特定调用分支(如出错处理)经配置不纳入评估等。
4. 工具集成 持续集成过程涉及版本同步、版本比较,构建被测工程,实施回归测试、冒烟测试等操作,IT工具应具备较好的定制扩展外部工具的能力,能将各种相关操作集成一起。
VcTester VcTester较完整的遵循第4代白盒测试方法的要求,在较高起点提供各项功能。
下面我们从编辑器、调试器、测试功能、平台集成这四个方面分别评估VcTester共享版的功能价值,然后下一节在此基础上,补充说明商用版在功能增强后的应用价值。
1. 编辑器 VcTester采用CSE的集成开发环境,它编辑器是采用SynEdit组件实现,与Delphi编辑器维持相同风格,也提供近似于Delphi的编辑功能,包括:提供与语法相关的关键字高亮显示,提示输入,定制的代码框架自动生成,支持较为完善的查找与替换功能,支持代码块缩进与缩出,此外该集成环境还支持函数与变量的定义跳转与回跳功能。
VcTester的编辑功能强过VC不少,但比SourceInsight稍弱,稍弱的原因主要是VcTester在交叉索引、定义跳转方面没有SourceInsight做得彻底,另外,VcTester编辑功能比较精简,SourceInsight功能很全面,两者风格不一样。
2. 调试器 VcTester共享版并未提供针对被测C代码的调试,只支持脚本的调试(具备基本的设断点、单步跟入跟出等功能),商用版才同时支持被测C代码与脚本的单步调试。
共享版只能借助VC实现单步调试,所幸的是,VcTester的集成环境与VC并不冲突,只要将被测工程在VC中按Debug方式启动,然后使用VcTester发起调测,在VC中设断点进行单步调试。
此方式主要缺陷是两者功能未在同一IDE环境集成,少不了要经常切换,对工具使用效率带来一定影响。
3. 测试功能 强大的测试功能支持是VcTester共享版最大的亮点。
在线测试驱动(写测试脚本读写变量与调用函数)、在线测试桩在共享版已充分开放,如果再结合VC profile,语句覆盖也有了,由此展开白盒测试已基本完整。
共享版已较好的支持第4代白盒方法所要 www.ezTester.com Page 3 of 5 VcTester持续集成框架的应用价值 密级:公开 Copy right 2006-2007 ezTester technologies co.LTD 版本:V1.0 求的在线测试功能,用例的调测效率大为提高,该模式下测试设计所见即所得,很直观,符合多数开发人员的编程习惯。
4. 平台集成 VcTester共享版支持的工具扩展能力与商用版无差别,我们将VC的Build操作集成进来,使编码过程中用户可以随时按一个快捷键就编译被测工程,另外还可以集成PcLint代码检查功能,集成Visual Leak Detector(VLD)内存泄露功能。
VcTester还针对捕获的VC编译或Pclint检查后的报错打印信息,提供快速跳转到出错源码行的功能。
所以,VcTester共享版虽然免费,但它提供的功能着实不弱。
此外,还可以把VSS版本机操作集成到VcTester中,此举可有力支持每日构建、冒烟测试等持续集成实践。
外部工具集成也是VcTester的一个亮点,它提供可扩展能力并不逊色于SourceInsight平台。
就上面举例的被集成功能中,Pclint是商用工具(售价约200美元,当然网上也有不少破解版本),Profile是VC专业版和企业版附带的,VLD是免费且开源的工具,VcTester共享版自然也是免费的,所以我们能以非常低的成本构造出功能强劲的持续集成研发平台。
总之,VcTester共享版已能较好的支持嵌入式软件的持续集成实践,突破测试效率门槛,其应用效果已与业界主流的商用白盒工具相当。
值得一提的是:VcTester似乎只在“写一点测一点”的模式下才用得更好,比如提示输入、定义跳转等功能只在被测程序运行起来才具备,如果不是写一点测一点,被测程序都无法运行,提示输入、跳转等功能就没法用,导致整体易用性下降。
再有,据已有实践反映,在VcTester下实施测试设计先行(Test Design First)相对容易,因为在线测试的
上一篇:
办公自动化系统源代码 Delphi设计文档(源码大小8M)
下一篇:
经济酒店发展:China''s economy hotel market development strategies