《测试驱动开发》读书笔记
最终目标是整洁可用的代码
我们不是从建立对象开始,而是从测试开始
了解需求-》设计测试 -》让测试通过
列出所有已知问题,然后一个一个解决;
培养将软件开发化为一小步一小步开发任务的能力
测试程序与代码所存在的问题不在于重复设计,而在于代码和测试程序之间的依赖关系
如何开始设计测试代码,通过方便测试的角度来修正程序的设计,如果两个方法之间有依赖关系怎么处理,
先写最简单的测试,只根据需求,然后发现实现有问题,修改测试,修改代码(or修改代码 修改测试)?
让测试迅速通过的方法:
伪实现,显明实现;
将一个设计缺陷(副作用)转化为一个由此缺陷导致运行失败的测试程序;
用伪实现使代码迅速编译通过;
输入正确的代码使测试尽快工作;
写一个测试程序;
让测试编译通过
测试程序运行失败
让测试程序可以运行
消除重复设计,优化设计结构;
Test DB:
1。 是否可以连接到数据库;
2。是否有权限执行存储过程;
DBTest test = new DBTest(connectstr);
MyTest mt = new mt(connectstr);
IsEquel(test.CanConnect(), mt.canconnect);
IsEquel(test.CanExe(sql), mt.CanExe(sql));
TDD的应用粒度:我觉得一个软件还是需要现有一个整体的设计,对于具体非常小的模块可以基于TDD来开发
光设计或做原型是不是比TDD更加清晰一点呢?TDD的似乎是摸着石头过河,高屋建瓴岂不是更好?
我觉得TDD最大的优点是从使用的角度而不是开发的角度来看待软件;能够生成更好的应用接口。
单元测试与Scrum:单元测试的优点是随着测试用例的累积,对于系统的修改有更多的质量保证,但是随着测试用例的增加,维护成本也是不断提升,特别是在scrum模型中,单元测试似乎很鸡肋了
安排,行动,断言
若在几个测试中用相似的对象,我们将一次创建所有对象来测试,但同时尽量避免测试用例之间的耦合
断言优先
什么时候写测试,在哪里写测试,什么时候停止写测试:
从计划列表里选择具有指导意义而且你有把握实现的测试;
从测试某个实质上不做任何工作的操作开始;
转载于:https://www.cnblogs.com/end/archive/2010/12/05/1896732.html
《测试驱动开发》读书笔记相关推荐
- 读书笔记 | 墨菲定律
1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...
- 读书笔记 | 墨菲定律(一)
1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...
- 洛克菲勒的38封信pdf下载_《洛克菲勒写给孩子的38封信》读书笔记
<洛克菲勒写给孩子的38封信>读书笔记 洛克菲勒写给孩子的38封信 第1封信:起点不决定终点 人人生而平等,但这种平等是权利与法律意义上的平等,与经济和文化优势无关 第2封信:运气靠策划 ...
- 股神大家了解多少?深度剖析股神巴菲特
股神巴菲特是金融界里的传奇,大家是否都对股神巴菲特感兴趣呢?大家对股神了解多少?小编最近在QR社区发现了<阿尔法狗与巴菲特>,里面记载了许多股神巴菲特的人生经历,今天小编简单说一说关于股神 ...
- 2014巴菲特股东大会及巴菲特创业分享
沃伦·巴菲特,这位传奇人物.在美国,巴菲特被称为"先知".在中国,他更多的被喻为"股神",巴菲特在11岁时第一次购买股票以来,白手起家缔造了一个千亿规模的 ...
- 《成为沃伦·巴菲特》笔记与感想
本文首发于微信公众帐号: 一界码农(The_hard_the_luckier) 无需授权即可转载: 甚至无需保留以上版权声明-- 沃伦·巴菲特传记的纪录片 http://www.bilibili.co ...
- 读书笔记002:托尼.巴赞之快速阅读
读书笔记002:托尼.巴赞之快速阅读 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<快速阅读>之后,我们就可以可以快速提高阅读速度,保持并改善理解嗯嗯管理,通过增进了解眼睛和大脑功能 ...
- 读书笔记001:托尼.巴赞之开动大脑
读书笔记001:托尼.巴赞之开动大脑 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<开动大脑>之后,我们就可以对我们的大脑有更多的了解:大脑可以进行比我们预期多得多的工作:我们可以最 ...
- 读书笔记003:托尼.巴赞之思维导图
读书笔记003:托尼.巴赞之思维导图 托尼.巴赞的<思维导图>一书,详细的介绍了思维发展的新概念--放射性思维:如何利用思维导图实施你的放射性思维,实现你的创造性思维,从而给出一种深刻的智 ...
- 产品读书《滚雪球:巴菲特和他的财富人生》
作者简介 艾丽斯.施罗德,曾经担任世界知名投行摩根士丹利的董事总经理,因为撰写研究报告与巴菲特相识.业务上的往来使得施罗德有更多的机会与巴菲特亲密接触,她不仅是巴菲特别的忘年交,她也是第一个向巴菲特建 ...
最新文章
- 学习进度条(第一周)
- python入门之控制结构顺序与选择结构_Python 入门之控制结构 - 顺序与选择结构——第1关:顺序结构...
- 图集内子图压缩及 ETC2 fallback选项的作用
- [渝粤教育] 西南科技大学 数据库应用 在线考试复习资料(1)
- css3 固定,CSS3 calc()不适用于固定位置/绝对位置
- mysql不显示默认密码_免安装版mysql不出现默认密码状况(基于mysql8.0)
- oracle分析函数-排名函数
- Latex安装与使用
- 离散数学计算机科学与技术答案,湘潭大学计算机科学与技术刘任任版离散数学课后习题答案---第二学期--图论与组合数学...
- 计算机快捷键win,Windows电脑常用的10个Win组合快捷键,你知道多少?
- 转载-极化码系列(1)-极化码的起源和概述
- 蚁群算法原理及其实现(python)
- 遥感影像计算植被覆盖度FVC
- 刘辉 清华大学计算机,长郡学子又揽佳绩!CCF NOI 2017冬令营金牌数全国第一
- QMC5883L 校准方法
- RobotStudio知识你知多少?
- LTE-5G学习笔记14--VoLTE常用12大知识点
- Unity发布windows程序,Fullscreen Mode设置为Windowed,可运行总是全屏
- #MATLAB /Simulink 错误记录
- 核芯基站_更新CLE版本
热门文章
- Linux常用命令和vi,gdb的使用
- Response.Redirect 编码的问题
- LeetCode--palindrome-number回文数
- php异步查询数据库,php中mysql数据库异步查询实现
- java字符串学习_java之字符串学习记录
- 孙叫兽进阶之路之软件开发生命周期
- 流程图伪代码计算机语言,流程图与伪代码 PPT课件
- java 拼接html_程序员用1.5小时写出的Java代码,让同事瞠目结舌!直呼优秀
- jquery中点击切换的实现
- angularjs的$http请求方式