`
rocket
  • 浏览: 92222 次
  • 性别: Icon_minigender_1
  • 来自: 金城
社区版块
存档分类
最新评论

单元测试究竟是测试什么?

阅读更多
昨天在公司内部开会,分享我的单元测试经验,当我在提到有关dao的增删改操作一般是直接使用HibernateTemplate的相关方法,所以没有必要对相关dao方法进行测试时。
public void saveComment(CsComment comment) {
        getHibernateTemplate().saveOrUpdate(comment);
    }

就此引发了一场争论,有同事提出疑问说,为什么不需要对增删改方法进行测试,增删改方法也是DAO中一个具体实现功能,那么针对于这个功能就应该进行测试。

对于这个问题,我的理解是,首先应该明确单元测试的目的是什么,究竟是测试功能,还是测试代码
如果要测试功能,那么一个功能应该是纵向的,dao,bl,action都会有相应的增删改方法,那么3者之间的测试又有什么不同呢?
所以,单元测试,就是在检测你的代码,如果你的一个方法只是简单的对其他的方法调用,如上面这个方法,那么我认为就没有必要花费这个代价来进行单元测试,我们不是为了写测试代码而写单元测试,单元测试保证的是我的代码质量,不是在测试我的功能。功能测试是由相应的功能测试来完成。

rocket 2007-02-07 14:41 发表评论
分享到:
评论
2 楼 rocket 2008-12-25  
guoapeng 写道

为什么不用测试呢,异常是多种多样得,比如出现这样的情况,数据库中对应的表没有创建,你的HibernateTemplat 再健壮,能保证不出错吗; 如果这时你写个简单的测试用例就能发现这种错误何乐而不为呢. 个人觉得楼主太死扣,单元测试能测到某个功能为什么不测呀,就像你家的菜刀,通常是用来切菜的,你就不能拿来削削水果呀,家里进来贼了,你会说这是切菜的刀,不能拿来防贼,去买把防贼刀吗? 用一句很通俗的话说你这叫刚愎自用.


呵呵,谢谢啊,刚才我又回头看了一遍文章,当时是有点tdd走火入魔了。
其实是没人教啊,自己琢磨了一路过来,走了不少弯路。
1 楼 guoapeng 2008-12-24  
为什么不用测试呢,异常是多种多样得,比如出现这样的情况,数据库中对应的表没有创建,你的HibernateTemplat 再健壮,能保证不出错吗; 如果这时你写个简单的测试用例就能发现这种错误何乐而不为呢. 个人觉得楼主太死扣,单元测试能测到某个功能为什么不测呀,就像你家的菜刀,通常是用来切菜的,你就不能拿来削削水果呀,家里进来贼了,你会说这是切菜的刀,不能拿来防贼,去买把防贼刀吗? 用一句很通俗的话说你这叫刚愎自用.

相关推荐

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

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

    Tessy单元测试提高软件质量

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

    软件单元测试报告.doc

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

    单元测试说明模板

    单元测试说明模板 单元测试是一种软件测试方法,它通过在单元层面上对软件的每个组件进行测试,以确保每个组件都能正确地执行其功能。单元测试是软件测试的基础,是软件开发过程中不可或缺的一部分。 单元测试的...

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

    在软件开发过程中,单元测试是一项至关重要的质量保证活动,它能帮助开发者确保代码的正确性和稳定性。本资源“软件单元测试入门与实践”由周立功撰写,专注于C和C++编程语言,提供了对单元测试的基本理解及实际操作...

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

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

    什么是单元测试?如何做好单元测试?

    什么是单元测试?如何做好单元测试? 单元测试是指,对软件中的最小可测试单元在与程序其他部分相隔离的情况下进行检查和验证的工作,这里的最小可测试单元通常是指函数或者类。   单元测试都是以自动化的方式执行...

    .Net 单元测试案例

    在.NET开发过程中,单元测试是一项至关重要的任务,它有助于确保代码的质量、可维护性和稳定性。单元测试允许开发者独立地测试代码的各个部分,确保每个功能模块都能按预期工作。本案例将深入探讨如何在.NET环境中...

    单元测试、集成测试、系统测试的区别?

    根据不同的测试目的与范围,可以将测试分为单元测试、集成测试以及系统测试等不同阶段。本文将详细探讨这三种测试的区别及其各自的特点。 ### 单元测试 单元测试(Unit Testing)主要关注于对软件中的最小可测试单元...

    Android单元测试的小例子

    在Android开发中,单元测试是确保代码质量、可维护性和减少缺陷的重要环节。这个小例子将引导我们了解如何在Android项目中设置和执行单元测试。首先,我们需要知道Android的单元测试框架主要有两个:JUnit和 ...

    单元测试报告模板.doc

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

    单元测试

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

    单元测试实例(C#版)

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

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

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

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

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

    单元测试相关文档两则_wwt

    本压缩包包含两份关于单元测试的文档,分别为“单元测试.doc”和“单元测试基础知识.mht”,这两份文档详细介绍了单元测试的执行方法和基础理论。 首先,单元测试的基本概念需要理解清楚。单元测试是对软件中的独立...

Global site tag (gtag.js) - Google Analytics