设为首页 - 加入收藏
热搜: 网销 软文营销
广告位
当前位置: 网销中国 > 网络运营 > 网络编程 >

软件单元测试技术实现飞跃

2014-04-21 12:58 [网络编程] 来源于:未知
导读:测试是软件开发过程中必不可少的工作,单元测试是针对代码单元的测试,一边开发一边进行单元测试,可以将大多数 bug 消灭在萌芽状态,从而保证软件产品的质量。 虽然业界

测试是软件开发过程中必不可少的工作,单元测试是针对代码单元的测试,一边开发一边进行单元测试,可以将大多数bug消灭在萌芽状态,从而保证软件产品的质量。

虽然业界普遍了解和认同单元测试的必要性,但能成功实施单元测试的企业却很少,原因有两个:一是测试代码通常是产品代码的二至五倍,编写测试代码需要消耗太多的时间;二是代码之间通常具有很高的耦合性,要独立测试各个代码单元需要做很多额外工作。总之,单元测试很难并且成本很高。要使单元测试容易实施且成本低廉,就必须做到:不用编写测试代码、自动解决耦合问题。

最近发布的C/C++单元测试工具Visual Unit 4,首次使用了表格驱动的单元测试技术,通过在表格中填写数据,就可以构建测试过程;通过在表格中设置底层代码的输出,就可以解决耦合问题。这样,单元测试要做的工作,基本上就是在表格中填写数据,不用编写大量的测试代码,不用为解决耦合问题做大量额外工作。

表格驱动的单元测试技术,测试效率是传统技术的十倍以上,例如,测试一个函数,用传统技术可能需要三十分钟来编写测试代码,而使用表格驱动技术,只需要花两三分钟在表格中填数据。表格驱动是单元测试技术的飞跃,也是广大程序员和软件开发企业的福音。

表格驱动能否适应高耦合的代码以及复杂的数据?答案是可以。以下图片所展示的例子,测试过程需要使用底层函数所产生的数据,这些数据涉及到链表、映射表,并且,要对局部的计算结果进行判断,这是典型的高耦合,数据的复杂度也比多数代码高。使用传统技术,需要编写至少五十行代码,而使用表格驱动技术,如图所示,只需要在表格中填写一系列数据就可以完成测试。

 

表格驱动技术还具有两个优点:维护成本很低、数据高度可重用。使用传统技术,测试代码需要跟随产品代码的不断更新而更新,维护成本很高,使用表格驱动技术,测试代码可以完全由工具生成和维护,不需要手工维护。使用传统技术,测试数据和测试代码混杂,测试数据的重用很困难,表格驱动技术将测试数据和测试代码分离,数据可以实现最大限度的重用。

 

 

(编辑:网销中国)

网友评论
推荐文章