什么是测试驱动开发

1:传统的编码方法

2:测试驱动开发

它的特点如下

2.1:编写一个失败的单元测试,来证明产品代码中存在缺陷,来进行修复这个缺陷

比喻我们要实现一个用户的添加方法User.Add,我们就会写一个测试方法来验证这个User.Add。当然在最初的测试肯定会失败,因为我们根本就没有

编写User.Add的编码所以运行失败以后我们就会去实现这个编码,直到通过为止

2.2:编写符合测试预期的代码,是测试通过

2.3:重构代码

第一次我们的编码肯定是为了完成功能可能可读性,规范效率还不是很好,所以我们会不停的重构自己代码直到编写出好的编码。

3:单元测试的优点:

3.1:快速找出项目中存在的bug

因为在编码中我们自己手动测试不具有普遍性,比喻验证null,没有加入判断,很多代码就是天马行空,这样在其他人测试之后到处都是bug,不停反复的修改就是改不完,开始加班加班

导致大家士气低落。等产品上线以后每天都要应付各种bug非常疼苦。所以早期加入单元测试这样一来就会减少大多这样的麻烦

3.2:代码重构

重构我们都不陌生,为什么重构呢,因为不重构实在是没法看了,或是命名规则,或是方法过长,或是效率低下等等,但是如果我们不加入单元测试,你这么一重构,又要手动点着去测试

项目提交之后又出现新的bug,可能和你合作人就会抱怨,天天重构,现在出了问题吧。团队就会出现抱怨,最后的后果大家都不去重构代码,明知道那不对。所以单元测试在重构占着很重

的地位

优点是个人观点。熟悉TDD的可以给建议

以上图是参考单元测试的艺术。

时间: 2024-10-14 17:20:12

什么是测试驱动开发的相关文章

Scrum敏捷软件开发之技术实践——测试驱动开发TDD

重复无聊的定义 测试驱动开发,英文全称Test-Driven Development,简称TDD,是一种不同于传统软件开发流程的新型的开发方法.它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行.这有助于编写简洁可用和高质量的代码,并加速开发过程.(来源百度百科) 重复无聊的过程 测试驱动开发的基本过程如下: 快速新增一个测试(编者注:并非快速) 运行所有的测试(有时候只需要运行一个或一部分),发现新增的测试不能通过 做一些小小的改动,尽快

测试驱动开发TDD(一)TDD的好处及介绍

背景 一个高效的软件开发过程对软件开发人员来说是至关重要的,决定着开发是痛苦的挣扎,还是不断进步的喜悦.国人对软件蓝领的不屑,对繁琐冗长的传统开发过程的不耐,使大多数开发人员无所适从.最近兴起的一些软件开发过程相关的技术,提供一些比较高效.实用的软件过程开发方法.其中比较基础.关键的一个技术就是测试驱动开发(Test-Driven Development).虽然TDD光大于极限编程,但测试驱动开发完全可以单独应用.下面就从开发人员使用的角度进行介绍,使开发人员用最少的代价尽快理解.掌握.应用这种

软件工程 - Test-Driven Development (TDD),测试驱动开发

参考 https://baike.baidu.com/item/%E6%B5%8B%E8%AF%95%E9%A9%B1%E5%8A%A8%E5%BC%80%E5%8F%91/3328831?fr=aladdin https://en.wikipedia.org/wiki/Test-driven_development https://github.com/mjhea0/flaskr-tdd 总结 先写测试,然后写程序pass掉测试,that is 测试驱动开发. TDD usually foll

TDD测试驱动开发

TDD测试驱动开发 一.概念 TDD故名思意就是用测试的方法驱动开发,简单说就是先写测试代码,再写开发代码.传统的方式是先写代码,再测试,它的开发方式与之正好相反. TDD是极限编程的一个最重要的设计工具之一,使得我们编码的目的更加明确.而极限编程的另一个最重要的工具—重构.重构改变的是代码的内部结构,而不会改变外部接口功能.一整套完备的测试用例可以保证我们的程序更加健壮,功能更加完善. 二.作用 站在用户使用的角度去思考如何完成产品设计,强迫开发人员事先思考完善的测试用例并提供不考虑细节的外部

Cucumber测试驱动开发

Cucumber是一种BDD实践开发工具,属于敏捷开发的组成部分. 在敏捷开发中,对用户进行需求分析时,不是像传统的P&D的开发方式,首先编写大量的用户需求分析文档,而是通过一个个User Story来进行用户需求的分析. User Story的编写,也就是Cucumber的Gherkin编写.由一个个feature组成.User Story的编写应该符合SMART原则,即简明详细.可测量.可以在一个迭代内实现.有商业价值,并且可测试. BDD开发流程 首先应该在编写具体的代码前,先编写测试文件

测试驱动开发TDD(二)开源测试框架CppUnit

背景 CppUnit 是个基于 LGPL 的开源项目,最初版本移植自 JUnit,是一个非常优秀的开源测试框架.CppUnit 和 JUnit 一样主要思想来源于极限编程(XProgramming).主要功能就是对单元测试进行管理,并可进行自动化测试.这样描述可能没有让您体会到测试框架的强大威力,那您在开发过程中遇到下列问题吗?如果答案是肯定的,就应该学习使用这种技术: 测试代码没有很好地维护而废弃,再次需要测试时还需要重写: 投入太多的精力,找 bug,而新的代码仍然会出现类似 bug: 写完

测试驱动开发TDD(三)开源测试框架的选择

http://www.qnr.cn/pc/rj/zhongji/ruanze/201008/523311.html  * http://www.uml.org.cn/Test/201006085.asp ** http://blog.csdn.net/jq0123/article/details/5479998 *** 最终选择Google的GTest作为我们开发的测试框架.

我看TDD测试驱动开发

今天在实验室给大家介绍了一下TDD和Docker,大家对TDD都比较感兴趣,包括老板,也问了一些问题. 还是从头来说TDD吧,TDD作为敏捷开发领域的领头军,充满魅力,同时也充满争议.一切从三大军规说起: 除非这能让失败的单元测试通过,否则不允许去编写任何的产品代码. 只允许编写刚好能够导致失败的单元测试. (编译失败也属于一种失败) 只允许编写刚好能够导致一个失败的单元测试通过的产品代码. 上面这三个是网上找的中文翻译,回来后,我还是决定要把英文原文找出来,相对与上面三句拗口蹩脚的翻译,我相信

Visual Studio下使用NUnit进行测试驱动开发

在Visual Studio 2015中集成的MSTest可以用于单元测试. 在项目中,选中需要测试的方法,点击鼠标右键,选择弹出菜单中的[创建单元测试],按照默认设置,即可自动新建一个测试项目. 需要注意的是,只能对puglic的方法进行测试. 但是,我还是比较喜欢NUnit的测试框架,毕竟从JUnit到NUnit,使用起来还是那种熟悉的味道比较好一些.下面介绍一下如何在VS2015中集成NUnit测试框架. 还是先下载NUnit的Nuget包,下载的方法可以看我前面介绍过的文章. 安装NUn