如何对代码进行重构:重构代码的7个阶段

  你曾去想重构一个很老的模块,但是你只看了一眼你就恶心极了。文档,奇怪的函数和类的命名,等等,整个模块就像一个带着脚镣的衣衫褴褛的人,虽然能走,但是其已经让人感到很不舒服。面对这种情况,真正的程序员会是不会认输的,他们会接受挑战认真分析...

如何对数据源层进行单元测试

  在典型的三层架构中,有一个独立的数据源层。主要是用来进行数据的持久化。当然,绝大部分都是数据都是存储在关系数据库中。我们一般会使用DAO模式来屏蔽数据存、取的细节,它只是暴露接口给调用它的业务逻辑层,具体接口的实现会有很多种方式,比如:...

单元测试学习笔记 之五

  第五章 如何开发测试用例   5.1 开发测试用例的基本策略   在软件测试中,有两种不同的测试思路,它们分别是功能性测试和结构性测试。   功能性测试,也称为黑盒测试,其基本理念是:任何程序都可以被看作是将输入定义域取值映射到输出值域的...

单元测试学习笔记 之四(图)

  第四章 高质量的测试代码   4.1 测试代码同样要有高质量   有的开发人员认为,测试代码不是交付给最终用户的产品代码,只是内部测试使用的,因此其质量比产品代码低一点也无可厚非。我们认为这是一个错误的观点。   首先,虽然测试代码不会被...

单元测试学习笔记 之三

  第三章 单元测试的工具——测试框架   3.1 常用的单元测试框架   工欲善其事,必先利其器。程序员在写单元测试代码时,如果能借助一些单元测试框架,那么使单元测试代码的书写、维护、分类、存档、运行和结果检查变得更为容易,从而成倍地提高工...

单元测试学习笔记 之二(图)

  第二章 单元测试的基本概念和核心技法   2.1 良好的单元测试——定义   我们已经了解了程序员需要单元测试,下面我们来给单元测试作一个完整的定义:   ● 定义: 单元测试是一段自动执行的代码,它调用被测类或被测方法,然后验证关于被测类...

单元测试学习笔记 之一

  第一章 为什么使用单元测试   1.1 程序员的工作——修改软件   修改既有代码是程序员谋生的手段。但是为什么我们需要去修改软件呢?修改软件有以下4个主要起因:   ● 修正bug   ● 添加新特性(feature)   ● 改善设计   ● 优化资...

PHP单元测试利器:PHPUNIT初探

  你是否在程序开发的过程中遇到以下的情况:当你花了很长的时间开发一个应用后,你认为应该是大功告成了,可惜在调试的时候,老是不断的发现bug,而且最可怕的是,这些bug是重复出现的,你可能发现这些bug之间会有关联,但却老是找不到问题的所在。  ...

梦想成现实:用xUnit.net在单元测试中实现构造函数依赖注入(图)

  自从将开发架构迁移至DDD(领域驱动开发),就开始正式使用“构造函数依赖注入”,由CNBlogs.Infrastructure.CrossCutting.IoC(IoC容器抽象层,目前默认容器用的是Unity)负责。   通过构造函数进行依赖注入,避免了在代码中针对所依赖的接口创建相...

一个通用的单元测试框架的思考和设计05-实现篇-Guice框架启动与自动注入

  这篇文章将继续上一篇的问题,实现我们的iunit框架与Guice框架的整合,这个模块主要用于那些用Guice来做DI容器的项目做测试用的,包括guice框架的启动与在测试类中自动注入@Inject标注的字段   1. 目标测试类的庐山真面目   packagecom.cr...

一个通用的单元测试框架的思考和设计04-实现篇-测试数据自动插入删除

  上篇文章罗列了整个框架的核心接口,这篇文章将提供IunitExecutionListener的一个实现类-DatasetProviderListener,主要用来将测试数据插入到数据库中,待测试完成后自动删除数据   1. dbunit为核心的db测试   dbunit是个很好的数据库测试框架,...

一个通用的单元测试框架的思考和设计03-实现篇-核心类源码

  第二节里我们介绍了iunit整体的设计思路以及核心类之间的关系,这篇将以源码+解释的方式来演示核心类的实现方式   1. IUnitRunner类   这个类是测试的入口类,直接继承自junit4。8的BlockJunit4ClassRunner,在构造函数里,我们把iunit框架的扩展...

一个通用的单元测试框架的思考和设计02-设计篇(图)

  第一节里介绍了我们框架设计的目标,这篇主要介绍的是这个框架主要的设计思路和关键技术点   1. 如何扩展junit的功能,使junit在启动时可以做一些我们定制化的功能?   junit4建立了以Runner为核心的测试框架运行机制,在junit3的版本中,我们知...

一个通用的单元测试框架的思考和设计01-思考篇(图)

  1. 先从问题说起   写过程序的同学都知道,做好单元测试提高代码覆盖率对整个项目意味着什么,但是做好单元测试并不是一件那么简单的事情,因为实际业务逻辑和运行环境的复杂性,导致了我们的单元测试代码不可能都像那些helloWord那么简单,比如现在...

单元测试做好的关键是什么?

  问题描述:   单元测试做好的关键是什么?   精彩答案:   会员 becky07:   执行单元测试,就是为了证明这段代码的行为和我们期望的一致。 进行充分的单元测试,是提高软件质量,降低开发成本的必由之路。   要做好单元测试应该抓好三...

单元测试意识与软件质量

  软件质量对软件公司来说是生存之根本,而怎样的质量管理能把软件的bug消除到最低程度?这是一个很大的问题,微软企业方法是“以测试为核心”!   测试能大大提高软件质量,测试有单元测试、集成测试、性能测试、压力测试、用户验收测试(UAT)、回归...

简述用VS Team Edition进行单元测试(图)

  MicrosoftVisualStudioTeamSystem集成了多种功能,这些功能用于创建高质量代码。其中一项功能用于实现单元编码测试。执行单元测试能够实现测试驱动开发,另一项有用的功能是测试私有方法。在本文中,首先从测试驱动开发技术开始讲解,因为这是敏捷开发...

单元测试------入门篇

  前面的一篇文章(单元测试------理论篇)讨论了什么是单元测试、单元测试的优点并列举了很多不写单元测试的借口。如果你同意我们的观点,认同单元测试确实是软件开发中不可缺少的过程,那么我们就开始单元测试之旅吧!   一个比较最大值的函数   ...

深入理解gtest:C/C++单元测试经验谈(图)

  GoogleC++TestingFramework(简称gtest,http://code。google。com/p/googletest/)是Google公司发布的一个开源C/C++单元测试框架,已被应用于多个开源项目及Google内部项目中,知名的例子包括ChromeWeb浏览器、LLVM编译器架构、ProtocolBuffers数据交...

浅谈测试---单元测试(图)

  在做项目当中发现很多开发人员没有单元测试的习惯,往往是写完代码后直接右键——commit,然后就完事大吉。这样做的严重后果就是在开发后期的集成测试中Bug百出,而且都是类似于变量忘记赋值、字符串拼接错误、界面忘记显示全部信息等等一系列非常小的...

分享到朋友圈
打开微信,点击底部的“发现”,
使用“扫一扫”即可将网页分享至朋友圈。

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号