tigerdong 发表于 2006-9-23 22:33:26

针对C语言的第四代白盒测试(vcTester)共享版本可以下载了......

VcTester专业服务于嵌入式白盒测试领域的测试工具,它遵循第4代白盒测试方法(4GWM,The 4th Generation White-box-testing Methodology),为有效实施针对C语言的单元测试、集成测试与协议测试,提供系统化的测试解决方案。

下载地址:WWW.EZTESTER.COM

目前主要支持:

1、集成环境
    编辑 (关键字变色、提示输入、跳转、查找与替换)
    build/rebuild集成
    嵌入pclint工具
    与VLD配合使用
2、调试(配合VC)
3、测试
    测试用例管理
    脚本驱动
    脚本桩

[ 本帖最后由 tigerdong 于 2006-10-27 12:11 编辑 ]

tigerdong 发表于 2006-9-24 09:20:45

给大家简单介绍一下第四代白盒测试PDF

给大家简单介绍一下第四代白盒测试PDF,请下载详细了解

tigerdong 发表于 2006-9-24 09:29:40

如何在公司内部推广白盒测试

在IT研发领域,个体能力对研发效率的影响很大,个人能力强的开发人员,其工作效率通常要比能力差的高出2~5倍,在特定情况下,差距还甚至扩大到10倍。所以,在软件研发项目中,我们听到项目经理抱怨,几位技术牛人就能决定一个大型产品的成败,为什么将个体成功演进到团队成功就那么难呢?
嵌入式产品的白盒测试是IT研发最难推动的软件过程之一,个人素质对测试效果的影响尤为显著。大家知道,做好白盒测试需要凭借测试工具,但某些优秀员工不依赖工具,仅在代码中插入assert、print语句,也同样把白盒测试做得很好,本文尝试分析白盒测试个体成功的主要因素,以及如何将这些因素规范下来,进行推广到整个组织,引导个人成功走向团队成功。

详细参考:附件文章

tigerdong 发表于 2006-9-24 09:48:21

第四代白盒测试核心理念之一:全脚本化测试

Python是一门优秀的脚本语言,CSE无疑也是一门优秀语言,要不,本文不会将它们相提并论的作比较。

事实上,要准确比确两门语言的特性差异不是一件容易的事。因为,既然一门语言能够存在,就有她存在的理由,她总有一些特殊的应用定位。由于定位不同,导致语言比较很难在对等的层面上展开,有谁尝试比较汇编语言与C#的异同吗?----所以,本文尝试比较Python与CSE,首先因为这两门语言的应用范围与表现特征有较高的重合度,可比性有了,其次,从两者的发展渊源来看,CSE是新生语言,从Python继承较多的风格,当然也摈弃了不少东西,比较这两者,不难管窥现今语言的承递脉络与发展趋势。

详细请参考附件。

===========================================

CSE 是目前中国本土着力推行的全脚本化语言,采用类似PYTHON、TCL的运作模式,全部开源,同时召集感兴趣的人员加入,协同开发,目前正在广泛的志愿者召集中,如果您对测试自动化、脚本体系有兴趣,都可以参加,

具体请参考:WWW.CSE-SOFT.ORG, WWW.EZTESTER.COM

tigerdong 发表于 2006-9-24 09:55:29

第四代白盒测试核心理念之二:持续集成

第四代白盒测试核心理念之二:持续集成
―――VcTester
www.eztester.com
什么要持续集成?这个问题太重要了,我们专门拎出来讲,请大家先不急于跳过本节去看4GWM的9个关键特征怎么定义的。


详细参考附件:

tigerdong 发表于 2006-9-24 10:32:40

可测试性设计(DFT)最权威的材料

单纯的后端测试,根本无法保证测试的充分性,同时测试成本高,无法对测试质量进行有效评价,结合业界优秀公司的测试发展历程,要想最终提升测试的自动化程度,更多需要前期更多的可测试性设计,这对测试人员提出更高的挑战,原来的测试人员往往就是高级用户(早期用户),而可测试性设计要求测试人员要有强大的工程设计经验、需求分析能力,这是对测试人员的挑战,记得7年前,我开始详细研究可测试性设计,美国军工的可测试设计标准,给我很大的帮助,希望大家也能看看。

附件: 业绩可测试性设计最权威的标准材料--mil_std_2165.pdf

[ 本帖最后由 tigerdong 于 2006-9-24 10:38 编辑 ]

GuangMinDing 发表于 2006-9-25 23:12:35

感谢TigerDong贴了这么多有用的资料

有关第4代白盒测试方法与前几代的方法的主要差别,是否有通俗的解释?http://www.ezTester.com上有《第4代白盒测试方法介绍--理论篇》,大致讲解了几种白盒方法的差别,但还没完全看懂,第4代相对第3代多了“调试即测试”的理念,就能跨越一代称第4代吗?

wayne_chan 发表于 2006-9-26 22:48:01

第1代到第4代白盒方法的主要差别

原帖由 GuangMinDing 于 2006-9-25 23:12 发表
有关第4代白盒测试方法与前几代的方法的主要差别,是否有通俗的解释?http://www.ezTester.com上有《第4代白盒测试方法介绍--理论篇》,大致讲解了几种白盒方法的差别,但还没完全看懂,第4代相对第3代多了“调试 ...

第1代白盒方法属于无组织、无约束的测试方法,典型情况是拿调试当测试,或者简单的在被测代码中加入print、assert等语句。第2代白盒方法主要克服第1代方法的两大缺陷:一是没有测试评估(比如覆盖率),二是未对测试操作进行重用,重用测试操作必然以某种形式化语言描述测试过程,该形式化描述可有两类,一类是使用被测代码自身开发使用的语言,另一类是使用一种抽象层次更高、更为易用的脚本语言,常见的第2代白盒测试工具有:Rational的RTRT、Parasoft的CppTest、IPL的Cantata++等。

第3代白盒方法主要代表是xUnit系列测试工具,如JUnit、NUnit、DUnit等,第3代白盒方法区别第2代方法最主要特点是:它支持持续集成的操作模式,这在理念上有了一次飞跃。

第4代白盒方法继承了第3代白盒方法所要求的持续测试,这种继承性是包含关系,就像第3代方法继承第2代方法的形式化测试描述一样。第4代方法在第3代方法的基础上,强调了操作的重用,将调试操作重用到测试中来,明确一个概念:第4代白盒测试方法相对第3代方法,主要是引入了调测一体的理念。遵循第4代白盒方法的测试工具主要以VcTester(http://www.ezTester.com)为代表。

wayne_chan 发表于 2006-9-26 22:51:59

从第1代到第4代白盒方法,每一步都大幅提升了“可重用”的能力

从第1 代到第2代,对测试进行形式化描述,使测试操作以脚本(或某种语言)方式记录,支持重复测试,一次测试操作可在后续测试中重复使用,当然大幅提升了测试效率。

从第2代到第3代,持续集成使软件稳定性得到重用,怎么讲?第3代白盒测试方法要求以“写一点、测一点”不断迭代的形式推进项目研发,每一次迭代被测代码都相对稳定,这时,对于新冒出的Bug马上能被识别,马上定位,通常只需分析最近修改的数十行代码,就能推断问题所在。这操作模式下查错与改错的效率非常高,本质上来说,持续集成模式对“软件稳定性”实现了重用,直接收益处体现在两方面,其一,查错、改错的效率提高了,其二,被测系统随时处于可运行状态,待实现的功能提前展现,有利降低研发风险。

从第3代到第4代,坚持调测一体的理念后,测试代码与被测代码真正同等的看成一种产品代码,两者代码一同添加、一并维护,不是把被测代码写完整了再设计测试脚本,维护两者也是对等的,只要相关联的代码一处修改了,另一处也要跟着改。不仅如此,两者的调试过程也可融为一体,调试测试脚本与调试被测代码有许多共性,可重用的地方很多,比如调试被测代码先要构造运行环境,调试测试脚本也构造类似运行环境,调试中经常修改变量、查看变量,修改变量为了后续单步跟踪按特定路径进行,这对应于测试,修改变量或打测试桩也让特定路径得到覆盖,调试中手工查看变量是否预期,对应于测试,则是用例脚本判断测试是否通过。如果调试操作在测试中重用了,或者,更准确一点按照第4代白盒方法所遵循的理念,调试与测试合为一体了,无疑会大幅提升软件研发效率。

嵌入式软件的白盒测试主要针对C语言,正是xUnit系列工具难以撼动的领域,但VcTester之所以能突破这个障碍,是因为调试操作也得到重用了,另外,CSE脚本语言能较好的仿真出C语言行为,测试用例编写与调试的效率提高上去了。

更详细内容请参考本人Blog(http://blog.csdn.net/wayne_chan/)中一篇文章《第4代白盒测试方法通俗释义》

tigerdong 发表于 2006-9-28 22:39:10

获得第四代白盒测试的试用版本(VCTESTER)

最新的第四代白盒测试(VCTESTER)的试用版本(演示版本)已经发布,请大家直接下载试用:

下载地址: www.eztester.com

tigerdong 发表于 2006-10-10 09:55:31

目前已经开通专门的第四代白盒测试的BLOG论坛,请参观

http://blog.csdn.net/wayne_chan/archive/2006/09/26/1289737.aspx

tigerdong 发表于 2006-10-12 15:09:31

第4代白盒测试方法(vctester)通俗释义

第4代白盒测试方法论(4GWM)在网上公开有一段时间了,近来总有一些网友询问第4代方法区别其它方法的主要差异是什么?还有不少人提到:第3代相对第2代的界限较清晰,但第4代相对第3代的差别还不甚明了。这里,我们集中解答这些问题,补充阐述4GWM的内涵与外延,本文可作为《第4代白盒测试方法介绍(理论篇)》的补充学习材料。



一、从第1代白盒方法到第4代白盒方法
第1代白盒方法属于无组织、无约束的测试方法,典型情况是拿调试当测试,或者简单的在被测代码中加入print、assert等语句。第2代白盒方法主要克服第1代方法的两大缺陷:一是没有测试评估(比如覆盖率),二是未对测试操作进行重用,重用测试操作必然以某种形式化语言描述测试过程,该形式化描述可有两类,一类是使用被测代码自身开发使用的语言,另一类是使用一种抽象层次更高、更为易用的脚本语言,常见的第2代白盒测试工具有:Rational的RTRT、Parasoft的CppTest、IPL的Cantata++等。

第3代白盒方法主要代表是xUnit系列测试工具,如JUnit、NUnit、DUnit等,第3代白盒方法区别第2代方法最主要特点是:它支持持续集成的操作模式,这在理念上有了一次飞跃。

第4代白盒方法继承了第3代白盒方法所要求的持续测试,这种继承性是包含关系,就像第3代方法继承第2代方法的形式化测试描述一样。第4代方法在第3代方法的基础上,强调了操作的重用,将调试操作重用到测试中来,至于这一步重用是否具备重要意义,是否足以升级换代,下文我们再详细叙述。这里先明确一个概念:第4代白盒测试方法相对第3代方法,主要是引入了调测一体的理念。遵循第4代白盒方法的测试工具主要以VcTester(http://www.ezTester.com)为代表。



二、评估白盒测试方法首先看提升多少测试效率,然后看提高多少测试质量

评估一个测试工具是好是坏,可能要查看多种因素,如软件易用性、是否能提高工作效率,是否促使测试更加深入等。但对于现状下的大多数企业,这些评估因素并非对等的,如果一个企业从未做过白盒测试,突然想把白盒测试推行起来,那首先应该确认选用工具是否足够高效,而不应该看某工具少支持一种覆盖评估(比如不支持MCDC覆盖评估就改选其它工具)。

实际上,尽管白盒测试很重要,该实践对于多数企业仍是鸡胁,尤其是针对C语言开发的项目,食之无味,弃之可惜,其瓶颈不在于白盒测试做得好不好,而在于白盒测试能不能做得下去!根据我们在本领域的多年推行经验来看,白盒测试失败的项目中95%以上是因为测试做不下去,测试效率过低导致投入成本居高不下,实施难以为继是失败主要原因。可以说,现状下保证白盒测试能否做起来是根本问题,能否做好则是其次问题,下一步等测试做起来后再着重改善,前者更为根本,具有一票否决的性质,后者是为了做得更好,对多数企业现状下属于锦上添花,等步入正轨了才突显重要,而且解决起来也相对容易。

我们可从另一侧面验证上述观点,大家知道JUnit与NUnit在Java与C#中用得很好,有许多成功案例,但CppUnit在C++中成功案例就少多了,而CUnit能成功的寥寥无几,极少数成功的也是付出巨大投入、有良好组织保证时才获得的。不难看出,基于相同理念的测试工具,在不同语言中实施效果差距很大,最主要原因还在于工具对于测试效率提升的差异性很大,Java与C#开发语言本身的抽象层次较高,用它编写用例、调试用例、维护用例等,效率都很高,而过程性编程语言,如C语言,在CUnit中用C语言描述测试操作,必然很难成功了。



三、从第1代到第4代白盒方法,每一步都大幅提升了“可重用”能力

从第1 代到第2代,对测试进行形式化描述,使测试操作以脚本(或某种语言)方式记录,支持重复测试,一次测试操作可在后续测试中重复使用,当然大幅提升了测试效率。

从第2代到第3代,持续集成使软件稳定性得到重用,怎么讲?第3代白盒测试方法要求以“写一点、测一点”不断迭代的形式推进项目研发,每一次迭代被测代码都相对稳定,这时,对于新冒出的Bug马上能被识别,马上定位,通常只需分析最近修改的数十行代码,就能推断问题所在。这操作模式下查错与改错的效率非常高,本质上来说,持续集成模式对“软件稳定性”实现了重用,直接收益处体现在两方面,其一,查错、改错的效率提高了,其二,被测系统随时处于可运行状态,待实现的功能提前展现,有利降低研发风险。

从第3代到第4代,坚持调测一体的理念后,测试代码与被测代码真正同等的看成一种产品代码,两者代码一同添加、一并维护,不是把被测代码写完整了再设计测试脚本,维护两者也是对等的,只要相关联的代码一处修改了,另一处也要跟着改。不仅如此,两者的调试过程也可融为一体,调试测试脚本与调试被测代码有许多共性,可重用的地方很多,比如调试被测代码先要构造运行环境,调试测试脚本也构造类似运行环境,调试中经常修改变量、查看变量,修改变量为了后续单步跟踪按特定路径进行,这对应于测试,修改变量或打测试桩也让特定路径得到覆盖,调试中手工查看变量是否预期,对应于测试,则是用例脚本判断测试是否通过。如果调试操作在测试中重用了,或者,更准确一点按照第4代白盒方法所遵循的理念,调试与测试合为一体了,无疑会大幅提升软件研发效率。

嵌入式软件的白盒测试主要针对C语言,正是xUnit系列工具难以撼动的领域,但VcTester之所以能突破这个障碍,是因为调试操作也得到重用了,另外,CSE脚本语言能较好的仿真出C语言行为,测试用例编写与调试的效率提高上去了。



四、第4代白盒方法中的其它要点

第4代白盒测试方法明确规定为3个关键域9项关键特征,如下:

A.      第一关键域:在线测试

1、在线测试驱动

2、在线脚本桩

3、在线测试用例设计、运行,及评估改进

B.      第二关键域:灰盒调测

4、基于调用接口

5、调试即测试

6、集编码、调试、测试于一体

C.      第三关键域:持续测试

7、测试设计先行

8、持续保障信心

9、重构测试设计

只要把握住前面所提的调测一体理念,理解第4代白盒方法就容易多了。在线测试是一种手段,直接拉通测试小循环,也促进研发大循环被拉通,这种手段是提升工作效率的便捷途径;灰盒调测实际就是“调测一体”理念的实践方法与表现特征;持续测试则将第3代方法所遵循的持续集成理念,以明确方式规定下来。此外,第4代方法中的持续测试,还尝试克服XP中测试驱动开发(即TDD实践)遇到的困难,毕竟,第4代方法有在线测试、调测合一等手段,大大缓解在编码前就写用例让人无所适从的困境。

gangshang521 发表于 2006-10-26 00:57:43

非常感谢大侠给介绍这么好的冬冬。这回让我见识了一下第四代白盒测试方法了!

tony.ak 发表于 2006-11-6 22:40:59

VcTester最新版本发布了,可到官方网站下载共享版本使用,下载地址http://www.eztester.com

VcTester由深圳市领测科技有限公司自主研发,专业服务于嵌入式白盒测试领域的测试工具,它遵循第4代白盒测试方法(4GWM,The 4th Generation White-box-testing Methodology),为有效实施针对C语言的单元测试、集成测试与协议测试,提供系统化的测试解决方案。对于VcTester相关信息参见其官方网站http://www.eztester.com

本人喜欢的网站:新浪网 Google新闻 搜狐新闻 雅虎 天极 CSDN新闻 CSDN博客 B周刊 博客中心 DoNews博客 SourceForge ShareIt 无忧测试 VC在线 共创联盟 华军软件园

xiangming 发表于 2006-11-6 22:49:27

好爽,又有新版本用了

songfun 发表于 2006-11-7 22:25:14

楼上的,继续啊

xiangming 发表于 2006-11-10 00:16:52

继续!!!!

jack2008 发表于 2006-11-19 21:14:07

恩!这个培训不错,有机会一定参加。

haungxiaohua 发表于 2006-11-23 22:33:43

VcTester这个工具不错,是我目前用过最好的工具了,其他测试工具都太难用了,为了这一点我狂顶!有同感的顶起。

zhouxinxin 发表于 2006-11-23 22:39:49

同感!顶起,支持国产软件。
页: [1] 2 3
查看完整版本: 针对C语言的第四代白盒测试(vcTester)共享版本可以下载了......