当前位置: 首页 > news >正文

小程序软件开发优化大师官方免费下载

小程序软件开发,优化大师官方免费下载,深圳一元购网站建设,可视化网站建设平台测试驱动开发(TDD) 本篇文章简单叙述一下什么是测试驱动开发,以及怎么进行测试驱动开发! TDD (Test Driven Development):(源于极限编程(XP))在不…

测试驱动开发(TDD)

本篇文章简单叙述一下什么是测试驱动开发,以及怎么进行测试驱动开发!

TDD (Test Driven Development):(源于极限编程(XP))在不同的场景和不同的角色中的对 TDD 的认知可能会有不同。

  • 有人可能会理解成 ATDD(Acceptance Test Driven Development);
  • 也有人可能会理解成 UTDD(Unit Test Driven Development)

为了避免产生歧义,文章中涉及到的 TDD 名词专指 UTDD(Unit Test Driven Development),即 「单元测试驱动开发」

什么是测试驱动开发

Kent Beck 的著作《测试驱动开发》中说:“测试驱动开发不是一种测试技术。它是一种分析技术、设计技术,更是一种组织所有开发活动的技术”。

由此可看:TDD 不是一种简单的通过单元测试来驱动代码的开发,然后在优化内部代码逻辑的方法,而是一种有机的技术结合。

  1. 分析技术:

    • 将问题分析成为一个个可操作的任务模块。
  2. 设计技术:

    • 测试驱动代码的设计和功能实现,然后驱动代码的重构。持续改善海马。

TDD 的目标

Kent Beck 在他的著作《Test-Driven Development》一书中提到:“代码简洁可用这句言简意赅的话,正是 TDD 所追求的目标”。

对于保证代码的 简洁可用,可以采用分治的思想去实现,先达到 可用 目标,在思考如何 简洁。

TDD 的规则

在 TDD 的编码中,需要遵循两条简单的规则:

  1. 仅在自动测试失败时才编写新代码
  2. 消除重复设计(去除不必要的依赖关系),优化设计结构(逐渐使代码一般化)

即 可用,简洁!

TDD 的口号/原则

请添加图片描述

简单来说,不可运行 -> 可运行 -> 重构——这正是测试驱动开发的口号,也是 TDD 的核心。在这个闭环中,每一个阶段的输出都会成为下一阶段的输入。

  1. 不可运行——写一个功能最小完备的单元测试,并使得该单元测试编译失败。
  2. 可运行——快速编写刚刚好使测试通过的代码,不需要考虑太多,甚至可以使用一些不合理的方法。
  3. 重构——消除刚刚编码过程引入的重复设计,优化设计结构。

怎么做测试驱动开发

普遍的开发过程

  • 获取需求
  • 做简单的设计
  • 在大脑中规划需要那几个类,大概用什么设计模式
  • 开始编写代码
  • 发现有些类设计多余了,删除了,有些类不满足,增加设计
  • 需求好像不清晰,和产品经理确认
  • 一口气写完所有代码,心里没地儿,造数据跑一下
  • 调试
  • 解决了几个蠢问题,跑起来了
  • 提测,QA 报 bug
  • 造数据,找到 bug 原因了,修复
  • 修复几次,代码变烂,过一段时间自己都看不懂了

相信大多数人是这种开发方式!

TDD 开发过程

  • 获取需求
  • 做简单的设计
  • 分解任务
  • 针对单个任务编写单元测试,只关心输入输出
  • 编写实现,让单元测试能跑通
  • 提交代码,进入下一个任务
  • 联调,手动测试下,一般没有问题,如果有问题使用 git diff 差异,快速发现问题
  • 重构,利用单元测试保护,消除代码坏味道
  • 提交测试,如果有问题,使用单元测试发现问题

注意的问题

  1. 测试不是越多越好,只为必要的代码编写测试,用尽可能少的用例保障代码质量。而且随着测试变多,运行测试的速度也会变慢。
  2. 没有标准的 TDD 规则,就像模糊的 DDD 设计模式一样!
  3. 分析问题的粒度,决定了之后写出来的代码质量。
  4. 不要忽略任何一个测试集合的失败结果。

总结

文章在理论层次上总结了 TDD ,TDD 的概念和开发方式,并没有提供示例去演示,仅仅作为一个文章总结。

使用 TDD,它将会在实践的过程中学会如何雕琢我们的代码,从而得到稳定的面向对象设计、可维护和高质量的系统。

http://www.yayakq.cn/news/927405/

相关文章:

  • 企业网站建设费用的预算公司网站做推广
  • 万维网的代表网站餐饮品牌设计服务
  • 网站建立方案湖南住房和建设厅网站
  • 连云港做网站建设关键词统计工具有哪些
  • 如何使用网站模板建设网站做网站时如何将前端连接到后台
  • 给别人做网站怎么赚钱直播网站如何做
  • 南宁网站建设方案报价移动端网站制作的有哪些要求
  • 做电影下载网站赚钱动漫设计专升本考哪些
  • 网站建设服务好的商家单页静态网站怎么做
  • 太仓住房与城乡建设局网站品牌营销网站
  • 富阳住房和城乡建设部网站鞍山互动网
  • jsp网站开发简单代码淄博教育学校网站建设
  • 网站做系统叫什么名字吗温州专业网站制作公司
  • 深圳建网站哪个济南兴田德润有活动吗建网站如何添加会员模式
  • 可以做动画的网站都有哪些软件下载重庆手机网站推广定做
  • 360网站推广电商网站设计公司可找亿企邦
  • 容桂销售型网站建设装饰设计素描的秩序化构成包括
  • 网站开发的税率是多少公司网站建设合作协议
  • godaddy中文网站开发外贸网站源代码
  • 四川省建设安全质量监理协会网站注册小规模公司流程及费用
  • 国内免费推广网站六安论坛网站
  • 代理机构做的网站找不到人了怎么办沈阳网站建设
  • 杭州企业网站优化网站上的通话功能怎么做
  • 北京自己怎样做网站网站建设外包必须注意几点
  • 开远市住房和城乡建设局网站一键生成静态网页
  • 厚街做网站公司哪些公司做企业网站
  • 最大的网站建设公司wordpress插件途径
  • 网站建设设计公司类网站织梦模板 带手机端网站建设 ppt
  • 浏阳市网站建设Wordpress会员充值积分
  • 汽贸做网站有用处吗WordPress时间格式插件