前端时间看到一个开发思路,就是测试驱动开发(TDD),试用了一段时间感觉还不错,安利一下。当然可能很多人已经知道了,跳过就好

测试驱动开发,就是我们在开发代码之前,先去做好测试用例,进行测试发现少了什么东西,根据需要补全代码到刚好能实现目前阶段需要,就这样反复循环直到完全解决一开始的测试用例。

没错这个思路第一眼看上去肯定是怎么这么蠢,而且我承认当时真的是抱着看他能有多蠢这么一个念头去看的,但实际试了一段时间,发现还是挺不错的,开发时候思路很清晰,从头到尾你都会非常明确自己的需求,不会出现说写的很high然后忽然发现我去我一开始需求是啥来着这种情况;而犯一些低级错误,比如引错类,把简单问题复杂化,这些的概率会有所降低;另外,因为测试需要将代码相对的独立出来,你会不自觉的降低代码的耦合性,一定程度上会提升代码的质量。

举个例子,比如我想要开发机构模块查询功能的代码,那么如下操作

1.写一个测试用例,明确需求,我要测试/group/group这个路径,方法是GET,要求是无条件查询所有机构

2.建立GroupController类,写出一个getAllGroup方法,配好路径,这时候你会发现,我缺少了service类,当然如果你习惯做request封装类,你还会发现少request类和相关的util工具类,而写工具类的时候还会发现少了实体类

3.建立GroupService接口和GroupServiceImpl实现类,定义和处理相关逻辑,这时候你会发现,我缺少了dao和实体类

4.建立Group实体类和GroupDAO类

5.基本的类已经全都写好了,那么功能逻辑实现了嘛?跑一下测试用例继续调吧,循环此步直到功能实现

6.结束

当然我举得这个例子因为功能逻辑太简单了,可能没什么特别的感受。但想表达的意思应该是比较清楚了,这个开发思路会帮我们很好的理清代码逻辑,如果你的项目进度并不是特别紧,或者公司明文要求写测试用例,不妨试试这个方法。

测试驱动开发(TDD)开发思路相关推荐

  1. 测试驱动开发(TDD)实战小例子(JAVA版)

    我们知道,测试驱动开发(TDD)的基本思想就是在开发功能代码之前,先编写测试代码.也就是说在明确要开发某个功能后,首先思考如何对这个功能进行测试,并完成测试代码的编写,然后编写相关的代码满足这些测试用 ...

  2. 「敏捷架构」核心实践:测试驱动开发(TDD)简介

    测试驱动开发(TDD) 是一种渐进的开发方法,它结合了测试优先的开发,即在编写足够的产品代码以完成测试和重构之前编写测试.TDD的主要目标是什么?一个观点是TDD的目标是规范而不是验证(Martin, ...

  3. 测试驱动开发-TDD

    测试驱动开发,英文全称Test-Driven Development,简称TDD,是一种不同于传统软件开发流程的新型的开发方法.它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能 ...

  4. Python测试驱动开发(TDD)

    Python测试驱动开发(TDD) 前言:TDD是一种敏捷开发模式,而不是测试方法. 测试很难 --- 难在坚持,一直做下去. 现在花时间编写的测试不会立即显出功效,要等到很久以后才有作用 --- 或 ...

  5. 测试驱动开发(TDD)的实践

    测试驱动开发(TDD)的实践 本文作者: Mr.J 本文链接: https://jiangtj.com/articles/almond/test-driven%20development/ 测试驱动开 ...

  6. C++ 测试驱动开发 TDD(一)

    文章目录 TDD 介绍 Soundex 算法示例介绍 增加Soundex 算法测例1 增加Soundex 算法测例2 Soundex 算法测例1 .2重构 后记 最近阅读了<C++程序设计实践与 ...

  7. java测试驱动开发_java测试驱动开发(TDD)之《遥控军舰》

    永久更新地址:https://my.oschina.net/bysu/blog/1647738 写在前面:若有侵权,请发邮件by.su@qq.com告知. 本文主要是学习<Java测试驱动开发& ...

  8. java测试驱动开发(TDD)之《井字游戏》

    为什么80%的码农都做不了架构师?>>>    永久更新地址:https://my.oschina.net/bysu/blog/1632393 写在前面:若有侵权,请发邮件by.su ...

  9. 测试驱动开发-TDD(1)

    测试:作为动词,它是评估的意思:作为名词,它是导致最终是接受还是不接受的过程. 测试是相互独立的. 测试列表,就跟你生活中记录你的工作计划一样. 测试优先:你应该在什么时候编写测试呢?在你编写要被测试 ...

  10. 敏捷开发 —— TDD(测试驱动开发)

    测试驱动开发 TDD(Test-Driven Development)是敏捷开发的一项核心实践,同时也是一种设计技术和方法. 既然是测试驱动,便是测试,测试用例先行: 首先编写好测试用例,期待值,实际 ...

最新文章

  1. little w and Soda(思维题)
  2. (六)OpenStack---M版---双节点搭建---Neutron安装和配置
  3. 【系统分析与设计】软件开发模式之敏捷开发(Scrum)分析
  4. elasticsearch的增删改查
  5. LeetCode 396. 旋转函数(Rotate Function)
  6. linux与pc机网络通信,PC宿主机和目标机通信方式
  7. 公链项目 Taraxa 已开启公募 KYC,投资者可在 3 月 12 日申购
  8. 【白皮书分享】2022新职业教育洞察白皮书:“职”成机遇,“育”见未来.pdf...
  9. 标准模块 os.path
  10. MySQL从查找数据库表到删除全过程
  11. 《决战大数据大数据的关键思考 升级版》PDF电子书分享
  12. 计算机学stata,stata(统计学软件)
  13. 数学建模计算机部分知识,数学建模相关论文范文资料,与数学建模与计算机关系相关毕业论文题目范文...
  14. echarts中的自定义tooltip浮层展示
  15. 利用服务器在家远程登录办公室电脑
  16. 外文文献查找技巧方法有哪些
  17. 小丁带你走进git的世界二-工作区暂存区分支
  18. linux使用线程实现生产者消费者问题,Linux下生产者与消费者的线程实现
  19. Hybird App混合移动应用开发技术整体解决方案,速来围观!
  20. 《卓有成效的管理者》笔记,第一章 卓有成效是可以学会的

热门文章

  1. 一文学会LCD12864显示中文、英文、反显
  2. 计算机本科毕业论文选题单片机,单片机毕业论文范文
  3. linux常用命令,亲测可用
  4. matlab做瑞利信道仿真,瑞利信道怎么用 matlab做仿真
  5. 服创实战——小微企业跨组织人才管理系统
  6. 【EJB学习笔记】——EJB开发环境搭建(Eclipse集成JBoss)
  7. java在线编译器手机版_java编译器app_java编译器手机版_java编程-多特软件站安卓网...
  8. 同花顺如何切换k线_同花顺k线图怎么切换(aud和人民币的汇率)
  9. java转换apk软件_jar软件转安卓apk软件
  10. xp系统计算机描述无法输入,电脑xp系统的输入法怎么设置