我理解的单元测试

发表于:2008-4-07 14:54

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

 作者:阿-甘    来源:阿-甘的博客

分享:

        单元测试是整个测试流程中最基础的部分,它们要求程序员尽可能早地发现问题,并给予控制,另外如果集成测试出现问题,它可以帮助诊断。这样就为在软件开发流程中建立高效的事件反应机制打下了坚实基础。

为什么需要单元测试

        在开发软件的过程中,用户需要实际运行所编写的代码以确保程序的正确性。当软件变得越来越大,再去添加新的功能或做一些新的改动时,就很容易带来新的问题,甚至会使程序无法正常运行。然而要手动的运行代码,测试代码的可行性也是非常枯燥以及非常耗费时间的事情。

        为了减少这种手动测试,可以通过创建单元测试来自动完成测试的工作。当修改代码或者添加新功能后,可以执行单元测试来保证代码运行无误。所有测试工作都是由单元测试自动完成的,开发人员所要做的就是停下来喝杯茶,看看程序的执行状态。
        使用单元测试的另一个理由是实现测试驱动的开发,这在当前是比较流行的开发方式。测试驱动的开发尝试首先写出单元测试,然后完成实际的代码。通过单元测试来提供类的定义,当实际开始编写代码时,用户仅仅需要做的就是具体类的实现,只要单元测试运行通过,代码的实现也将告一段落了。写单元测试的同时,也在同时在做项目的设计,当项目结束后,单元测试还将是不错的文档,何乐而不为呢?

自信编码

        人的记忆是短暂的,但代码的修改是无限的,怎样让无限的修改不会因为记忆的短暂而带来无穷的烦恼呢?这是非常矛盾的事情,单元测试能够一定程序上解决这个问题。

        也许所有的程序员都遇到过这样的问题,当要修改很久以前的代码或他人编写的代码时,总是会很犹豫,因为他们不清楚所做的修改会不会引起其它的问题,只能当遍历了所有的代码后才敢动手。这是非常正常的,但也因此浪费了很多的时间,通过单元测试能够一定程度上增强用户的自信心,因为单元测试的前提假设就是,如果通过了所有的测试,代码就是可行的。

JUnit测试框架

        在Java语言中,可以通过JUnit框架进行单元测试,JUnit是由“Erich Gamma”和“Kent Beck”创建的,他们也是在“设计模式”和“极限编程”领域最伟大的作者之一。

        单元测试的实现是很简单的,可以认为它只是判断在某一个时刻,程序运行的值和预期的值是否一致,但在实际的应用的时候是很灵活的,在此介绍JUnit中的一些断言以及JUnit测试框架的使用,使读者能够快速的进入单元测试的领域,更快的进行开发。

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

精彩评论

  • belie
    2008-4-08 08:50:29

    好!

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号