- 作者:zhaozj
- 发表时间:2020-12-23 10:53
- 来源:未知
测试驱动开发的步骤个人理解:
1、将需求写清楚。——明确目标很重要。
2、列任务清单(To-do List)
3、首先要做的,应该是最简单的。
4、将需求个例化。
5、将思考过程放到清单中。
6、7……略
个人感悟:
小步快跑是尽可能的一次只解决一个问题。一次只解决一个问题的功力不在于解决问题的能力,而在于明确问题、分解问题、从问题列表中选择当前首要解决的问题的能力。
一、明确问题:将问题明确的描述出来。确立目标是写测试用例的第一步。二、分解问题:当一个问题在解决过程中没有思路或者思路两次被打断则需要开始考虑分解当前问题了。三、选择选择当前首要解决的问题:分解问题后要么放弃大问题转而去解决分解出来的小问题,要么利用Mock Object模式将小问题忽略掉,继续解决当前的问题。我更倾向于后者。
有些时候讲究忽略次要问题的策略:比如你对基本的情况没了解之前,不要急着考虑一般情况(用借口实现,当然你可以把接口预留出来)因为那样做,反而会将思路弄乱。一般的步骤应该是
1、考虑特殊情况一
2、考虑特殊情况二
3、观察一二之间共同与不同,建立接口的真正实现。共同的特性放到接口中,不同的则留在派生类中。
预留接口的办法:如果考虑到有不同的实现或者为以后的实现留有扩展的余地,那么具体的程序应该是面向接口来编写的。那么如果在开始阶段无法确立哪些东西放到接口时可以预留接口(我自己的概念),具体方法可以将第一个具体实现的类的public方法都放在接口中,最后在设计第二个类的时候再清理。
对于面对需求如何进行分析,我有点初步看法:由于对象的特性包括数据和操作两个方面,我就从这两个方面着力分析1、考虑需求中有哪些数据2、考虑将那些比较明显的属于某对象数据放到对象中。在此过程中自然的建立一些对象。给对象起名字。3、考虑需求中有哪些操作。给他起名字,对应于以后的方法名字。4、考虑这些操作都用到了哪些数据5、根据操作用到的数据属于那个对象来决定该操作成为哪个对象的方法——用到的数据多属于某个对象,该方法就该属于这个对象