测试驱动开发(TDD)
发布日期:2022-04-02 18:15:36
浏览次数:4
分类:博客文章
本文共 934 字,大约阅读时间需要 3 分钟。
2017-08-01 20:03:48
测试驱动开发,英文全称Test-Driven Development,简称TDD,是一种不同于传统软件开发流程的新型的开发方法。它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行。这有助于编写简洁可用和高质量的代码,并加速开发过程。
一、测试驱动开发的基本思想
在开发功能代码之前,先编写测试代码,然后只编写使测试通过的功能代码,从而以测试来驱动整个开发过程的进行。这有助于编写简洁可用和高质量的代码,有很高的灵活性和健壮性,能快速响应变化,并加速开发过程。
测试驱动开发的基本过程如下:
① 快速新增一个测试
② 运行所有的测试(有时候只需要运行一个或一部分),发现新增的测试不能通过
③ 做一些小小的改动,尽快地让测试程序可运行,为此可以在程序中使用一些不合情理的方法
④ 运行所有的测试,并且全部通过
⑤ 重构代码,以消除重复设计,优化设计结构
二、生动释义
盖房子的时候,工人师傅砌墙,会先用桩子拉上线,以使砖能够垒的笔直,因为垒砖的时候都是以这根线为基准的。TDD就像这样,先写测试代码,就像工人师傅先用桩子拉上线,然后编码的时候以此为基准,只编写符合这个测试的功能代码。而一个新手或菜鸟级的小师傅,却可能不知道拉线,而是直接把砖往上垒,垒了一些之后再看是否笔直,这时候可能会用一根线,量一下砌好的墙是否笔直,如果不直再进行校正,敲敲打打。使用传统的软件开发过程就像这样,我们先编码,编码完成之后才写测试程序,以此检验已写的代码是否正确,如果有错误再一点点修改。你是希望先砌墙再拉线,还是希望先拉线再砌墙呢?如果你喜欢前者,那就算了,而如果你喜欢后者,那就转入TDD阵营吧!
三、单元测试
单元测试(unit testing)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。例如,你可能把一个很大的值放入一个有序list 中去,然后确认该值出现在list 的尾部。或者,你可能会从字符串中删除匹配某种模式的字符,然后确认字符串确实不再包含这些字符了。
转载地址:https://www.cnblogs.com/hyserendipity/p/7270416.html 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2024年03月25日 23时42分02秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
SIFT特征匹配算法介绍——寻找图像特征点的原理
2019-04-27
边缘检测之Canny
2019-04-27
景深(DOF)
2019-04-27
打开Excel文件时出现提示:“向Excel发送命令时出现错误”解决方案
2019-04-27
Cesium中的相机—YawPitchRoll
2019-04-27
FFmpeg 将视频分解成多张图片以及多张图片合成视频
2019-04-27
几何重数与代数重数
2019-04-27
用OpenCV调用手机摄像头
2019-04-27
Python range() 函数用法
2019-04-27
SCI 投稿全过程信件模板一览(出处不详,仅供参考)
2019-04-27
OpenCV--CvMemStorage
2019-04-27
k-d tree算法原理及实现
2019-04-27
Markdown--编辑表格与矩阵
2019-04-27
小波变换(wavelet transform)的通俗解释(二)
2019-04-27
小波变换(wavelet transform)的通俗解释(三)
2019-04-27
markdown与word相互转换的快捷方法
2019-04-27
Lanczos插值,最邻近插值,双线性二次插值,三次插值
2019-04-27
数字图像处理-- 图像的统计方法
2019-04-27