`
wuhua
  • 浏览: 2113900 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

单元测试之实践一,关于设计的常见分层

阅读更多
        我做过的项目不多。也就几个。做项目的经历是个学习的过程。
       第一个项目,纯Jsp,没有任何的java类,当时就觉得好郁闷啊。做久了,根本找不到北。
       第2个项目:开始会用些javabean来做了。但是还是一个字好乱。
       第3个项目:开始使用hibernate, 只是对数据库层做了些简单的封装,修改起来比较好了点
       第4个项目:研究Webwork+spring+hibernate。终于实现了所谓的MVC了。哈哈,该起程序来终于开始有点爽了。
      第5个项目: 开始引入了单元测试,现在还在很懵懂在学习中,为了更好的测试,我们开始努力写出更高质量的代码。所以对软件的分层更细致了些。

      我们可以从测试来分出上的设计的好坏。
      1,纯jsp,根本无从单元测试,我想就是那些大牛们也很难写出这样的测试代码吧
      2,对于纯粹只有get/set的javabean而言,我想应该是没有必要做单元测试的。如果有逻辑代码的话,测试起来也是相当困难的,因为你不知道里面的逻辑代码跟多少个类大了交道,你会为了测试这段代码,建立相关的环境,比如启动EJB,Web容器等。跟难预料的是,跟你耦合的类未必就是正确的,其实你的测试代码跟你的javabean逻辑是对的,但是因为你引用的类(也就是耦合类)的逻辑是错误的,这将导致你的测试是个红色,“真的很抱歉,其实我也不想这样的,单元测试说”。 这样就足以证明是你的设计问题了。并不是单元测试的问题。所以说第个项目测试是很难测是的。只是比不能测试好一点点。
      3,至于第3个跟第2个差不多。
      4,第4个由于对每个层做了细致设计,所以设计测试代码容易点,而且可以通过easymock等工具进行分层测试,这样可以做到更细粒度的测试,对测试覆盖率也是很有帮助的。下面我将主要通过第4个项目的用户注册例子来讲单元测试的各个方面。

先看下,源代码的包结构。


接下来看下流程图。
可以很清楚的知道,没一层做些什么工作,接下的文章,我将会根据我的设计习惯,一一给出他们相应的测试代码。希望高手们指教。
我不会绘制UML图,所以只好手工来画,可惜手机像素不高,所以。。。。


  • 大小: 18.9 KB
  • 大小: 368.8 KB
  • src.rar (7 KB)
  • 描述: 现在把用例代码贴出来,里面的代码只是java,没有视图的。
  • 下载次数: 111
分享到:
评论
3 楼 fanth 2007-04-25  
楼主写的内容跟题目不太符合,src.rar里也没有找到单元测试的影子。
2 楼 sunnyshuhai 2007-04-25  
??个人觉得再简单的应用,都应该有分。至少在方法层面,类层面,包层面中选择一个。这样结构更清晰,至于测试,要在设计的时候就要考虑如何支持测试。
1 楼 withoutmewang 2007-04-23  
感觉楼主的字和我的很象。。。 哈

相关推荐

    iOS单元测试最佳实践

    iOS单元测试最佳实践涉及的方面比较广泛,从测试策略的制定到具体测试框架的使用,再到应用的分层架构设计,都有所涵盖。 首先,iOS单元测试策略是指在编写测试用例前,对于测试目的、测试范围以及测试方法的预先...

    分层架构的单元测试

    在软件开发中,分层架构是一种常见的设计模式,它将应用程序划分为多个独立的层,每个层负责不同的功能,如表现层、业务逻辑层、数据访问层等。这样的设计有利于代码的可读性、可维护性和模块化。单元测试则是确保每...

    实用软件单元测试指导

    - **JUnit**:Java语言中最流行的单元测试框架之一。 - **pytest**:Python语言中的一个强大且灵活的测试框架。 - **NUnit**:.NET平台上的单元测试框架。 - **PHPUnit**:PHP语言中的单元测试框架。 这些工具提供...

    分层自动化测试的七种武器-深圳敏捷之旅

    本文通过深圳敏捷之旅中的分享,深入探讨分层自动化测试的概念及其在实际项目中的应用策略,旨在帮助读者厘清自动化测试的方向,避免常见的误区。 #### 二、自动化测试面临的挑战 1. **成本问题**:自动化测试脚本...

    软件测试系列最佳实践

    第四章介绍了几种常见的测试用例设计方法,旨在帮助测试人员更系统地创建有效的测试用例。 - **4.1 从需求到测试用例**:阐述了如何根据软件需求文档设计相应的测试用例,确保测试活动能够全面覆盖所有需求点。 - *...

    百度探索性测试工程化实践

    ### 百度探索性测试工程化实践 #### 一、背景与重要性 ...这一实践充分证明了探索性测试作为一种高效测试手段的重要性和实用性。对于希望改善测试流程的企业来说,百度的经验无疑具有重要的借鉴意义。

    .Net分层架构设计

    .NET框架中的分层架构设计是一种常见的软件开发模式,它旨在提高代码的可读性、可维护性和可扩展性。在.NET开发中,分层架构通常包括数据访问层、业务逻辑层、表示层(或用户界面层)等部分,每个层次都有特定的责任...

    5个常见的软件测试面试题

    - 理解基本的测试理论和实践,如测试生命周期、测试用例设计等。 - 具备客观、公正的态度,寻找并报告问题,而非刻意挑刺。 - 能够理解和解读需求规格说明书、设计文档等技术文档。 - 从用户角度出发,模拟用户...

    分层构架设计指导范例

    分层架构设计是一种常见的软件开发模式,它将复杂的系统分解为多个独立的、有特定职责的层次,每个层次都专注于某一类任务,从而提高代码的可读性、可维护性和可扩展性。在这个"分层构架设计指导范例"中,我们将深入...

    NET应用架构设计原则、模式与实践

    3. **分层架构**:常见的.NET应用架构之一是分层架构,包括表示层、业务逻辑层和数据访问层。这种架构将应用的不同组件分离,每个层都有明确的责任,有利于团队协作和代码管理。 4. **微服务架构**:随着技术的发展...

    基于模式的分层分布式系统架构的设计研究.pdf

    在多层分布式系统架构设计中,层次化架构设计模式是一种常见的方法,其特点是系统各组件之间的层次性明确。例如,MVC(Model-View-Controller)模式就是一种流行的设计模式,它通过将数据模型、视图和控制器分离,...

    程序设计实践[裘宗燕]

    《程序设计实践[裘宗燕]》是一本深入探讨软件开发规范与实践的书籍,旨在指导程序员遵循良好的编程习惯,提升代码质量和可维护性。在软件开发过程中,无论是新手还是经验丰富的开发者,都需要理解并遵守一定的规则和...

    实践专周标准设计报告(学生用-示例).

    实践专周是高等教育中一种常见的教学模式,旨在让学生通过实际操作和项目设计,提升专业技能和团队协作能力。这份“实践专周标准设计报告”是一个示例,适用于电子科技大学成都学院计算机系的学生,用于指导他们如何...

    一个完整的分层架构BBS系统源码

    总的来说,这个BBS系统源码是一个很好的学习资源,它展示了如何将分层架构和设计模式有效地应用于实际项目中,提供了理论与实践相结合的学习机会。通过研究源码,我们可以提升自己的软件设计和开发能力,尤其是对于...

    Struts2之模型驱动及分层架构初识案例struts004

    分层架构是软件工程中常见的设计模式,通常包括表示层(视图)、业务逻辑层(模型)和数据访问层(持久化)。在Struts2框架下,表示层主要由JSP或FreeMarker模板构成,负责用户界面的呈现;业务逻辑层通常由Action和...

    基于区块链及分层加密技术的数据传输控制系统设计.pdf

    本文主要探讨了一种基于区块链和分层加密技术的数据传输控制系统的设计,旨在改进相邻结构组织间数据流通的响应调度状态,确保信息参数的无损传输。该系统通过集成多种硬件元件和加密策略,实现了高效、安全的数据...

    分层的结构

    在IT领域,分层结构是一种常见的系统设计模式,它将复杂的应用程序或系统分解为多个独立的层次,每个层次负责特定的功能。这种架构允许模块化,使得开发、维护和扩展变得更加容易。以下是对分层结构的详细解释: 一...

    C#分层开发

    在IT行业中,分层开发是一种常见的软件架构设计模式,它将复杂的系统分解为多个相互独立、职责明确的层次,以提高代码的可读性、可维护性和可扩展性。C#作为.NET框架的主要编程语言,非常适合进行分层开发。本篇文章...

    深入.net平台的软件系统分层开发第一章

    分层架构是一种常见的软件设计模式,它将复杂的系统分解为多个相互协作的独立层次,每个层次都有其特定的职责和功能。这种设计方式有助于提高代码的可读性、可维护性和可扩展性。 第一章通常会涵盖以下几个关键知识...

Global site tag (gtag.js) - Google Analytics