`
yiding_he
  • 浏览: 448126 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

为什么要做单元测试

阅读更多
我们几乎都是以这样的顺序做开发:写若干代码,然后运行一下,如果有问题,就做调试,查出 BUG,修改代码,然后再运行一下,直到没有问题,然后接着写代码。

我也一直是这样做的,到现在也是。以前每次我写完 200 行代码,然后就启动服务器运行一下,结果发现问题,我会想:“天哪,我又要大干一场”。于是从 JSP 开始仔细检查代码,直到发现我认为有问题的地方,调试,修改,然后重新启动 web 服务器,打开浏览器,几分钟后发现问题还是没解决,然后又去看代码。

后来每次我写完 20 行代码,我就启动服务器运行一下,结果发现问题。这回我不再从 JSP 页面看起,而是仅仅检查我刚写的那 20 行,并且没多久就找到问题所在。修改完后重新启动服务器,打开浏览器,进入指定的页面,发现问题解决了。这样比以前轻松了不少,但是频繁的启动服务器实在令人厌烦。

再后来我每次写完 20 行代码,我不再启动服务器了,而是写一个 main 方法,将我刚才完成的那个函数运行一次。写这个 main 方法花了我 3 分钟,但是每次运行花不到 5 秒。我运行 main 方法,结果发现问题。经过 3 次修改,main 方法终于输出了我想要的结果。3 次修改花了我不到 10 分钟。于是我启动服务器,发开浏览器,进入指定的页面,发现一切 OK。

随着 main 方法越来越多,我发现这些 main 方法给它所在的类带来了很多不必要的 import。于是我想办法把它们放到另一个类去,提取它们的公共部分做成父类。

现在,做测试已经变得非常简单,而观察 main 方法的输出变成了一件烦人的事情。于是我加上了许多判断语句,判断测试结果中是否有我想要的数据,如果没有则抛出异常。这样我每次运行测试,只要没有抛出异常,我就不用去看输出了。

后来我发现了 JUnit,它所做的事情和我的完全一样,但是它用起来更加方便,比如它可以一下子把所有的测试都运行一遍,而不用像我这样运行一个又一个的 main。

同最初相比,我现在已经轻松很多了。如果您还在想我最初那样做开发,建议您慢慢的改过来。
分享到:
评论
1 楼 hagensas 2007-03-28  
JUnit就是让我们及早发现错误

相关推荐

    C++单元测试培训资料

    在培训资料中,首先介绍了为什么要做单元测试,以及单元测试的概念和内容。这是因为要让开发者明白,除了编码工作外,还需要进行有效的测试,才能保证程序的质量。传统的开发观念认为开发人员的任务仅仅是编写程序和...

    单元测试实施规程 软件单元测试

    单元测试实施规程是软件开发过程中一个关键的质量保证环节,它旨在确保软件的每个独立模块都能按照预期的功能正确运行。以下是对这一规程的详细说明: 1. **目的**:单元测试的主要目的是验证软件的各个模块(任务...

    简易计算器做单元测试.docx

    "简易计算器做单元测试" 本文将详细介绍如何使用MyEclipse软件和JUnit4框架来实现一个简易计算器的单元测试。单元测试是软件测试的一种,旨在对软件中的最小单元进行测试,以确保其正确性和可靠性。JUnit4是Java...

    单元测试说明模板

    在本文档中,我们将详细地介绍单元测试的设计规格和测试用例规格,以便为XX项目的单元测试活动提供指导。单元测试设计规格将包括需要测试的类、测试使用的模型、针对每个类的测试策略以及所需执行的测试用例等。 在...

    软件单元测试报告.doc

    软件单元测试报告 软件单元测试报告是软件开发过程中的一种重要文档,它记录了软件单元测试的结果和过程。下面是该报告的知识点总结: 一、软件单元测试报告的组成部分 软件单元测试报告通常由以下几个部分组成:...

    如何利用JUnit进行单元测试.ppt

    ### 为什么要做单元测试? 单元测试的目的,是将应用程序的所有源代码,隔离成最小的可测试的单元,保证每个单元的正确性。理想情况下,如果每个单元都能保证正确,就能保证应用程序整体相当程度的正确性。 ### ...

    Tessy单元测试提高软件质量

    "Tessy单元测试提高软件质量" 单元测试是软件测试中的一种重要方法,旨在确保软件的质量和可靠性。在本White Paper中,我们将讨论单元测试的重要性、方法论和实践应用。 单元测试的定义和重要性 单元测试是指对...

    .Net 单元测试案例

    首先,我们要理解单元测试的基本概念。单元测试是一种软件测试方法,它针对程序中的最小可测试单元——通常是一个函数或方法——进行验证。通过编写一系列测试用例,我们可以检查特定功能在不同条件下的行为,确保...

    java单元测试篇:使用clover为java代码的junit测试做覆盖率分析.pdf

    Java 单元测试篇:使用 Clover 为 Java 代码的 JUnit 测试做覆盖率分析 Java 单元测试是软件测试的重要组成部分,对于 Java 开发者来说,单元测试是必不可少的。今天,我们将学习使用 Clover 框架来分析 Java 代码...

    软件单元测试入门与实践,软件单元测试入门与实践 周立功,C,C++

    对于C和C++这样的静态类型语言,单元测试尤为重要,因为它们缺乏内置的异常处理和内存管理机制,容易引入难以发现的错误。 在C和C++中,我们通常使用第三方测试框架来编写和执行单元测试,如Google Test(gtest)或...

    单元测试

    单元测试是一种软件开发过程中的重要环节,主要用于验证代码的各个最小可测试单元,如函数、方法或类,是否能够按照预期工作。通过编写自动化测试用例,开发者可以在修改代码后快速检查新变更是否引入了错误,确保...

    Qt单元测试演示qt单元测试demo_基于qt5单元测试工程例子qt5单元测试例子

    //qt单元测试用法,qt测试例子,qt单元测试demo,qt单元测试简单例子,qt单元测试例程,qt单元测试简单例子, qt5单元测试例子,qt5单元测试代码,qt5单元测试工程例子,测试运行ok //首先,用标准的qt测试单元导向,...

    单元测试实例(C#版)

    (C#语言版)单元测试实例,主要功能包括:(1)输入数据到textbox,以逗号间隔,然后求数组最大值、求和,并将结果显示出来,并针对于数组求最大值函数和求和函数写单元测试代码;(2)连接数据库,写出单元测试代码来测试求...

    单元测试报告模板.doc

    《×××单元测试报告》是对软件开发过程中某一模块或组件进行独立验证的文档,它详细记录了单元测试的过程、结果以及可能遇到的问题。单元测试是软件开发中的关键环节,旨在确保代码的各个部分按预期工作,从而提高...

    单元测试之重要

    为什么要做单元测试? 单元测试工具之winams caseplay2 工具如何使用

    软件测试基础-单元测试

    测试依据是详细的软件设计文档,测试方法以白盒测试为主,结合静态代码审查和动态运行测试。 #### 单元测试的主要任务 单元测试的核心任务聚焦于五大方面: 1. **模块接口测试**:确保模块间的通信无误,检查数据...

    JUnit单元测试原则 单元测试工具

    ### JUnit单元测试原则与工具详解 #### 一、单元测试概述 单元测试(Unit Testing)是一种软件测试方法,主要用于验证程序中的最小可测试单元(通常是单个函数或方法)是否按预期工作。对于Java这样的面向对象语言来...

Global site tag (gtag.js) - Google Analytics