单元测试的效益分析

发表于:2010-5-28 16:22

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

  不增加人力投入,不改变开发流程,不延长项目时间,不提高管理成本,如果要较大幅度地提高软件产品的质量、降低开发测试及后期维护的成本,那么,单元测试可能是最好的选择。

  简单地说,单元测试的效益主要表现在:

  1、保证局部代码的质量。单元测试在隔离的前提下,分别对各个代码单元进行测试,能够达到其他测试不可能达到的测试完整性,从而保证了局部代码的质量。只有局部代码的质量得到了保证,代码的整体质量才可能得到保证。

  2、保证代码的整体结构良好。要对代码进行单元测试,最起码的前提是代码能够隔离,也就是说,要具有一定的可测性,因此,单元测试是一种有效的约束机制,这种机制将保证代码具有良好的整体结构。例如,如果把业务代码直接写在界面类中,将很难进行单元测试,随意的不合理的紧耦合也会造成难于测试,单元测试使这些不好的特性得于及时发现,从而很容易进行修正。可以说,可测性是高质量代码最重要的特性,不具有可测性,也就无法衡量代码的正确性,而有了可测性,也就在一定程度上保证了代码的可扩展性、可复用性。

  3、单元测试使排除代码错误的成本最小化。排除错误的代价随着时间的推移呈指数级数上升,并且,有很多细小的代码错误只有通过单元测试的手段才能发现。

  4、单元测试大幅度降低了后期测试和升级维护的时间成本。如果代码经过了充分的单元测试,集成测试和系统测试就只需要关注设计方面的问题。自动回归测试也大量降低升级维护成本。

  5、单元测试自然地使开发流程变得“敏捷”,可以适应频繁变动的需求,因为整体结构良好的代码具有较好的可扩展性,自动回归测试又能保证修改不会引入新的错误。

  对程序员来说,单元测试也有利于养成编写局部代码时的缜密的思维习惯,以及提高设计能力。

  本文所说的方法和技术,具有“简单实用”的特征,对于企业来说,不需要增加额外的人员就可以实施,对于某一个项目来说,不需改变原来的开发流程来适应单元测试,反过来,单元测试会自然促进开发流程的改进;对于开发人员,也没有特殊的要求,反过来,单元测试会促进开发人员进一步提高开发能力。

《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • demit1
    2010-5-28 18:05:35

    拜托加一些可落地的方法行不,看半天也没发现为什么单元测试可以“不增加人力投入,不改变开发流程,不延长项目时间,不提高管理成本”

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号