跳过正文
  1. 博客/
  2. 随笔/
  3. 编程/

TDD测试开发理解

·3 分钟· ·
随笔 编程 TDD
目录

看了 « Python Web 开发 测试驱动方法» 以后, 感觉自己找到自己的一些项目之所以不能够很好的 维护下去的原因.总结了一下自己的理解, 记录下来.

什么是 TDD
#

Test-Driven Development

TDD 是一种以测试为驱动开发的方法, 自己以前也听到过这个名词, 但是平常只是稍微写一点测试,并没有让测试领导开发节奏.

简单来说TDD是先写测试再写代码, 这于我们平时开发的时候有很大不同,比如我们写一个web页面, 我们一般是先写好代码,然后在浏览器上调试(相当于测试),然而测试驱动开发就不同了,我们一开始只写测试, 然后写代码让他通过我们的测试.

TDD的主题基本上很多人都知道,但是具体步骤和诀窍很多人不明就里.下面来详细介绍怎么让Test
引导你的开发.

怎么进行TDD
#

首先让我来看一看Test是什么, Test 分两种

  1. 功能测试
  2. 单元测试

功能测试
#

很多人知道单元测试却很少听到功能测试, 功能测试在开发过程中经常被人忽略,但是功能测试能很好的把握开发方向

功能测试就是从用户角度出发, 从用户的角度测试代码.

用web项目开发来打比方, 用户只能通过浏览器来浏览你的web, 所有的交互只能通过浏览器来实现,功能测试就是模拟用户进行浏览器上的操作,具体来说我们可用使用selenium来操控firefoxchrome,通过我们使用selenium提供的接口操作浏览器访问页面获取html, 来进行功能测试.

功能测试就是测试一个项目成品的功能, 在平常的项目开发中,这个测试往往是提到项目完成之后人工进行, 然而在TDD中这个却被提到了最前面,他成了一个风向标,所有的代码目的都是为了实现这个功能测试.

单元测试
#

单元测试这个很多人都很了解, python里面有unittest 这个单元测试框架.就是专门为单元测试而开发的.

单元测试历史悠久,很多人都写过单元测试,不过大部分人写单元测试都是在函数或者类完成之后写的.

在TDD中,单元测试进行最频繁的测试, 在功能测试完, 写每一个函数都提倡先写单元测试, 然后进行开发.

单元测试关注点与功能测试不同, 单元测试注重的是每一个函数执行的结果, 给定一个输入就一定要得到一个确定的输出,比功能测试他更关注底层代码,毕竟功能测试只关注用户最后得到结果,单元测试将你的代码函数形成一个单元,逐个运行,逐个测试.

前面介绍了一大堆概念,却没有落到实处, 功能测试很简单,我们评价一个项目,能很快的写出测试方法,但是对于单元测试来说,我到底该怎么进行,这同我平时的开发有什么不同,下面就详细的介绍单元测试的几个重要的要点.


留个坑慢慢填.

相关文章

js的this引发的思考
·2 分钟
随笔 编程
最近这几天在开发一个hmtl5的游戏, 但是对于js怎么使用面对对象来编程有点困惑,查了一些资料 整理如下.
泛型继承的理解
·1 分钟
随笔 编程
泛型对于解决面对对象编程的算法设计可以提高其运算速度,但是对于引用类型来说还是没什么差别,因为引用类型只是指针的地址的调用,简单来说泛型还是挺好理解的,但是对于泛型、非泛型、继承和接口的融合就有些迷惑了。 # 比如说这种接口 # public interface IEnumeratot<T>:IDisposable,IEnumerator,ICompare<T> 这个泛型接口继承了两个非泛型接口,和一个泛型接口。 # 我一开始理解泛型就是一个个模型,只要我们把类型一个参数赋给他,他就能生成一个标准的类型,他缺少的只是一个参数而已,我们引用的时候感觉就像我们引用一个“全体方法”,把参数赋给类型后就可以一直调用类中的方法了,但是对于接口的继承如何理解? # 对于泛型类的继承,继承的类必须实现泛型的参数或者保留泛型的参数,比如下面
关于技术栈的总结
·3 分钟
随笔 人生
这段时间重新学习了web前端的技术栈,其实一开始加入社团时就是从前端开始入门的,等到了会仿写几个页面后就跳到了后端的坑,从html、css、js(只学了一点)又马不停蹄的转到.net平台、后来在老司机的带领下我们放弃了不开放的.net平台投入了python的怀抱
《我编程,我快乐:程序员职业规划之道读后感
·3 分钟
随笔 人生
一眨眼,四年过去了,再过几年就到了三十而立的年龄了,年轻的时候走马观花, 好像一直为了学习而学习,为了规划而规划,在经过被社会的毒打之后, 自己眼睛里面好像也没有当年的光了
八月杂感
·1 分钟
随笔 人生
一眨眼暑假就要过完了,这段博客又停下来了,倒不是因为我停下来学东西,而是我又忘了去归纳总结自己学的东西,总是一个鲁莽的心态去学,总感觉停下来会阻挡自己学习的脚步,但是其实写博客也是学习,把自己的学到的知识转换成自己的东西,写出来的过程就是帮自己的过程,其实这个方法也是一个非常牛逼的学习的方法叫做费尔曼学习法
<<机器学习实战>>心得.
·2 分钟
AI 心得
先谈谈我对机器学习的理解 # 什么是机器学习? # 我们人类有从婴儿开始就开始学习,父母教我们穿衣吃饭、老师教我们读书写字,我们开始能辨别好人坏人,开始通过自己的经验来判断新事物。