单元测试知识问答[1]

发表于:2010-05-26来源:作者:点击数: 标签:单元问答知识
单元测试知识问答[1] 软件测试 为什么要进行单元测试? 单元测试保证局部代码的 质量 单元测试改良项目代码的整体结构 单元测试降低测试、维护升级的成本 单元测试使开发过程适应频繁变化的 需求 单元测试有助于提升程序员的能力 由谁进行测试?开发部门还是测

  单元测试知识问答[1]   软件测试

  为什么要进行单元测试?

  单元测试保证局部代码的质量

  单元测试改良项目代码的整体结构

  单元测试降低测试、维护升级的成本

  单元测试使开发过程适应频繁变化的需求

  单元测试有助于提升程序员的能力

  由谁进行测试?开发部门还是测试部门?

  应该由开发部门进行单元测试!

  由测试部门进行单元测试的问题:代价高,人手不足,耽误了测试部门对其他测试的准备工作。

  由开发部门进行单元测试的问题:担心影响开发进度,程序员不习惯做单元测试,测试自己编写的代码,难于保证测试的效果。

  无论由哪个部门做单元测试,都要面对一些问题,但开发部门所面对的问题可以借助工具来解决,而由测试部门进行单元测试,要么无法真正实施,要么代价昂贵。

  由测试部门进行单元测试为什么成本昂贵?

  需多次重复理解程序

  反复沟通需要大量时间成本

  不利于发挥单元测试对代码结构的约束机制

  耽误测试部门对其他测试的准备工作

  即使测试部门人手充裕,仅仅从效益来考虑,也不应该由测试部门进行单元测试。如果测试部门本来就人力不充裕(进行单元测试的人员需具备编码能力),勉强由测试部门进行单元测试,结果往往是----没有结果。

  由开发部门进行单元测试能保证测试效果吗?

  程序员测试自己编写的代码,往往只考虑“正常状况”,这当然会影响测试效果。但如果所用的单元测试工具能够统计各种白盒覆盖率,就能检查测试效果。当然,只做到这一点还是不够的,因为白盒覆盖具有逾后逾难的特点,达到一定的覆盖率后,覆盖率的提升会很困难。如果测试工具功能足够强大,能提供工具帮助用户快速地设计测试用例,达到完整的白盒覆盖,那么测试效果就能得到完全的保证。

  实际上,如果没有充分的统计数据,没有达到足够的测试完整性,那么由谁做单元测试,效果都不能保证。

原文转自:http://www.ltesting.net